From 5036880fc037e5d112206b93a729f60be12bf8ab Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 07 十一月 2024 17:03:13 +0800
Subject: [PATCH] 2024.11.07 bug修复

---
 pages/inspection/scene/info/devicelist-proxy.js |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/pages/inspection/scene/info/devicelist-proxy.js b/pages/inspection/scene/info/devicelist-proxy.js
index ef5fe3b..c76d02e 100644
--- a/pages/inspection/scene/info/devicelist-proxy.js
+++ b/pages/inspection/scene/info/devicelist-proxy.js
@@ -1,3 +1,5 @@
+import { fetchDevices, fetchDeviceStatus } from '../../../../services/inspection/fetchDevice';
+
 /**
  * 璁惧淇℃伅绠$悊
  */
@@ -26,15 +28,84 @@
     ],
   },
   methods: {
+    fetchDeviceInfo(deviceTypeId) {
+      const { scene } = this.data;
+      fetchDevices(scene.guid, deviceTypeId).then(res => {
+        this.setData({
+          [`categories[${deviceTypeId}].items`]: res.data,
+        });
+      });
+    },
     onSideBarChange(e) {
       const { value } = e.detail;
+      this.fetchDeviceInfo(this.data.categories[value].type)
       this.setData({ sideBarIndex: value });
     },
     addNewDevice(e) {
       const { type } = e.currentTarget.dataset;
+      const { scene } = this.data;
       wx.navigateTo({
-        url: `/pages/inspection/scene/info/device-info/index?type=${type}`,
-      })
+        url: `/pages/inspection/scene/info/device-info/index`,
+        success: function (res) {
+          // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+          res.eventChannel.emit('acceptDeviceData', {
+            type,
+            scene,
+            mode: 'add',
+          });
+        },
+        events: {
+          updateDeviceInfoOver: () => {
+            this.fetchDeviceInfo(this.data.categories[this.data.sideBarIndex].type)
+          },
+        },
+      });
     },
+    updateDevice(e) {
+      const { type, index } = e.currentTarget.dataset;
+      const { scene, categories } = this.data;
+      const [i0, i1] = index;
+      const deviceInfo = categories[i0].items[i1];
+      wx.navigateTo({
+        url: `/pages/inspection/scene/info/device-info/index`,
+        success: function (res) {
+          // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+          res.eventChannel.emit('acceptDeviceData', {
+            type,
+            scene,
+            mode: 'update',
+            deviceInfo,
+          });
+        },
+        events: {
+          updateDeviceInfoOver: () => {
+            this.fetchDeviceInfo(this.data.categories[this.data.sideBarIndex].type)
+          },
+        },
+      });
+    },
+
+    updateStatus(e) {
+      const { type, index } = e.currentTarget.dataset;
+      const { scene, categories } = this.data;
+      const [i0, i1] = index;
+      const deviceInfo = categories[i0].items[i1];
+      wx.navigateTo({
+        url: `/pages/inspection/scene/info/device-status/index`,
+        success: function (res) {
+          // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+          res.eventChannel.emit('acceptDeviceStatusData', {
+            type,
+            scene,
+            deviceInfo,
+          });
+        },
+        events: {
+          updateDeviceStatusOver: () => {
+            this.fetchDeviceInfo(this.data.categories[this.data.sideBarIndex].type)
+          },
+        },
+      });
+    }
   },
 });

--
Gitblit v1.9.3