From 62dabd65742ceb9e39af89bf3adac4009633562f Mon Sep 17 00:00:00 2001
From: fangjiakai <450850793@qq.com>
Date: Tue, 10 Jun 2025 19:19:07 +0800
Subject: [PATCH] =?UTF-8?q?feat(tailings=5Freservoir):=E5=B0=BE=E7=9F=BF?=
=?UTF-8?q?=E5=BA=93=E4=BF=A1=E6=81=AF=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增尾矿库信息页面,包括搜索、列表和添加功能
- 添加尾矿库基本信息字段,如名称、地址、运行状态等- 集成字典数据获取,支持运行状态、设计等别等字段的展示
-优化属地选择组件,设置为4级联动
---
.../emergency_storage/components/add.vue | 46 +++++--
src/views/emergency_storage/index.vue | 4 +-
src/views/geological_disaster/index.vue | 2 +-
.../mountain_flood_info/components/add.vue | 9 +-
src/views/mountain_flood_info/index.vue | 2 +-
src/views/reservoir_info/components/add.vue | 7 +-
src/views/tailings_reservoir/index.vue | 120 ++++++++++--------
src/views/urban_flood_point/index.vue | 2 +-
8 files changed, 123 insertions(+), 69 deletions(-)
diff --git a/src/views/emergency_storage/components/add.vue b/src/views/emergency_storage/components/add.vue
index cde5a54..ea58686 100644
--- a/src/views/emergency_storage/components/add.vue
+++ b/src/views/emergency_storage/components/add.vue
@@ -21,18 +21,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{
- const resData = await getDataDictionary({
- parentId: "j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y",
- });
- storageTypeList.value = resData.dictionariesList;
-};
-fnGetStorageTypeList();
+const emergencyLevelList = ref([]);
+const fnGetDictData = async () => {
+ const [storageTypeRes, emergencyLevelRes] = await Promise.all([
+ getDataDictionary({ parentId: "j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y" }),
+ getDataDictionary({ parentId: "870745cbf63985632dd43d9e56a62cb9" }),
+ ]);
+ storageTypeList.value = storageTypeRes.dictionariesList;
+ emergencyLevelList.value = emergencyLevelRes.dictionariesList;
+};
+fnGetDictData();
const emits = defineEmits(["update:visible", "update:form", "getData"]);
const { visible, form } = useVModels(props, emits);
const data = reactive({
@@ -142,7 +168,11 @@ const data = reactive({
storageName: [
{ required: true, message: "请输入应急库名称", trigger: "blur" },
],
+ emergencyLevel: [
+ { required: true, message: "请选择应急库等级", trigger: "change" },
+ ],
area: [{ required: true, message: "请输入应急库区域", trigger: "blur" }],
+ address: [{ required: true, message: "请输入应急库地址", trigger: "blur" }],
longitude: [{ required: true, message: "请输入经度", trigger: "blur" }],
latitude: [{ required: true, message: "请输入纬度", trigger: "blur" }],
},
diff --git a/src/views/emergency_storage/index.vue b/src/views/emergency_storage/index.vue
index b1a3c10..75e8699 100644
--- a/src/views/emergency_storage/index.vue
+++ b/src/views/emergency_storage/index.vue
@@ -15,7 +15,7 @@
v-model="searchForm.area"
:dictionaries-id="'e725d2a91b8248f4b8f49889038df7de'"
:check-strictly="true"
- :level="5"
+ :level="4"
/>
@@ -124,8 +124,10 @@ const data = reactive({
form: {
storageName: "",
storageType: "",
+ emergencyLevel: "",
area: [],
areaName: [],
+ address: "",
managementUnit: "",
longitude: "",
latitude: "",
diff --git a/src/views/geological_disaster/index.vue b/src/views/geological_disaster/index.vue
index 27a641c..c6faa53 100644
--- a/src/views/geological_disaster/index.vue
+++ b/src/views/geological_disaster/index.vue
@@ -16,7 +16,7 @@
v-model="searchForm.area"
:dictionaries-id="'e725d2a91b8248f4b8f49889038df7de'"
:check-strictly="true"
- :level="5"
+ :level="4"
/>
diff --git a/src/views/mountain_flood_info/components/add.vue b/src/views/mountain_flood_info/components/add.vue
index db6b457..e05e7b2 100644
--- a/src/views/mountain_flood_info/components/add.vue
+++ b/src/views/mountain_flood_info/components/add.vue
@@ -299,8 +299,15 @@ const data = reactive({
countyWarningOfficer: [
{ required: true, message: "请输入县级预警负责人", trigger: "blur" },
],
+ countyWarningPhone: [
+ { required: true, message: "请输入县级预警负责人电话", trigger: "blur" },
+ ],
countyWarningOfficerPhone: [
- { required: true, message: "请输入县级预警负责人手机号", trigger: "blur" },
+ {
+ required: true,
+ message: "请输入县级预警负责人手机号",
+ trigger: "blur",
+ },
],
countyOfficer: [
{ required: true, message: "请输入县级责任人姓名", trigger: "blur" },
diff --git a/src/views/mountain_flood_info/index.vue b/src/views/mountain_flood_info/index.vue
index 152b7e1..efcb642 100644
--- a/src/views/mountain_flood_info/index.vue
+++ b/src/views/mountain_flood_info/index.vue
@@ -15,7 +15,7 @@
v-model="searchForm.area"
:dictionaries-id="'e725d2a91b8248f4b8f49889038df7de'"
:check-strictly="true"
- :level="5"
+ :level="4"
/>
diff --git a/src/views/reservoir_info/components/add.vue b/src/views/reservoir_info/components/add.vue
index 755bc22..ed910d2 100644
--- a/src/views/reservoir_info/components/add.vue
+++ b/src/views/reservoir_info/components/add.vue
@@ -38,10 +38,10 @@
-
+
-
-
+
+
@@ -16,16 +13,19 @@
v-model="searchForm.area"
:dictionaries-id="'e725d2a91b8248f4b8f49889038df7de'"
:check-strictly="true"
- :level="5"
+ :level="4"
/>
-
-
+
+
-
+
-
+
-
-
+
+
+
删除
@@ -95,26 +96,30 @@ import AppTable from "@/components/table/index.vue";
import AppSearch from "@/components/search/index.vue";
import useListData from "@/hooks/useListData.js";
import {
- getGeologicalDisasterPage,
- setGeologicalDisasterDelete,
+ setTailingsReservoirDelete,
+ setTailingsReservoirListPage,
} from "@/request/kangzai.js";
import Add from "./components/add.vue";
-const terrainList = ref([]);
-const disasterTypeList = ref([]);
+// 字典数据
+const runningStatusList = ref([]);
+const designGradeList = ref([]);
+const currentGradeList = ref([]);
const fnGetDictData = async () => {
- const [terrainRes, disasterTypeRes] = await Promise.all([
- getDataDictionary({ parentId: "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q" }),
- getDataDictionary({ parentId: "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r" }),
+ const [runningRes, designRes, currentRes] = await Promise.all([
+ getDataDictionary({ parentId: "b62cbaa90f9936bca50e48e8e853150a" }),
+ getDataDictionary({ parentId: "f32b9172ba95c27041c2289d03e6133f" }),
+ getDataDictionary({ parentId: "039bed1c0f108325bf800e4e4fe88b12" }),
]);
- terrainList.value = terrainRes.dictionariesList;
- disasterTypeList.value = disasterTypeRes.dictionariesList;
+ runningStatusList.value = runningRes.dictionariesList || [];
+ designGradeList.value = designRes.dictionariesList || [];
+ currentGradeList.value = currentRes.dictionariesList || [];
};
fnGetDictData();
const { list, pagination, searchForm, resetPagination, getData } = useListData(
- getGeologicalDisasterPage,
+ setTailingsReservoirListPage,
{
beforeGetData: (searchForm) => {
const area = searchForm.area || [];
@@ -126,13 +131,17 @@ const { list, pagination, searchForm, resetPagination, getData } = useListData(
},
callback: (list) => {
list.forEach((item) => {
- item.terrainName =
- terrainList.value.find((dict) => dict.bianma === item.terrain)
- ?.name || item.terrain;
- item.disasterTypeName =
- disasterTypeList.value.find(
- (dict) => dict.bianma === item.disasterType
- )?.name || item.disasterType;
+ item.runningStatusLabel =
+ runningStatusList.value.find(
+ (dict) => dict.bianma === item.runningStatus
+ )?.name || item.runningStatus;
+ item.designGradeLabel =
+ designGradeList.value.find((dict) => dict.bianma === item.designGrade)
+ ?.name || item.designGrade;
+ item.currentGradeLabel =
+ currentGradeList.value.find(
+ (dict) => dict.bianma === item.currentGrade
+ )?.name || item.currentGrade;
});
},
}
@@ -143,7 +152,9 @@ const data = reactive({
visible: false,
type: "",
form: {
- disasterName: "",
+ tailingsReservoirId: "",
+ name: "",
+ address: "",
province: "",
city: "",
county: "",
@@ -151,27 +162,34 @@ const data = reactive({
street: "",
area: [],
areaName: [],
- terrain: "",
- disasterType: "",
- scaleDescription: "",
- scale: "",
- stability: "",
- households: "",
- population: "",
- dangerousSituation: "",
- surveySituation: "",
- governanceSituation: "",
- relocationSituation: "",
- riskLevel: "",
- longitude: "",
- latitude: "",
+ runningStatus: "",
+ hasProductionEntity: "",
+ isOverheadVault: "",
+ mineralSpecies: "",
+ designGrade: "",
+ currentGrade: "",
+ designDamHeight: "",
+ currentDamHeight: "",
+ designStorageCapacity: "",
+ currentStorageCapacity: "",
+ isCloseToImportantRivers: "",
+ safetyProductionLicense: "",
+ effectiveDate: "",
+ expiryDate: "",
+ corpPrincipalName: "",
+ corpPrincipalPost: "",
+ corpPrincipalPhone: "",
+ creator: "",
+ createTime: "",
+ operator: "",
+ operatTime: "",
},
},
});
-const fnDelete = async (geologicalDisasterId) => {
+const fnDelete = async (tailingsReservoirId) => {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
- await setGeologicalDisasterDelete({ geologicalDisasterId });
+ await setTailingsReservoirDelete({ tailingsReservoirId });
ElMessage.success("删除成功");
resetPagination();
};
diff --git a/src/views/urban_flood_point/index.vue b/src/views/urban_flood_point/index.vue
index f6a4a9b..ed22812 100644
--- a/src/views/urban_flood_point/index.vue
+++ b/src/views/urban_flood_point/index.vue
@@ -16,7 +16,7 @@
v-model="searchForm.area"
:dictionaries-id="'e725d2a91b8248f4b8f49889038df7de'"
:check-strictly="true"
- :level="5"
+ :level="4"
/>