|
@@ -1,4 +1,4 @@
|
|
|
-import React, { useState, useEffect, useCallback } from 'react';
|
|
|
+import React, { useState, useEffect, useCallback, useRef } from 'react';
|
|
|
import PageHeader from '@/components/PageHeader';
|
|
|
import Map from '@/components/map';
|
|
|
import TopNavigator from '@/components/topNavigator';
|
|
@@ -75,59 +75,72 @@ const Runtime: React.FC = () => {
|
|
|
}
|
|
|
}, [selFloorId]);
|
|
|
|
|
|
+ const getDeviceTime = () => {
|
|
|
+ queryDeviceTimeManage({
|
|
|
+ floorId: selFloorId,
|
|
|
+ //floorId: 'Fl11010802593241ec348ecb4148806b9034c8957454',
|
|
|
+ date: selTime,
|
|
|
+ })
|
|
|
+ .then(function (res) {
|
|
|
+ //setLoading(false);
|
|
|
+ var resdata = res || {};
|
|
|
+ setRuntimeNav({
|
|
|
+ normalRun: resdata.workTimeNum,
|
|
|
+ overtimeWork: resdata.overTimeNum,
|
|
|
+ meetingBook: resdata.meetTimeNum,
|
|
|
+ });
|
|
|
+ var resList = res.content || [];
|
|
|
+ resList.forEach((ritem) => {
|
|
|
+ ritem.runTimeStatus = 'normalRun'; //正常工作
|
|
|
+ var timeList = [];
|
|
|
+ if (ritem.hasOwnProperty('workTimeStartTime')) {
|
|
|
+ var timeStrArr = [ritem.workTimeStartTime, ritem.workTimeEndTime];
|
|
|
+ timeList.push(timeStrArr);
|
|
|
+ }
|
|
|
+ if (ritem.hasOwnProperty('meetTime')) {
|
|
|
+ ritem.runTimeStatus = 'meetingBook'; //会议预约
|
|
|
+ ritem.meetTime.forEach((meetitem) => {
|
|
|
+ var timeStrArr = [meetitem.meetTimeStartTime, meetitem.meetTimeEndTime];
|
|
|
+ timeList.push(timeStrArr);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (ritem.hasOwnProperty('overTimeStartTime')) {
|
|
|
+ var timeStrArr = [ritem.overTimeStartTime, ritem.overTimeEndTime];
|
|
|
+ timeList.push(timeStrArr);
|
|
|
+ ritem.runTimeStatus = 'overtimeWork'; //加班
|
|
|
+ }
|
|
|
+ ritem.showTimeList = timeList;
|
|
|
+ ritem.showTimeStr =
|
|
|
+ timeList.length > 0 ? timeList[0][0] + '-' + timeList[timeList.length - 1][1] : '';
|
|
|
+ });
|
|
|
+ setSpaceTimeList(resList);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ //setLoading(false);
|
|
|
+ });
|
|
|
+ };
|
|
|
+ let setTimer = useRef({});
|
|
|
//获取时间列表 spaceTimeList
|
|
|
useEffect(() => {
|
|
|
if (selFloorId && selTime) {
|
|
|
//setLoading(true);
|
|
|
- queryDeviceTimeManage({
|
|
|
- floorId: selFloorId,
|
|
|
- //floorId: 'Fl11010802593241ec348ecb4148806b9034c8957454',
|
|
|
- date: selTime,
|
|
|
- //date: 20220212,
|
|
|
- })
|
|
|
- .then(function (res) {
|
|
|
- //setLoading(false);
|
|
|
- var resdata = res || {};
|
|
|
- setRuntimeNav({
|
|
|
- normalRun: resdata.workTimeNum,
|
|
|
- overtimeWork: resdata.overTimeNum,
|
|
|
- meetingBook: resdata.meetTimeNum,
|
|
|
- });
|
|
|
- var resList = res.content || [];
|
|
|
- resList.forEach((ritem) => {
|
|
|
- ritem.runTimeStatus = 'normalRun'; //正常工作
|
|
|
- var timeList = [];
|
|
|
- if (ritem.hasOwnProperty('workTimeStartTime')) {
|
|
|
- var timeStrArr = [ritem.workTimeStartTime, ritem.workTimeEndTime];
|
|
|
- timeList.push(timeStrArr);
|
|
|
- }
|
|
|
- if (ritem.hasOwnProperty('meetTime')) {
|
|
|
- ritem.runTimeStatus = 'meetingBook'; //会议预约
|
|
|
- ritem.meetTime.forEach((meetitem) => {
|
|
|
- var timeStrArr = [meetitem.meetTimeStartTime, meetitem.meetTimeEndTime];
|
|
|
- timeList.push(timeStrArr);
|
|
|
- });
|
|
|
- }
|
|
|
- if (ritem.hasOwnProperty('overTimeStartTime')) {
|
|
|
- var timeStrArr = [ritem.overTimeStartTime, ritem.overTimeEndTime];
|
|
|
- timeList.push(timeStrArr);
|
|
|
- ritem.runTimeStatus = 'overtimeWork'; //加班
|
|
|
- }
|
|
|
- ritem.showTimeList = timeList;
|
|
|
- ritem.showTimeStr =
|
|
|
- timeList.length > 0 ? timeList[0][0] + '-' + timeList[timeList.length - 1][1] : '';
|
|
|
- });
|
|
|
- setSpaceTimeList(resList);
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- //setLoading(false);
|
|
|
- });
|
|
|
+
|
|
|
+ getDeviceTime(); //第一次执行
|
|
|
+
|
|
|
+ if (setTimer.current) {
|
|
|
+ clearInterval(setTimer.current);
|
|
|
+ setTimer.current = null;
|
|
|
+ }
|
|
|
+ //循环调接口
|
|
|
+ setTimer.current = setInterval(() => {
|
|
|
+ getDeviceTime();
|
|
|
+ }, 10000);
|
|
|
}
|
|
|
}, [selFloorId, selTime]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
//mapList,spaceTimeList 这两个数据的结合
|
|
|
- console.log('dfsd-------', mapList, spaceTimeList);
|
|
|
+ console.log('dfsd-------');
|
|
|
// if (mapList && mapList.length > 0 && spaceTimeList && spaceTimeList.length > 0) {
|
|
|
|
|
|
var combineList: any = [];
|
|
@@ -140,6 +153,7 @@ const Runtime: React.FC = () => {
|
|
|
var combine = Object.assign({}, mitem, filterSpace[0]);
|
|
|
combineList.push(combine);
|
|
|
});
|
|
|
+
|
|
|
setMapCombineList(combineList);
|
|
|
// }
|
|
|
}, [mapList, spaceTimeList]);
|