Переглянути джерело

update 风机信息

master
lb 9 місяці тому
джерело
коміт
6eb4102863
4 змінених файлів з 22 додано та 76 видалено
  1. +6
    -19
      src/components/Common/FanInfo/index.jsx
  2. +8
    -57
      src/store/features/fanInfo.js
  3. +3
    -0
      src/store/index.js
  4. +5
    -0
      src/utils/index.js

+ 6
- 19
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),
};



+ 8
- 57
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;

+ 3
- 0
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,
// 天然气流量


+ 5
- 0
src/utils/index.js Переглянути файл

@@ -113,6 +113,11 @@ export class WsClient {
break;
}
case "FanInfo": {
// 风机信息
store.dispatch({
type: "fanInfo/setInfo",
payload: serializedData.data,
});
break;
}
default: {


Завантаження…
Відмінити
Зберегти