From f5302b82a348926546410e52dc4c51621e457105 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 14 八月 2025 14:49:07 +0800
Subject: [PATCH] 修改了场景信息导入的模板文件

---
 src/components/map/SceneMap.vue |   56 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/src/components/map/SceneMap.vue b/src/components/map/SceneMap.vue
index e301ec3..3abe4c6 100644
--- a/src/components/map/SceneMap.vue
+++ b/src/components/map/SceneMap.vue
@@ -9,12 +9,20 @@
     ></FYOptionScene>
     <slot name="left-top"></slot>
   </el-row>
+  <!-- <el-row class="right-wrap">
+    <el-col :span="4">
+      <el-button>close</el-button>
+    </el-col>
+    <el-col :span="20">
+      
+    </el-col>
+  </el-row> -->
   <el-scrollbar class="right-wrap">
     <div v-for="s in selectedSceneList" :key="s.guid">
       <el-checkbox
         v-model="s._checked"
         :label="s.name"
-        @change="handleChange"
+        @change="handleChange(s)"
       />
       <!-- <el-text>{{ s.name }}</el-text> -->
     </div>
@@ -53,7 +61,7 @@
     if (nV != oV) {
       clearSceneMarks();
       createSceneMarks();
-      filterMarkViews();
+      filterMarkViews(true);
     }
   },
   { immediate: true }
@@ -62,14 +70,20 @@
 watch(scenetype, (nV, oV) => {
   if (nV != oV) {
     clearSceneMarks();
-    filterMarkViews();
+    filterMarkViews(true);
   }
 });
 
-function handleChange(value) {
-  console.log(value);
-
-  filterMarkViews();
+function handleChange(scene) {
+  const mv = markViewList.find((v) => {
+    return scene.guid == v.getExtData().guid;
+  });
+  if (scene._checked) {
+    map.add(mv);
+  } else {
+    map.remove(mv);
+  }
+  // filterMarkViews();
 }
 
 function createSceneMarks() {
@@ -111,8 +125,11 @@
 /**
  * 绛涢�夋墍閫夌被鍨嬬殑鍦烘櫙
  */
-function filterMarkViews() {
+function filterMarkViews(setFitView) {
   onMapMounted(() => {
+    if (markViewList.length > 0) {
+      map.remove(markViewList);
+    }
     if (scenetype.value == undefined) {
       markViewList = allMarkViews;
     } else {
@@ -125,21 +142,21 @@
     }
     markViewList = markViewList.filter((v) => {
       const _index = selectedSceneList.value.findIndex((s) => {
-        console.log(s.guid, v.getExtData().guid);
-
-        s.guid == v.getExtData().guid;
+        return s.guid == v.getExtData().guid && s._checked;
       });
       return _index != -1;
     });
     map.add(markViewList);
-    setTimeout(() => {
-      map.setFitView(markViewList);
-      // const list = markViewList.map((v) => {
-      //   const _extData = v.getExtData();
-      //   return [_extData.longitude, _extData.latitude];
-      // });
-      // mapUtil.setBound(list);
-    }, 1000);
+    if (setFitView) {
+      setTimeout(() => {
+        map.setFitView(markViewList);
+        // const list = markViewList.map((v) => {
+        //   const _extData = v.getExtData();
+        //   return [_extData.longitude, _extData.latitude];
+        // });
+        // mapUtil.setBound(list);
+      }, 1000);
+    }
   });
 }
 
@@ -166,5 +183,6 @@
   border-radius: 4px;
   padding: 2px 8px;
   max-width: 300px;
+  box-shadow: var(--el-box-shadow);
 }
 </style>

--
Gitblit v1.9.3