import React, { useEffect, useState, useMemo } from 'react' import { useNavigate } from 'react-router'; import { RightCircleFilled, LeftCircleFilled } from '@ant-design/icons'; 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'; import HFivePlayer from '../../components/video1Plary'; 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 [index, setIndex] = useState(0) // 获取视频列表 const getVideoList = async () => { try { const res = await httppost2(apiurl.home.videoList, { valveCode: "HP0024208020000063" }) setVideoList(res.data) getVideoSrc(res.data[0].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:'ws://223.76.234.232:559/openUrl/7WKpEbu'}) setvideoArr({ src: res.data }) } else { setvideoArr({}) } } const delClick = () => { let idx = index - 1 setIndex(idx) getVideoSrc(videoList[idx].indexCode) } const addClick = () => { let idx = index + 1 setIndex(idx) getVideoSrc(videoList[idx].indexCode) } 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}
))}
{/* 安全监测数据 */}
安全监测数据
4 ? 'scroll' : 'hidden' }}> {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}
{/* 视频监控 */}
视频监控
{index !== 0 && delClick()} />} {index !== videoList.length - 1 && addClick()} />}
) }