From be4c814230641d490b218c8cb5bd29c51cab7978 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 13 六月 2023 16:29:44 +0800
Subject: [PATCH] 图层管理选中项目后移除非本项目的图层和当前项目名称

---
 src/views/Tools/LayerTree.vue |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index 82fce95..a42aae1 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -728,10 +728,11 @@
     },
     // 鑾峰彇鏂版爲鏁版嵁
     getNewTreeData (code) {
-      if (!code) return this.sourceData;
-
       let data = JSON.parse(JSON.stringify(this.sourceData));
+      if (!code) return data;
+
       this.setSubTreeData(data, code);
+      this.rmPrjTreeData(data, code);
 
       return data;
     },
@@ -754,6 +755,59 @@
         }
       }
     },
+    // 绉婚櫎椤圭洰鏍戞暟鎹�
+    rmPrjTreeData (data, code) {
+      /*let j = 0;
+      while (j < data.length) {
+        let d = data[j];
+        if (d.type == 1 && d.isProject && d.enName == code) {
+          data.splice(j, 1);
+          data.concat(d.children);
+          continue;
+        }
+
+        j++;
+      }
+
+      for (let i = 0, c = data.length; i < c; i++) {
+        if (data[i].children && data[i].children.length) {
+          this.rmPrjTreeData(data[i].children, code);
+        }
+      }*/
+
+      let i = 0;
+      while (i < data.length) {
+        let d = data[i];
+        if (!d.children) {
+          i++;
+          continue;
+        }
+        if (!d.children.length) {
+          data.splice(i, 1);
+          continue;
+        }
+
+        let j = 0;
+        while (j < d.children.length) {
+          let e = d.children[j];
+          if (e.type == 1 && e.isProject && e.enName == code) {
+            d.children.splice(j, 1);
+            if (e.children && e.children.length) d.children = d.children.concat(e.children);
+            continue;
+          }
+
+          j++;
+        }
+
+        i++;
+      }
+
+      for (let i = 0, c = data.length; i < c; i++) {
+        if (data[i].children && data[i].children.length) {
+          this.rmPrjTreeData(data[i].children, code);
+        }
+      }
+    },
     // 娣诲姞WFS鍥惧眰 *
     addWFSLayers (res) {
       let url =

--
Gitblit v1.9.3