import { FormattedMessage, useModel } from 'umi'; import { changeAllAirHttp, changeAirHttp, setEquipeHttp, setallLampHttp, getStatusHttp, getLampHttp, getFeedbackDocumentsHttp } from '@/services/ant-design-pro/equipment'; import { Spin, Modal, message } from 'antd'; import { setallLamps } from '@/pages/Equipment/checLampStatus.js'; //开关 单个或者全部灯 export const changeLight = (type, itemarr, getDeviceStatus, status) => { const setType = status === '打开' ? true : false; // 10关闭 12开启 var paramsArr = []; itemarr.forEach((citem) => { citem.equipList.forEach((item) => { if (item.equipType == 'light') { paramsArr.push({ id: item.id, switch: setType, }); } }); }); setallLamps(paramsArr, getDeviceStatus); }; //开关 单个或者全部窗帘 0是关闭 1 是开启 2 是部分开启 export const changeCurtain = (type, itemarr, getDeviceStatus, status) => { const setType = status === '打开' ? 'EquipOnSet' : 'EquipOffSet'; var paramsArr = []; itemarr.forEach((citem) => { citem.equipList.forEach((item) => { if (item.equipType == 'curtain') { paramsArr.push({ equipmentCategory: 'CFSSES', infoCode: setType, value: 1, objectId: item.id, }); } }); }); //发送指令 setEquipeHttp(paramsArr); message.success('指令下发成功'); //这是在手动改变状态 getDeviceStatus(); }; //开关单个空调 0是关闭 1 是开启 2 是部分开启 export const changeAir = (sitem, index, getDeviceStatus) => { const itemId = sitem.airConditioner === 0 ? 12 : 10; // 10关闭 12开启 const paramsObj = { objectId: sitem.id, // 空间id valueType: 1, // 固定为1 1 itemId: itemId, }; changeAirHttp(paramsObj).then((res) => { if (res.result == 'success') { message.success('指令下发成功'); // // sitem.airConditioner = res.isClose ? 0 : 1; //改变某空间空调的状态 // //mapCombineList[index]['airConditioner'] = res.isClose ? 0 : 1; // var mapCopy = JSON.parse(JSON.stringify(mapCombineList)); // mapCopy[index]['airConditioner'] = res.isClose ? 0 : 1; // setMapCombineList(mapCopy); getDeviceStatus(); } else { message.error('操作失败,请重试'); } }); }; //开关全部空调 export const changeAllAir = (itemarr, getDeviceStatus, status, projectId) => { let paramsArr = []; itemarr.forEach((sitem) => { const itemId = status === '打开' ? 12 : 10; // 10关闭 12开启 paramsArr.push({ projectId: projectId, objectId: sitem.id, // 空间id valueType: 1, // 固定为1 1 itemId: itemId, }); }); changeAllAirHttp(paramsArr).then((res) => { if (res.result == 'success') { message.success('指令下发成功'); getDeviceStatus(); } else { message.error('操作失败,请重试'); } }); }; //查询 单个灯的状态 export const getLamp = (sitem, callback, num) => { num = num - 1; getLampHttp(sitem.id).then((res) => { if (res.result != 'success') return; const arr = res.content || []; //1开 0 关 let totalIsOpen = 0; arr.forEach((item) => { if (item.runStatus) { totalIsOpen = 1; } }); //说明状态改变 if (sitem.light !== totalIsOpen) { callback(totalIsOpen); debugger; return; } else if (num == 0) { return; } debugger; getLamp(sitem, callback, num); }); }; //查询 单个空调的状态 export const getAirInfo = (sitem, callback, num, projectId) => { debugger; num = num - 1; const paramsObj = { objectId: sitem.id, projectId: projectId, }; getFeedbackDocumentsHttp(paramsObj).then((res) => { //1开 0 关 const totalIsOpen = res.icon == 7 ? 0 : 1; //说明状态改变 if (sitem.airConditioner !== totalIsOpen) { callback(totalIsOpen); debugger; return; } else if (num == 0) { return; } debugger; getAirInfo(sitem, callback, num, projectId); }); };