import React, { useEffect, useMemo, useState } from 'react' import { Modal, Tabs, Descriptions, Image } from 'antd'; import { Stage } from 'react-konva'; import Sider from './Sider'; import Topper1 from './Topper1'; import Topper2 from './Topper2'; import ZmColumns from './ZmColumns'; import { contextCoordinates } from './coordinates'; import { renAperture } from '../../../utils/utils'; import HFivePlayer from '../../../components/video1Plary' import './index.less'; import { httpget, httpget2, httppost2 } from '../../../utils/request'; import apiurl from '../../../service/apiurl'; const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const CanvasW = 1080 const CanvasH = 640 // const waterRatio = 0 const zmobj ={ "hpCode": "HP0074208040002120", "stcd": "4265630075", "ctrlType": "PLC", "ctrlProtocol": "PLC", "uprzStcd": null, "dwrzStcd": null, "flowStcd": null, "gaType": "waga", "ctrlPass": null, "maxHgt": 1.9, "minHgt": 0, "name": "五岭包节制闸", "ghtX": null, "ghtY": null, "irrCode": "D00000020", "irrName": "三干渠", "engCode": "ENG100076", "engName": "三干渠管理处", "orgCode": "A07", "gaorNum": 3, "wagaType": "节制闸", "plcType": null, "bim": 0, "vip": 0, "miu": null, "lgtd": 112.242945, "lttd": 30.848166, "runtime": [ null, { "stcd": "4265630075", "gateNumber": 1, "realAperture": 376, "setAperture": 0, "sensorLever": null, "altitudeLever": null, "remoteSignal": 0, "powerSignal": 0, "openingSignal": 0, "closeingSignal": 0, "errorSignal": 0, "openedSignal": 0, "closedSignal": 0, "tm": "2024-09-25 20:03:26", "_online": true }, { "stcd": "4265630075", "gateNumber": 2, "realAperture": 388, "setAperture": 0, "sensorLever": null, "altitudeLever": null, "remoteSignal": 0, "powerSignal": 0, "openingSignal": 0, "closeingSignal": 0, "errorSignal": 0, "openedSignal": 0, "closedSignal": 0, "tm": "2024-09-25 20:03:26", "_online": true }, { "stcd": "4265630075", "gateNumber": 3, "realAperture": 394, "setAperture": 0, "sensorLever": null, "altitudeLever": null, "remoteSignal": 0, "powerSignal": null, "openingSignal": 0, "closeingSignal": 0, "errorSignal": 0, "openedSignal": 0, "closedSignal": 0, "tm": "2024-09-25 20:03:26", "_online": true } ], "real": { "stcd": "4265630075", "stationName": "五岭包节制闸", "z1": null, "zz1": null, "z1tm": null, "z2": null, "zz2": null, "z2tm": null, "hq": null, "hqtm": null, "demtl": null }, "cctvs": [], "_idx": 88, "_fav": false, "_sort": 10086 } const Page = () => { const [waterRatio,setWaterRatio] = useState(0) const [data,setData] = useState({}) const [damList, setDamList ] = useState([]) const [list, setList ] = useState([]) const hole = 10;//zmobj.gaorNum; const xunit = CanvasW / (hole +2); const pts = contextCoordinates(xunit, hole); const eqpnoList = useMemo(() => damList ? new Array(damList.length).fill(0).map((o, index) => index) : [], [damList]); useEffect(()=>{ getList() },[]) const getList = async()=>{ const {code, data} = await httppost2(apiurl.zmjk.getList) if(code!==200){ return } const obj = data[0]||{} getInformation(obj.gateCode) getDamData(obj.stcd) setData(obj) } const getDamData = async(stcd)=>{ const {code, data} = await httpget2(apiurl.zmjk.getDamData,{stcd}) if(code!==200){ return } const list = [] data.map((item)=>{ list.push({ ...item, realAperture:item.realAperture + 200 }) }) setDamList([...list,...list, ...list,list[0]]) } const getInformation = async(gateCode)=>{ const {code, data} = await httpget2(apiurl.zmjk.getInformation,{gateCode}) if(code!==200){ return } data.map((item)=>{ if(item.type===2){ setWaterRatio(item.value/5||0) } }) setList(data) } return ( <>