From 834f7d9f1dbc0aa20080ea43c279696e1500480e Mon Sep 17 00:00:00 2001 From: fangjiakai <450850793@qq.com> Date: Fri, 13 Jun 2025 10:29:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(tailings=5Freservoir):=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/table/index.vue | 12 +- src/request/kangzai.js | 16 +- src/router/index.js | 13 ++ src/views/map/components/bottom_utils.vue | 4 +- src/views/map/components/dialog.vue | 109 ++++++++++++ .../dialog/mountain_flood_village.vue | 93 +++++++++++ src/views/map/components/dialog/reservoir.vue | 97 +++++++++++ .../components/dialog/tailings_reservoir.vue | 120 +++++++++++++ src/views/map/components/left_content.vue | 7 +- src/views/map/components/right_content.vue | 16 +- src/views/map/index.vue | 19 ++- src/views/map/js/doubleClick.js | 6 + src/views/map/js/mittKey.js | 14 ++ src/views/river/index.vue | 13 ++ .../river_risk_village/components/add.vue | 45 ++++- src/views/river/river_risk_village/index.vue | 2 + src/views/river/river_section/index.vue | 4 +- .../river_section_street/components/add.vue | 158 ++++++++++++++++++ .../river/river_section_street/index.vue | 143 ++++++++++++++++ src/views/tailings_reservoir/index.vue | 4 +- 20 files changed, 880 insertions(+), 15 deletions(-) create mode 100644 src/views/map/components/dialog.vue create mode 100644 src/views/map/components/dialog/mountain_flood_village.vue create mode 100644 src/views/map/components/dialog/reservoir.vue create mode 100644 src/views/map/components/dialog/tailings_reservoir.vue create mode 100644 src/views/map/js/doubleClick.js create mode 100644 src/views/river/river_section_street/components/add.vue create mode 100644 src/views/river/river_section_street/index.vue diff --git a/src/components/table/index.vue b/src/components/table/index.vue index c3a32eb..77fba98 100644 --- a/src/components/table/index.vue +++ b/src/components/table/index.vue @@ -33,7 +33,12 @@ :show-overflow-tooltip="false" /> @@ -149,6 +155,10 @@ const props = defineProps({ type: Boolean, default: true, }, + indexFixed: { + type: Boolean, + default: false, + }, }); const pagination = defineModel("pagination", { type: Object, diff --git a/src/request/kangzai.js b/src/request/kangzai.js index 40fc4d1..10a90ec 100644 --- a/src/request/kangzai.js +++ b/src/request/kangzai.js @@ -81,7 +81,7 @@ export const setRiverRiskVillageUpdate = (params) => /* * 河流县区段信息 BusRiverSectionsEntity */ -export const setRiverSectionsListPage = (params) => +export const getRiverSectionsListPage = (params) => post("/busRiverSections/listPage", params); export const setRiverSectionsDelete = (params) => post("/busRiverSections/delete", params); @@ -90,10 +90,22 @@ export const setRiverSectionsAdd = (params) => export const setRiverSectionsUpdate = (params) => post("/busRiverSections/update", params); +/* + * 河流经村庄信息 BusRiverSectionsEntity + */ +export const getRiverSectionsStreetListPage = (params) => + post("/busRiverSectionsStreet/listPage", params); +export const setRiverSectionsStreetDelete = (params) => + post("/busRiverSectionsStreet/delete", params); +export const setRiverSectionsStreetAdd = (params) => + post("/busRiverSectionsStreet/save", params); +export const setRiverSectionsStreetUpdate = (params) => + post("/busRiverSectionsStreet/update", params); + /* * 尾矿库BusTailingsReservoirEntity */ -export const setTailingsReservoirListPage = (params) => +export const getTailingsReservoirListPage = (params) => post("/busTailingsReservoir/listPage", params); export const setTailingsReservoirDelete = (params) => post("/busTailingsReservoir/delete", params); diff --git a/src/router/index.js b/src/router/index.js index 434a82e..67ba3a5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -87,6 +87,19 @@ const routes = [ }, component: () => import("@/views/river/river_section/index"), }, + { + path: "/river/river_section_street", + name: "/river/river_section_street", + meta: { + title: "河道流经村庄", + breadcrumb: true, + isMenu: false, + isSubMenu: true, + isBack: true, + activeMenu: "/river", + }, + component: () => import("@/views/river/river_section_street/index"), + }, { path: "/reservoir_info", name: "/reservoir_info", diff --git a/src/views/map/components/bottom_utils.vue b/src/views/map/components/bottom_utils.vue index fdfc7da..895e6ff 100644 --- a/src/views/map/components/bottom_utils.vue +++ b/src/views/map/components/bottom_utils.vue @@ -26,7 +26,7 @@ import { getGeologicalDisasterPage, getMountainFloodVillagePage, getReservoirBasicPage, - setTailingsReservoirListPage, + getTailingsReservoirListPage, } from "@/request/kangzai.js"; import dayjs from "dayjs"; import { useUserStore } from "@/pinia/user.js"; @@ -95,7 +95,7 @@ const fnMapRemoveElement = () => { const fnMapAddElement = () => { if (currentActiveName.value === "河流") fnAddRiver(); if (currentActiveName.value === "尾矿库") - fnAddPoint(setTailingsReservoirListPage, "name"); + fnAddPoint(getTailingsReservoirListPage, "name"); if (currentActiveName.value === "水库") fnAddPoint(getReservoirBasicPage, "reservoirName"); if (currentActiveName.value === "地质灾害点") diff --git a/src/views/map/components/dialog.vue b/src/views/map/components/dialog.vue new file mode 100644 index 0000000..e6aad3e --- /dev/null +++ b/src/views/map/components/dialog.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/views/map/components/dialog/mountain_flood_village.vue b/src/views/map/components/dialog/mountain_flood_village.vue new file mode 100644 index 0000000..17b1f19 --- /dev/null +++ b/src/views/map/components/dialog/mountain_flood_village.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/views/map/components/dialog/reservoir.vue b/src/views/map/components/dialog/reservoir.vue new file mode 100644 index 0000000..0c11008 --- /dev/null +++ b/src/views/map/components/dialog/reservoir.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/views/map/components/dialog/tailings_reservoir.vue b/src/views/map/components/dialog/tailings_reservoir.vue new file mode 100644 index 0000000..2a64c2f --- /dev/null +++ b/src/views/map/components/dialog/tailings_reservoir.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/src/views/map/components/left_content.vue b/src/views/map/components/left_content.vue index 46dbac8..cd87649 100644 --- a/src/views/map/components/left_content.vue +++ b/src/views/map/components/left_content.vue @@ -66,7 +66,10 @@
- +
@@ -113,6 +116,8 @@ import * as echarts from "echarts"; import { Vue3SeamlessScroll } from "vue3-seamless-scroll"; import { getRiverPage } from "@/request/kangzai.js"; import { getReservoirStatistics } from "@/request/map.js"; +import doubleClick from "@/views/map/js/doubleClick.js"; +import { showReservoirStatisticsDialog } from "@/views/map/js/mittKey.js"; const riverList = ref([]); let myChart1 = null; diff --git a/src/views/map/components/right_content.vue b/src/views/map/components/right_content.vue index 9362552..6de9cd7 100644 --- a/src/views/map/components/right_content.vue +++ b/src/views/map/components/right_content.vue @@ -1,13 +1,19 @@ + + @@ -58,13 +85,14 @@ import { debounce } from "throttle-debounce"; import useFormValidate from "@/hooks/useFormValidate.js"; import { ElMessage } from "element-plus"; -import { reactive } from "vue"; +import { reactive, ref } from "vue"; import { useVModels } from "@vueuse/core"; import { setRiverRiskVillageAdd, setRiverRiskVillageUpdate, } from "@/request/kangzai.js"; import LayoutCascader from "@/components/layout_cascader/index.vue"; +import AppMap from "@/components/map/map.vue"; const props = defineProps({ visible: { @@ -98,7 +126,20 @@ const data = reactive({ area: [{ required: true, message: "请输入所属区县", trigger: "blur" }], }, }); - +const mapDialog = ref({ + visible: false, + longitude: "", + latitude: "", +}); +const fnSelectedPosition = ({ longitude, latitude }) => { + mapDialog.value.visible = true; + mapDialog.value.longitude = longitude; + mapDialog.value.latitude = latitude; +}; +const fnMapSubmit = ({ longitude, latitude }) => { + form.value.longitude = longitude; + form.value.latitude = latitude; +}; const fnClose = () => { visible.value = false; }; diff --git a/src/views/river/river_risk_village/index.vue b/src/views/river/river_risk_village/index.vue index 4f75dbf..40d988b 100644 --- a/src/views/river/river_risk_village/index.vue +++ b/src/views/river/river_risk_village/index.vue @@ -125,6 +125,8 @@ const data = reactive({ areaName: [], riskLevel: "", riskDescription: "", + longitude: "", + latitude: "", }, }, }); diff --git a/src/views/river/river_section/index.vue b/src/views/river/river_section/index.vue index 2d8af72..339c5cf 100644 --- a/src/views/river/river_section/index.vue +++ b/src/views/river/river_section/index.vue @@ -62,7 +62,7 @@ import Add from "./components/add.vue"; import LayoutCascader from "@/components/layout_cascader/index.vue"; import { setRiverSectionsDelete, - setRiverSectionsListPage, + getRiverSectionsListPage, } from "@/request/kangzai.js"; const route = useRoute(); @@ -73,7 +73,7 @@ if (!riverId.value) { } const { list, pagination, searchForm, resetPagination, getData } = useListData( - setRiverSectionsListPage, + getRiverSectionsListPage, { defaultSearchForm: { riverId: riverId.value, diff --git a/src/views/river/river_section_street/components/add.vue b/src/views/river/river_section_street/components/add.vue new file mode 100644 index 0000000..b6ce05f --- /dev/null +++ b/src/views/river/river_section_street/components/add.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/views/river/river_section_street/index.vue b/src/views/river/river_section_street/index.vue new file mode 100644 index 0000000..2b32458 --- /dev/null +++ b/src/views/river/river_section_street/index.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/views/tailings_reservoir/index.vue b/src/views/tailings_reservoir/index.vue index 69ad05f..3764f6c 100644 --- a/src/views/tailings_reservoir/index.vue +++ b/src/views/tailings_reservoir/index.vue @@ -97,7 +97,7 @@ import AppSearch from "@/components/search/index.vue"; import useListData from "@/hooks/useListData.js"; import { setTailingsReservoirDelete, - setTailingsReservoirListPage, + getTailingsReservoirListPage, } from "@/request/kangzai.js"; import Add from "./components/add.vue"; @@ -119,7 +119,7 @@ const fnGetDictData = async () => { fnGetDictData(); const { list, pagination, searchForm, resetPagination, getData } = useListData( - setTailingsReservoirListPage, + getTailingsReservoirListPage, { beforeGetData: (searchForm) => { const area = searchForm.area || [];