checLampStatus.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { setallLampHttp, getStatusHttp } from '@/services/ant-design-pro/equipment';
  2. // import { message } from 'antd';
  3. // 定时调用 查询指令接口
  4. export const checkChangeLightStatusSuccess = (paramsArr, resultArr, fn) => {
  5. let checkParams = paramsArr;
  6. checkParams.forEach((item) => {
  7. for (let i = 0; i < resultArr.length; i++) {
  8. if ((item.id = resultArr[i].id)) {
  9. item.orderSeqNum = resultArr[i].orderSeqNum;
  10. }
  11. }
  12. });
  13. getStatusHttp(checkParams).then((res) => {
  14. judgeChangeResponeseSuccess(res, paramsArr, fn);
  15. });
  16. };
  17. // 检查开关指令下发状态
  18. export const judgeChangeResponeseSuccess = (response, paramsArr, fn) => {
  19. let resFlag = false;
  20. let resultArr = JSON.parse(JSON.stringify(response.content));
  21. resultArr &&
  22. resultArr.forEach((item) => {
  23. if (
  24. (item.state === 200 && item.exeResult === 'processing:rcvd') ||
  25. (item.state === 202 && !item.exeResult)
  26. ) {
  27. resFlag = true;
  28. } else {
  29. resultArr.splice(item, 1);
  30. }
  31. });
  32. if (resFlag) {
  33. setTimeout(() => {
  34. checkChangeLightStatusSuccess(paramsArr, resultArr, fn);
  35. }, 500);
  36. } else {
  37. fn && fn(); // 查询灯设备
  38. }
  39. /*
  40. if (result.result === 'success') {
  41. if (!resFlag && result.state === 200 && result.exeResult === 'success') {
  42. console.log('成功了');
  43. fn(); // 查询灯设备
  44. } else if (
  45. (resFlag && result.state === 200 && result.exeResult === 'processing:rcvd') ||
  46. (resFlag && result.state === 202 && !result.exeResult)
  47. ) {
  48. setTimeout(() => {
  49. checkChangeLightStatusSuccess(paramsArr, resultArr, fn);
  50. }, 500);
  51. } else if (result.state === 200 && result.exeResult === 'fail:timeout') {
  52. message.error('网络超时,请重试');
  53. } else {
  54. message.error('操作失败,请重试');
  55. }
  56. } else {
  57. message.error('操作失败,请重试');
  58. }
  59. */
  60. };
  61. // 开关
  62. export const setallLamps = (paramsArr, fn, waitSetResultFlag) => {
  63. //debugger;
  64. setallLampHttp(paramsArr).then((res) => {
  65. //debugger;
  66. waitSetResultFlag && (waitSetResultFlag.current = false);
  67. judgeChangeResponeseSuccess(res, paramsArr, fn);
  68. });
  69. };