| | |
| | | <div class="left-content district-content"> |
| | | <div style="margin-left: 5px"> |
| | | <span style="color: white">重点沟:</span> |
| | | <el-select |
| | | v-model="selectValue" |
| | | placeholder="Select" |
| | | size="large" |
| | | style="width: 240px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | <el-select @change="handleChange" v-model="selectValue" placeholder="Select" size="large" style="width: 240px"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </div> |
| | | <div |
| | | v-for="(item, key) in districtList" |
| | | :key="key" |
| | | class="district-item" |
| | | @click="handleClick(item)" |
| | | > |
| | | <div class="district-item-icon"></div> |
| | | <div class="district-item-text">{{ item.name }}</div> |
| | | |
| | | <!-- 滚动区域 --> |
| | | <div style="overflow-y: auto; height: 95%"> |
| | | <!-- 加载遮罩层 --> |
| | | <div v-if="loading" class="loading-overlay"> |
| | | <div class="spinner"></div> |
| | | </div> |
| | | <div v-else v-for="(item, key) in districtList" :key="key" class="district-item" @click="handleClick(item)"> |
| | | <div class="district-item-icon"></div> |
| | | <div class="district-item-text">{{ item.hdName }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted, onBeforeUnmount, reactive } from "vue"; |
| | | import { getDistrictData } from "@/api/index"; |
| | | import { createPoint, removeEntities } from "@/utils/map"; |
| | | import { ref, computed, onMounted } from "vue"; |
| | | import { deviceDictList, getDictName } from "@/constant/dict.js"; |
| | | |
| | | // 定义一个响应式引用存储设备列表 |
| | | const deviceListAll = ref([]); |
| | | |
| | | // 当前选中的区域 |
| | | const selectValue = ref("孙胡沟"); |
| | | |
| | | // 区域选项 |
| | | const options = ref([ |
| | | { |
| | | value: "孙胡沟", |
| | | label: "孙胡沟", |
| | | }, |
| | | { |
| | | value: "鱼水洞后沟", |
| | | label: "鱼水洞后沟", |
| | | }, |
| | | { |
| | | value: "于家西沟", |
| | | label: "于家西沟", |
| | | }, |
| | | { |
| | | value: "北河沟", |
| | | label: "北河沟", |
| | | }, |
| | | { |
| | | value: "龙泉峪村", |
| | | label: "龙泉峪村", |
| | | }, |
| | | { value: "孙胡沟", label: "孙胡沟" }, |
| | | { value: "鱼水洞后沟", label: "鱼水洞后沟" }, |
| | | // 其他选项... |
| | | ]); |
| | | |
| | | 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: "尹家西沟泥石流隐患点", |
| | | 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: "沟口正对房屋,降雨时出水量大,建议治理,汛期加强巡查", |
| | | 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: "三亩地范忠田家屋后崩塌隐患点", |
| | | 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: "于家西沟泥石流隐患点", |
| | | number: |
| | | "13716108909,13716029391,13716291714,13716191943,13716427398,13124792612", |
| | | preventionDes: |
| | | "已监测,2018村已治理;沟口堆积扇明显,正对房屋,建议汛期加强巡查", |
| | | 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: "椴树底下东沟泥石流隐患点", |
| | | 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: "河东南沟泥石流隐患点", |
| | | 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 getData() { |
| | | getDistrictData().then((res) => { |
| | | districtList.value = res.data; |
| | | }); |
| | | } |
| | | function handleClick(district) { |
| | | const entity = viewer.entities.getById(district.id); |
| | | if (entity) { |
| | | viewer.flyTo(entity, { |
| | | offset: { |
| | | heading: Cesium.Math.toRadians(0), |
| | | pitch: Cesium.Math.toRadians(-45), |
| | | range: 4000, |
| | | }, |
| | | }); |
| | | // 树形结构属性配置 |
| | | const treeProps = { |
| | | label: "deviceName", |
| | | children: "children", |
| | | }; |
| | | |
| | | // 处理区域变化事件 |
| | | const handleChange = (areaName) => { |
| | | if (!areaName) { |
| | | console.error("请选择一个区域"); |
| | | return; |
| | | } |
| | | // if (entity) { |
| | | // viewer.flyTo(entity) |
| | | // } |
| | | } |
| | | selectValue.value = areaName; // 更新选中的区域值 |
| | | console.log(deviceListAll.value); // 这里已包含所有区域的数据 |
| | | }; |
| | | |
| | | function initDistrictPoint() { |
| | | districtList.value.forEach((item) => { |
| | | item.showBillboard = false; |
| | | item.className = "district"; |
| | | // 计算属性:将设备列表转换为树形结构,依据当前选中的区域 |
| | | const deviceTree = computed(() => { |
| | | const typeMap = {}; |
| | | |
| | | createPoint(item); |
| | | // 过滤出属于当前选中区域的设备 |
| | | const filteredDevices = deviceListAll.value.filter(device => |
| | | device.deviceName.includes(selectValue.value) |
| | | ); |
| | | |
| | | // 按设备类型分组 |
| | | filteredDevices.forEach((device) => { |
| | | const typeName = getDictName(deviceDictList, device.dictDeviceType); |
| | | |
| | | if (!typeName) { |
| | | console.warn("未找到设备类型:", device); |
| | | return; |
| | | } |
| | | |
| | | if (!typeMap[typeName]) { |
| | | typeMap[typeName] = []; |
| | | } |
| | | // 直接使用原始的设备名称,不进行任何替换操作 |
| | | typeMap[typeName].push({ |
| | | ...device, |
| | | deviceName: device.deviceName.trim(), // 只去除首尾空格 |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | onMounted(() => { |
| | | getData(); |
| | | // initDistrictPoint() |
| | | // 转换为树形结构 |
| | | return Object.keys(typeMap).map((typeName) => ({ |
| | | deviceName: typeName, |
| | | children: typeMap[typeName], |
| | | })); |
| | | }); |
| | | onBeforeUnmount(() => { |
| | | // removeEntities() |
| | | |
| | | // 假设在组件初始化之前,deviceListAll 已被填充了所有区域的数据 |
| | | // 如果不是这样,则需要保留对 loadDeviceList 的调用,或者找到一种方法来预填充 deviceListAll |
| | | onMounted(() => { |
| | | // 如果需要在此处加载全部数据,请取消注释以下行并确保 getDeviceInfo 返回所有区域的数据 |
| | | // loadDeviceList(""); |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .loading-overlay { |
| | | position: absolute; |
| | | top: 120px; |
| | | left: 0px; |
| | | right: 0px; |
| | | bottom: 10px; |
| | | background-color: rgba(236, 233, 233, 0.5); |
| | | /* 半透明遮罩 */ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | z-index: 999; |
| | | } |
| | | |
| | | .spinner { |
| | | width: 40px; |
| | | height: 40px; |
| | | border: 4px solid #fff; |
| | | border-top: 4px solid transparent; |
| | | border-radius: 50%; |
| | | animation: spin 1s linear infinite; |
| | | } |
| | | |
| | | @keyframes spin { |
| | | to { |
| | | transform: rotate(360deg); |
| | | } |
| | | } |
| | | |
| | | .district { |
| | | position: absolute; |
| | | width: 345px; |
| | |
| | | cursor: pointer; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .district-content { |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .district-item-icon { |
| | | background: url("@/assets/img/menu/locationicon.png") no-repeat; |
| | | background-position: 5px 5px; |
| | |
| | | .district-item-text { |
| | | color: white; |
| | | line-height: 30px; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .loading-text { |
| | | color: white; |
| | | font-size: 14px; |
| | | text-align: center; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | /deep/ .el-select__placeholder { |
| | | color: white; |
| | | } |
| | | |
| | | /deep/ .el-select-dropdown__item.hover, |
| | | .el-select-dropdown__item:hover { |
| | | color: white !important; |