From ce17d42203a17120736d796d0e83b3742c4ec441 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期二, 21 十月 2025 21:54:52 +0800
Subject: [PATCH] 2025.10.21
---
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