From 54657202523b8151459170ef6003684922630fdd Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 17 Nov 2025 14:47:43 +0800
Subject: [PATCH] feat:切换tab清空复选框的数据

---
 src/views/layerManagement/components/leftList.vue |   20 +++++++++++++++-----
 src/views/layerManagement/index.vue               |   17 +++++++++--------
 2 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 2ce3a5a..25a3eaf 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -77,7 +77,7 @@
                icon="el-icon-location"
                 @click.stop="handleLocation(node)"
                 :disabled="node.data.level === 2 && (!node.data.children || node.data.children.length === 0)"
-             class="location-btn" 
+              class="location-btn" 
               ></el-button>
               <el-button icon="el-icon-edit" link @click.stop="handleEdit(node)"></el-button>
               <el-button icon="el-icon-delete" link @click.stop="handleDelete(node)"></el-button>
@@ -108,7 +108,7 @@
 const checkedKeys = ref([]); // 存储勾选的节点key
 const treeRef = ref(null); // 获取tree实例
 const checkedNodes = ref([]); // 存储勾选的节点数据
-const props = defineProps(['activeName']);
+const props = defineProps(['activeName','resetCheck']);
 const formData = ref({
   isPush: undefined,
   page: 1,
@@ -190,8 +190,6 @@
 };
 // 定位按钮事件
 const handleLocation = node => {
-console.log('11',node.data);
-
   if (node.data.level === 2) {
     layerParams.value.isSingleLocating = false;
     // 新增:标记当前定位的文件夹ID
@@ -374,7 +372,19 @@
     ElMessage.success('取消同步成功');
   });
 }
-
+// 切换tab清空复选框的数据
+watch(
+  () => props.resetCheck,
+  (newVal) => {
+    if (newVal !== undefined) {
+      checkedKeys.value = []; 
+      checkedNodes.value = []; 
+      coverData.value = []; 
+      treeRef.value?.setCheckedKeys([]); 
+    }
+  },
+  { immediate: true }
+);
 onMounted(() => {
   failuresList();
   gettreeDataApi();
diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index eedbc17..0c56040 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -23,6 +23,7 @@
           @update:editFolder="handleFolder"
           :activeName="activeName"
           @newFencesMethods="newFencesMethods"
+          :reset-check="resetCheck" 
         ></leftList>
         <rightEdit
           v-if="layerParams.addNest || layerParams.editNest"
@@ -97,20 +98,23 @@
   editFolderData: null,
   editingIsProhibited: false, //禁止编辑
   isDetailShow: false,
-  isSingleLocating:false ,
+  isSingleLocating:false , //是否是单个定位
   currentLocationFolderId:null,
 });
-
+const resetCheck = ref(false);
 const handleClick = tab => {
   const clickedTab = tabData.value.find(item => item.type === tab.paneName);
   activeType.value = clickedTab.type;
   activeName.value = clickedTab.name;
   getdataFolderApi();
   parentMethod();
+  handleCoverDataUpdate([])
   layerParams.value.addNest = false
     layerParams.value.editNest = false
      layerParams.value.addFolder = false
     layerParams.value.editFolder = false
+    resetCheck.value = !resetCheck.value;
+    
 };
 const refreshMethod = () => {
   getdataFolderApi();
@@ -170,11 +174,8 @@
 };
 // 点击显示区域
 const handleCoverDataUpdate = data => {
-// console.log('daa',data);
-
   selectDataList.value = data;
-  if (selectDataList.value.length > 0) {
-  
+  if (selectDataList.value?.length > 0) {
     loadDataToMap(selectDataList.value);
   } else {
     viewer.entities.removeAll();
@@ -221,7 +222,7 @@
         : item.category_id === 3 
           ? colorMap.border3 
           : Cesium.Color.YELLOW;
-    viewer.entities.add({
+      viewer.entities.add({
       id: `polygon_${item.id}`,
       customType: 'fence_polygon',
       customInfo: item,
@@ -377,7 +378,7 @@
       let cartographic = Cesium.Cartographic.fromCartesian(item);
       let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
       let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
-      let height = Cesium.Math.toDegrees(cartographic.height); //高度
+      let height = Cesium.Math.toDegrees(cartographic.height); //高度 
       return {
         lng: _.round(lng, 6),
         lat: _.round(lat, 6),

--
Gitblit v1.9.3