import React, { useEffect, useState,useMemo } from 'react' import { useNavigate } from 'react-router'; import autofit from 'autofit.js' import Zmjk from "./zmjk" import './index.less' import ReactEcharts from 'echarts-for-react'; import options from './options' import clsx from 'clsx'; import { Select } from 'antd'; import { httpget2,httppost2 } from '../../utils/request'; import apiurl from '../../service/apiurl'; const MenuTitleCard = ({key,title}) => { return (
{title}
) } export default function Home() { const title = [ { title: '首页', key: '/home', }, { title: '监测数据', key: '/mgr/jcsj/jcsj', }, { title: '安全监测', key: '/mgr/aqjc', }, { title: '系统管理', key: '/mgr/xtgl/yhxx', }, { title: '工程运行', key: '/mgr/gcyx/xxcx/jbqk', }, { title: '设备维护', key: '/mgr/sbwh/wxyhgl/wxfabz', }, ] const runData = [ { name: '闸后流量(m³/s)', value: 4300, time:'2024-08-15 15:00:00' }, { name: '闸前水位(m)', value: 9.82, time:'2024-08-15 15:00:00' }, { name: '闸后流量(m)', value: 8.87, time:'2024-08-15 15:00:00' }, { name: '雨量(mm)', value: 10.5, time:'2024-08-15 15:00:00' } ] const pxOptions = useMemo(() => { // if (staData) { // return options(staData) // } else { // return options({}) // } return options({}) }, []) //安全监测数据 const [safeData, setSafeData] = useState(Array(5).fill(0).map((item, i) => ({ id: i, cd: "SY01", dm: '1#断面', kpa: 2749, time: '2024-08-15 15:00:00' }))) //操作日志 const [operateData, setOperateData] = useState(Array(5).fill(0).map((item, i) => ({ id: i, cd: '1#闸孔', content: "设定闸门开度为0.10m", name: '刘天明', kpa: 2749, time: '2024-08-15 15:00:00' }))) //报警信息 const [policeData, setPoliceData] = useState(Array(5).fill(0).map((item, i) => ({ id: i,zd:'闸前水位', watchvalue: "10.23",limit:0,max:10, time: '2024-08-15 15:00:00' }))) const navigate = useNavigate(); const jumpMenu = (item) => { navigate(item.key) } const [videoList, setVideoList] = useState([]) const [videoArr, setvideoArr] = useState({}) // 获取视频列表 const getVideoList = async () => { try { const res = await httppost2(apiurl.home.videoList,{valveCode:"HP0024208020000063"}) setVideoList(res.data.map(item => ({label:item.name,value:item.indexCode}))) } catch (error) { console.log(error); } } // 获取视频流 const getVideoSrc = async (current) => { const res = await httpget2(`${apiurl.home.videosrc}${current}`) if (res.code == 200 && res.data?.length !== 0) { setvideoArr({src:res.data}) }else{ setvideoArr({}) } } const [activeOne, setActiveOne] = useState(0) useEffect(() => { autofit.init({ dh: 1080, dw: 1920, el:'#daping-body', resize: true }) getVideoList() }, []) return (
{title.map((item, i) => (
jumpMenu(item)} style={{cursor:'pointer'}}>
))}
{/* 工程简介 */}
工程简介
盐卡闸位于湖北省荆州市经济开发区,荆江大堤左岸桩 745+614 处,位于观音寺闸上游 5km 处。盐卡闸主要工程任务为引水灌溉,解决四湖中下区农 业灌溉和洪湖生态保障不足的问题。利用盐卡泵站进水渠,反向从长江引水,引水灌溉设计流量55m³/s,水闸级别为 1 级,次要建筑物级别为 3 级。
{/* 运行监测数据 */}
运行监测数据
{runData.map((item,i) => (
setActiveOne(i)}> {item.name} {item.value} {item.time}
))}
{/* 安全监测数据 */}
安全监测数据
{safeData.map((item, i) => ( ))}
测点编号 监测断面 渗压(KPa) 监测时间
{item.cd} {item.dm} {item.kpa} {item.time}
{/* 操作日志 */}
操作日志
{operateData.map((item, i) => ( ))}
闸孔编号 操作内容 操作人员 操作时间
{item.cd} {item.content} {item.name} {item.time}
{/* 报警信息 */}
报警信息
6 ? 'scroll':'hidden'}} > {policeData.map((item, i) => ( ))}
监测点 监测值 阈值下限 阈值上限 报警时间
{item.zd} {item.watchvalue} {item.limit} {item.max} {item.time}
{/* 视频监控 */}