update
This commit is contained in:
parent
d4a4e82aa6
commit
9f51f2b3cb
@ -1,8 +1,6 @@
|
|||||||
// import "./App.css";
|
|
||||||
import "./global.css";
|
import "./global.css";
|
||||||
import "./index.css";
|
import "./index.css";
|
||||||
import Head from "./components/Common/Company";
|
import Head from "./components/Common/Company";
|
||||||
// import { SocketContextProvider } from "../store/socket-data-provider";
|
|
||||||
import useSlider, { Slider } from "./hooks/useSlider";
|
import useSlider, { Slider } from "./hooks/useSlider";
|
||||||
import NavMenu from "./components/Common/NavMenu";
|
import NavMenu from "./components/Common/NavMenu";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
@ -1,138 +1,136 @@
|
|||||||
import BottomBarItem from '../BottomItemBackground';
|
import GraphBase from "../GraphBase";
|
||||||
import GraphBase from '../GraphBase';
|
import cls from "./index.module.css";
|
||||||
import { Radio } from 'antd';
|
import { useState } from "react";
|
||||||
import cls from './index.module.css';
|
|
||||||
import { useState } from 'react';
|
|
||||||
|
|
||||||
const SmallBox = (props) => {
|
const SmallBox = (props) => {
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className="small-box"
|
className="small-box"
|
||||||
style={{
|
style={{
|
||||||
boxShadow: 'inset 0 0 18px 10px #fff1',
|
boxShadow: "inset 0 0 18px 10px #fff1",
|
||||||
borderRadius: '3px',
|
borderRadius: "3px",
|
||||||
padding: '6px',
|
padding: "6px",
|
||||||
display: 'flex',
|
display: "flex",
|
||||||
alignItems: 'center',
|
alignItems: "center",
|
||||||
justifyContent: 'center',
|
justifyContent: "center",
|
||||||
color: '#fff',
|
color: "#fff",
|
||||||
position: 'relative',
|
position: "relative",
|
||||||
userSelect: 'none',
|
userSelect: "none",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{props.split !== false && (
|
{props.split !== false && (
|
||||||
<span
|
<span
|
||||||
className="vertical-line"
|
className="vertical-line"
|
||||||
style={{
|
style={{
|
||||||
position: 'absolute',
|
position: "absolute",
|
||||||
display: 'inline-block',
|
display: "inline-block",
|
||||||
width: '2px',
|
width: "2px",
|
||||||
height: '80%',
|
height: "80%",
|
||||||
top: '10%',
|
top: "10%",
|
||||||
left: '50%',
|
left: "50%",
|
||||||
background:
|
background:
|
||||||
'linear-gradient(to bottom, transparent, #fff3, #fffa, #fff3, transparent)',
|
"linear-gradient(to bottom, transparent, #fff3, #fffa, #fff3, transparent)",
|
||||||
}}
|
}}
|
||||||
></span>
|
></span>
|
||||||
)}
|
)}
|
||||||
{props.children}
|
{props.children}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
function WindFrequence(props) {
|
function WindFrequence(props) {
|
||||||
const [dataSource, setDataSource] = useState('风机');
|
const [dataSource, setDataSource] = useState("风机");
|
||||||
|
|
||||||
function handleSourceChange(v) {
|
function handleSourceChange(v) {
|
||||||
console.log('val', v);
|
console.log("val", v);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<GraphBase
|
<GraphBase
|
||||||
icon="pause"
|
icon="pause"
|
||||||
title="当前温度"
|
title="当前温度"
|
||||||
dateOptions={['风机', '风阀', '电加热']}
|
dateOptions={["风机", "风阀", "电加热"]}
|
||||||
onDateChange={handleSourceChange}
|
onDateChange={handleSourceChange}
|
||||||
size={['middle', 'long']}
|
size={["middle", "long"]}
|
||||||
>
|
>
|
||||||
<div className={cls.mainContent + ' ' + cls.grid}>
|
<div className={cls.mainContent + " " + cls.grid}>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox split={false}>
|
<SmallBox split={false}>
|
||||||
<div className={cls.areaPureContent}>
|
<div className={cls.areaPureContent}>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox split={false}>
|
<SmallBox split={false}>
|
||||||
<div className={cls.areaPureContent}>
|
<div className={cls.areaPureContent}>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
<span className={cls.areaPureValue}>123.8℃</span>
|
<span className={cls.areaPureValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
<SmallBox>
|
<SmallBox>
|
||||||
<h1 className={cls.areaName}>A1区板上</h1>
|
<h1 className={cls.areaName}>A1区板上</h1>
|
||||||
<div className={cls.areaContent}>
|
<div className={cls.areaContent}>
|
||||||
<span className={cls.areaValue}>123.8℃</span>
|
<span className={cls.areaValue}>123.8℃</span>
|
||||||
</div>
|
</div>
|
||||||
</SmallBox>
|
</SmallBox>
|
||||||
</div>
|
</div>
|
||||||
</GraphBase>
|
</GraphBase>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default WindFrequence;
|
export default WindFrequence;
|
||||||
|
@ -3,17 +3,6 @@ import "./index.module.scss";
|
|||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { ScrollBoard } from "@jiaminghi/data-view-react";
|
import { ScrollBoard } from "@jiaminghi/data-view-react";
|
||||||
|
|
||||||
function getRandomRow() {
|
|
||||||
const idx = Math.ceil(Math.random() * 100);
|
|
||||||
return [idx, `${idx}#风机`, Math.ceil(Math.random() * 2) - 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
function getRandomRows(rows) {
|
|
||||||
return Array(rows)
|
|
||||||
.fill(0)
|
|
||||||
.map(() => getRandomRow());
|
|
||||||
}
|
|
||||||
|
|
||||||
function attachStyle(data) {
|
function attachStyle(data) {
|
||||||
return data.map((arr) => {
|
return data.map((arr) => {
|
||||||
return arr.map((item, index) => {
|
return arr.map((item, index) => {
|
||||||
@ -23,9 +12,9 @@ function attachStyle(data) {
|
|||||||
item == 1 ? "#2760ff55" : item == 0 ? "#a81b2655" : "#E6A23C55"
|
item == 1 ? "#2760ff55" : item == 0 ? "#a81b2655" : "#E6A23C55"
|
||||||
}; margin-right: 8px; width: 8px; height: 8px; border-radius: 8px; background: ${
|
}; margin-right: 8px; width: 8px; height: 8px; border-radius: 8px; background: ${
|
||||||
item == 1 ? "#2760ff" : item == 0 ? "#a81b26" : "#E6A23C"
|
item == 1 ? "#2760ff" : item == 0 ? "#a81b26" : "#E6A23C"
|
||||||
}"></span><span style="color: ${item == 1 ? "#2760ff" : item == 0 ? "#a81b26" : "#E6A23C"}">${
|
}"></span><span style="color: ${
|
||||||
item == 1 ? "运行" : item == 0 ? "故障" : "未运行"
|
item == 1 ? "#2760ff" : item == 0 ? "#a81b26" : "#E6A23C"
|
||||||
}</span></div>`;
|
}">${item == 1 ? "运行" : item == 0 ? "故障" : "未运行"}</span></div>`;
|
||||||
}
|
}
|
||||||
return `<span style='color: #fffa'>${item}</span>`;
|
return `<span style='color: #fffa'>${item}</span>`;
|
||||||
});
|
});
|
||||||
@ -34,11 +23,14 @@ function attachStyle(data) {
|
|||||||
|
|
||||||
function FanInfo(props) {
|
function FanInfo(props) {
|
||||||
const rowNum = props.rows || 8;
|
const rowNum = props.rows || 8;
|
||||||
// let data = getRandomRows(100);
|
|
||||||
const fanInfo = useSelector((state) => state.fanInfo.fanInfo);
|
const fanInfo = useSelector((state) => state.fanInfo.fanInfo);
|
||||||
|
|
||||||
const data = Object.keys(fanInfo).map((key, index) => {
|
const data = Object.keys(fanInfo).map((key, index) => {
|
||||||
return [index+1, key, fanInfo[key] == "运行" ? 1 : fanInfo[key] == "故障" ? 0 : 2];
|
return [
|
||||||
|
index + 1,
|
||||||
|
key,
|
||||||
|
fanInfo[key] == "运行" ? 1 : fanInfo[key] == "故障" ? 0 : 2,
|
||||||
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
let config = {
|
let config = {
|
||||||
|
@ -1,61 +1,15 @@
|
|||||||
// FanRunFrequence
|
// FanRunFrequence
|
||||||
import cls from "./index.module.css";
|
import cls from "./index.module.css";
|
||||||
import ReactECharts from "echarts-for-react";
|
|
||||||
import * as echarts from "echarts";
|
import * as echarts from "echarts";
|
||||||
import GraphBase from "../../Common/GraphBase";
|
import GraphBase from "../../Common/GraphBase";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
import { useSelector, useDispatch } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
// function mockData(type = "runtime") {
|
|
||||||
// const RUNTIME_DATA_LENGTH = 16;
|
|
||||||
// const MAX_HISTORY_DATA_LENGTH = 10;
|
|
||||||
// const WEEK = 7;
|
|
||||||
|
|
||||||
// switch (type) {
|
|
||||||
// case "runtime":
|
|
||||||
// return [
|
|
||||||
// ...Array.from(
|
|
||||||
// { length: RUNTIME_DATA_LENGTH },
|
|
||||||
// () => Math.floor(Math.random() * 100) + "m³/h"
|
|
||||||
// ),
|
|
||||||
// ];
|
|
||||||
// case "history":
|
|
||||||
// return {
|
|
||||||
// ...Array.from(
|
|
||||||
// { length: Math.floor(Math.random() * MAX_HISTORY_DATA_LENGTH) },
|
|
||||||
// (_, index) => ({
|
|
||||||
// ["FAIIA" + index]: [
|
|
||||||
// ...Array.from({ length: WEEK }, () =>
|
|
||||||
// Math.floor(Math.random() * 100)
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// })
|
|
||||||
// ).reduce((arr, curr) => ({ ...arr, ...curr }), {}),
|
|
||||||
// };
|
|
||||||
// default:
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
function WindFrequence(props) {
|
function WindFrequence(props) {
|
||||||
const [showChart, setShowChart] = useState(false);
|
const [showChart, setShowChart] = useState(false);
|
||||||
// const dispath = useDispatch();
|
|
||||||
const runState = useSelector((state) => state.fanFrequence.runtime);
|
const runState = useSelector((state) => state.fanFrequence.runtime);
|
||||||
const hisState = useSelector((state) => state.fanFrequence.history);
|
const hisState = useSelector((state) => state.fanFrequence.history);
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// setInterval(() => {
|
|
||||||
// dispath({
|
|
||||||
// type: "fanFrequence/setRuntime",
|
|
||||||
// payload: mockData("runtime"),
|
|
||||||
// });
|
|
||||||
// dispath({
|
|
||||||
// type: "fanFrequence/setHistory",
|
|
||||||
// payload: mockData("history"),
|
|
||||||
// });
|
|
||||||
// }, 50000);
|
|
||||||
// }, [dispath]);
|
|
||||||
|
|
||||||
let dataList = [];
|
let dataList = [];
|
||||||
let seriesData = [];
|
let seriesData = [];
|
||||||
const colors = [
|
const colors = [
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { motion, AnimatePresence } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
|
|
||||||
function FeederStatus(props) {
|
function FeederStatus(props) {
|
||||||
const feeder = useSelector((state) => state.feeder);
|
const feeder = useSelector((state) => state.feeder);
|
||||||
@ -29,7 +29,12 @@ function FeederStatus(props) {
|
|||||||
color: "#fff",
|
color: "#fff",
|
||||||
border: "1px solid #fff",
|
border: "1px solid #fff",
|
||||||
padding: "12px",
|
padding: "12px",
|
||||||
background: leftFeeder == "运行" ? "#0f03" : leftFeeder == "故障" ? "#f003" : "#da33",
|
background:
|
||||||
|
leftFeeder == "运行"
|
||||||
|
? "#0f03"
|
||||||
|
: leftFeeder == "故障"
|
||||||
|
? "#f003"
|
||||||
|
: "#da33",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
投料机1 : {leftFeeder}
|
投料机1 : {leftFeeder}
|
||||||
@ -39,7 +44,12 @@ function FeederStatus(props) {
|
|||||||
color: "#fff",
|
color: "#fff",
|
||||||
border: "1px solid #fff",
|
border: "1px solid #fff",
|
||||||
padding: "12px",
|
padding: "12px",
|
||||||
background: rightFeeder == "运行" ? "#0f03" : rightFeeder == "故障" ? "#f003" : "#da33",
|
background:
|
||||||
|
rightFeeder == "运行"
|
||||||
|
? "#0f03"
|
||||||
|
: rightFeeder == "故障"
|
||||||
|
? "#f003"
|
||||||
|
: "#da33",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
投料机2 : {rightFeeder}
|
投料机2 : {rightFeeder}
|
||||||
|
@ -41,23 +41,9 @@ import { useSelector, useDispatch } from "react-redux";
|
|||||||
/** 助燃风流量 */
|
/** 助燃风流量 */
|
||||||
function GasI(props) {
|
function GasI(props) {
|
||||||
const [showChart, setShowChart] = useState(true);
|
const [showChart, setShowChart] = useState(true);
|
||||||
// const dispath = useDispatch();
|
|
||||||
const runState = useSelector((state) => state.combustionAir.runtime);
|
const runState = useSelector((state) => state.combustionAir.runtime);
|
||||||
const hisState = useSelector((state) => state.combustionAir.history);
|
const hisState = useSelector((state) => state.combustionAir.history);
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// setInterval(() => {
|
|
||||||
// dispath({
|
|
||||||
// type: "combustionAir/setRuntime",
|
|
||||||
// payload: mockData("runtime"),
|
|
||||||
// });
|
|
||||||
// dispath({
|
|
||||||
// type: "combustionAir/setHistory",
|
|
||||||
// payload: mockData("history"),
|
|
||||||
// });
|
|
||||||
// }, 60000);
|
|
||||||
// }, [dispath]);
|
|
||||||
|
|
||||||
let dataList = [];
|
let dataList = [];
|
||||||
let seriesData = [];
|
let seriesData = [];
|
||||||
const colors = [
|
const colors = [
|
||||||
|
@ -1,53 +1,16 @@
|
|||||||
import cls from "./kiln.module.scss";
|
import cls from "./kiln.module.scss";
|
||||||
import Container from "../../Container";
|
import Container from "../../Container";
|
||||||
import { useEffect } from "react";
|
import { useSelector } from "react-redux";
|
||||||
import { useSelector, useDispatch } from "react-redux";
|
|
||||||
import { stateNameMap } from "../../../store/features/kilnSlice";
|
import { stateNameMap } from "../../../store/features/kilnSlice";
|
||||||
|
|
||||||
export default function Kiln() {
|
export default function Kiln() {
|
||||||
const kilnInfo = useSelector((state) => state.kiln);
|
const kilnInfo = useSelector((state) => state.kiln);
|
||||||
// const dispatch = useDispatch();
|
|
||||||
|
|
||||||
const infos = Object.keys(kilnInfo).map((key) => ({
|
const infos = Object.keys(kilnInfo).map((key) => ({
|
||||||
label: stateNameMap[key],
|
label: stateNameMap[key],
|
||||||
value: kilnInfo[key],
|
value: kilnInfo[key],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// setInterval(() => {
|
|
||||||
// dispatch({
|
|
||||||
// type: "kiln/setKilnInfo",
|
|
||||||
// payload: {
|
|
||||||
// kilnPressure: Math.ceil(Math.random() * 100) + "Pa",
|
|
||||||
// waterTemp: Math.ceil(Math.random() * 100) + "℃",
|
|
||||||
// waterFlow: Math.ceil(Math.random() * 100) + "m³/h",
|
|
||||||
// waterPressure: Math.ceil(Math.random() * 100) + "Pa",
|
|
||||||
// combustionAirPressure: Math.ceil(Math.random() * 100) + "Pa",
|
|
||||||
// topTemp: Math.ceil(Math.random() * 100) + "℃",
|
|
||||||
// compressedAirPressure: Math.ceil(Math.random() * 100) + "Pa",
|
|
||||||
// meltTemp: Math.ceil(Math.random() * 100) + "℃",
|
|
||||||
// },
|
|
||||||
// });
|
|
||||||
// }, 30000);
|
|
||||||
// }, [dispatch]);
|
|
||||||
|
|
||||||
// const infos = [
|
|
||||||
// { label: "窑炉压力", value: ctx?.runState?.kilnPressure || "0Pa" },
|
|
||||||
// { label: "循环水温度", value: ctx?.runState?.waterTemp || "0℃" },
|
|
||||||
// { label: "循环水流量", value: ctx?.runState?.waterFlow || "0㎡/h" },
|
|
||||||
// { label: "循环水压力", value: ctx?.runState?.waterPressure || "0Pa" },
|
|
||||||
// {
|
|
||||||
// label: "助燃风压力",
|
|
||||||
// value: ctx?.runState?.combustionAirPressure || "0℃",
|
|
||||||
// },
|
|
||||||
// { label: "碹顶加权温度", value: ctx?.runState?.topTemp || "0℃" },
|
|
||||||
// {
|
|
||||||
// label: "压缩气压力",
|
|
||||||
// value: ctx?.runState?.compressedAirPressure || "0Pa",
|
|
||||||
// },
|
|
||||||
// { label: "融化加权温度", value: ctx?.runState?.meltTemp || "0℃" },
|
|
||||||
// ];
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container title="窑炉信息" icon="kiln" className={cls.leftBar__top}>
|
<Container title="窑炉信息" icon="kiln" className={cls.leftBar__top}>
|
||||||
<div className={cls.leftBar__top__content}>
|
<div className={cls.leftBar__top__content}>
|
||||||
|
@ -2,27 +2,6 @@ import GraphBase from '../../../Common/GraphBase';
|
|||||||
import ReactECharts from 'echarts-for-react';
|
import ReactECharts from 'echarts-for-react';
|
||||||
import getOptions from '../../../../hooks/getChartOption';
|
import getOptions from '../../../../hooks/getChartOption';
|
||||||
|
|
||||||
// function rand(max) {
|
|
||||||
// return Math.ceil(Math.random() * max);
|
|
||||||
// }
|
|
||||||
// function getArr(len) {
|
|
||||||
// return Array(len).fill(1).map(() => rand(100))
|
|
||||||
// }
|
|
||||||
// function getArrs(len) {
|
|
||||||
// return Array(len).fill(1).map(() => getArr(7))
|
|
||||||
// }
|
|
||||||
// function fan4(...arrs) {
|
|
||||||
// const total = arrs[0].map((_, i) =>
|
|
||||||
// arrs.reduce((sum, arr) => sum + arr[i], 0),
|
|
||||||
// );
|
|
||||||
// arrs.unshift(total);
|
|
||||||
// return arrs;
|
|
||||||
// }
|
|
||||||
// function main() {
|
|
||||||
// // console.log(JSON.stringify(fan(getArrs(3))))
|
|
||||||
// console.log(fan(getArrs(3)))
|
|
||||||
// }
|
|
||||||
|
|
||||||
function Oxygen(props) {
|
function Oxygen(props) {
|
||||||
function handleSwitch(v) {
|
function handleSwitch(v) {
|
||||||
console.log('switched ', v);
|
console.log('switched ', v);
|
||||||
|
@ -2,7 +2,6 @@ import { useState } from "react";
|
|||||||
import cls from "./index.module.css";
|
import cls from "./index.module.css";
|
||||||
import Chart2 from "../../../Common/TimeFireDir";
|
import Chart2 from "../../../Common/TimeFireDir";
|
||||||
import VideoContainer from "./VideoContainer";
|
import VideoContainer from "./VideoContainer";
|
||||||
import TemperatureTop from "../../../Common/TemperatureTop";
|
|
||||||
|
|
||||||
function KilnCenter() {
|
function KilnCenter() {
|
||||||
const [floor, setFloor] = useState(0);
|
const [floor, setFloor] = useState(0);
|
||||||
@ -57,71 +56,8 @@ function KilnCenter() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 覆盖层温度信息 */}
|
|
||||||
{/* <TemperatureTop /> */}
|
|
||||||
|
|
||||||
{/* video */}
|
{/* video */}
|
||||||
<VideoContainer onFloorUpdate={onFloorUpdate} floor={floor} />
|
<VideoContainer onFloorUpdate={onFloorUpdate} floor={floor} />
|
||||||
|
|
||||||
{/* <div className={cls.videoLayer2}></div> */}
|
|
||||||
|
|
||||||
{/* left side */}
|
|
||||||
{/* <div
|
|
||||||
className="leftSide"
|
|
||||||
style={{
|
|
||||||
position: 'absolute',
|
|
||||||
left: '88px',
|
|
||||||
top: '24%',
|
|
||||||
display: 'grid',
|
|
||||||
gridTemplateColumns: '100px 100px',
|
|
||||||
gap: '20px 18px',
|
|
||||||
gridAutoRows: '64px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{data.map((item) => (
|
|
||||||
<div
|
|
||||||
className="leftSideItem"
|
|
||||||
style={{
|
|
||||||
background: '#fff3',
|
|
||||||
display: 'flex',
|
|
||||||
flexDirection: 'column',
|
|
||||||
alignItems: 'center',
|
|
||||||
justifyContent: 'center',
|
|
||||||
background: '#32535d',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<span style={{ fontSize: '18px', lineHeight: 1, color: '#2EE4E6' }}>
|
|
||||||
{item.name}
|
|
||||||
</span>
|
|
||||||
<span
|
|
||||||
style={{ fontSize: '24px', lineHeight: '32px', color: '#fff' }}
|
|
||||||
>
|
|
||||||
{item.value} ℃
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
className="toolbox"
|
|
||||||
style={{
|
|
||||||
position: 'absolute',
|
|
||||||
bottom: '32px',
|
|
||||||
left: '64px',
|
|
||||||
display: 'flex',
|
|
||||||
alignItems: 'center',
|
|
||||||
gap: '24px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className="tlj tlj1"
|
|
||||||
style={{ background: '#ccc', width: '200px', height: '100px' }}
|
|
||||||
></div>
|
|
||||||
<div
|
|
||||||
className="tlj tlj2"
|
|
||||||
style={{ background: '#ccc', width: '200px', height: '100px' }}
|
|
||||||
></div>
|
|
||||||
</div> */}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -69,19 +69,6 @@ function EnterToFloorOne(props) {
|
|||||||
></video>
|
></video>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* <motion.div
|
|
||||||
className={cls.videoLayer1}
|
|
||||||
key="eto1div"
|
|
||||||
style={{
|
|
||||||
top: "336px",
|
|
||||||
left: "730px",
|
|
||||||
width: "2380px",
|
|
||||||
}}
|
|
||||||
animate={{
|
|
||||||
opacity: [0, 0, 0, 0.6, 1],
|
|
||||||
transition: { duration: 0.3, delay: 2 },
|
|
||||||
}}
|
|
||||||
></motion.div> */}
|
|
||||||
<TemperatureBottom
|
<TemperatureBottom
|
||||||
style={{
|
style={{
|
||||||
top: "218px",
|
top: "218px",
|
||||||
|
@ -72,20 +72,6 @@ function FloorOneToTwo(props) {
|
|||||||
></video>
|
></video>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* <motion.div
|
|
||||||
className={cls.videoLayer2}
|
|
||||||
key="1to2div"
|
|
||||||
style={{
|
|
||||||
top: "360px",
|
|
||||||
left: "740px",
|
|
||||||
width: "2415px",
|
|
||||||
height: "690px",
|
|
||||||
}}
|
|
||||||
animate={{
|
|
||||||
opacity: [0, 0, 0, 0.6, 1],
|
|
||||||
transition: { duration: 0.3, delay: 2 },
|
|
||||||
}}
|
|
||||||
></motion.div> */}
|
|
||||||
<TemperatureTop
|
<TemperatureTop
|
||||||
style={{
|
style={{
|
||||||
top: "208px",
|
top: "208px",
|
||||||
|
@ -72,20 +72,6 @@ function FloorTwoToOne(props) {
|
|||||||
></video>
|
></video>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* <motion.div
|
|
||||||
className={cls.videoLayer1}
|
|
||||||
key="eto1div"
|
|
||||||
style={{
|
|
||||||
top: "336px",
|
|
||||||
left: "730px",
|
|
||||||
width: "2380px",
|
|
||||||
}}
|
|
||||||
animate={{
|
|
||||||
opacity: [0, 0, 0, 0.6, 1],
|
|
||||||
transition: { duration: 0.3, delay: 2 },
|
|
||||||
}}
|
|
||||||
></motion.div> */}
|
|
||||||
|
|
||||||
<TemperatureBottom
|
<TemperatureBottom
|
||||||
style={{
|
style={{
|
||||||
top: "208px",
|
top: "208px",
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import FanInfo from '../../../Common/FanInfo';
|
|
||||||
import WindFrequence from '../../../Common/FanRunFrequence';
|
|
||||||
import FaultType from '../../../Common/TodayFaultType';
|
import FaultType from '../../../Common/TodayFaultType';
|
||||||
import FaultTotal from '../../../Common/TodayFaultTotal';
|
import FaultTotal from '../../../Common/TodayFaultTotal';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
|
|
||||||
import cls from './index.module.scss';
|
|
||||||
|
|
||||||
export default function index() {
|
export default function index() {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
|
@ -10,12 +10,8 @@ import FireCheckLeft from "../../components/Modules/FireCheck/LeftSide";
|
|||||||
import QualityCheckLeft from "../../components/Modules/QualityCheck/LeftSide";
|
import QualityCheckLeft from "../../components/Modules/QualityCheck/LeftSide";
|
||||||
import FireCheckRight from "../../components/Modules/FireCheck/RightSide";
|
import FireCheckRight from "../../components/Modules/FireCheck/RightSide";
|
||||||
import QualityCheckRight from "../../components/Modules/QualityCheck/RightSide";
|
import QualityCheckRight from "../../components/Modules/QualityCheck/RightSide";
|
||||||
// import SocketContext from '../../store/socket-data-provider';
|
|
||||||
import { useContext } from "react";
|
|
||||||
|
|
||||||
export default function Home({ active }) {
|
export default function Home({ active }) {
|
||||||
// const ctx = useContext(SocketContext);
|
|
||||||
|
|
||||||
const ctx = null;
|
const ctx = null;
|
||||||
|
|
||||||
const fireDir = ctx?.runState?.fireDirection || null;
|
const fireDir = ctx?.runState?.fireDirection || null;
|
||||||
|
Loading…
Reference in New Issue
Block a user