From 687d15815ed738173c5a82495f0056fb2c9d7f25 Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期二, 08 七月 2025 15:56:20 +0800 Subject: [PATCH] 优化 --- src/views/Home.vue | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/views/Home.vue b/src/views/Home.vue index 0c755e4..243e35a 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -58,13 +58,12 @@ // 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 { getSimData, fetchWaterSimulationData } from "@/api/trApi.js"; +import { setupTokenRefresh, getDangerPoint, getAllCode } from "@/api/hpApi.js"; import { convertToWKT } from "@/utils/wktUtils"; +import { getDeviceInfoSHG, getSafePoint } from "@/api/hpApi"; const route = useRoute(); const simStore = useSimStore(); -const backHome = ref(false); // 鎺ユ敹鏉ヨ嚜 ComponentA 鐨勪簨浠讹紝骞舵洿鏂� isFlying function handleBackToHome() { @@ -101,13 +100,46 @@ // 璁$畻灞炴�� 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); + }); setupTokenRefresh(); // 鑾峰彇瀹忓浘token - getSimData(); //娴嬭瘯tr鍚庣 + // getSimData(); //娴嬭瘯tr鍚庣 // 鑾峰彇闅愭偅鐐瑰垪琛紙鍥犱负涓杞悗绔帴鍙h幏鍙栧姞杞芥椂闂磋緝闀匡級 - getDangerPoint().then((res) => { + getDangerPoint("110116110000").then((res) => { simStore.DangerPoint = res.data.pageData; }); + + getDeviceInfoSHG(null).then((res) => { + simStore.devices = res.data.pageData; + }); try { const wktResult = convertToWKT(multiPolygonCoordinates); // console.log(wktResult,'a'); -- Gitblit v1.9.3