tsg-web/src/views/fxzb/ybfagl/information/index.js

109 lines
6.1 KiB
JavaScript
Raw Normal View History

2024-09-20 15:02:50 +08:00
import React, { useEffect, useState, useRef } from 'react';
import { Form, Input, Button, Table, Radio } from 'antd';
import {CloseOutlined} from '@ant-design/icons';
import BasicCrudModal from '../../../../components/crud/BasicCrudModal';
import ReactEcharts from 'echarts-for-react';
import drpOption from './drpOption';
import moment from 'moment';
import './index.less'
import ModalForm1 from './table1'
2024-11-14 13:52:43 +08:00
import { httpget2, httppost2 } from '../../../../utils/request';
2024-09-20 15:02:50 +08:00
import apiurl from '../../../../service/apiurl';
const Page = ({projectId,onCancel}) => {
const [data,setData] = useState({data:[],tms:{}})
const [tab,setTab] = useState('1')
const columns = [
{ title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 },
{ title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)},
{ title: '降雨量(mm)', key: 'drp', dataIndex: 'drp', align:"center", width:100,render:(v,row)=>{
const val = v===null?'-':Number(v).toFixed(2)
return <div style={{display:'flex',alignItems:'center',justifyContent:'center'}}>{val}{row.ispreDrp==='1'?<div style={{marginLeft:'5px',width:'20px',height:'20px',borderRadius:"10px",border:'1px solid rgb(245, 154, 35)',color:'rgb(245, 154, 35)',display:'flex',alignItems:'center',justifyContent:'center',fontSize:'12px'}}></div>:null}</div>
}},
{ title: '实测水位(m)', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
{ title: '预报水位(m)', key: 'ycSwHValue', dataIndex: 'ycSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
{ title: '入库流量(m³/s)', key: 'realRkQValue', dataIndex: 'realRkQValue', width:120, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
{ title: '预报入库流量(m³/s)', key: 'ycRkQValue', dataIndex: 'ycRkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
{ title: '实际出库流量(m³/s)', key: 'realCkQValue', dataIndex: 'realCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
{ title: '预报出库流量(m³/s)', key: 'ycCkQValue', dataIndex: 'ycCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
];
useEffect(()=>{
(async()=>{
2024-11-14 13:52:43 +08:00
const {code , data} = await httpget2(apiurl.fxdd_xyt.hsyb.ybfagl.getData+'?projectId='+projectId)
2024-09-20 15:02:50 +08:00
if(code!==200){
return
}
setData({data:[...data.voList],tms:{
forecastTime: data.forecastTm,
projectTm: data.projectTm,
startTime: data.startTm,
endTime: data.endTm,
forecastPeriod: data.forecastPeriod,
forecastWarm: data.forecastWarm,
type:data.type,
ycMaxSwH:data.ycMaxSwH,
ycMaxRkQ:data.ycMaxRkQ,
ycMaxCkQ:data.ycMaxCkQ,
2024-11-14 13:52:43 +08:00
ycSumFlood:data.ycSumFlood,
2024-09-20 15:02:50 +08:00
}})
})()
},[])
return (
<div className='normalModalStyle homeModal2' style={{paddingBottom:'20px'}}>
<div className="normalModalStyle_title">
<div className="normalModalStyle_title_icon"></div>
预报成果详情
<div className="normalModalStyle_title_cancel">
<CloseOutlined onClick={onCancel} style={{color:"#333"}}/>
</div>
</div>
<div className='fxdd_hsybjs_content_item2_toolbar'>
预见期(小时)
<span style={{marginRight:'55px'}}>{data?.tms?.forecastPeriod}</span>
预热期()
<span style={{marginRight:'55px'}}>{data?.tms?.forecastWarm}</span>
预报时间
<span style={{marginRight:'55px'}}>{data?.tms?.forecastTime}</span>
开始时间
<span style={{marginRight:'55px'}}>{data?.tms?.startTime}</span>
结束时间
<span style={{marginRight:'55px'}}>{data?.tms?.endTime}</span>
<div className='fxdd_hsybjs_content_item2_toolbar_tab'>
<Radio.Group onChange={(e)=>{setTab(e.target.value)}} defaultValue="1">
<Radio.Button value="1">数据图</Radio.Button>
<Radio.Button value="2">数据表</Radio.Button>
</Radio.Group>
</div>
</div>
<div className='fxdd_hsybjs_content_item2_toolbar2'>
<div className='fxdd_hsybjs_content_item2_toolbar_content'>预报最高调洪水位(m):<span>{data?.tms?.ycMaxSwH?.toFixed(2)}</span></div>
<div className='fxdd_hsybjs_content_item2_toolbar_content'>预报最大入库流量(/s):<span>{data?.tms?.ycMaxRkQ?.toFixed(2)}</span></div>
<div className='fxdd_hsybjs_content_item2_toolbar_content'>预报最大下泄流量(/s):<span>{data?.tms?.ycMaxCkQ?.toFixed(2)}</span></div>
<div className='fxdd_hsybjs_content_item2_toolbar_content'>预报洪水总量(万m³):<span>{data?.tms?.ycSumFlood?.toFixed(2)}</span></div>
</div>
<div className='fxdd_hsybjs_content_item2_content'>
{
tab==='1'?
<ReactEcharts option={drpOption(data)} style={{width: "1500px", height: '600px'}}/>
:null //<div style={{textAlign: "center", margin: "10%"}}><img src={`${process.env.PUBLIC_URL}/assets/noData.png`} alt=""/></div>
}
{
tab==='2'?
<div className="colorTable" style={{padding:"10px 30px",height:'600px'}}>
<Table rowKey="id"
sticky
columns={columns}
pagination={false}
dataSource={data.data}
scroll={{ y: "540px"}}
/>
</div>:null
}
</div>
</div>
);
}
export default Page;