From df16e38a629187a9bbb385b23a2d83a94e15c628 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 28 五月 2023 17:01:15 +0800
Subject: [PATCH] 1

---
 src/views/Tools/LayerTree.vue |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index 8f9935d..4a1975c 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -171,14 +171,44 @@
     },
     // 璁剧疆鏍戞暟鎹�
     setTreeData (source) {
-      let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
+      /*let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
         let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
         branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
         // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛岄偅涔� a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
         return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
+      });*/
+
+      let arr = [];
+      let data = JSON.parse(JSON.stringify(source));
+      this.setTreeChildData(data, arr, 0);
+
+      return arr;
+    },
+    // 璁剧疆鏍戝瓙鑺傜偣鏁版嵁
+    setTreeChildData (data, arr, pid) {
+      let i = 0;
+      while (i < data.length) {
+        let d = data[i];
+        if (d.pid == pid) {
+          arr.push(d);
+          data.splice(i, 1);
+          continue;
+        }
+
+        i++;
+      }
+
+      arr.sort(function (a, b) {
+        return a.orderNum - b.orderNum;
       });
+
+      for (let i in arr) {
+        let children = [];
+        this.setTreeChildData(data, children, arr[i].id);
+        if (children.length) arr[i].children = children;
+      }
     },
     // 鑺傜偣鑾峰緱鐒︾偣浜嬩欢
     nodeBlur (node, data) {

--
Gitblit v1.9.3