From 87e19b5a396ac8fed6a551828b87d263f6425c31 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 16 十月 2025 10:26:12 +0800
Subject: [PATCH] 2025.10.16 修改季度报告生成逻辑
---
src/components/scene/SceneTable.vue | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/components/scene/SceneTable.vue b/src/components/scene/SceneTable.vue
index a587167..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,19 +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