From b2392458ebf42594b9fc5390fda40d7a0a12f923 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 03 九月 2025 17:40:52 +0800
Subject: [PATCH] 调试自动生成网格融合图片功能(待完成)

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