From c23ac06446a9a1edc41cc13723e5d0b8eabdfd63 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 16 七月 2025 17:30:50 +0800 Subject: [PATCH] 2025.7.16 动态溯源新增合并异常 --- src/components/scene/SceneTable.vue | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/components/scene/SceneTable.vue b/src/components/scene/SceneTable.vue index 3957132..f88bf65 100644 --- a/src/components/scene/SceneTable.vue +++ b/src/components/scene/SceneTable.vue @@ -29,6 +29,7 @@ <div>{{ parseInt(row.length) + '绫�' }}</div> </template> </el-table-column> + <slot></slot> <!-- <el-table-column prop="districtName" label="鍖哄幙" @@ -49,7 +50,7 @@ </el-table> </template> <script setup> -import { ref, computed, watch } from 'vue'; +import { ref, computed, watch, onUnmounted } from 'vue'; import { sceneTypes, sceneIcon } from '@/constant/scene-types'; import MapUtil from '@/utils/map/util'; import marks from '@/utils/map/marks'; @@ -86,14 +87,15 @@ } }); +onUnmounted(() => { + removeLayer(); +}); + watch(showSceneList, (nV, oV) => { if (nV && props.showMarks) { drawMarks(nV); } else { - if (layer != undefined) { - MapUtil.removeViews(layer); - layer = undefined; - } + removeLayer(); } }); @@ -103,20 +105,21 @@ if (showSceneList.value && nV) { drawMarks(showSceneList.value); } else { - if (layer != undefined) { - MapUtil.removeViews(layer); - layer = undefined; - } + removeLayer(); } }, { immediate: true } ); -function drawMarks(sceneList) { +function removeLayer() { if (layer != undefined) { MapUtil.removeViews(layer); layer = undefined; } +} + +function drawMarks(sceneList) { + removeLayer(); if (sceneList.length != 0) { const icons = []; sceneList.forEach((s) => { -- Gitblit v1.9.3