From d8598b4127f7a3932b8a2b23cebe86094e72a888 Mon Sep 17 00:00:00 2001 From: qzc Date: Thu, 9 Oct 2025 17:22:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=AA=E6=B0=B4=E9=A2=84=E6=BC=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/back.svg | 6 + public/assets/hsyy/szcz.png | Bin 0 -> 2327 bytes public/assets/hsyy/szmj.png | Bin 0 -> 3665 bytes public/assets/hsyy/szrk.png | Bin 0 -> 3531 bytes public/assets/hsyy/xhl.png | Bin 0 -> 5311 bytes public/assets/hsyy/ymls.png | Bin 0 -> 4083 bytes public/assets/hsyy/ymss.png | Bin 0 -> 4046 bytes src/views/Home/MapCtrl/Map3D/Map3D.js | 4 +- src/views/Home/MapCtrl/Map3D/demo.js | 23 ++- src/views/Home/MapCtrl/Map3D/layermgr3d.js | 1 + .../Home/MapCtrl/Markers/GongShuiMarker.js | 2 +- src/views/Home/btn/index.js | 6 +- src/views/Home/hsyy/index.js | 90 +++++++- src/views/Home/hsyy/index.less | 48 ++++- src/views/Home/hsyy/information/fack.js | 78 +++++++ src/views/Home/hsyy/information/index.js | 101 +-------- src/views/Home/hsyy/information/table1.js | 52 ----- src/views/Home/hsyy/information/tjpz.js | 32 +++ src/views/Home/hsyy/service.js | 29 +++ src/views/Home/hsyy/ybfa.js | 194 ++++++++---------- src/views/Home/hsyy/ymtj.js | 140 +++++++++++++ 21 files changed, 524 insertions(+), 282 deletions(-) create mode 100644 public/assets/back.svg create mode 100644 public/assets/hsyy/szcz.png create mode 100644 public/assets/hsyy/szmj.png create mode 100644 public/assets/hsyy/szrk.png create mode 100644 public/assets/hsyy/xhl.png create mode 100644 public/assets/hsyy/ymls.png create mode 100644 public/assets/hsyy/ymss.png create mode 100644 src/views/Home/hsyy/information/fack.js delete mode 100644 src/views/Home/hsyy/information/table1.js create mode 100644 src/views/Home/hsyy/information/tjpz.js create mode 100644 src/views/Home/hsyy/service.js create mode 100644 src/views/Home/hsyy/ymtj.js diff --git a/public/assets/back.svg b/public/assets/back.svg new file mode 100644 index 000000000..1c6a1a9bb --- /dev/null +++ b/public/assets/back.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/assets/hsyy/szcz.png b/public/assets/hsyy/szcz.png new file mode 100644 index 0000000000000000000000000000000000000000..e07c2801e5afcdc2b36beef890f141cf78b6d92d GIT binary patch literal 2327 zcma)8XHXN^8cm2mM5QRw2_gz29R;ZYLY_zwlr9iJS_smlcS2LDG(jaueGm~Tks5j) z9bAwaKoBt?HMne~NCMd~@6WEYGw+m0VvwBr>}_)FVc=tvH-JlzmH20& zjqN>}BB44!RWbMc)}z^#005xzQ31OG^p9j9yg+0bcC}hu%(lO=Zal8!I`>T*(5D!$ z0uNDslQChmsgFT=+*@<)c3yeM{2U0Yg(PSP{guFa`o8v+u2P3ACqO1TVI|S78=%h( zx^n+)23$e=eDD7PO6LV58(R4hRyH4nd@^QenUc%FwYi^rO2;Iu?Pf9{&*VZoShqI3 z2n`$~2T&*goDk=}>E5FbLUN@g{QD`%@G{Uc@1BZvX0)7K2*j~$Thh2E-H?OuB7_rG z!gndj34J9Qn01Zi&ffvt`}Q?gS$r(M;^OjjleEm@9Hh5*6Dy5y9du(m@c5zruIv_W zcX1(WSPuhp|DL*IiZQG|Bd?TA;EkqXs{-G@V#+mr&{o*&DDY6UGcG*ofy)hM+d@R! zL;@E?liU&8uLn`Lk;6z{Qo<-8#Fesf7Z;-((xO(~H5IW4v@r;Xo+=ahO)GriC(>sn zcvwJC*tiu?(IWrPl+7_)iv&dl%5$?r)~(sEBRvCD$V{G_?g3s4dn48l3duoVrtY)? zYUWkQ?%TdrK8Ax`d8Bg(Q@ai`$6M~w@lr=vuNu8F)c))9X$ikCy(aE?3)T9PmATo! z!fDMbnyZYzf1DmmZ1^G0_Vabt@U4D9-^)>LP7;%b6SCSG=^GKF`b21FRVnUWO_-Y6 zTqLtu;KN^-H5i_dpEUxK#L{J6W2FjCnud!ga|(0fKXZeQtM{yzjHhTygwFL{onvlp zu8j%Tt!tdt|II~St06hYRgDV5*%ksnC(6K4LZ#qNj&qiz&hw?U{Q;H8EPR?O?Vn?Pg#jCcQ+f@>xPlXx22lL z%Uv5C5`QW}0R?tpld@fYpVc00Jc;r1zNW&Zwf!k0pd5iFdKWxy#IC32&$Vq3&#kqeM3kmFv&eW-+uzTe=lZSwOw)O*r?# zq^hMum`+PMuvRwfI*3Hp6ut?V6OO<4mloA)fCt_7WaDjLb#r;K72_KS(0?+*lDFDl!A@M6RdD$!7uzPflMT)|IyApp6l ziAxP;9m&~^w@}Lu0zO-e-df`+Vrb`EmQ*?KM_yiK&;ETUJF)a(_FAZ&*>r=qoaah# zCPFSm8EDuF7=ERO&;5M!h~ifs!Gm>G!N(>}el{0h(WkVr$<*;x<1y{vyX@;9OUeE5nOS zp5#O|`zHJptzJhJdr?JZLU@jOEx^WYM`y+DozX%Bf5*vFBo^*08WFG>Xk;QS)@px< zYcBTXB=b7uB6m8~ec2g2NXvR!hY2G6+hUrW@eH>u5vZY~`}xZkzAF_kSjk)P{;IYA z#*e}9g|UEUSXBRX&znQvv^`=Ce-T6FU&t=T{^7{8k+&Sil;Kg#RCG30mAlMM(MAiC z0rc>G{IGO6o@)9HYuOMV7I z+A!aL=Y7SOS~rXWh>gb;Z_1Z{~K|88Tr4kL^Pj$I{ pG8X8FrXl;VZ+a&wH)Nh3Y90AtJeaB)Plg+S{=baj)iB4{KLLMjOwIrR literal 0 HcmV?d00001 diff --git a/public/assets/hsyy/szmj.png b/public/assets/hsyy/szmj.png new file mode 100644 index 0000000000000000000000000000000000000000..70eeb34337716d318f180227801f0c8446b52f36 GIT binary patch literal 3665 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 literal 0 HcmV?d00001 diff --git a/public/assets/hsyy/szrk.png b/public/assets/hsyy/szrk.png new file mode 100644 index 0000000000000000000000000000000000000000..93bbbec831b69290bf77f48e214ab51d54df7dc2 GIT binary patch literal 3531 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 literal 0 HcmV?d00001 diff --git a/public/assets/hsyy/ymls.png b/public/assets/hsyy/ymls.png new file mode 100644 index 0000000000000000000000000000000000000000..aea232970aed1598fecbe530049306a49db15da4 GIT binary patch literal 4083 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 { - const width = 20; + const width = 12; const placeholder = document.getElementById(`marker_gongshui_${data.id}`); if (!placeholder) { diff --git a/src/views/Home/btn/index.js b/src/views/Home/btn/index.js index 8f3890d13..248ca0482 100644 --- a/src/views/Home/btn/index.js +++ b/src/views/Home/btn/index.js @@ -124,11 +124,11 @@ export default function Btn({showPanels,setShowPanels}) { {/*
*/} -
- {/*
+
+
3D图 -
*/} +
影像图 diff --git a/src/views/Home/hsyy/index.js b/src/views/Home/hsyy/index.js index 0ac975573..2f1b6a198 100644 --- a/src/views/Home/hsyy/index.js +++ b/src/views/Home/hsyy/index.js @@ -4,21 +4,105 @@ import { useDispatch, useSelector } from 'react-redux' import { Collapse, DatePicker, Input, Modal, message } from 'antd'; import './index.less' import Ybfa from './ybfa' +import Ymtj from './ymtj' +import Demo3D from '../../Home/MapCtrl/Map3D/demo' +const { Cesium } = window; const Page = ({ showPanels }) => { const dispatch = useDispatch(); let mapObj = useSelector(s => s.map.map) + const [ map, setMap ] = useState(null) + const [ ctx, setCtx ] = useState({mode:'预报方案',data:{}}) + useEffect(()=>{ + },[]) + + useEffect(() => { + dispatch.map.setLayerVisible({ + RealDrpLayer: true, + PicStLayer: true, + ShuiKuLayer: true, + GongShuiLayer: true, + AZDLayer: true, + QSYDWLayer: true, + YHJMHLayer: true + }); + const { mode } = ctx + //当前map对象是cesium + if(!mapObj?._cesiumWidget){ + return + } + + if(mode==='淹没统计'){ + mapObj.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(114.786546000,31.496518000,1500), + orientation: { + heading: Cesium.Math.toRadians(-90), + pitch: Cesium.Math.toRadians(-35.0), + roll: 0.0 + } + }); + + const demo = new Demo3D() + demo.getCzml2(mapObj) + }else{ + mapObj.dataSources._dataSources.forEach(dataSource => { + if (dataSource.name === 'CZML1111') { // 确保你知道你想要移除的数据源名称 + mapObj.dataSources.remove(dataSource); + } + }); + + mapObj.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(114.771546000,31.497518000,650), + orientation: { + heading: Cesium.Math.toRadians(-90), + pitch: Cesium.Math.toRadians(-45.0), + roll: 0.0 + } + }); + } + + + + + // demo.getCzml2(mapObj)//demo + // const tm = { + // "dayNumber": 2460957, + // "secondsOfDay": 75115.485 + // } + // debugger + // setTimeout(() => { + // mapObj.clock.currentTime = tm; + // }, 10000); + // this.demo.getDem(viewer) //地形图 + // this.demo.getGltf(viewer) //模型 + // this.demo.getWater(viewer)//简单淹没分析 + // this.demo.getWater2(viewer) + // this.demo.getRlt2(viewer) + // this.demo.getRlt3(viewer) //热力图 + // this.demo.getCzml(viewer) //czml模型 + + return ()=>{ + dispatch.map.setLayerVisible({ + RealDrpLayer: false, + PicStLayer: false, + ShuiKuLayer: false, + GongShuiLayer: false, + AZDLayer: false, + QSYDWLayer: false, + YHJMHLayer: false + }); + } + }, [mapObj,ctx]) - useEffect(() => { - }, []) return (
- + { ctx.mode==='预报方案'?:null } + { ctx.mode==='淹没统计'?:null}
) diff --git a/src/views/Home/hsyy/index.less b/src/views/Home/hsyy/index.less index 6f9ab7254..11d921206 100644 --- a/src/views/Home/hsyy/index.less +++ b/src/views/Home/hsyy/index.less @@ -396,7 +396,7 @@ padding: 8px; - + .hsyylistBox{ padding: 10px; margin-bottom: 10px; @@ -441,4 +441,48 @@ } } } -} \ No newline at end of file + + .ymtjBox{ + height: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding: 10px; + + + .ymtjBoxItem{ + background-color: #eee; + border-radius: 5px; + width: 108px; + margin: 5px; + padding: 10px 0px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + .text1{ + font-size: 22px; + font-weight: 500; + height: 30px; + .dw{ + display: inline-block; + font-size: 12px; + font-weight: 500; + color: #000000; + margin-left: 2px; + } + } + .text2{ + font-size: 12px; + font-weight: 500; + } + } + } + + + .hsyyScrollBox{ + height: 68vh; + overflow-y: scroll; + } +} diff --git a/src/views/Home/hsyy/information/fack.js b/src/views/Home/hsyy/information/fack.js new file mode 100644 index 000000000..2ad6ddfff --- /dev/null +++ b/src/views/Home/hsyy/information/fack.js @@ -0,0 +1,78 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { Form, Input, Button, Table, Radio, Tabs } 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 './index.less' +import { httpget2, httppost2 } from '../../../../utils/request'; +import apiurl from '../../../../service/apiurl'; + +const Page = ({data}) => { + 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
{val}{row.ispreDrp==='1'?
:null}
+ }}, + { 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)}, + ]; + + return ( + <> +
+ 预见期(小时): + {data?.tms?.forecastPeriod} + 预热期(天): + {data?.tms?.forecastWarm} + 预报时间: + {data?.tms?.forecastTime} + 开始时间: + {data?.tms?.startTime} + 结束时间: + {data?.tms?.endTime} +
+ {setTab(e.target.value)}} defaultValue="1"> + 数据图 + 数据表 + +
+
+
+
预报最高调洪水位(m):{data?.tms?.ycMaxSwH?.toFixed(2)}
+
预报最大入库流量(m³/s):{data?.tms?.ycMaxRkQ?.toFixed(2)}
+
预报最大下泄流量(m³/s):{data?.tms?.ycMaxCkQ?.toFixed(2)}
+
预报洪水总量(万m³):{data?.tms?.ycSumFlood?.toFixed(2)}
+
+
+ { + tab==='1'? + + :null //
+ } + { + tab==='2'? +
+ + :null + } + + + ); +} + +export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/information/index.js b/src/views/Home/hsyy/information/index.js index 4e9f02bf1..4be2d3d02 100644 --- a/src/views/Home/hsyy/information/index.js +++ b/src/views/Home/hsyy/information/index.js @@ -4,38 +4,16 @@ 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' import { httpget2, httppost2 } from '../../../../utils/request'; import apiurl from '../../../../service/apiurl'; +import Fack from './fack' +import Tjpz from './tjpz' -const Page = ({projectId,onCancel,show}) => { +const Page = ({projectId,onCancel,setCtx}) => { const [data,setData] = useState({data:[],tms:{}}) - const [tab,setTab] = useState('1') const [tabs, setTabsChange] = useState(0) - 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
{val}{row.ispreDrp==='1'?
:null}
- }}, - { 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)}, - ]; - - const columns2 = [ - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", render:v=>v.slice(0, 16)}, - { title: '流量', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>}, - ]; - - useEffect(()=>{ (async()=>{ const {code , data} = await httpget2(apiurl.fxdd_xyt.hsyb.ybfagl.getData+'?projectId='+projectId) @@ -61,7 +39,7 @@ const Page = ({projectId,onCancel,show}) => {
- 预报成果详情 + 方案配置
@@ -70,76 +48,11 @@ const Page = ({projectId,onCancel,show}) => { onChange={(e) => setTabsChange(e)} activeKey={tabs} style={{paddingLeft:'20px'}} - items={[ - {label: '方案查看',key: 0}, - {label: '条件配置',key: 1}, - ]} + items={[{label: '方案查看',key: 0},{label: '条件配置',key: 1},]} > - { - tabs===0?<> -
- 预见期(小时): - {data?.tms?.forecastPeriod} - 预热期(天): - {data?.tms?.forecastWarm} - 预报时间: - {data?.tms?.forecastTime} - 开始时间: - {data?.tms?.startTime} - 结束时间: - {data?.tms?.endTime} -
- {setTab(e.target.value)}} defaultValue="1"> - 数据图 - 数据表 - -
-
-
-
预报最高调洪水位(m):{data?.tms?.ycMaxSwH?.toFixed(2)}
-
预报最大入库流量(m³/s):{data?.tms?.ycMaxRkQ?.toFixed(2)}
-
预报最大下泄流量(m³/s):{data?.tms?.ycMaxCkQ?.toFixed(2)}
-
预报洪水总量(万m³):{data?.tms?.ycSumFlood?.toFixed(2)}
-
-
- { - tab==='1'? - - :null //
- } - { - tab==='2'? -
-
- :null - } - - :null - } - { - tabs===1?<> -
-
-
- -
- - :null - } - + { tabs===0?:null } + { tabs===1?:null } ); } diff --git a/src/views/Home/hsyy/information/table1.js b/src/views/Home/hsyy/information/table1.js deleted file mode 100644 index aee836fd8..000000000 --- a/src/views/Home/hsyy/information/table1.js +++ /dev/null @@ -1,52 +0,0 @@ -import React, { useEffect, useState, useRef, useMemo } from 'react'; -import { Form, Input, Button, Table, Radio } from 'antd'; -import { EyeOutlined } 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' - - -const Page = ({record}) => { - const columns = useMemo(()=>{ - if(record.type==='产流计算'){ - return [ - { 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: '面雨量P(mm)', key: 'drp', dataIndex: 'drp', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '土壤含水量Pa(mm)', key: 'pa', dataIndex: 'pa', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '径流深R(mm)', key: 'r', dataIndex: 'r', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - }else if(record.type==='汇流计算'){ - return [ - { 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: '预测入库流量', key: 'ycRkQValue', dataIndex: 'ycRkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - }else{ - return [ - { 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: '预测出库流量', key: 'ycCkQValue', dataIndex: 'ycCkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - } - },[record]) - - - return ( - <> -
-
- - - ); -} - -export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/information/tjpz.js b/src/views/Home/hsyy/information/tjpz.js new file mode 100644 index 000000000..ec65f0b43 --- /dev/null +++ b/src/views/Home/hsyy/information/tjpz.js @@ -0,0 +1,32 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { Form, Input, Button, Table, Radio, Tabs } from 'antd'; +// import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; + +const Page = ({data, setCtx, onCancel}) => { + const columns2 = [ + { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", render:v=>v.slice(0, 16)}, + { title: '流量', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>}, + ]; + + return ( + <> +
+
+
+ +
+ + + ); +} + +export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/service.js b/src/views/Home/hsyy/service.js new file mode 100644 index 000000000..2a739248e --- /dev/null +++ b/src/views/Home/hsyy/service.js @@ -0,0 +1,29 @@ +import {httppost2, httpget, httpget2,httpget3} from "../../../utils/request"; +import {message} from 'antd'; +import apiurl from '../../../service/apiurl'; + + +//实时水情-河道水情列表 +export async function getTableData() { + const params = { + "pageSo": { + "pageSize": 99999, + "pageNumber": 1 + }, + "orderField": "chtm", + "isAsc": false + } + const {data, code, msg} = await httppost2(apiurl.fxdd_xyt.hsyb.ybfagl.page,params) || {}; + if (code !== 200) { + message.error(msg || '请求失败'); + } + return data?.records||[]; +} + + + + + + + + diff --git a/src/views/Home/hsyy/ybfa.js b/src/views/Home/hsyy/ybfa.js index 354440cf0..eb769e202 100644 --- a/src/views/Home/hsyy/ybfa.js +++ b/src/views/Home/hsyy/ybfa.js @@ -1,25 +1,45 @@ -import React, { useEffect, useState, useRef } from 'react' +import React, { useEffect, useState, useRef, useMemo } from 'react' import { useLocation } from 'react-router' import { useDispatch, useSelector } from 'react-redux' import {Form, Input, DatePicker, Popover, Collapse , Button, message, Table, Col, Modal} from 'antd'; import { createCrudService } from '../../../components/crud/_'; import apiurl from '../../../service/apiurl'; import ModalForm from './information'; -import { httppost2 } from '../../../utils/request'; +import { getTableData } from './service'; +import moment from 'moment'; const { RangePicker } = DatePicker -const Page = ({ showPanels }) => { +const Page = ({ setCtx }) => { const dispatch = useDispatch(); let mapObj = useSelector(s => s.map.map) const [index,setIndex] = useState(0) const [data,setData] = useState([]) const [projectId, setProjectId] = useState('') const [open, setOpen] = useState(false) - const [mode,setMode] = useState(0) - + const [name, setName] = useState('') + const [tms,setTms] = useState([]) + const listData = useMemo(()=>{ + let list = [...data] + if(name){ + list = list.filter((i)=>i.name.indexOf(name)>-1) + } + if(tms&&tms.length>0){ + list = list.filter((i)=>{ + const stm = moment(tms[0]) + const etm = moment(tms[1]) + const tm = moment(i.updateTm) + if(tm.isAfter(stm)&&etm.isAfter(tm)){ + return true + }else{ + return false + } + }) + } + return list + },[data,name,tms]) @@ -29,127 +49,73 @@ const Page = ({ showPanels }) => { }, []) const getData = async()=>{ - const { code, data } = await httppost2(apiurl.fxdd_xyt.hsyb.ybfagl.page, { - "pageSo": { - "pageSize": 99999, - "pageNumber": 1 - }, - "orderField": "chtm", - "isAsc": false - }); - if(code!==200){ - return - } - setData(data?.records||[]) + const data = await getTableData() + setData(data) } - const show = (data)=>{ + + const openModal = (item)=>{ + setOpen(true) + setProjectId(item.id) + } + const closeModal = ()=>{ setOpen(false) - setMode(1) + setProjectId(null) } - return ( <>
+
+
+ + 预报方案 +
+
+
+
+
+ + setName(e.nativeEvent.target.value)}/> + + + setTms(v)} + value={tms} + format='YYYY-MM-DD HH:mm' + /> + + +
{ - mode===0?<> -
-
- - 预报方案 -
-
-
-
-
- - - - - setTms(v)} - // value={tms} - format='YYYY-MM-DD HH:mm' - /> - - - { - data?.map((item,listIndex)=>( - <> -
setIndex(listIndex)} - > -
{(listIndex+1)+'.'+item.name}{ - listIndex===index? - { - setOpen(true) - setProjectId(item.id) - }}>方案配置: - 方案配置 - }
-
预报时段:
{item.startTm}至{item.endTm}
-
预报最高调洪水位(m):
-
-
预报最大入库流量(m³/s):
-
-
预报最大下泄流量(m³/s):
-
-
预报洪水总量(万m³):
-
-
方案制作时间:
{item.updateTm}
-
- - )) - } - :null - } - - { - mode===1?<> -
-
- - 卸洪结果 -
-
{ - setProjectId(null) - setMode(0) - }}> - 返回 -
-
-
-
预报时段:
{}至{}
-
预报最高调洪水位(m):
-
-
预报最大入库流量(m³/s):
-
-
预报最大下泄流量(m³/s):
-
-
预报洪水总量(万m³):
-
-
方案制作时间:
{}
-
- -
-
- - 水位 -
-
-
-
- -
-
- - 出入库流量 -
-
-
-
- :null + listData?.map((item,listIndex)=>( + <> +
setIndex(listIndex)} + > +
{(listIndex+1)+'.'+item.name}{ + listIndex===index? + openModal(item)}>方案配置: + 方案配置 + }
+
预报时段:
{item.startTm}至{item.endTm}
+
预报最高调洪水位(m):
{item.ycMaxSwH||'-'}
+
预报最大入库流量(m³/s):
{item.ycMaxRkQ||'-'}
+
预报最大下泄流量(m³/s):
{item.ycMaxCkQ||'-'}
+
预报洪水总量(万m³):
{item.ycSumFlood||'-'}
+
方案制作时间:
{item.updateTm}
+
+ + )) } +
- setOpen(false)} destroyOnClose={true}> - setOpen(false)} show={show}/> + + ) diff --git a/src/views/Home/hsyy/ymtj.js b/src/views/Home/hsyy/ymtj.js new file mode 100644 index 000000000..f57514723 --- /dev/null +++ b/src/views/Home/hsyy/ymtj.js @@ -0,0 +1,140 @@ +import React, { useEffect, useState, useRef } from 'react' +import { useLocation } from 'react-router' +import { useDispatch, useSelector } from 'react-redux' +import {Form, Input, DatePicker, Popover, Collapse , Button, message, Table, Col, Modal} from 'antd'; +import { RollbackOutlined, ArrowLeftOutlined } from '@ant-design/icons'; +import apiurl from '../../../service/apiurl'; +import ModalForm from './information'; +import { httppost2 } from '../../../utils/request'; + + +const { RangePicker } = DatePicker + + +const Page = ({ ctx, setCtx }) => { + const dispatch = useDispatch(); + let mapObj = useSelector(s => s.map.map) + const [data1,setData1] = useState([ + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:'2025-08-04 18:00:00', + }, + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:20, + }, + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:20, + }, + ]) + const [data2,setData2] = useState([ + { + dwmc:'七里坪镇檀树中学', + rk:10, + sd:15, + sj:20, + } + ]) + + + const columns = [ + { title: '受灾村庄', key: 'cz', dataIndex: 'cz', align:"center"}, + { title: '受灾人口(人)', key: 'rk', dataIndex: 'rk', width:'80px', align:"center"}, + { title: '最高淹没深度(m)', key: 'sd', dataIndex: 'sd', width:'100px', align:"center"}, + { title: '洪峰时间', key: 'sj', dataIndex: 'sj', align:"center"}, + ]; + const columns2 = [ + { title: '单位名称', key: 'dwmc', dataIndex: 'dwmc', align:"center"}, + { title: '影响人口(人)', key: 'rk', dataIndex: 'rk', width:'80px', align:"center"}, + { title: '最高淹没深度(m)', key: 'sd', dataIndex: 'sd', width:'100px', align:"center"}, + { title: '洪峰时间', key: 'sj', dataIndex: 'sj', align:"center"}, + ]; + + + useEffect(() => { + getData() + }, []) + + const getData = async()=>{ + } + + + return ( + <> +
+
+
+ 淹没统计
+
setCtx({mode:'预报方案',data:{}})}> + +
+
+
+
+ +
2.98
万m³
+
泄洪量
+
+
+ +
2.8
m
+
最高淹没水深
+
+
+ +
25
h
+
淹没历时
+
+
+ +
1.18
千m³
+
受灾面积
+
+
+ +
3
+
受灾村庄
+
+
+ +
4
+
受灾人口
+
+
+
+
+ 村庄影响情况
+
+
+
+
+
+ 企事业单位影响情况
+
+
+
+ + + ) +} + +export default Page