From 1119a7837323e052d3e6256cddd3283d919bd959 Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期四, 26 六月 2025 15:44:02 +0800 Subject: [PATCH] 提交 --- src/api/hpApi.js | 10 ++++++++-- src/store/simulation.js | 3 +++ src/views/Home.vue | 32 +++++++++++++++++++++++++++++++- src/components/menu/TimeLine.vue | 13 +++++-------- 4 files changed, 47 insertions(+), 11 deletions(-) diff --git a/src/api/hpApi.js b/src/api/hpApi.js index a525bda..06b36b9 100644 --- a/src/api/hpApi.js +++ b/src/api/hpApi.js @@ -235,11 +235,17 @@ } // 鏌ヨ瀛欒儭娌熼伩闄╁満鎵� -export async function getSafePoint() { +export async function getSafePoint(data) { const response = await axios.get("/hp/safeHavenLocation/getDataSelect", { params: { - divisionId: "110116110218" + divisionId: data } }); return response.data; +} + +// 鏌ヨ鍖椾含甯� +export async function getAllCode() { + const response = await axios.get("/hp/district/getAll"); + return response.data; } \ No newline at end of file diff --git a/src/components/menu/TimeLine.vue b/src/components/menu/TimeLine.vue index 897fdbe..f4b1380 100644 --- a/src/components/menu/TimeLine.vue +++ b/src/components/menu/TimeLine.vue @@ -899,18 +899,16 @@ async function initializeSimulationData(force = false) { try { const schemeInfo = selectedScheme.value; + serviceInfo = schemeInfo.serviceName; - // 濡傛灉涓嶆槸 type == 2 涓旈潪寮哄埗鎵ц锛屽垯璺宠繃 - if (schemeInfo.type !== 2 && !force) { + if (schemeInfo.type == 2) { + speedShow.value = false; + jsonFetch.value = layerDate.value; + } else { getRainfallData(); speedShow.value = true; jsonFetch.value = null; - return; } - - speedShow.value = false; - jsonFetch.value = layerDate.value; - serviceInfo = schemeInfo.serviceName; // console.log('鑾峰彇鍒扮殑 serviceName:', serviceInfo); @@ -977,7 +975,6 @@ shouldAutoPlay.value = false; } }); - // 鏍规嵁杩斿洖鏁版嵁鐨勪釜鏁板幓娓叉煋鏃堕棿杞� function updateTimelineRange() { diff --git a/src/store/simulation.js b/src/store/simulation.js index b18bbdd..2b74dcb 100644 --- a/src/store/simulation.js +++ b/src/store/simulation.js @@ -2,6 +2,9 @@ import { defineStore } from 'pinia' import { ref } from 'vue' export const useSimStore = defineStore('simulation', () => { + // 鍖椾含甯傛墍鏈夋潙鐨刢ode + const townCodeAll = ref([]) + // 瀹炴椂妯℃嫙鏈�鏂扮殑layer const layerDate = ref("") // 甯ф暟 const frameNum = ref(0) diff --git a/src/views/Home.vue b/src/views/Home.vue index 0c1b6e9..efd0a70 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -58,7 +58,7 @@ // import ResultAssess from "@/components/monifangzhen/ResultAssess.vue"; // import DangerAssess from "@/components/monifangzhen/DangerAssess.vue"; import { showDeviceDetail } from "@/store"; -import { setupTokenRefresh, getDangerPoint } from "@/api/hpApi.js"; +import { setupTokenRefresh, getDangerPoint, getAllCode } from "@/api/hpApi.js"; import { convertToWKT } from "@/utils/wktUtils"; import { getDeviceInfoSHG, getSafePoint } from "@/api/hpApi"; @@ -100,7 +100,37 @@ // 璁$畻灞炴�� const showDetail = computed(() => showDeviceDetail.value); +function extractAllChildrenInfoUnique(dataArray) { + const map = new Map(); + + function traverse(nodes) { + if (!Array.isArray(nodes)) return; + + for (const node of nodes) { + const key = node.code; + + // 妫�鏌ユ槸鍚︽槸鏈�鍚庝竴灞傦紙娌℃湁瀛愯妭鐐规垨瀛愯妭鐐逛负绌烘暟缁勶級 + if (!node.children || node.children.length === 0) { + if (key && !map.has(key)) { + map.set(key, { name: node.nameChn, code: key }); + } + } else { + // 濡傛灉鏈夊瓙鑺傜偣锛岀户缁�掑綊閬嶅巻 + traverse(node.children); + } + } + } + + traverse(dataArray); + return Array.from(map.values()); +} + onMounted(async () => { + getAllCode().then((res) => { + // 鍖椾含甯傛墍鏈夋潙浠ュ強琛楅亾code + simStore.townCodeAll = extractAllChildrenInfoUnique(res.data[0].children); + console.log(simStore.townCodeAll,'aaaaaaaaa') + }); setupTokenRefresh(); // 鑾峰彇瀹忓浘token // getSimData(); //娴嬭瘯tr鍚庣 // 鑾峰彇闅愭偅鐐瑰垪琛紙鍥犱负涓杞悗绔帴鍙h幏鍙栧姞杞芥椂闂磋緝闀匡級 -- Gitblit v1.9.3