From 26bdf2e7768ee5dfc400c3970a5aa129fed49453 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 20 三月 2023 15:31:43 +0800
Subject: [PATCH] Merge branch '级联' into main-dev

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

diff --git a/web_src/src/components/service/DeviceService.js b/web_src/src/components/service/DeviceService.js
index fb66374..61314fe 100644
--- a/web_src/src/components/service/DeviceService.js
+++ b/web_src/src/components/service/DeviceService.js
@@ -9,7 +9,7 @@
   getDeviceList(currentPage, count, callback, errorCallback){
     this.$axios({
       method: 'get',
-      url:`/api/device/query/devices`,
+      url:`./api/device/query/devices`,
       params: {
         page: currentPage,
         count: count
@@ -25,7 +25,7 @@
   getDevice(deviceId, callback, errorCallback){
     this.$axios({
       method: 'get',
-      url:`/api/device/query/devices/${deviceId}`,
+      url:`./api/device/query/devices/${deviceId}`,
     }).then((res) => {
       if (typeof (callback) == "function") callback(res.data)
     }).catch((error) => {
@@ -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 {
@@ -82,7 +82,7 @@
   getChanel(isCatalog, catalogUnderDevice, deviceId, currentPage, count, callback, errorCallback) {
     this.$axios({
       method: 'get',
-      url: `/api/device/query/devices/${deviceId}/channels`,
+      url: `./api/device/query/devices/${deviceId}/channels`,
       params:{
         page: currentPage,
         count: count,
@@ -121,7 +121,7 @@
   getSubChannel(isCatalog, deviceId, channelId, currentPage, count, callback, errorCallback) {
     this.$axios({
       method: 'get',
-      url: `/api/device/query/sub_channels/${deviceId}/${channelId}/channels`,
+      url: `./api/device/query/sub_channels/${deviceId}/${channelId}/channels`,
       params:{
         page: currentPage,
         count: count,
@@ -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