From 3a20c18ad64715d31d081e956bf678a51f8d7539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=92=A6?= <360013221@qq.com> Date: Thu, 9 May 2024 19:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=9C=B0=E5=9B=BE=E5=88=B7?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/components/RoadAndEvents/index.vue | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 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 6564597b..d3128498 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 @@ -189,12 +189,17 @@ export default { } getMinMapLayers(); + this.$root.$on('delete-event', this.handleRefresh); + }, beforeDestroy() { this.emitter.off("selectedCompleted", this.selectedCompletedHandle); Object.keys(lngLatMap).forEach(key => delete lngLatMap[key]); markerClusterIns.clear(); window.renderData = undefined; + + this.$root.$off('delete-event', this.handleRefresh); + }, methods: { selectedCompletedHandle(item) { @@ -262,19 +267,21 @@ export default { handleDevice: debounce(async function (item) { await this.handleDeviceImmediate(item); }, 360), - handleRefresh(){ - // 先清空图层 - const { mapIns } = this.getMap(); - console.log(mapIns.getLayers(),'-----') - mapIns.getLayers().forEach((layer, index) => index > this.minLayers && mapIns.remove(layer)) + async handleRefresh(){ + const tab = _.filter(this.tabContentData,{status:'_active'}) + try{ + this.handleCleared(); + } catch(e){ + } + tab.forEach(async item=>{ + await this.handleDeviceImmediate(item); + }) }, handleCleared() { const { mapIns } = this.getMap(); - this.layerData.forEach(({ children }) => { children.forEach(item => item.status = "") }); - if (!mapIns) return; for (const key in cacheRemoveFunc) {