From c3ce2bc5d069ba57309567aee4ae418bc0cf75ed Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 17 三月 2023 13:22:05 +0800
Subject: [PATCH] 优化异常处理以及级联设备状态查询

---
 web_src/src/components/service/DeviceService.js |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/web_src/src/components/service/DeviceService.js b/web_src/src/components/service/DeviceService.js
index fb66374..85d36f8 100644
--- a/web_src/src/components/service/DeviceService.js
+++ b/web_src/src/components/service/DeviceService.js
@@ -43,10 +43,10 @@
 
   getAllDeviceListIteration(deviceList, currentPage, count, callback, endCallback, errorCallback) {
     this.getDeviceList(currentPage, count, (data) => {
-      if (data.list) {
-        if (typeof (callback) == "function") callback(data.list)
-        deviceList = deviceList.concat(data.list);
-        if (deviceList.length < data.total) {
+      if (data.code === 0 && data.data.list) {
+        if (typeof (callback) == "function") callback(data.data.list)
+        deviceList = deviceList.concat(data.data.list);
+        if (deviceList.length < data.data.total) {
           currentPage ++
           this.getAllDeviceListIteration(deviceList, currentPage, count, callback,  endCallback, errorCallback)
         }else {
@@ -133,6 +133,45 @@
       if (typeof (callback) == "function") callback(res.data)
     }).catch(errorCallback);
   }
+
+  getTree(deviceId, parentId, onlyCatalog, callback, endCallback, errorCallback) {
+    let currentPage = 1;
+    let count = 100;
+    let catalogList = []
+    this.getTreeIteration(deviceId, parentId, onlyCatalog, catalogList, currentPage, count, callback, endCallback, errorCallback)
+  }
+
+  getTreeIteration(deviceId, parentId, onlyCatalog, catalogList, currentPage, count, callback, endCallback, errorCallback) {
+    this.getTreeInfo(deviceId, parentId, onlyCatalog, currentPage, count, (data) => {
+      if (data.code === 0 && data.data.list) {
+        if (typeof (callback) == "function") callback(data.data.list)
+        catalogList = catalogList.concat(data.data.list);
+        if (catalogList.length < data.data.total) {
+          currentPage ++
+          this.getTreeIteration(deviceId, parentId, onlyCatalog, catalogList, currentPage, count, callback, endCallback, errorCallback)
+        }else {
+          if (typeof (endCallback) == "function") endCallback(catalogList)
+        }
+      }
+    }, errorCallback)
+  }
+  getTreeInfo(deviceId, parentId, onlyCatalog, currentPage, count, callback, errorCallback) {
+    if (onlyCatalog == null || typeof onlyCatalog === "undefined") {
+      onlyCatalog = false;
+    }
+    this.$axios({
+      method: 'get',
+      url: `/api/device/query/tree/${deviceId}`,
+      params:{
+        page: currentPage,
+        count: count,
+        parentId: parentId,
+        onlyCatalog: onlyCatalog
+      }
+    }).then((res) =>{
+      if (typeof (callback) == "function") callback(res.data)
+    }).catch(errorCallback);
+  }
 }
 
 export default DeviceService;

--
Gitblit v1.8.0