From b23a2a35a14b010a3b97a1b61a02ec179dfab924 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期五, 04 九月 2020 17:25:14 +0800
Subject: [PATCH] feat: sort camera tree

---
 src/Pool/TreeData.ts |   47 +++++++++++++++++++++++++----------------------
 1 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index 22ad3a2..d23f400 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -263,6 +263,29 @@
     })
   }
 
+  sortTreeData(node) {
+    if (!node) {
+      return
+    }
+    node.sort(function (obj1: any, obj2: any) {
+      var val1 = obj1.name;
+      var val2 = obj2.name;
+      if (val1 < val2) {
+        return -1;
+      } else if (val1 > val2) {
+        return 1;
+      } else {
+        return 0;
+      }
+    });
+
+    node.forEach(n => {
+      if (n.children && n.children.length > 0) {
+        this.sortTreeData(n.children)
+      }
+    })
+  }
+
   async fetchLocalTree() {
     const rsp: any = await getLocalCameraTree({
       searchType: this.searchCamType,
@@ -272,17 +295,7 @@
     if (rsp && rsp.success) {
       this.treeData = rsp.data ? rsp.data : []
       if (this.treeData && this.treeData.length > 0) {
-        this.treeData.sort(function (obj1: any, obj2: any) {
-          var val1 = obj1.id;
-          var val2 = obj2.id;
-          if (val1 < val2) {
-            return -1;
-          } else if (val1 > val2) {
-            return 1;
-          } else {
-            return 0;
-          }
-        });
+        this.sortTreeData(this.treeData)
       }
 
       // 璁剧疆绂佹鎷栨嫿鎽勫儚鏈哄埌鎽勫儚鏈鸿妭鐐�
@@ -301,17 +314,7 @@
     if (rsp && rsp.success) {
       this.gb28181Data = rsp.data ? rsp.data : []
       if (this.gb28181Data && this.gb28181Data.length > 0) {
-        this.gb28181Data.sort(function (obj1: any, obj2: any) {
-          var val1 = obj1.id;
-          var val2 = obj2.id;
-          if (val1 < val2) {
-            return -1;
-          } else if (val1 > val2) {
-            return 1;
-          } else {
-            return 0;
-          }
-        });
+        this.sortTreeData(this.gb28181Data)
       }
 
       this.gb28181DataPure = JSON.parse(JSON.stringify(this.gb28181Data));

--
Gitblit v1.8.0