From 71c26ab7b8e81faa76d0b6222d2b905131378a7c Mon Sep 17 00:00:00 2001 From: qingzhengli <1204552371@qq.com> Date: Fri, 29 Mar 2024 17:07:08 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=BF=9E=E7=BB=AD=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BF=A9=E6=AC=A1=E5=85=B3=E9=97=AD=E6=97=B6,=20=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E5=AF=BC=E8=87=B4=E7=9A=84=E6=95=B0=E6=8D=AE=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/components/RoadAndEvents/index.vue | 18 +++++++++++++++--- .../RoadAndEvents/utils/buttonEvent.js | 4 +++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue index 40647287..9ff12937 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue @@ -96,7 +96,8 @@ export default { layerData: [], active: "事件专题", tabContentData: [], - + nowSelected: null, //当前点击选中的事件 title + nowSelectedCompleted: true, //选中事件的处理是否完成 // 路测设备-摄像机 dialogConfig: { // 0 有 可控(球机) ControlCamera | 1 ⽆ 不可控(枪机) Camera @@ -161,6 +162,7 @@ export default { this.active = layerData[defaultActive].title; this.minLayers = 3; + this.emitter.on("selectedCompleted", this.selectedCompletedHandle); }, mounted() { // 获取原始 Layer @@ -176,7 +178,13 @@ export default { getMinMapLayers(); }, + beforeDestroy() { + this.emitter.off("selectedCompleted", this.selectedCompletedHandle); + }, methods: { + selectedCompletedHandle(item) { + if (this.nowSelected === item.title) this.nowSelectedCompleted = true; + }, setFilterDataNoAction(data) { //纯更新data this.filterData = data; }, @@ -219,6 +227,10 @@ export default { const status = item.status; + console.log(item, "item"); + if (!status) { this.nowSelected = item.title; this.nowSelectedCompleted = false; } + else if (this.nowSelected === item.title && this.nowSelectedCompleted === false) return; + item.status = item.status ? "" : "_active"; console.log("%c [ key ]-102-「index.vue」", "font-size:15px; background:#9d63e9; color:#e1a7ff;", key); @@ -228,8 +240,8 @@ export default { await eventMap[`${key}${status ? "_close" : ""}`]?.call(this, item, this.filterData, isDefault, this.cb); }, - handleDevice: debounce(function (item) { - this.handleDeviceImmediate(item); + handleDevice: debounce(async function (item) { + await this.handleDeviceImmediate(item); }, 360), handleCleared() { const { mapIns } = this.getMap(); diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js index 3c457eb9..bd316ae4 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js @@ -166,8 +166,8 @@ export const eventMap = { removeData ); addDataPreHandle(removeData); - markerClusterIns.addData(removeData, isDefault); + this.emitter.emit("selectedCompleted", item); cacheRemoveFunc[`地图路测设备/${item.title}`] = () => { cbCall(); @@ -225,6 +225,7 @@ export const eventMap = { ); addDataPreHandle(removeData); markerClusterIns.addData(removeData, isDefault); + this.emitter.emit("selectedCompleted", item); cacheRemoveFunc[`地图事件专题/${item.title}`] = () => { cbCall(); @@ -275,6 +276,7 @@ export const eventMap = { ); addDataPreHandle(removeData); markerClusterIns.addData(removeData, isDefault); + this.emitter.emit("selectedCompleted", item); loadingMessage?.close();