|
@@ -22,8 +22,8 @@ import {
|
|
|
queryEquipStatistics,
|
|
|
queryDeviceTimeManage,
|
|
|
} from '@/services/ant-design-pro/environment';
|
|
|
-import { changeAirHttp, setEquipeHttp } from '@/services/ant-design-pro/equipment';
|
|
|
-import { setallLamps } from '@/pages/Equipment/checLampStatus.js';
|
|
|
+
|
|
|
+import { changeCurtain, changeAir, changeLight } from '@/pages/Equipment/equipmentControl.js';
|
|
|
|
|
|
//设备状态
|
|
|
type equipStatus = {
|
|
@@ -129,72 +129,13 @@ const Environment: React.FC = () => {
|
|
|
}
|
|
|
};
|
|
|
const { confirm } = Modal;
|
|
|
- //空调的调节 0是关闭 1 是开启 2 是部分开启
|
|
|
- const changeAir = (sitem, index: number) => {
|
|
|
- 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);
|
|
|
- } else {
|
|
|
- message.error('操作失败,请重试');
|
|
|
- }
|
|
|
- });
|
|
|
- };
|
|
|
- //窗帘的调节 0是关闭 1 是开启 2 是部分开启
|
|
|
- const changeCurtain = (citem: any, index: number) => {
|
|
|
- debugger;
|
|
|
- const setType = citem.curtain === 1 ? 'EquipOffSet' : 'EquipOnSet'; // 10关闭 12开启
|
|
|
- var paramsArr: any = [];
|
|
|
- citem.equipList.forEach((item: any) => {
|
|
|
- if (item.equipType == 'curtain') {
|
|
|
- paramsArr.push({
|
|
|
- equipmentCategory: 'CFSSES',
|
|
|
- infoCode: setType,
|
|
|
- value: 1,
|
|
|
- objectId: item.id,
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- console.log(citem);
|
|
|
- console.log(paramsArr);
|
|
|
|
|
|
- //发送指令
|
|
|
- setEquipeHttp(paramsArr);
|
|
|
- //这是在手动改变状态
|
|
|
- var mapCopy = JSON.parse(JSON.stringify(mapCombineList));
|
|
|
- mapCopy[index]['curtain'] = citem.curtain === 1 ? 0 : 1;
|
|
|
- setMapCombineList(mapCopy);
|
|
|
- };
|
|
|
- const changeSwitch = (citem: any, index: number) => {
|
|
|
- const setType = citem.light === 1 ? false : true; // 10关闭 12开启
|
|
|
- var paramsArr: any = [];
|
|
|
- citem.equipList.forEach((item: any) => {
|
|
|
- if (item.equipType == 'curtain') {
|
|
|
- paramsArr.push({
|
|
|
- id: item.id,
|
|
|
- switch: setType,
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- function getLamp() {}
|
|
|
- setallLamps(paramsArr, getLamp);
|
|
|
- };
|
|
|
//单个空间的点击事情
|
|
|
const spaceControl = (item, index: number) => {
|
|
|
//全部设备 或者没有房间类型 则不可以点击
|
|
|
if (selNav.id == 'all' || !item.roomFuncType) return;
|
|
|
//没有设备时
|
|
|
- if (item[selNav.id] == 'not') return;
|
|
|
+ //if (item[selNav.id] == 'not') return;
|
|
|
debugger;
|
|
|
if (item[selNav.id] === 2) {
|
|
|
confirm({
|
|
@@ -221,14 +162,29 @@ const Environment: React.FC = () => {
|
|
|
okText: '确认',
|
|
|
cancelText: '取消',
|
|
|
onOk() {
|
|
|
+ function getLamp() {
|
|
|
+ var interval = setInterval(() => {
|
|
|
+ queryDeviceManage();
|
|
|
+ }, 1000);
|
|
|
+ setTimeout(() => {
|
|
|
+ console.log('setTimeout');
|
|
|
+ clearInterval(interval);
|
|
|
+ }, 60000);
|
|
|
+ }
|
|
|
//如果是空调
|
|
|
if (selNav.id == 'airConditioner') {
|
|
|
- changeAir(item, index);
|
|
|
+ changeAir(item, index, getLamp);
|
|
|
}
|
|
|
if (selNav.id == 'light') {
|
|
|
+ changeLight('one', [item], getLamp, status);
|
|
|
}
|
|
|
if (selNav.id == 'curtain') {
|
|
|
- changeCurtain(item, index);
|
|
|
+ // function getLamp() {
|
|
|
+ // var mapCopy = JSON.parse(JSON.stringify(mapCombineList));
|
|
|
+ // mapCopy[index]['curtain'] = item.curtain === 1 ? 0 : 1;
|
|
|
+ // setMapCombineList(mapCopy);
|
|
|
+ // }
|
|
|
+ changeCurtain('one', [item], () => {}, status);
|
|
|
}
|
|
|
debugger;
|
|
|
},
|
|
@@ -263,52 +219,52 @@ const Environment: React.FC = () => {
|
|
|
setMapList([]);
|
|
|
}
|
|
|
}, [selFloorId]);
|
|
|
- //获取设备状态 设备种类
|
|
|
- useEffect(() => {
|
|
|
- if (selFloorId) {
|
|
|
- //setLoading(true);
|
|
|
- queryEquipStatistics({
|
|
|
- //floorId: 'Fl11010802593241ec348ecb4148806b9034c8957454',
|
|
|
- floorId: selFloorId,
|
|
|
- projectId: projectId,
|
|
|
- })
|
|
|
- .then((res) => {
|
|
|
- debugger;
|
|
|
- // setLoading(false);
|
|
|
- var statistics = res.data.statistics || [];
|
|
|
- //赋值 运行中的设备数量
|
|
|
- navigatorList.forEach(function (nItem) {
|
|
|
- var fres = statistics.filter((sItem: statistics) => {
|
|
|
- return sItem.equipType == nItem.id;
|
|
|
- });
|
|
|
- nItem.num = (fres[0] || {}).runCount;
|
|
|
+
|
|
|
+ const queryDeviceManage = () => {
|
|
|
+ //setLoading(true);
|
|
|
+ queryEquipStatistics({
|
|
|
+ //floorId: 'Fl11010802593241ec348ecb4148806b9034c8957454',
|
|
|
+ floorId: selFloorId,
|
|
|
+ projectId: projectId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ debugger;
|
|
|
+ // setLoading(false);
|
|
|
+ var statistics = res.data.statistics || [];
|
|
|
+ //赋值 运行中的设备数量
|
|
|
+ navigatorList.forEach(function (nItem) {
|
|
|
+ var fres = statistics.filter((sItem: statistics) => {
|
|
|
+ return sItem.equipType == nItem.id;
|
|
|
});
|
|
|
+ nItem.num = (fres[0] || {}).runCount;
|
|
|
+ });
|
|
|
|
|
|
- setNavigatorList(navigatorList);
|
|
|
+ setNavigatorList(navigatorList);
|
|
|
|
|
|
- //设备空间信息
|
|
|
- var spaceList = res.data.spaceList || [];
|
|
|
- spaceList.forEach((item: any) => {
|
|
|
- // (item.equipStatusList || []).forEach((eItem: equipStatus) => {
|
|
|
- // //debugger;
|
|
|
- // item[eItem.equipType] = eItem.status;
|
|
|
- // });
|
|
|
- //debugger;
|
|
|
- var allType = ['airConditioner', 'light', 'curtain'];
|
|
|
- allType.forEach((etype) => {
|
|
|
- var filterRes = (item.equipStatusList || []).filter((eItem: equipStatus) => {
|
|
|
- return eItem.equipType == etype;
|
|
|
- });
|
|
|
- //不存时 赋值not
|
|
|
- filterRes.length > 0 ? (item[etype] = filterRes[0].status) : (item[etype] = 'not');
|
|
|
+ //设备空间信息
|
|
|
+ var spaceList = res.data.spaceList || [];
|
|
|
+ spaceList.forEach((item: any) => {
|
|
|
+ var allType = ['airConditioner', 'light', 'curtain'];
|
|
|
+ allType.forEach((etype) => {
|
|
|
+ var filterRes = (item.equipStatusList || []).filter((eItem: equipStatus) => {
|
|
|
+ return eItem.equipType == etype;
|
|
|
});
|
|
|
+ //不存时 赋值not
|
|
|
+ filterRes.length > 0 ? (item[etype] = filterRes[0].status) : (item[etype] = 'not');
|
|
|
});
|
|
|
- //console.log('spaceList', spaceList);
|
|
|
- setEquipMapList(spaceList);
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- // setLoading(false);
|
|
|
});
|
|
|
+ //console.log('spaceList', spaceList);
|
|
|
+ setEquipMapList(spaceList);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ // setLoading(false);
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ //获取设备状态 设备种类
|
|
|
+ useEffect(() => {
|
|
|
+ if (selFloorId) {
|
|
|
+ queryDeviceManage();
|
|
|
}
|
|
|
}, [selFloorId]);
|
|
|
|