From 036647fcdc936273e78597408ee3fba09534ffd8 Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期一, 21 四月 2025 16:12:41 +0800
Subject: [PATCH] change

---
 src/components/tools/LayerTree.vue |  886 +++----------------------------------------------------
 src/api/index.js                   |   20 +
 src/views/mnfz.vue                 |   43 +-
 3 files changed, 92 insertions(+), 857 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index 6b84f35..23336cd 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -40,6 +40,26 @@
 	})
 	return await response.json()
 }
+export async function getDevicetListData() {
+	const response = await fetch("/json/缁煎悎鐩戞祴璁惧淇℃伅.json", {
+		mode: "cors",
+		cache: "no-cache",
+		headers: {
+			"Content-Type": "application/json",
+		},
+	})
+	return await response.json()
+}
+export async function getDistrictListData() {
+	const response = await fetch("/json/闅愭偅鐐逛俊鎭�.json", {
+		mode: "cors",
+		cache: "no-cache",
+		headers: {
+			"Content-Type": "application/json",
+		},
+	})
+	return await response.json()
+}
 
 export async function getDistrictCount() {
 	const response = await fetch("/json/鍖椾含甯傞殣鎮g偣鎸夊尯缁熻.json", {
diff --git a/src/components/tools/LayerTree.vue b/src/components/tools/LayerTree.vue
index 2b8c896..6105ceb 100644
--- a/src/components/tools/LayerTree.vue
+++ b/src/components/tools/LayerTree.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="layer-tree">
-    <el-tree ref="treeRef" style="max-width: 600px" show-checkbox node-key="label"
+    <el-tree ref="treeRef" style="max-width: 600px" show-checkbox 
       :default-checked-keys="defaultSelectedKeys" @check-change="handleCheckChange" :data="treeData" />
   </div>
 </template>
@@ -12,7 +12,7 @@
 import { useRoute } from "vue-router";
 import { loadAreaPolygon, clearAreaPolygon } from "@/utils/area";
 import { checkedKeys } from "@/store/index";
-import { getDuanMainData } from "@/api/index.js";
+import { getDuanMainData, getDevicetListData, getDistrictListData } from "@/api/index.js";
 const route = useRoute();
 const treeData = ref([
   {
@@ -53,231 +53,61 @@
 function handleCheckChange(data, checked, indeterminate) {
   const label = data.label;
   const list = treeMap.get(label);
+
   if (list) {
     toggleLayerVisible(label, checked);
     return;
   }
   switch (label) {
     case "妯″瀷鏁版嵁":
-      list.show = checked;
+    case "褰卞儚鏁版嵁":
+    case "鍦板舰鏁版嵁":
+      console.warn(`鏈垵濮嬪寲 ${label} 鐨勫浘灞俙);
       break;
     case "鍖椾含甯傞殣鎮g偣":
-      console.log("鍖椾含甯傞殣鎮g偣", checked, indeterminate);
-      break;
     case "瀛欒儭娌熼殣鎮g偣":
-      console.log("瀛欒儭娌熼殣鎮g偣", checked, indeterminate);
-      break;
     case "娉ョ煶娴侀殣鎮g偣闈㈡暟鎹�":
-      console.log("娉ョ煶娴侀殣鎮g偣闈㈡暟鎹�", checked, indeterminate);
-      break;
     case "缁煎悎鐩戞祴璁惧淇℃伅":
-      console.log("缁煎悎鐩戞祴璁惧淇℃伅", checked, indeterminate);
-      break;
     case "瀛欒儭娌熸柇闈�":
-      console.log("瀛欒儭娌熸柇闈�", checked, indeterminate);
-      break;
     case "閬块櫓鐐�":
-      addTetrahedron();
+      console.log(label, checked, indeterminate);
       break;
   }
 }
 function initMap() {
-  // let modelPromise = addTileset(
-  // 	`http://106.120.22.26:9103/gisserver/c3dserver/sunhugou3d/tileset.json`
-  // )
-  // modelPromise.then(model => {
-  // 	treeMap.set("妯″瀷鏁版嵁", model)
-  // })
-  // let ImageryLayer = earthCtrl.factory.createImageryLayer({
-  // 	sourceType: "tms",
-  // 	url: "http://106.120.22.26:9103/gisserver/tmsserver/sunhugoudom",
-  // })
-  // let TerrainLayer = earthCtrl.factory.createTerrainLayer({
-  //   sourceType: "ctb",
-  //   // url: "http://106.120.22.26:9103/gisserver/ctsserver/llmbdem",
-  //   url: "http://106.120.22.26:9103/gisserver/ctsserver/sunhugoudem",
-  // })
-
-  let TerrainLayer = earthCtrl.factory.createTerrainLayer({
-    sourceType: "ctb",
-    url: "http://106.120.22.26:9103/gisserver/ctsserver/sungugoudem",
+  // 鍒濆鍖栨ā鍨嬫暟鎹�
+  let modelPromise = addTileset(
+    "http://106.120.22.26:9103/gisserver/c3dserver/sunhugou3d/tileset.json"
+  );
+  modelPromise.then((model) => {
+    treeMap.set("妯″瀷鏁版嵁", model);
   });
 
+  // 鍒濆鍖栧奖鍍忔暟鎹�
+  // let ImageryLayer = earthCtrl.factory.createImageryLayer({
+  //   sourceType: "tms",
+  //   url: "http://106.120.22.26:9103/gisserver/tmsserver/sunhugoudom",
+  // });
+  // treeMap.set("褰卞儚鏁版嵁", ImageryLayer);
+
+  // 鍒濆鍖栧湴褰㈡暟鎹�
   // let TerrainLayer = earthCtrl.factory.createTerrainLayer({
   //   sourceType: "ctb",
-  //   url: "https://tiles1.geovisearth.com/base/v1/terrain?token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
-  //   requestVertexNormals: true,
+  //   url: "http://106.120.22.26:9103/gisserver/ctsserver/sungugoudem",
   // });
-  // treeMap.set("褰卞儚鏁版嵁", ImageryLayer)
-  treeMap.set("鍦板舰鏁版嵁", TerrainLayer)
+  // treeMap.set("鍦板舰鏁版嵁", TerrainLayer);
 }
+const devicetList = ref([]);
+const getDevicetList = async () => {
+  await getDevicetListData().then((res) => {
+    console.log(res.data, 'devicetList.value2');
+    devicetList.value = res.data;
+  })
+};
 
-const devicetList = ref([
-  {
-    deviceCode: "303A9016",
-    deviceId: "1821067878870257666",
-    deviceName: "瀛欒儭娌�(澧掓儏)",
-    dictDeviceType: "1437295822",
-    latitude: 40.56476666,
-    longitude: 116.5955361,
-  },
-  {
-    deviceCode: "01303A9016",
-    deviceId: "1821067850122498049",
-    deviceName: "瀛欒儭娌�(澧掓儏)",
-    dictDeviceType: "14372958380",
-    latitude: 40.56476666,
-    longitude: 116.5955361,
-  },
-  {
-    deviceCode: "1101161102180100010063",
-    deviceId: "1554360510040182786",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熷肮瀹惰タ娌熼洦閲忚0063",
-    dictDeviceType: "1437295810",
-    latitude: 40.556589,
-    longitude: 116.579459,
-  },
-  {
-    deviceCode: "1101161102180100194030",
-    deviceId: "1554361328692826114",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熺紪鐮佸櫒4030",
-    dictDeviceType: "1437295815",
-    latitude: 40.554272,
-    longitude: 116.592583,
-  },
-  {
-    deviceCode: "1101161102180100031041",
-    deviceId: "1554360448702681089",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸澹颁华1041",
-    dictDeviceType: "1437295832",
-    latitude: 40.553236,
-    longitude: 116.592304,
-  },
-  {
-    deviceCode: "1101161102180100022007",
-    deviceId: "1554360273959587842",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熷惈姘寸巼2007",
-    dictDeviceType: "1437295822",
-    latitude: 40.545821,
-    longitude: 116.586354,
-  },
-  {
-    deviceCode: "1101161102180100225406",
-    deviceId: "1554360478494822402",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸祦閫熶华5406",
-    dictDeviceType: "1437295821",
-    latitude: 40.554368,
-    longitude: 116.592989,
-  },
-  {
-    deviceCode: "1101161102180100055006",
-    deviceId: "1554360276627165185",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸偿浣嶈5006",
-    dictDeviceType: "1437295811",
-    latitude: 40.554398,
-    longitude: 116.592929,
-  },
-  {
-    deviceCode: "1101161102180100010064",
-    deviceId: "1554360452670492674",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熼洦閲忚0064",
-    dictDeviceType: "1437295810",
-    latitude: 40.545741,
-    longitude: 116.586304,
-  },
-  {
-    deviceCode: "1101161102180100183030",
-    deviceId: "1554360533087883265",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸憚鍍忓ご3030",
-    dictDeviceType: "1437295825",
-    latitude: 40.554272,
-    longitude: 116.592583,
-  },
-  {
-    deviceCode: "1101161102180100194031",
-    deviceId: "1554361328877375489",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熺紪鐮佸櫒4031",
-    dictDeviceType: "1437295815",
-    latitude: 40.554035,
-    longitude: 116.59786,
-  },
-  {
-    deviceCode: "1101161102180100055007",
-    deviceId: "1554360509775941634",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸偿浣嶈5007",
-    dictDeviceType: "1437295811",
-    latitude: 40.554729,
-    longitude: 116.598165,
-  },
-  {
-    deviceCode: "1101161102180100031042",
-    deviceId: "1554360448916590593",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸澹颁华1042",
-    dictDeviceType: "1437295832",
-    latitude: 40.549398,
-    longitude: 116.600387,
-  },
-  {
-    deviceCode: "1101161102180100225407",
-    deviceId: "1554360478658400257",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸祦閫熶华5407",
-    dictDeviceType: "1437295821",
-    latitude: 40.55481,
-    longitude: 116.598025,
-  },
-  {
-    deviceCode: "1101161102180100022008",
-    deviceId: "1554360274165108737",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熷惈姘寸巼2008",
-    dictDeviceType: "1437295822",
-    latitude: 40.544645,
-    longitude: 116.596511,
-  },
-  {
-    deviceCode: "1101161102180100183031",
-    deviceId: "1554360533255655426",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸憚鍍忓ご3031",
-    dictDeviceType: "1437295825",
-    latitude: 40.554035,
-    longitude: 116.59786,
-  },
-  {
-    deviceCode: "1101161102180100010065",
-    deviceId: "1554360452888596482",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熼洦閲忚0065",
-    dictDeviceType: "1437295810",
-    latitude: 40.543104,
-    longitude: 116.59585,
-  },
-  {
-    deviceCode: "1101161102180100031040",
-    deviceId: "1554360448383913986",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙浜庡瑗挎矡娆″0浠�1040",
-    dictDeviceType: "1437295832",
-    latitude: 40.563822,
-    longitude: 116.592648,
-  },
-  {
-    deviceCode: "1101161102180100010062",
-    deviceId: "1554360452519497730",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙浜庡瑗挎矡闆ㄩ噺璁�0062",
-    dictDeviceType: "1437295810",
-    latitude: 40.558778,
-    longitude: 116.586892,
-  },
-  {
-    deviceCode: "1101160042160100010005",
-    deviceId: "1554360582698110977",
-    deviceName: "鎬�鏌斿尯闆佹爾闀囧寳婀炬潙鍖楁灄澶х煶闂ㄦ矡闆ㄩ噺璁�0005",
-    dictDeviceType: "1437295810",
-    latitude: 40.533623,
-    longitude: 116.602406,
-  },
-]);
-
-function initDevicePoint() {
+async function initDevicePoint() {
   let list = [];
-
+  await getDevicetList();
   devicetList.value.forEach((item) => {
     item.type = getDictName(deviceDictList, item.dictDeviceType);
     item.name = item.type;
@@ -286,643 +116,21 @@
     item.showLabel = true;
     const entity = createPoint(item);
     entity.show = false;
-
     list.push(entity);
   });
+
   treeMap.set("缁煎悎鐩戞祴璁惧淇℃伅", list);
 }
 
-const districtList = ref([
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116020058",
-    latitude: 40.56652778,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙灏瑰瑗挎矡灏瑰缓鐕曞灞嬪悗",
-    longitude: 116.5803889,
-    monitor: "",
-    monitorAdvice: "",
-    name: "灏瑰瑗挎矡灏瑰缓鐕曞灞嬪悗宕╁闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 2,
-    threatenMoney: 0,
-    threatenPopulation: "3",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "宕╁",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116020078",
-    latitude: 40.56497222,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙娌宠タ浜庡嚖鑻卞灞嬪悗",
-    longitude: 116.5955278,
-    monitor: "",
-    monitorAdvice: "",
-    name: "娌宠タ浜庡嚖鑻卞灞嬪悗宕╁闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 4,
-    threatenMoney: 0,
-    threatenPopulation: "6",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "宕╁",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030041",
-    latitude: 40.55369444,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熷叕璺�",
-    longitude: 116.6002778,
-    monitor: "",
-    monitorAdvice: "",
-    name: "鍗楁灏忎笢娌熸偿鐭虫祦闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡,绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 0,
-    threatenMoney: 0,
-    threatenPopulation: "",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030015",
-    latitude: 40.55277778,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙鍗楁鏉戝ぇ绐戞矡",
-    longitude: 116.5994722,
-    monitor: "",
-    monitorAdvice: "",
-    name: "澶х獞娌熸偿鐭虫祦闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "宸茬洃娴嬨�佸凡娌荤悊",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 5,
-    threatenMoney: 0,
-    threatenPopulation: "11",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030076",
-    latitude: 40.55972222,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙涓滃潕澶т笢娌�",
-    longitude: 116.5916667,
-    monitor: "",
-    monitorAdvice: "",
-    name: "澶т笢娌熸偿鐭虫祦闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "宸叉不鐞�",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉�",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 1,
-    threatenMoney: 0,
-    threatenPopulation: "2",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030074",
-    latitude: 40.56580556,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙灏瑰瑗挎矡",
-    longitude: 116.59,
-    monitor: "",
-    monitorAdvice: "",
-    name: "灏瑰瑗挎矡娉ョ煶娴侀殣鎮g偣",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes:
-      "宸茬洃娴嬶紱鐏惧浣撳彉鍖栵細4澶勫潯绉墿鍨锛屽爢绉嚦鍧¤剼锛屾柟閲忕害20m鲁銆�",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉�",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 7,
-    threatenMoney: 0,
-    threatenPopulation: "12",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030053",
-    latitude: 40.57361111,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙鍖楀ぇ鍦拌タ娲煎瓙娌�",
-    longitude: 116.5897222,
-    monitor: "",
-    monitorAdvice: "",
-    name: "鍖楀ぇ鍦拌タ娲煎瓙娌熸偿鐭虫祦闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "娌熷彛姝e鎴垮眿锛岄檷闆ㄦ椂鍑烘按閲忓ぇ锛屽缓璁不鐞嗭紝姹涙湡鍔犲己宸℃煡",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 6,
-    threatenMoney: 0,
-    threatenPopulation: "10",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116020102",
-    latitude: 40.55972222,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙鑼冨搴勭帇绉�鑾插灞嬪悗",
-    longitude: 116.5922222,
-    monitor: "",
-    monitorAdvice: "",
-    name: "鑼冨搴勭帇绉�鑾插灞嬪悗宕╁闅愭偅鐐�",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "杈瑰潯杈冮櫋锛岄『鍚戝博灞傦紝鎴垮眿闈犺繎鍧¤剼锛屽缓璁敖蹇不鐞�",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 1,
-    threatenMoney: 0,
-    threatenPopulation: "3",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "宕╁",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116020742",
-    latitude: 40.57680556,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙涓変憨鍦拌寖蹇犵敯瀹跺眿鍚�",
-    longitude: 116.5887222,
-    monitor: "",
-    monitorAdvice: "",
-    name: "涓変憨鍦拌寖蹇犵敯瀹跺眿鍚庡穿濉岄殣鎮g偣",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝鏇存崲璀︾ず鐗�",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 8,
-    threatenMoney: 0,
-    threatenPopulation: "23",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "宕╁",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030040",
-    latitude: 40.56344444,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙娌宠タ浜庡瑗挎矡",
-    longitude: 116.5953889,
-    monitor: "",
-    monitorAdvice: "",
-    name: "浜庡瑗挎矡娉ョ煶娴侀殣鎮g偣",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes:
-      "宸茬洃娴嬶紝2018鏉戝凡娌荤悊锛涙矡鍙e爢绉墖鏄庢樉锛屾瀵规埧灞嬶紝寤鸿姹涙湡鍔犲己宸℃煡",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉�",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 18,
-    threatenMoney: 0,
-    threatenPopulation: "59",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030055",
-    latitude: 40.55283333,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙妞存爲搴曚笅涓滄矡",
-    longitude: 116.5999444,
-    monitor: "",
-    monitorAdvice: "",
-    name: "妞存爲搴曚笅涓滄矡娉ョ煶娴侀殣鎮g偣",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "宸叉不鐞嗭細濞佽儊瀵硅薄閲嶅锛氫笌110116030015閲嶅5鎴�11浜�",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡锛岄璀﹁浆绉伙紝绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "涓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 5,
-    threatenMoney: 0,
-    threatenPopulation: "11",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-  {
-    activeStatus: "",
-    areaCode: "",
-    areaName: "",
-    brookLength: 0,
-    checkId: "",
-    city: "鍖椾含甯�",
-    codeProvince: "110116",
-    county: "鎬�鏌�",
-    dangerLevel: "",
-    disasterStatus: "",
-    drainageArea: "",
-    elevation: 0,
-    featureDes: "",
-    groupMonitor: "鏉庢姊�,瀛欐鍜�,鑼冩弧鐢�,绉﹀缓鏉�,瀛欐姹�,瀛欐浼�",
-    hasPlan: "",
-    id: "110116030054",
-    latitude: 40.56166667,
-    length: 0,
-    district: "鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌�",
-    longitude: 116.5997222,
-    monitor: "",
-    monitorAdvice: "",
-    name: "娌充笢鍗楁矡娉ョ煶娴侀殣鎮g偣",
-    number:
-      "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612",
-    preventionDes: "宸茬洃娴�",
-    preventionLevel: "",
-    preventionPlan: "瀹氭湡宸℃煡,绔嬭绀虹墝",
-    preventionUnit: "涔¢晣",
-    principal: "",
-    province: "鍖椾含甯�",
-    qp: "",
-    reason: "",
-    responsibleUnit: "",
-    riskLevel: "",
-    scale: "灏忓瀷",
-    stableLevel: "",
-    status: "",
-    thickness: 0,
-    threatenFamily: 0,
-    threatenMoney: 0,
-    threatenPopulation: "",
-    threatenType: "",
-    town: "鐞夌拑搴欓晣",
-    trigger: "",
-    type: "娉ョ煶娴�",
-    village: "瀛欒儭娌熸潙",
-    volume: "",
-    volumePotential: "",
-    width: 0,
-  },
-]);
-
-function initDistrictPoint() {
+const districtList = ref([]);
+const getDistrictList = async () => {
+  await getDistrictListData().then((res) => {
+    districtList.value = res.data;
+  })
+};
+async function initDistrictPoint() {
   let list = [];
+  await getDistrictList()
   districtList.value.forEach((item) => {
     item.showBillboard = true;
     item.className = "district";
@@ -1018,12 +226,20 @@
 }
 function toggleLayerVisible(name, checked) {
   const entityList = treeMap.get(name);
-  if (Array.isArray(entityList) && entityList.length > 0) {
+
+  console.log(`Toggling visibility for ${name}:`, checked);
+
+  if (Array.isArray(entityList)) {
     entityList.forEach((entity) => {
+      console.log(`Setting entity show to:`, checked);
       entity.show = checked;
     });
+  } else if (entityList && typeof entityList.show !== 'undefined') {
+    console.log(`Setting layer show to:`, checked);
+    entityList.show = checked;
+  } else {
+    console.error(`鏃犳硶璁剧疆鍥惧眰 ${name} 鐨勫彲瑙佹�);
   }
-  treeMap.set(name, entityList);
 }
 
 function getData() {
diff --git a/src/views/mnfz.vue b/src/views/mnfz.vue
index fade2a7..7d8d533 100644
--- a/src/views/mnfz.vue
+++ b/src/views/mnfz.vue
@@ -1,23 +1,9 @@
 <template>
   <Left @start="startSimulate" @end="endSimulate" />
-  <echartInfo
-    :isDynamicMode="isDynamicMode"
-    :isFinish="isFinish"
-    v-if="rightRiverShow"
-  />
-  <TimeLine
-    v-if="showWaterSimulate"
-    @time-update="timeUpdate"
-    @is-playing="isPlaying"
-    :waterSimulateParams="waterSimulateParams"
-    @playbackFinished="playbackFinished"
-    @end="endSimulate"
-  />
-  <DebuffDetail
-    v-if="showDebuffDetail"
-    @open="openDetail"
-    @close="showDebuffDetail = false"
-  />
+  <echartInfo :isDynamicMode="isDynamicMode" :isFinish="isFinish" v-if="rightRiverShow" />
+  <TimeLine v-if="showWaterSimulate" @time-update="timeUpdate" @is-playing="isPlaying"
+    :waterSimulateParams="waterSimulateParams" @playbackFinished="playbackFinished" @end="endSimulate" />
+  <DebuffDetail v-if="showDebuffDetail" @open="openDetail" @close="showDebuffDetail = false" />
   <DebuffTable v-if="showDebuffTable" @close="closeDebuffTable" />
 </template>
 
@@ -121,7 +107,7 @@
     });
     await Promise.all(loadPromises);
     setupRowClickListener(dataSources);
-  } catch (error) {}
+  } catch (error) { }
 }
 // 娓呴櫎闅愭偅鐐�
 function removeDataSources() {
@@ -267,32 +253,41 @@
 }
 // 瀹氫箟鍏ㄥ眬鍙橀噺瀛樺偍褰撳墠姝e湪闂姩鐨勯潰鐗�
 let flashingPolygon = null;
+
 // 娣诲姞浜嬩欢鐩戝惉鍣紝鎺ユ敹鏉ヨ嚜琛ㄦ牸缁勪欢鐨勪簨浠�
 function setupRowClickListener(dataSources) {
   if (!Array.isArray(dataSources) || dataSources.length === 0) {
     console.error("Data sources array is undefined or empty!");
     return;
   }
-
   EventBus.on("row-clicked", (id) => {
     const clickedEntity = findEntityById(id, dataSources);
     if (clickedEntity) {
+      // 濡傛灉鐐瑰嚮鐨勬槸鍚屼竴涓疄浣擄紝鍒欏仠姝㈤棯鍔ㄥ苟娓呯┖閫夋嫨
+      if (flashingPolygon && flashingPolygon === clickedEntity) {
+        stopFlashing(flashingPolygon);
+        flashingPolygon = null; // 娓呯┖褰撳墠閫変腑鐨勫疄浣�
+        return;
+      }
+      // 濡傛灉鏈夊叾浠栧疄浣撴鍦ㄩ棯鍔紝鍏堝仠姝㈠畠鐨勯棯鍔�
       if (flashingPolygon && flashingPolygon !== clickedEntity) {
         stopFlashing(flashingPolygon);
       }
-
+      // 寮�濮嬫柊鐨勯棯鍔�
       startFlashing(clickedEntity);
       flashingPolygon = clickedEntity;
     } else {
+      console.warn(`No entity found with ID: ${id}`);
     }
   });
 }
+
+// 鏍规嵁ID鏌ユ壘瀹炰綋
 function findEntityById(id, dataSources) {
   if (!Array.isArray(dataSources) || dataSources.length === 0) {
     console.error("Data sources array is undefined or empty!");
     return null;
   }
-
   console.log("Searching for ID:", id);
   for (const dataSource of dataSources) {
     const entities = dataSource.entities.values;
@@ -305,11 +300,13 @@
   }
   return null;
 }
+
 // 寮�濮嬮棯鍔ㄦ晥鏋�
 function startFlashing(polygonEntity) {
   // 瀛樺偍鍘熷棰滆壊
   const originalColor = polygonEntity.polygon.material.color.getValue();
   polygonEntity._originalColor = originalColor; // 灏嗗師濮嬮鑹蹭繚瀛樺埌瀹炰綋涓�
+
   // 鍒涘缓棰滆壊鍙樺寲鐨勫洖璋冨嚱鏁�
   let isFlashing = true; // 鏍囪鏄惁姝e湪闂姩
   polygonEntity.polygon.material = new Cesium.ColorMaterialProperty(
@@ -323,6 +320,7 @@
         : originalColor;
     }, false)
   );
+
   // 灏嗛棯鍔ㄧ姸鎬佷繚瀛樺埌瀹炰綋涓婏紝渚夸簬鍚庣画鎺у埗
   polygonEntity._isFlashing = isFlashing;
 }
@@ -334,6 +332,7 @@
   polygonEntity.polygon.material = new Cesium.ColorMaterialProperty(
     originalColor
   );
+
   // 娓呯┖闂姩鐘舵��
   polygonEntity._isFlashing = false;
   polygonEntity._originalColor = null; // 娓呴櫎淇濆瓨鐨勫師濮嬮鑹�

--
Gitblit v1.9.3