Browse Source

空调灯的逻辑

zhaojijng 2 years ago
parent
commit
279a8fb001

+ 2 - 2
src/pages/Equipment/checLampStatus.js

@@ -36,7 +36,7 @@ export const judgeChangeResponeseSuccess = (response, paramsArr, fn) => {
             checkChangeLightStatusSuccess(paramsArr, resultArr, fn);
         }, 500);
     } else {
-        fn(); // 查询灯设备
+        fn && fn(); // 查询灯设备
     }
     /*
     if (result.result === 'success') {
@@ -66,7 +66,7 @@ export const setallLamps = (paramsArr, fn, waitSetResultFlag) => {
     debugger;
     setallLampHttp(paramsArr).then((res) => {
         debugger;
-        waitSetResultFlag &&( waitSetResultFlag.current = false);
+        waitSetResultFlag && (waitSetResultFlag.current = false);
         judgeChangeResponeseSuccess(res, paramsArr, fn);
     });
 };

+ 9 - 12
src/pages/Equipment/equipmentControl.js

@@ -16,7 +16,7 @@ import { setallLamps } from '@/pages/Equipment/checLampStatus.js';
 //开关 单个或者全部灯
 export const changeLight = (type, itemarr, getDeviceStatus, status) => {
     //const { initialState } = useModel('@@initialState');//这里面不能这么用
-
+    debugger;
     const setType = status === '打开' ? true : false; // 10关闭 12开启
     var paramsArr = [];
     itemarr.forEach((citem) => {
@@ -30,7 +30,7 @@ export const changeLight = (type, itemarr, getDeviceStatus, status) => {
         });
     });
 
-      setallLamps(paramsArr, getDeviceStatus);
+    setallLamps(paramsArr, getDeviceStatus);
 };
 
 //开关 单个或者全部窗帘      0是关闭 1 是开启  2 是部分开启
@@ -54,7 +54,7 @@ export const changeCurtain = (type, itemarr, getDeviceStatus, status) => {
     setEquipeHttp(paramsArr);
     message.success('指令下发成功');
     //这是在手动改变状态
-    getDeviceStatus();
+    getDeviceStatus && getDeviceStatus();
 };
 
 //开关单个空调      0是关闭 1 是开启  2 是部分开启
@@ -73,7 +73,7 @@ export const changeAir = (sitem, index, getDeviceStatus) => {
             // var mapCopy = JSON.parse(JSON.stringify(mapCombineList));
             // mapCopy[index]['airConditioner'] = res.isClose ? 0 : 1;
             // setMapCombineList(mapCopy);
-            getDeviceStatus();
+            getDeviceStatus && getDeviceStatus();
         } else {
             message.error('操作失败,请重试');
         }
@@ -96,7 +96,7 @@ export const changeAllAir = (itemarr, getDeviceStatus, status, projectId) => {
     changeAllAirHttp(paramsArr).then((res) => {
         if (res.result == 'success') {
             message.success('指令下发成功');
-            getDeviceStatus();
+            getDeviceStatus && getDeviceStatus();
         } else {
             message.error('操作失败,请重试');
         }
@@ -119,8 +119,7 @@ export const getLamp = (sitem, callback, num) => {
         });
         //说明状态改变
         if (sitem.light !== totalIsOpen) {
-            callback(totalIsOpen);
-
+            callback && callback(totalIsOpen);
             return;
         } else if (num == 0) {
             return;
@@ -128,13 +127,11 @@ export const getLamp = (sitem, callback, num) => {
 
         getLamp(sitem, callback, num);
 
-
-
     });
 };
 //查询 单个空调的状态
 export const getAirInfo = (sitem, callback, num, projectId) => {
- 
+
     num = num - 1;
     const paramsObj = {
         objectId: sitem.id,
@@ -146,13 +143,13 @@ export const getAirInfo = (sitem, callback, num, projectId) => {
 
         //说明状态改变
         if (sitem.airConditioner !== totalIsOpen) {
-            callback(totalIsOpen);
+            callback && callback(totalIsOpen);
             //debugger;
             return;
         } else if (num == 0) {
             return;
         }
-       // debugger;
+        // debugger;
         getAirInfo(sitem, callback, num, projectId);
 
     });

+ 4 - 2
src/pages/Equipment/index.tsx

@@ -189,7 +189,8 @@ const Environment: React.FC = () => {
             //执行查询函数
             getAirInfo(item, callback, 10, projectId);
           }
-          changeAir(item, index, getDeviceStatus);
+          //changeAir(item, index, getDeviceStatus);
+          changeAir(item, index, callback);
         }
         if (selNav.id == 'light') {
           function getDeviceStatus() {
@@ -197,7 +198,8 @@ const Environment: React.FC = () => {
             getLamp(item, callback, 10);
           }
           //debugger;
-          changeLight('one', [item], getDeviceStatus, status);
+          // changeLight('one', [item], getDeviceStatus, status);
+          changeLight('one', [item], callback, status);
         }
         if (selNav.id == 'curtain') {
           changeCurtain('one', [item], callback, status);