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