import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine5Before} from "./../../../store/LinePageSlice" import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine5Before); // 假数据 const dataSource = { day: { xData:[], series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], }, week: { xData:[], series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], }, month: { xData:[], series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], }, }; const nameList = [ { name: "天", ename: "day" }, { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; const [activeName, setActiveName] = useState(nameList[0].ename); const handleButtonChange = (activeName: string) => { setActiveName(activeName); }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, rowNum: 6, align: ["center", "left", "left", "left"], headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", columnWidth: [80, 137, 137, 137], data: [] }; // 报警数据 let arr:any = [] let sumAlarm = 0 // @ts-ignore if (data.alarms && data.alarms.length > 0) { // @ts-ignore sumAlarm = data.alarms.length // @ts-ignore data.alarms.map((item,index) => { let arrInner = [] arrInner.push( index+1, dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); arr.push(arrInner) }); } config.data = arr // 产线成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore let keys = Object.keys(data.todayProductionRates) // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { name: "", type: "line", symbol: "circle", symbolSize: 4, data:[] } // @ts-ignore obj.name = data.todayProductionRates[item][0].lineName // @ts-ignore data.todayProductionRates[item].map((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) dataSource.day.series.push(obj) }) }else{ dataSource.day.xData = [] dataSource.day.series = [] } // @ts-ignore if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { // @ts-ignore let keys = Object.keys(data.weekProductionRates) // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { name: "", type: "line", symbol: "circle", symbolSize: 4, data:[] } // @ts-ignore obj.name = data.weekProductionRates[item][0].lineName // @ts-ignore data.weekProductionRates[item].map((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) dataSource.week.series.push(obj) }) }else{ dataSource.week.xData = [] dataSource.week.series = [] } // @ts-ignore if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { // @ts-ignore let keys = Object.keys(data.monthProductionRates) // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { name: "", type: "line", symbol: "circle", symbolSize: 4, data:[] } // @ts-ignore obj.name = data.monthProductionRates[item][0].lineName // @ts-ignore data.monthProductionRates[item].map((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) dataSource.month.series.push(obj) }) }else{ dataSource.month.xData = [] dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; const options = getOptions(chartData); return (
— 报警总数 —
{sumAlarm}
{arr.length>0?:(

暂无数据

)}
{/* 产线成品率 */}
{chartData.xData.length>0 && (
{}
)} {chartData.xData.length==0 && (

暂无数据

)}
); } export default CenterDown;