import React, { useEffect, useRef, useState } from 'react'; import { Skeleton, Button, Pagination, Select, Popconfirm, Table, Tooltip } from '@douyinfe/semi-ui'; import { connect } from 'react-redux'; import Header from '../components/header'; import Body from '../components/body' import Card from '../components/card' import '../style.less' import ReactECharts from 'echarts-for-react'; import moment from 'moment' import PerfectScrollbar from "perfect-scrollbar"; let interrupt const Bigscreen = ({ dispatch, actions, user, match, history, clientHeight, groupStatisticOnline }) => { const [InterruptRank, setInterruptRank] = useState([]) const [online, setOnline] = useState([]) const [value, setValue] = useState([]) const [time, setTime] = useState([]) useEffect(() => { let groupId = JSON.parse(localStorage.getItem('project_group'))?.find(v => user?.id == v.userId)?.projectGroupId console.log(); statisticOnline(groupId) }, []) let statisticOnline = (groupId) => { dispatch(actions.projectGroup.groupStatisticOnline({ groupId })).then(res => { console.log(res); if (res.success) { let Interrupt = [] res.payload.data?.forEach(v => { if (v.offline?.id) { Interrupt.push({ name: v.name, ...v.offline }) } }) Interrupt = Interrupt?.sort((a, b) => b.offline - a.offline) setInterruptRank(Interrupt) setOnline(res.payload.data || []) setValue(res.payload.data?.map(v => v.id) || []) // eChartsData(res.payload.data || [], res.payload.data?.map(v => v.id) || []) } }) } // const eChartsData = (data, value) => { // // 调用函数获取时间节点数组 // let timeNodes = getTimeNodes() // let dataList = [] // data?.forEach(v => { // if (value?.includes(v.id)) { // v.timeNodes = [] // timeNodes?.forEach(s => { // if (v.online?.find(d => moment(d.collect_time).format('YYYY-MM-DD HH') == s)?.structure) { // v.timeNodes.push([s,]) // } else { // v.timeNodes.push([s,null]) // } // }) // } // }) // } function formatDate (date) { var year = date.getFullYear(); var month = String(date.getMonth() + 1).padStart(2, '0'); var day = String(date.getDate()).padStart(2, '0'); var hour = String(date.getHours()).padStart(2, '0'); return year + '-' + month + '-' + day + ' ' + hour; } function getTimeNodes () { var currentTime = new Date(); // 当前时间 var timeNodes = []; for (var i = 0; i < 24; i++) { var timeNode = formatDate(currentTime); timeNodes.push(timeNode); currentTime.setHours(currentTime.getHours() - 1); // 减去1小时 } return timeNodes; } function handleRow (record, index) {//斑马条纹 // 给偶数行设置斑马纹 if (index % 2 === 0) { return { style: { background: '#F6F9FF', } }; } else { return {}; } } return (