From 8636973bfb92c4c232b01ef5cda01feb71a77f22 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 10 四月 2025 16:24:51 +0800
Subject: [PATCH] 合并前暂存

---
 src/components/map/MapScene.vue |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/components/map/MapScene.vue b/src/components/map/MapScene.vue
index 163b5a3..38b1856 100644
--- a/src/components/map/MapScene.vue
+++ b/src/components/map/MapScene.vue
@@ -42,6 +42,8 @@
 import sceneInfoApi from '@/api/sceneInfoApi';
 import marks from '@/utils/map/marks';
 import MapUtil from '@/utils/map/util';
+import { useToolboxStore } from '@/stores/toolbox';
+import { mapStores } from 'pinia';
 
 const lableMarkMap = new Map();
 
@@ -55,6 +57,18 @@
       options: sceneTypes(),
       sceneMap: new Map()
     };
+  },
+  computed: {
+    ...mapStores(useToolboxStore)
+  },
+  watch: {
+    // 褰撳垏鎹㈠尯鍘挎椂锛屾竻绌烘墍鏈夐�夐」
+    districtCode(nV, oV) {
+      if (nV != oV) {
+        this.toolboxStore.selectedDistrict = nV;
+        this.handelCheckAllChange(false);
+      }
+    }
   },
   methods: {
     fetchScene(sceneType) {
@@ -84,13 +98,14 @@
 
       // 鏍规嵁閫夐」锛屽皢鏈墦寮�鐨勫浘灞傚紑鍚�
       types.forEach((t) => {
-        if (!lableMarkMap.has(t)) {
+        const key = this.districtCode + t;
+        if (!lableMarkMap.has(key)) {
           this.fetchScene(t).then((res) => {
             const layer = marks.createLabelMarks(sceneIcon(t), res);
-            lableMarkMap.set(t, { show: true, layer });
+            lableMarkMap.set(key, { show: true, layer });
           });
         } else {
-          const m = lableMarkMap.get(t);
+          const m = lableMarkMap.get(key);
           if (!m.show) {
             MapUtil.addViews(m.layer);
             m.show = true;
@@ -100,7 +115,7 @@
 
       // 鏍规嵁閫夐」锛屽皢寮�鍚腑鐨勬湭閫変腑鍥惧眰鍏抽棴
       for (const [key, value] of lableMarkMap) {
-        if (!types.includes(key)) {
+        if (!types.map((t) => this.districtCode + t).includes(key)) {
           if (value.show) {
             MapUtil.removeViews(value.layer);
             value.show = false;

--
Gitblit v1.9.3