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) {