diff --git a/src/components/Common/FanInfo/index.jsx b/src/components/Common/FanInfo/index.jsx index 3a6a826..513d943 100644 --- a/src/components/Common/FanInfo/index.jsx +++ b/src/components/Common/FanInfo/index.jsx @@ -1,6 +1,6 @@ import GraphBase from "../../Common/GraphBase"; import "./index.module.scss"; - +import { useSelector } from "react-redux"; import { ScrollBoard } from "@jiaminghi/data-view-react"; function getRandomRow() { @@ -14,21 +14,6 @@ function getRandomRows(rows) { .map(() => getRandomRow()); } -// let data = [ -// [1, '1#风机', 1], // 1 正常 2 故障 0 离线 -// [2, '2#风机', 1], -// [3, '3#风机', 1], -// [4, '4#风机', 0], -// [5, '5#风机', 1], -// [6, '6#风机', 1], -// [7, '7#风机', 0], -// [8, '8#风机', 1], -// [9, '9#风机', 1], -// [10, '10#风机', 1], -// ]; - -// let header = ['序号', '风机名称', '故障情况']; - function attachStyle(data) { return data.map((arr) => { return arr.map((item, index) => { @@ -49,7 +34,11 @@ function attachStyle(data) { function FanInfo(props) { const rowNum = props.rows || 8; - let data = getRandomRows(100); + // let data = getRandomRows(100); + const fanInfo = useSelector((state) => state.fanInfo.fanInfo); + const data = Object.keys(fanInfo).map((key, index) => { + return [index+1, key, fanInfo[key] == "正常" ? 1 : 0]; + }); let config = { headerBGC: "rgba(4, 44, 76, 0.3)", @@ -62,9 +51,7 @@ function FanInfo(props) { evenRowBGC: "#042c4c", columnWidth: [70, 96], rowNum, - // headerHeight: 40, hoverPause: false, - // data: replaceStyle(data, 0.7), data: attachStyle(data), }; diff --git a/src/store/features/fanInfo.js b/src/store/features/fanInfo.js index 6d662cd..7729cae 100644 --- a/src/store/features/fanInfo.js +++ b/src/store/features/fanInfo.js @@ -2,69 +2,20 @@ import { createSlice } from "@reduxjs/toolkit"; export const initialState = { - history: { - // 历史数据 - FLIIA1: [ - // 帮我生成7个随机整数 - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - // 帮我重复上面的模式十次 - FLIIA2: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA3: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA4: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA5: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA6: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA7: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIA8: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIB1: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], - FLIIB2: [ - ...Array.from({ length: 7 }, () => Math.floor(Math.random() * 100)), - ], + fanInfo: { + 测试001: "正常", }, - - runtime: [ - // 实时数据 - ...Array.from( - { length: 16 }, - () => Math.floor(Math.random() * 100) + "m³/h" - ), - ], }; -// export const stateNameMap = { -// lastFireChangeTime: "10分20秒", -// fireChangeTime: "10:23", -// fireDirection: "东火", -// }; - -const fanFrequenceSlice = createSlice({ - name: "fanFrequence", +const fanInfoSlice = createSlice({ + name: "fanInfo", initialState, reducers: { - setHistory: (state, action) => { - state.history = action.payload; - }, - setRuntime: (state, action) => { - state.runtime = action.payload; + setInfo: (state, action) => { + state.fanInfo = action.payload; }, }, }); -export default fanFrequenceSlice.reducer; -export const { setHistory, setRuntime } = fanFrequenceSlice.actions; +export default fanInfoSlice.reducer; +export const { setInfo } = fanInfoSlice.actions; diff --git a/src/store/index.js b/src/store/index.js index 11f4d13..b87590c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -6,6 +6,7 @@ import fanFrequenceReducer from "./features/fanFrequenceSlice"; import combustionAirReducer from "./features/combustionAirSlice"; import gasReducer from "./features/gasSlice"; import temperatureReducer from "./features/temperatureSlice"; +import fanInfoReducer from "./features/fanInfo"; export const store = configureStore({ reducer: { @@ -15,6 +16,8 @@ export const store = configureStore({ feeder: feederReducer, // 火向信息 fireInfo: fireReducer, + // 火向信息 + fanInfo: fanInfoReducer, // 风机运行频率 fanFrequence: fanFrequenceReducer, // 天然气流量 diff --git a/src/utils/index.js b/src/utils/index.js index 353149f..252ffa3 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -113,6 +113,11 @@ export class WsClient { break; } case "FanInfo": { + // 风机信息 + store.dispatch({ + type: "fanInfo/setInfo", + payload: serializedData.data, + }); break; } default: {