equipmentControl.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. import { FormattedMessage, useModel } from 'umi';
  2. import {
  3. changeAllAirHttp,
  4. changeAirHttp,
  5. setEquipeHttp,
  6. setallLampHttp,
  7. getStatusHttp,
  8. getLampHttp,
  9. getFeedbackDocumentsHttp
  10. } from '@/services/sagacare_service/equipment';
  11. import { Spin, Modal, message } from 'antd';
  12. import { setallLamps } from '@/pages/Equipment/checLampStatus.js';
  13. //开关 单个或者全部灯
  14. export const changeLight = (type, itemarr, getDeviceStatus, status) => {
  15. //const { initialState } = useModel('@@initialState');//这里面不能这么用
  16. //debugger;
  17. const setType = status === '打开' ? true : false; // 10关闭 12开启
  18. var paramsArr = [];
  19. itemarr.forEach((citem) => {
  20. (citem.equipList||[]).forEach((item) => {
  21. if (item.equipType == 'light') {
  22. paramsArr.push({
  23. id: item.id,
  24. switch: setType,
  25. });
  26. }
  27. });
  28. });
  29. setallLamps(paramsArr, getDeviceStatus);
  30. };
  31. //开关 单个或者全部窗帘 0是关闭 1 是开启 2 是部分开启
  32. export const changeCurtain = (type, itemarr, getDeviceStatus, status) => {
  33. const setType = status === '打开' ? 'EquipOnSet' : 'EquipOffSet';
  34. var paramsArr = [];
  35. itemarr.forEach((citem) => {
  36. (citem.equipList||[]).forEach((item) => {
  37. if (item.equipType == 'curtain') {
  38. paramsArr.push({
  39. equipmentCategory: 'CFSSES',
  40. infoCode: setType,
  41. value: 1,
  42. objectId: item.id,
  43. });
  44. }
  45. });
  46. });
  47. //发送指令
  48. setEquipeHttp(paramsArr);
  49. message.success('指令已经下发');
  50. //这是在手动改变状态
  51. getDeviceStatus && getDeviceStatus();
  52. };
  53. //开关单个空调 0是关闭 1 是开启 2 是部分开启
  54. export const changeAir = (sitem, index, getDeviceStatus) => {
  55. const itemId = sitem.airConditioner === 0 ? 12 : 10; // 10关闭 12开启
  56. const paramsObj = {
  57. objectId: sitem.spaceId, // 空间id
  58. valueType: 1, // 固定为1 1
  59. itemId: itemId,
  60. };
  61. changeAirHttp(paramsObj).then((res) => {
  62. if (res.result == 'success') {
  63. message.success('指令已经下发');
  64. // // sitem.airConditioner = res.isClose ? 0 : 1; //改变某空间空调的状态
  65. // //mapCombineList[index]['airConditioner'] = res.isClose ? 0 : 1;
  66. // var mapCopy = JSON.parse(JSON.stringify(mapCombineList));
  67. // mapCopy[index]['airConditioner'] = res.isClose ? 0 : 1;
  68. // setMapCombineList(mapCopy);
  69. getDeviceStatus && getDeviceStatus();
  70. } else {
  71. message.error('操作失败,请重试');
  72. }
  73. }).catch((err)=>{
  74. });
  75. };
  76. //开关全部空调
  77. export const changeAllAir = (itemarr, getDeviceStatus, status, projectId) => {
  78. let paramsArr = [];
  79. itemarr.forEach((sitem) => {
  80. const itemId = status === '打开' ? 12 : 10; // 10关闭 12开启
  81. paramsArr.push({
  82. projectId: projectId,
  83. objectId: sitem.spaceId, // 空间id
  84. valueType: 1, // 固定为1 1
  85. itemId: itemId,
  86. });
  87. });
  88. setTimeout(()=>{
  89. message.success({
  90. content:`指令已经下发,设备会逐步${status === '打开'?'开启':'关闭'},请耐心等待,勿频繁操作`,
  91. duration:4,
  92. });
  93. },3000);
  94. changeAllAirHttp(paramsArr).then((res) => {
  95. if (res.result == 'success') {
  96. //message.success('指令已经下发');
  97. getDeviceStatus && getDeviceStatus();
  98. } else {
  99. //message.error('操作失败,请重试');
  100. }
  101. }).catch((err)=>{
  102. console.log('err',err);
  103. });
  104. };
  105. //查询 单个灯的状态
  106. // export const getLamp = (sitem, callback, num) => {
  107. // num = num - 1;
  108. // getLampHttp(sitem.id).then((res) => {
  109. // if (res.result != 'success') return;
  110. // const arr = res.content || [];
  111. // //1开 0 关
  112. // let totalIsOpen = 0;
  113. // arr.forEach((item) => {
  114. // if (item.runStatus) {
  115. // totalIsOpen = 1;
  116. // }
  117. // });
  118. // //说明状态改变
  119. // if (sitem.light !== totalIsOpen) {
  120. // callback && callback(totalIsOpen);
  121. // return;
  122. // } else if (num == 0) {
  123. // return;
  124. // }
  125. // getLamp(sitem, callback, num);
  126. // });
  127. // };
  128. //查询 单个空调的状态
  129. // export const getAirInfo = (sitem, callback, num, projectId) => {
  130. // num = num - 1;
  131. // const paramsObj = {
  132. // objectId: sitem.id,
  133. // projectId: projectId,
  134. // };
  135. // getFeedbackDocumentsHttp(paramsObj).then((res) => {
  136. // //1开 0 关
  137. // const totalIsOpen = res.icon == 7 ? 0 : 1;
  138. // //说明状态改变
  139. // if (sitem.airConditioner !== totalIsOpen) {
  140. // callback && callback(totalIsOpen);
  141. // //debugger;
  142. // return;
  143. // } else if (num == 0) {
  144. // return;
  145. // }
  146. // });
  147. // };