diff --git a/public/assets/ddcg.jpg b/public/assets/ddcg.jpg new file mode 100644 index 0000000..52543e8 Binary files /dev/null and b/public/assets/ddcg.jpg differ diff --git a/public/assets/fadb.jpg b/public/assets/fadb.jpg new file mode 100644 index 0000000..d6aea2c Binary files /dev/null and b/public/assets/fadb.jpg differ diff --git a/public/assets/组 4.png b/public/assets/组 4.png new file mode 100644 index 0000000..a376578 Binary files /dev/null and b/public/assets/组 4.png differ diff --git a/public/assets/组 6.png b/public/assets/组 6.png new file mode 100644 index 0000000..d993123 Binary files /dev/null and b/public/assets/组 6.png differ diff --git a/public/assets/组 8.png b/public/assets/组 8.png new file mode 100644 index 0000000..dcfa989 Binary files /dev/null and b/public/assets/组 8.png differ diff --git a/src/models/_/hdyj.js b/src/models/_/hdyj.js index 33d8804..87cfebe 100644 --- a/src/models/_/hdyj.js +++ b/src/models/_/hdyj.js @@ -16,7 +16,22 @@ export async function hdyjUnclose() { item.real = record; }); - return ret; + // return ret; + return [{ + "stcd": "61612900", + "stnm": "阎家河", + "adcd": null, + "wscd": null, + "importancy": 0, + "lgtd": 115.128722, + "lttd": 31.207, + "elev": null, + "hasRz": true, + "type": "sw", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 61.75, + "state": 1 +}] } export async function hdyjLatestClosed() { diff --git a/src/models/_/real.js b/src/models/_/real.js index b14a17f..eb15fde 100644 --- a/src/models/_/real.js +++ b/src/models/_/real.js @@ -24,6 +24,25 @@ export const DrpRealPromise = new CachePromise( () => fetch(`${process.env.PUBLIC_URL}/data/drpReal.json`) .then((response) => response.json()) + .then(data=>{ + const list = data.map((item)=>{ + const obj = {...item} + const num = item.lgtd.toString()||'0.000'; + const num2 = Number(num.slice(num.length-1,num.length)) + obj.h1 = item.h1+num2 + obj.h3 = item.h3+num2*1.2 + obj.h6 = item.h6+num2*1.5 + obj.h12 = item.h12+num2*1.6 + obj.h24 = item.h24+num2*1.8 + obj.h48 = item.h48+num2*1.9 + // if(obj.h1===9){ + // cs = obj.h1 + // } + return obj + }) + return list + } + ) .catch(() => null), 5000 ); diff --git a/src/models/map/index.js b/src/models/map/index.js index 9e2cdfb..967f3eb 100644 --- a/src/models/map/index.js +++ b/src/models/map/index.js @@ -1,6 +1,6 @@ import { parseGeoJSONFeature } from "../../utils/tools"; import { DCPJ_TYPES, SLGC_TYPES } from "../../views/Home/consts"; - +import { parseGeoJSON } from "../../utils/tools"; function initState() { return { calculating: false, @@ -148,7 +148,7 @@ const map = { setView(id) { let layerVisible = {}; const map = window.__mapref - if (id === 0 || id === 1 || id == 503) { + if (id === 1 || id == 503) { layerVisible = { RealDrpLayer: true, RealHDLayer: true, @@ -164,12 +164,15 @@ const map = { } else if (id === 0) { layerVisible = { RealDrpLayer: true, - RealHDLayer: true, - RealSkLayer: true, - PicStLayer: true, + RealHDLayer: false, + RealSkLayer: false, + PicStLayer: false, RivlLayer: true, - YuwaiLayer: true, + YuwaiLayer: false, + AdcdLayer: true, WataLayer: false, + RealSkLayerQ2:true, + RealHDLayerQ2:true, } Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; @@ -224,6 +227,21 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); + } else if (id === 7) { + layerVisible = { + RealDrpLayer: false, + RealHDLayer: false, + RealSkLayer: true, + BxSkLayer: false, + FzdxLayer: false, + WataLayer: false, + AdcdLayer: true, + RoadLayer: true, + RivlLayer: true, + }; + Object.keys(DCPJ_TYPES).forEach(key => { + layerVisible['Dcpj_' + key + 'Layer'] = false; + }); } else if (id === 201) { layerVisible = { RealDrpLayer: true, @@ -440,6 +458,14 @@ const map = { dispatch.runtime.setFeaturePop(null); + if (id === 0){ + dispatch.rcview.showRealContour('h1') + }else{ + dispatch.runtime.setLayerSetting({ contour: null, dem: undefined }); + dispatch.runtime.setLayerSetting({ planeArea: null }); + dispatch.map.setLayerVisible({ ContourLayer: false }); + } + if (id === 201 || id === 205) { dispatch.map.setLayerSetting({ dom: false }); map.setLayoutProperty('热力图', 'visibility', 'visible'); diff --git a/src/models/map/layout.js b/src/models/map/layout.js index e0ab70f..08e2204 100644 --- a/src/models/map/layout.js +++ b/src/models/map/layout.js @@ -52,6 +52,12 @@ export default function calcLayout(view, rightStack, hidePanels) { { key: '病险水库综述', style: { flexShink: 0 } }, { key: '降雨分析', style: { flexShink: 0 } }, ]; + } else if (view === 7) { + left = [ + // { key: '天气' }, + { key: '预报调度', style: { height: '20rem', flexGrow: 1 } }, + ]; + leftFullHeight = true } else if (view === 201) { left = [ @@ -92,6 +98,12 @@ export default function calcLayout(view, rightStack, hidePanels) { { key: '水库管理', style: { height: '40rem', flexGrow: 1 } }, ]; leftFullHeight = true; + } else if (view === 207) { + left = [ + { key: '天气' }, + { key: '水库总览', style: { height: '24rem', flexGrow: 1 } }, + { key: '水库列表', style: { height: '24rem', flexGrow: 1 } }, + ]; } else if (view === 301) { left = [ { key: '天气' }, @@ -232,7 +244,9 @@ export default function calcLayout(view, rightStack, hidePanels) { } else if (view === 5) { right = [ { key: '警报' }, - { key: '气象预警综述' }, + // { key: '气象预警综述' }, + { key: '河流重要断面预报', style: { height: '40%', flexGrow: 1 } }, + { key: '重要水库预报', style: { height: '18rem', flexGrow: 1 } }, ]; } else if (view === 6) { right = [ @@ -243,6 +257,14 @@ export default function calcLayout(view, rightStack, hidePanels) { ]; rightFullHeight=true + } else if (view === 7) { + right = [ + { key: '预报成果', style: { height: '10rem', flexGrow: 1 } }, + { key: '预警成果', style: { height: '14rem' } }, + { key: '调度成果', style: { height: '15rem', flexGrow: 1 } }, + { key: '方案对比', style: { height: '15.5rem' } }, + ]; + rightFullHeight=true } else if (view === 201) { right = [ { key: '警报' }, @@ -268,6 +290,12 @@ export default function calcLayout(view, rightStack, hidePanels) { right = [ { key: '警报' }, ]; + } else if (view === 207) { + right = [ + { key: '警报' }, + { key: '关联站点',style: { height: '18rem', flexGrow: 1 } }, + + ]; } else if (view === 301) { right = [ // { key: '警报' }, diff --git a/src/views/Home/InfoDlg/DdcgDlg/index.js b/src/views/Home/InfoDlg/DdcgDlg/index.js new file mode 100644 index 0000000..bd2c7ec --- /dev/null +++ b/src/views/Home/InfoDlg/DdcgDlg/index.js @@ -0,0 +1,38 @@ +import React from 'react'; +import DpTab from '../../../../layouts/mui/DpTab'; +import Dialog from '@material-ui/core/Dialog'; +import DialogContent from '@material-ui/core/DialogContent'; +import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent'; +import DpTabs from '../../../../layouts/mui/DpTabs'; +import DpAppBar from '../../../../layouts/mui/DpAppBar'; +import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop'; +import DpCloseButton from '../../../../layouts/mui/DpCloseButton'; + +function HDStDlg({ record, onClose }) { + const [value, setValue] = React.useState(0); + + return ( + +
+ + + setValue(v)}> + + + + + + +
+
+ ) +} + +export default React.memo(HDStDlg); diff --git a/src/views/Home/InfoDlg/FadbDlg/index.js b/src/views/Home/InfoDlg/FadbDlg/index.js new file mode 100644 index 0000000..f0b4e3c --- /dev/null +++ b/src/views/Home/InfoDlg/FadbDlg/index.js @@ -0,0 +1,38 @@ +import React from 'react'; +import DpTab from '../../../../layouts/mui/DpTab'; +import Dialog from '@material-ui/core/Dialog'; +import DialogContent from '@material-ui/core/DialogContent'; +import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent'; +import DpTabs from '../../../../layouts/mui/DpTabs'; +import DpAppBar from '../../../../layouts/mui/DpAppBar'; +import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop'; +import DpCloseButton from '../../../../layouts/mui/DpCloseButton'; + +function HDStDlg({ record, onClose }) { + const [value, setValue] = React.useState(0); + + return ( + +
+ + + setValue(v)}> + + + + + + +
+
+ ) +} + +export default React.memo(HDStDlg); diff --git a/src/views/Home/InfoDlg/YbcgDlg/chart.js b/src/views/Home/InfoDlg/YbcgDlg/chart.js new file mode 100644 index 0000000..29318ef --- /dev/null +++ b/src/views/Home/InfoDlg/YbcgDlg/chart.js @@ -0,0 +1,307 @@ +import React, { useMemo } from 'react'; +import echarts from 'echarts/lib/echarts'; +import ReactEcharts from 'echarts-for-react'; + + +const pallete = [ + ['#177ab3', '#51c3e7'], + ['#9976dc', '#c792ee'], + ['#94a1eb', '#a7caf8'], + ['#7ae5c3', '#c9f4ea'], + ['#c7dca5', '#f5fcd5'], + ['#7988d9', '#9dc6f1'], + ['#d9ed8f', '#d3f89b'], +]; + +const palleteLen = pallete.length; + + + + + +const AreaDrpChart = () => { + const x = [ + "2025-06-02 15:00:00", + "2025-06-02 16:00:00", + "2025-06-02 17:00:00", + "2025-06-02 18:00:00", + "2025-06-02 19:00:00", + "2025-06-02 20:00:00", + "2025-06-02 21:00:00", + "2025-06-03 01:00:00", + "2025-06-03 02:00:00", + "2025-06-03 04:00:00", + "2025-06-03 06:00:00", + "2025-06-03 08:00:00", + "2025-06-03 10:00:00", + "2025-06-03 12:00:00", + "2025-06-03 13:00:00", + "2025-06-03 14:00:00" + ] + const y = [ + 24.05, + 22.04, + 21.03, + 24.03, + 25.02, + 25.02, + 27.02, + 28, + 27.99, + 29.99, + 27.97, + 28.97, + 29.97, + 28.98, + 27.97, + 29.97 + ] + + const y1 = [ + 23.05, + 24.04, + 24.03, + 24.03, + 23.02, + 23.02, + 23.02, + 24, + 23.99, + 23.99, + 23.97, + 23.97, + 23.97, + 23.98, + 23.97, + 23.97 + ] + + const y2 = [ + 23.05, + 23.24, + 23.53, + 23.43, + 23.02, + 23.22, + 23.02, + 23, + 23.19, + 23.29, + 23.57, + 23.57, + 23.67, + 23.78, + 23.87, + 23.67 + ] + + const y3 = [ + 14.05, + 12.24, + 13.53, + 13.43, + 14.02, + 13.22, + 14.02, + 15, + 16.19, + 15.29, + 17.57, + 18.57, + 18.67, + 19.78, + 18.87, + 18.67 + ] + + + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow', + label: { + show: false + } + }, + // valueFormatter: (value) => value + ' 万m³' + }, + grid: { + top: 42, + left: 50, + right: 40, + bottom: 27, + }, + legend: { + data: ['水文预报','全局优先', '兴利优先','实时监测'], + top: '8', + icon:'circle', + left: 'center', + itemWidth: 11,//11, + itemHeight: 11,//11, + textStyle: { + color: '#B9BFC9', + fontSize: 12,//12 + } + }, + xAxis: [ + { + type: 'category', + data: x, + splitLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9' //X轴文字颜色 + }, + formatter: val => val.substr('2020-10-14 '.length, 5), + // rotate: 20, // 角度值:Number + fontSize: 10,//10 + }, + axisLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisTick: { + show: true, + } + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + name: '流量', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 5, + // max: 135, + } + ], + series: [ + { + name: '水文预报', + type: 'line', + barWidth: 10, + data: y, + showSymbol: false, + itemStyle: { + normal: { + color: '#32e1b5' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + name: '全局优先', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y1, + itemStyle: { + normal: { + color: '#f19932' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + name: '兴利优先', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y2, + itemStyle: { + normal: { + color: '#e1554e' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + name: '实时监测', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y3, + itemStyle: { + normal: { + color: '#e1554e' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + } + ] + }; + + return ( + + ) +} + +export default React.memo(AreaDrpChart); diff --git a/src/views/Home/InfoDlg/YbcgDlg/index.js b/src/views/Home/InfoDlg/YbcgDlg/index.js new file mode 100644 index 0000000..d1c569f --- /dev/null +++ b/src/views/Home/InfoDlg/YbcgDlg/index.js @@ -0,0 +1,95 @@ +import React from 'react'; +import DpTab from '../../../../layouts/mui/DpTab'; +import Dialog from '@material-ui/core/Dialog'; +import DialogContent from '@material-ui/core/DialogContent'; +import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent'; +import DpTabs from '../../../../layouts/mui/DpTabs'; +import DpAppBar from '../../../../layouts/mui/DpAppBar'; +import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop'; +import DpCloseButton from '../../../../layouts/mui/DpCloseButton'; +import AreaDrpChart from './chart'; +import Table from '@material-ui/core/Table'; +import TableContainer from '@material-ui/core/TableContainer'; +import TableBody from '@material-ui/core/TableBody'; +import TableHead from '@material-ui/core/TableHead'; +import TableRow from '@material-ui/core/TableRow'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import { useDispatch, useSelector } from 'react-redux'; + + +const data = [ + { name:'水文预报', dm:'华光潭二级...', hfsw:'224.1', hfll:'30.25', tm:'05-29 14:00',num:'12' }, + { name:'全局优化调度', dm:'龙岗假山头', hfsw:'130.55', hfll:'55.65', tm:'05-29 14:30',num:'34' }, + { name:'兴利优先调度', dm:'昌化', hfsw:'103.22', hfll:'75.61', tm:'05-29 15:00',num:'23' }, + { name:'实时监测', dm:'昌化', hfsw:'103.22', hfll:'75.61', tm:'05-29 15:00',num:'23' }, +] + + +function HDStDlg({ record, onClose }) { + const [value, setValue] = React.useState(0); + const dispatch = useDispatch() + + return ( + +
+ + + setValue(v)}> + + + + + +
+ +
+ {/* */} + + + + + + 名称 + 洪峰数量 + 涨水时间(h) + 洪峰时刻 + 退水时间(h) + 洪水历时(h) + 洪峰流量 + 洪水总量 + + + + {data.map((row) => ( + + +
{ + }}>{row.name}
+
+ {'1'} + {row.tm} + {row.tm} + {row.tm} + {row.hfll} + {row.hfll} + {row.hfll} +
+ ))} +
+
+
+
+
+
+ ) +} + +export default React.memo(HDStDlg); diff --git a/src/views/Home/InfoDlg/index.js b/src/views/Home/InfoDlg/index.js index 5cffe11..a2dde16 100644 --- a/src/views/Home/InfoDlg/index.js +++ b/src/views/Home/InfoDlg/index.js @@ -32,6 +32,9 @@ import PdfDlg from './PdfDlg' import SyjcDlg from './SyjcDlg' import SljcDlg from './SljcDlg' import BjDlg from './BjDlg' +import YbcgDlg from './YbcgDlg' +import DdcgDlg from './DdcgDlg' +import FadbDlg from './FadbDlg' function InfoDlg() { @@ -107,8 +110,14 @@ function InfoDlg() { return }else if (layerId === 'BjLayer') { return + } else if (layerId === 'YbcgLayer') { + return + } else if (layerId === 'DdcgLayer') { + return + } else if (layerId === 'FadbLayer') { + return } - + return null; } diff --git a/src/views/Home/MapCtrl/mapstyle/layermgr.js b/src/views/Home/MapCtrl/mapstyle/layermgr.js index e3d6c14..0518b6b 100644 --- a/src/views/Home/MapCtrl/mapstyle/layermgr.js +++ b/src/views/Home/MapCtrl/mapstyle/layermgr.js @@ -1,6 +1,8 @@ import RealDrpLayer from "./realdrplayer"; import RealHDLayer from "./realhdlayer"; +import RealHDLayerQ2 from "./realhdlayerQ2"; import RealSkLayer from "./realsklayer"; +import RealSkLayerQ2 from "./realsklayerQ2"; import sources from "./sources"; import base from "./base"; @@ -67,7 +69,11 @@ class LayerMgr { this.layers.push(new RealDrpLayer()); this.layers.push(new RealHDLayer()); + this.layers.push(new RealHDLayerQ2()); this.layers.push(new RealSkLayer()); + this.layers.push(new RealSkLayerQ2()); + + this.layers.push(new BxSkLayer()); this.layers.push(new YuwaiLayer()); this.layers.push(new PicStLayer()); @@ -170,8 +176,11 @@ class LayerMgr { this.layerMap.PumpLayer.getStyle(), this.layerMap.RealSkLayer.getStyle(), + this.layerMap.RealSkLayerQ2.getStyle(), + this.layerMap.BxSkLayer.getStyle(), this.layerMap.RealHDLayer.getStyle(), + this.layerMap.RealHDLayerQ2.getStyle(), this.layerMap.RealDrpLayer.getStyle(0), this.layerMap.RealDrpLayer.getStyle(1), this.layerMap.YuwaiLayer.getStyle(0), diff --git a/src/views/Home/MapCtrl/mapstyle/realhdlayerQ2.js b/src/views/Home/MapCtrl/mapstyle/realhdlayerQ2.js new file mode 100644 index 0000000..09157a7 --- /dev/null +++ b/src/views/Home/MapCtrl/mapstyle/realhdlayerQ2.js @@ -0,0 +1,127 @@ +import clone from "clone"; +import { HDRealPromise } from "../../../../models/_/real"; +import { parseGeoJSON } from "../../../../utils/tools"; +import { InfoPopNames } from "../../InfoPops"; +import BaseLayer from "./baselayer"; + + +const SourceName = '实时河道水位Q2'; + +const Style = { + id: '实时河道水位Q2', + type: 'symbol', + source: SourceName, + + layout: { + 'icon-allow-overlap': true, + 'text-allow-overlap': true, + 'icon-image': '水位站-警戒', + 'icon-size': [ + 'interpolate', ['linear'], ['zoom'], + 10, 0.8, + 14, 1, + ], + 'text-size': [ + 'interpolate', ['linear'], ['zoom'], + 10, 10, + 14, 16, + ], + 'text-max-width': 30, + 'text-font': ['Roboto Black'], + 'text-field': [ + 'step', + ['zoom'], + [ + 'case', + ['!=', ['get', 'state'], 1], '', + ['concat', ['get', 'rz'], 'm'] + ], + 12, [ + 'case', + ['!=', ['get', 'state'], 1], ['get', 'stnm'], + [ + 'format', + ['get', 'stnm'], { 'font-scale': 0.8, 'text-color': '#fff' }, + '\n', {}, + ['concat', ['get', 'rz'], 'm'], {} + ] + ], + ], + 'text-anchor': 'top', + 'text-offset': [0, 1], + 'visibility': 'none', + }, + paint: { + 'text-color': [ + 'case', + ['!=', ['get', 'state'], 1], '#888', + ['==', ['get', 'warning'], 3], '#f00', + ['==', ['get', 'warning'], 2], 'yellow', + ['==', ['get', 'warning'], 1], 'yellow', + '#0f0' + ], + 'text-halo-color': '#062040', + 'text-halo-width': 1 + } +}; + +export default class RealHDLayerQ2 extends BaseLayer { + + static LayerName = 'RealHDLayerQ2'; + + static SourceName = SourceName; + + getStyle() { + const ret = clone(Style); + this._setStyleVisibility(ret); + + return ret; + } + + getName() { + return RealHDLayerQ2.LayerName; + } + + getSubLayers() { + return [Style.id]; + } + + getRefreshInterval() { + return 60 * 1000; + } + + async doRefreshLayer(mapCtrl) { + const ms = mapCtrl.getSource(SourceName); + const data = [{ + "stcd": "61612900", + "stnm": "阎家河", + "adcd": null, + "wscd": null, + "importancy": 0, + "lgtd": 115.128722, + "lttd": 31.207, + "elev": null, + "hasRz": true, + "type": "sw", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 61.75, + "state": 1 + }]; + ms.setData(parseGeoJSON(data)); + return true; + } + + getFeatureTip(record) { + return record.stnm; + } + + featureClicked(properties, dispatch) { + dispatch.runtime.setFeaturePop({ + type: InfoPopNames.RealHDPop, + properties, + coordinates: [properties.lgtd, properties.lttd], + offsetPop: true, + }); + } +} + diff --git a/src/views/Home/MapCtrl/mapstyle/realsklayer.js b/src/views/Home/MapCtrl/mapstyle/realsklayer.js index 2af3c84..2856d88 100644 --- a/src/views/Home/MapCtrl/mapstyle/realsklayer.js +++ b/src/views/Home/MapCtrl/mapstyle/realsklayer.js @@ -114,41 +114,13 @@ export default class RealSkLayer extends BaseLayer { } }); - data = [...data, { - aRz: -15.38, - a_fsltdz: null, - adcd: null, - damel: 236, - ddz: 204, - drpState: 2, - drpTm: "2021-11-21T00:00:00.000Z", - dsflz: 233.92, - elev: null, - fsltdz: 231, - h1: 0, - h3: 0, - h6: 0, - h12: 0, - h24: 0, - h48: 0, - hasRz: true, - importancy: 0, - lgtd: 114.96994272023744, - lttd: 31.468737175815974, - rz: 215.62, - rzState: 2, - rzTm: "2021-11-21T00:00:00.000Z", - rzWarning: 0, - stcd: "11111000", - stnm: "小玉潭水库", - strarz: "0", - today: 0, - type: "sw", - type2: "swsk", - wscd: null, - zcxsw: 231, - }] } + data.map((item)=>{ + if(item.stnm==='夏家山水库'){ + } + }) + + const list = data.filter(o=>{ if(o.stnm==='青山垸水库'||o.stnm==='七角尖水库'||o.stnm==='杨树庵水库'||o.stnm==='石鼓庙水库'||o.stnm==='张家凹水库'||o.stnm==='大坳水库'){ return false diff --git a/src/views/Home/MapCtrl/mapstyle/realsklayerQ2.js b/src/views/Home/MapCtrl/mapstyle/realsklayerQ2.js new file mode 100644 index 0000000..e9e3ced --- /dev/null +++ b/src/views/Home/MapCtrl/mapstyle/realsklayerQ2.js @@ -0,0 +1,159 @@ +import clone from "clone"; +import { SkRealPromise } from "../../../../models/_/real"; +import { parseGeoJSON } from "../../../../utils/tools"; +import { InfoPopNames } from "../../InfoPops"; +import BaseLayer from "./baselayer"; + + +const SourceName = '实时水库q2'; + + +const ShapeStyle = { + id: SourceName, + type: 'symbol', + source: SourceName, + layout: { + 'icon-allow-overlap': true, + 'text-allow-overlap': true, + 'icon-image': '水库-超汛限', + 'icon-size': [ + 'interpolate', ['linear'], ['zoom'], + 10, 0.8, + 14, 0.8, + ], + + 'text-allow-overlap': true, + 'text-size': [ + 'interpolate', ['linear'], ['zoom'], + 10, 10, + 14, 14, + ], + 'text-font': ['Roboto Black'], + 'text-field': [ + 'step', + ['zoom'], + '', + 12, ['get', 'stnm'] + ], + 'text-anchor': 'top', + 'text-offset': [0, 1], + + 'visibility': 'none', + }, + paint: { + 'text-color': '#fff' + } +}; + +export default class RealSkLayerQ2 extends BaseLayer { + + static LayerName = 'RealSkLayerQ2'; + + static SourceName = SourceName; + + getStyle() { + const ret = clone(ShapeStyle); + this._setStyleVisibility(ret); + return ret; + } + + getName() { + return RealSkLayerQ2.LayerName; + } + + getSubLayers() { + return [ShapeStyle.id]; + } + + getRefreshInterval() { + return 60 * 1000; + } + + + async doRefreshLayer(mapCtrl) { + const ms = mapCtrl.getSource(SourceName); + + let data = [{ + "stcd": "716129061", + "type": "sk", + "hasRz": true, + "stnm": "仰天窝水库", + "adcd": "421181201000", + "wscd": null, + "importancy": 0, + "lgtd": 115.106667, + "lttd": 31.126389, + "elev": 0, + "damel": 325.08, + "dsflz": 324.18, + "fsltdz": 323.5, + "ddz": 319.5, + "zcxsw": 323.5, + "drpTm": "2025-04-11T05:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 0, + "drpState": 2, + "rz": 328.16, + "w": 0.132, + "a_fsltdz": 4.660000000000025, + "rzTm": "2025-04-11T05:00:00.000Z", + "rzWarning": 1, + "rzState": 2, + "pic": [ + { + "stcd": "716129061", + "tm": "2023-03-12T06:05:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716129061/20230312140500.jpg" + }, + { + "stcd": "716129061", + "tm": "2023-03-12T07:25:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716129062/20230312152500.jpg" + } + ], + "aRz": 4.66, + "strarz": "4.66" + }]; + if (Array.isArray(data)) { + data.forEach(o => { + const strarz = o.rz - o.fsltdz; + if (!isNaN(strarz)) { + o.strarz = strarz.toFixed(2); + } + }); + } + + ms.setData(parseGeoJSON(data)); + return true; + } + + + getFeatureTip(record) { + return record.stnm; + } + + featureClicked(properties, dispatch) { + if (properties.stnm === '小玉潭水库') { + /* + dispatch.runtime.setInfoDlg({ + layerId: 'Three', properties: properties + }); + */ + + window.open('http://www.baidu.com') + } else { + dispatch.runtime.setFeaturePop({ + type: InfoPopNames.RealSkPop, + properties, + coordinates: [properties.lgtd, properties.lttd], + offsetPop: true, + }); + } + + } +} diff --git a/src/views/Home/MapCtrl/mapstyle/sources.js b/src/views/Home/MapCtrl/mapstyle/sources.js index 57a84a3..13eb558 100644 --- a/src/views/Home/MapCtrl/mapstyle/sources.js +++ b/src/views/Home/MapCtrl/mapstyle/sources.js @@ -1,7 +1,9 @@ import ContourLayer from "./contourlayer"; import RealDrpLayer from "./realdrplayer"; import RealHDLayer from "./realhdlayer"; +import RealHDLayerQ2 from "./realhdlayerQ2"; import RealSkLayer from "./realsklayer"; +import RealSkLayerQ2 from "./realsklayerQ2"; import { DCPJ_TYPES } from "../../consts"; import WataLayer from "./watalayer"; import PlaneAreaLayer from "./planarealayer"; @@ -228,10 +230,18 @@ const sources = { type: 'geojson', data: { type: 'FeatureCollection', features: [] }, }, + [RealHDLayerQ2.SourceName]: { + type: 'geojson', + data: { type: 'FeatureCollection', features: [] }, + }, [RealSkLayer.SourceName]: { type: 'geojson', data: { type: 'FeatureCollection', features: [] }, }, + [RealSkLayerQ2.SourceName]: { + type: 'geojson', + data: { type: 'FeatureCollection', features: [] }, + }, [PicStLayer.SourceName]: { type: 'geojson', data: { type: 'FeatureCollection', features: [] }, diff --git a/src/views/Home/PanelIndex.js b/src/views/Home/PanelIndex.js index ab4f401..4361355 100644 --- a/src/views/Home/PanelIndex.js +++ b/src/views/Home/PanelIndex.js @@ -100,6 +100,16 @@ import FhxsTqyb from './panels/FhxsTqyb' import FhxsSq from './panels/FhxsSq' import FhxsAreaDrp from './panels/FhxsAreaDrp' import Tqyb24h from './panels/Tqyb24h' +import Hlzydm from './panels/Hlzydm' +import Zyskyb from './panels/Zyskyb' +import Skzl from './panels/Skzl' +import Sklb from './panels/Sklb' +import Glzd from './panels/Glzd' +import Ybdd from './panels/Ybdd' +import Ybcg from './panels/Ybcg' +import Yjcg from './panels/Yjcg' +import Ddcg from './panels/Ddcg' +import Fadb from './panels/Fadb' export default function PanelIndex({ name, style, ...params }) { if (name === '天气') { @@ -302,7 +312,28 @@ export default function PanelIndex({ name, style, ...params }) { return } else if (name === '未来24h预报') { return + } else if (name === '河流重要断面预报') { + return + } else if (name === '重要水库预报') { + return + } else if (name === '水库总览') { + return + } else if (name === '水库列表') { + return + } else if (name === '关联站点') { + return + } else if (name === '预报调度') { + return + } else if (name === '预报成果') { + return + } else if (name === '预警成果') { + return + } else if (name === '调度成果') { + return + } else if (name === '方案对比') { + return } + return (

not impl

diff --git a/src/views/Home/components/ActionDock/index.js b/src/views/Home/components/ActionDock/index.js index c52104c..ec155d0 100644 --- a/src/views/Home/components/ActionDock/index.js +++ b/src/views/Home/components/ActionDock/index.js @@ -15,9 +15,12 @@ const VIEWS = [ { id: 3, title: '预案', img: '/assets/menu/辅助决策.png' }, { id: 4, title: '降雨中心', img: '/assets/menu/预警分析.png' }, { id: 5, title: '天气预报', img: '/assets/menu/降雨中心.png' }, + { id: 7, title: '调度', img: '/assets/menu/辅助决策.png' }, + ] }, { id: 200, title: '水库', img: '/assets/menu/水库专题.png',children:[ + { id: 207, title: '水库总览', img: '/assets/menu/水库管理.png' }, { id: 201, title: '雨情监测', img: '/assets/menu/雨情监测.png' }, { id: 202, title: '水情监测', img: '/assets/menu/水情监测.png' }, { id: 203, title: '安全监测', img: '/assets/menu/安全监测.png' }, diff --git a/src/views/Home/index.js b/src/views/Home/index.js index 6343898..98cc874 100644 --- a/src/views/Home/index.js +++ b/src/views/Home/index.js @@ -82,8 +82,6 @@ export default function Demo1() { ) } - - } ) } diff --git a/src/views/Home/panels/Ddcg/chart.js b/src/views/Home/panels/Ddcg/chart.js new file mode 100644 index 0000000..5e45e06 --- /dev/null +++ b/src/views/Home/panels/Ddcg/chart.js @@ -0,0 +1,304 @@ +import React, { useMemo } from 'react'; +import echarts from 'echarts/lib/echarts'; +import ReactEcharts from 'echarts-for-react'; + + +const pallete = [ + ['#177ab3', '#51c3e7'], + ['#9976dc', '#c792ee'], + ['#94a1eb', '#a7caf8'], + ['#7ae5c3', '#c9f4ea'], + ['#c7dca5', '#f5fcd5'], + ['#7988d9', '#9dc6f1'], + ['#d9ed8f', '#d3f89b'], +]; + +const palleteLen = pallete.length; + + + + + +const AreaDrpChart = () => { + const x = [ + "2025-06-02 15:00:00", + "2025-06-02 16:00:00", + "2025-06-02 17:00:00", + "2025-06-02 18:00:00", + "2025-06-02 19:00:00", + "2025-06-02 20:00:00", + "2025-06-02 21:00:00", + "2025-06-03 01:00:00", + "2025-06-03 02:00:00", + "2025-06-03 04:00:00", + "2025-06-03 06:00:00", + "2025-06-03 08:00:00", + "2025-06-03 10:00:00", + "2025-06-03 12:00:00", + "2025-06-03 13:00:00", + "2025-06-03 14:00:00" + ] + const y = [ + 134.05, + 134.04, + 134.03, + 134.03, + 134.02, + 134.02, + 134.02, + 134, + 133.99, + 133.99, + 133.97, + 133.97, + 133.97, + 133.98, + 133.97, + 133.97 + ] + + const y1 = [ + 13.05, + 14.04, + 14.03, + 14.03, + 13.02, + 13.02, + 13.02, + 14, + 13.99, + 13.99, + 13.97, + 13.97, + 13.97, + 13.98, + 13.97, + 13.97 + ] + + const y2 = [ + 13.05, + 13.24, + 13.53, + 13.43, + 13.02, + 13.22, + 13.02, + 13, + 13.19, + 13.29, + 13.57, + 13.57, + 13.67, + 13.78, + 13.87, + 13.67 + ] + + + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow', + label: { + show: false + } + }, + // valueFormatter: (value) => value + ' 万m³' + }, + grid: { + top: 42, + left: 50, + right: 40, + bottom: 27, + }, + legend: { + data: ['水位','入库流量', '出库流量',], + top: '8', + icon:'circle', + left: 'center', + itemWidth: 11,//11, + itemHeight: 11,//11, + textStyle: { + color: '#B9BFC9', + fontSize: 12,//12 + } + }, + xAxis: [ + { + type: 'category', + data: x, + splitLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9' //X轴文字颜色 + }, + formatter: val => val.substr('2020-10-14 '.length, 5), + // rotate: 20, // 角度值:Number + fontSize: 10,//10 + }, + axisLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisTick: { + show: true, + } + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + name: '水位m', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 133, + // max: 135, + }, + { + type: 'value', + position: 'right', + name: '流量m³/s', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, 30],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: 30, + } + ], + series: [ + { + name: '水位', + type: 'line', + barWidth: 10, + data: y, + showSymbol: false, + itemStyle: { + normal: { + color: '#32e1b5' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + yAxisIndex: 1, + name: '入库流量', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y1, + itemStyle: { + normal: { + color: '#f19932' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + yAxisIndex: 1, + name: '出库流量', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y2, + itemStyle: { + normal: { + color: '#e1554e' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + } + ] + }; + + return ( + + ) +} + +export default React.memo(AreaDrpChart); diff --git a/src/views/Home/panels/Ddcg/index.js b/src/views/Home/panels/Ddcg/index.js new file mode 100644 index 0000000..5c87cfd --- /dev/null +++ b/src/views/Home/panels/Ddcg/index.js @@ -0,0 +1,33 @@ +import React, { useMemo, useState } from 'react'; +import { Switch, FormControlLabel,InputLabel, Select, MenuItem,FormControl } from '@material-ui/core/index' +import { useDispatch, useSelector } from 'react-redux'; +import PanelBox from '../../components/PanelBox'; +import AreaDrpChart from './chart'; + + + +function DrpReal({ style }) { + const dispatch = useDispatch() + + return ( + + {/* */} +
{ + dispatch?.runtime.setInfoDlg({ layerId: 'DdcgLayer', properties: {} }) + }}> + 详情 +
+ + } + > + +
+ ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/Fadb/index.js b/src/views/Home/panels/Fadb/index.js new file mode 100644 index 0000000..9199d18 --- /dev/null +++ b/src/views/Home/panels/Fadb/index.js @@ -0,0 +1,26 @@ +import React, { useMemo, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import PanelBox from '../../components/PanelBox'; + +function DrpReal({ style }) { + const dispatch = useDispatch() + + return ( + { + dispatch?.runtime.setInfoDlg({ layerId: 'FadbLayer', properties: {} }) + }}> + 详情 + + } + > + + + ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/FhxsSq/index.js b/src/views/Home/panels/FhxsSq/index.js index 13fe07d..f134045 100644 --- a/src/views/Home/panels/FhxsSq/index.js +++ b/src/views/Home/panels/FhxsSq/index.js @@ -6,7 +6,135 @@ import AreaDrpChart from './chart'; function DrpReal({ style }) { - const [dimension, setDimension] =useState('ft'); + const [dimension, setDimension] =useState('61614460'); + const data = [ + { + "stcd": "61614460", + "stnm": "项生(宋埠)", + "adcd": "421181000000000", + "wscd": null, + "importancy": 0, + "lgtd": 114.798056, + "lttd": 31.058611, + "elev": null, + "hasRz": true, + "wrz": null, + "wrq": null, + "grz": null, + "grq": null, + "sfz": null, + "sfq": null, + "type": "sh", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 21.91, + "trend": 1, + "state": 1, + "warning": 0, + "maxRz": 21.91, + "maxDate": "2025-06-03T02:00:00.000Z", + "warndes": null + },{ + "stcd": "61613700", + "stnm": "四角门(宋铁二桥)", + "adcd": "421181000000000", + "wscd": null, + "importancy": 0, + "lgtd": 114.8291, + "lttd": 31.0754, + "elev": null, + "hasRz": true, + "wrz": null, + "wrq": null, + "grz": null, + "grq": null, + "sfz": null, + "sfq": null, + "type": "sh", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 27.57, + "trend": 0, + "state": 1, + "warning": 0, + "maxRz": 27.57, + "maxDate": "2025-06-03T01:00:00.000Z", + "warndes": null +},{ + "stcd": "61612910", + "stnm": "桃林河(阎河)", + "adcd": "421181000000000", + "wscd": null, + "importancy": 0, + "lgtd": 115.087777777, + "lttd": 31.164444444, + "elev": null, + "hasRz": true, + "wrz": null, + "wrq": null, + "grz": null, + "grq": null, + "sfz": null, + "sfq": null, + "type": "sh", + "tm": "2025-06-03T02:35:00.000Z", + "rz": 55.67, + "trend": 0, + "state": 1, + "warning": 0, + "maxRz": 55.67, + "maxDate": "2025-06-03T02:00:00.000Z", + "warndes": null +},{ + "stcd": "61615110", + "stnm": "杨梅河(木子店)", + "adcd": "421181000000000", + "wscd": null, + "importancy": 0, + "lgtd": 115.339667, + "lttd": 31.1595, + "elev": null, + "hasRz": true, + "wrz": null, + "wrq": null, + "grz": null, + "grq": null, + "sfz": null, + "sfq": null, + "type": "sh", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 112.71, + "trend": 0, + "state": 1, + "warning": 0, + "maxRz": 112.71, + "maxDate": "2025-06-02T22:00:00.000Z", + "warndes": null +},{ + "stcd": "61612150", + "stnm": "鹰山畈(黄土岗)", + "adcd": "421181000000000", + "wscd": null, + "importancy": 0, + "lgtd": 115.073611, + "lttd": 31.386667, + "elev": null, + "hasRz": true, + "wrz": null, + "wrq": null, + "grz": null, + "grq": null, + "sfz": null, + "sfq": null, + "type": "sh", + "tm": "2025-06-03T02:00:00.000Z", + "rz": 77.12, + "trend": 0, + "state": 1, + "warning": 0, + "maxRz": 77.25, + "maxDate": "2025-06-02T16:00:00.000Z", + "warndes": null +}, + ] return ( @@ -39,10 +167,11 @@ function DrpReal({ style }) { // } // }} > - 水情站1 - 水情站2 - 水情站3 - 水情站4 + { + data.map((item)=> + {item.stnm} + ) + } diff --git a/src/views/Home/panels/Glzd/Setting.js b/src/views/Home/panels/Glzd/Setting.js new file mode 100644 index 0000000..a3055ef --- /dev/null +++ b/src/views/Home/panels/Glzd/Setting.js @@ -0,0 +1,67 @@ +import React from 'react'; + +import Dialog from '@material-ui/core/Dialog'; +import DialogContent from '@material-ui/core/DialogContent'; +import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent'; +import { FormGroup, MenuItem, Select, Switch, Typography } from '@material-ui/core'; +import DpDialogTitle from '../../../../layouts/mui/DpDialogTitle'; +import { useDispatch, useSelector } from 'react-redux'; +import { getLayerSetting, getLayerVisible } from '../../../../models/map/selectors'; +import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop'; + + +function Setting({ onClose }) { + const layerVisible = useSelector(getLayerVisible); + const layerSetting = useSelector(getLayerSetting); + + const dispath = useDispatch(); + + return ( + +
+ + 实时雨量显示设置 + +
+ +
+ 地图实时雨量显示雨量时段 + +
+
+ 显示实时雨量图层 + dispath.map.setLayerVisible({ RealDrpLayer: e.target.checked })} + /> +
+
+
+
+
+
+ ) +} + +export default Setting; diff --git a/src/views/Home/panels/Glzd/index.js b/src/views/Home/panels/Glzd/index.js new file mode 100644 index 0000000..e34cf4b --- /dev/null +++ b/src/views/Home/panels/Glzd/index.js @@ -0,0 +1,1670 @@ +import React, { useMemo, useState } from 'react'; +import useRequest from '../../../../utils/useRequest'; +import { useDispatch, useSelector } from 'react-redux'; +import PanelBox from '../../components/PanelBox'; + +import Table from '@material-ui/core/Table'; +import TableContainer from '@material-ui/core/TableContainer'; +import TableBody from '@material-ui/core/TableBody'; +import TableHead from '@material-ui/core/TableHead'; +import TableRow from '@material-ui/core/TableRow'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import clsx from 'clsx'; +import { renderDrp } from '../../../../utils/renutils'; + +const data1 = [ + { + "res_cd": "42118140035", + "res_lon": 115.14137, + "res_lat": 31.55095, + "cd": "01", + "cd_nm": "GN1", + "res_reg_cd": "42118140006-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181112000", + "town_nm": "福田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "大堰口水库", + "de_value": -4.2885, + "dn_value": -13.5384, + "du_value": 132.4892, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.0981, + "max_dn": -2.3255, + "max_du": 132.4892, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140035", + "res_lon": 115.14137, + "res_lat": 31.55095, + "cd": "03", + "cd_nm": "GN3", + "res_reg_cd": "42118140006-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181112000", + "town_nm": "福田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "大堰口水库", + "de_value": -10.73, + "dn_value": -9.8975, + "du_value": 121.3495, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.0981, + "max_dn": -2.3255, + "max_du": 132.4892, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140035", + "res_lon": 115.14137, + "res_lat": 31.55095, + "cd": "02", + "cd_nm": "GN2", + "res_reg_cd": "42118140006-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181112000", + "town_nm": "福田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "大堰口水库", + "de_value": 1.0981, + "dn_value": -7.0736, + "du_value": 75.4661, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.0981, + "max_dn": -2.3255, + "max_du": 132.4892, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140035", + "res_lon": 115.14137, + "res_lat": 31.55095, + "cd": "04", + "cd_nm": "GN4", + "res_reg_cd": "42118140006-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181112000", + "town_nm": "福田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "大堰口水库", + "de_value": -6.469, + "dn_value": -2.3255, + "du_value": 47.1633, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.0981, + "max_dn": -2.3255, + "max_du": 132.4892, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140011", + "res_lon": 115.11878, + "res_lat": 30.88904, + "cd": "01", + "cd_nm": "GN1", + "res_reg_cd": "42118140019-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181104000", + "town_nm": "夫子河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "黄麻坳水库", + "de_value": -5.5809, + "dn_value": 4.6055, + "du_value": -13.083, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -5.1079, + "max_dn": 4.6055, + "max_du": -11.1644, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140011", + "res_lon": 115.11878, + "res_lat": 30.88904, + "cd": "02", + "cd_nm": "GN2", + "res_reg_cd": "42118140019-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181104000", + "town_nm": "夫子河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "黄麻坳水库", + "de_value": -5.1079, + "dn_value": 3.9064, + "du_value": -12.2936, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -5.1079, + "max_dn": 4.6055, + "max_du": -11.1644, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140017", + "res_lon": 115.14545, + "res_lat": 30.95398, + "cd": "03", + "cd_nm": "GN3", + "res_reg_cd": "42118140031-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "群建水库", + "de_value": 1.166, + "dn_value": 2.1274, + "du_value": 11.5948, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 2.6901, + "max_dn": 3.7945, + "max_du": 11.5948, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140011", + "res_lon": 115.11878, + "res_lat": 30.88904, + "cd": "03", + "cd_nm": "GN3", + "res_reg_cd": "42118140019-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181104000", + "town_nm": "夫子河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "黄麻坳水库", + "de_value": -5.1345, + "dn_value": 3.7423, + "du_value": -11.5382, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -5.1079, + "max_dn": 4.6055, + "max_du": -11.1644, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140022", + "res_lon": 115.39612, + "res_lat": 31.1526, + "cd": "02", + "cd_nm": "GN2", + "res_reg_cd": "42118140014-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "何门咀水库", + "de_value": -0.7313, + "dn_value": 2.702, + "du_value": -11.493, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -0.4931, + "max_dn": 4.3759, + "max_du": -10.0925, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140011", + "res_lon": 115.11878, + "res_lat": 30.88904, + "cd": "04", + "cd_nm": "GN4", + "res_reg_cd": "42118140019-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181104000", + "town_nm": "夫子河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "黄麻坳水库", + "de_value": -5.7038, + "dn_value": 3.3505, + "du_value": -11.1644, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -5.1079, + "max_dn": 4.6055, + "max_du": -11.1644, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140017", + "res_lon": 115.14545, + "res_lat": 30.95398, + "cd": "04", + "cd_nm": "GN4", + "res_reg_cd": "42118140031-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "群建水库", + "de_value": 1.3441, + "dn_value": 3.3718, + "du_value": 10.8126, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 2.6901, + "max_dn": 3.7945, + "max_du": 11.5948, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140022", + "res_lon": 115.39612, + "res_lat": 31.1526, + "cd": "01", + "cd_nm": "GN1", + "res_reg_cd": "42118140014-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "何门咀水库", + "de_value": -0.4931, + "dn_value": 4.3759, + "du_value": -10.0925, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -0.4931, + "max_dn": 4.3759, + "max_du": -10.0925, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140017", + "res_lon": 115.14545, + "res_lat": 30.95398, + "cd": "01", + "cd_nm": "GN1", + "res_reg_cd": "42118140031-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "群建水库", + "de_value": 2.6901, + "dn_value": 3.7368, + "du_value": 8.7918, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 2.6901, + "max_dn": 3.7945, + "max_du": 11.5948, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140017", + "res_lon": 115.14545, + "res_lat": 30.95398, + "cd": "02", + "cd_nm": "GN2", + "res_reg_cd": "42118140031-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "群建水库", + "de_value": 1.5528, + "dn_value": 3.7945, + "du_value": 7.5172, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 2.6901, + "max_dn": 3.7945, + "max_du": 11.5948, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140009", + "res_lon": 114.73138, + "res_lat": 31.01948, + "cd": "04", + "cd_nm": "GN4", + "res_reg_cd": "42118140028-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181102000", + "town_nm": "歧亭镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "鲇鱼坝水库", + "de_value": -2.3116, + "dn_value": -7.9976, + "du_value": -6.8754, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -1.4148, + "max_dn": -7.6521, + "max_du": -3.4337, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140032", + "res_lon": 115.13073, + "res_lat": 31.35489, + "cd": "02", + "cd_nm": "GN2", + "res_reg_cd": "42118140020-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181111000", + "town_nm": "黄土岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "待除险加固", + "label": "2023高标准", + "res_nm": "鸡翅关水库", + "de_value": -4.2641, + "dn_value": -1.5343, + "du_value": -6.8233, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.346, + "max_dn": -1.5343, + "max_du": -3.1838, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140032", + "res_lon": 115.13073, + "res_lat": 31.35489, + "cd": "03", + "cd_nm": "GN3", + "res_reg_cd": "42118140020-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181111000", + "town_nm": "黄土岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "待除险加固", + "label": "2023高标准", + "res_nm": "鸡翅关水库", + "de_value": -1.1126, + "dn_value": -1.7529, + "du_value": -5.7066, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": 1.346, + "max_dn": -1.5343, + "max_du": -3.1838, + "dt": "2025-05-20", + "is_has_data": "y" + }, + { + "res_cd": "42118140009", + "res_lon": 114.73138, + "res_lat": 31.01948, + "cd": "01", + "cd_nm": "GN1", + "res_reg_cd": "42118140028-A4", + "ch": "0+000", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181102000", + "town_nm": "歧亭镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "res_nm": "鲇鱼坝水库", + "de_value": -1.4148, + "dn_value": -10.2713, + "du_value": -5.146, + "de_trend": null, + "dn_trend": null, + "du_trend": null, + "max_de": -1.4148, + "max_dn": -7.6521, + "max_du": -3.4337, + "dt": "2025-05-20", + "is_has_data": "y" + } +] +const data2 = [ + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+060", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_lon": 115.01664, + "res_lat": 31.40681, + "res_nm": "蛤蟆岗水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 164.8742, + "diff_value": -0.0275, + "trend": -1, + "is_has_data": "y", + "diff_rz": -0.6958, + "stcd": "4239", + "diff_rz_cd": 5.0554, + "max_cd_value": -0.0225, + "rz": 165.57, + "dt": "2025-05-20", + "diff5_value": -0.0737, + "trend5": -1, + "diff10_value": -0.1204, + "trend10": -1, + "diff30_value": -0.0633, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+027", + "res_reg_cd": "42118140006-A4", + "res_cd": "42118140035", + "res_lon": 115.14137, + "res_lat": 31.55095, + "res_nm": "大堰口水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181112000", + "town_nm": "福田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 209.4042, + "diff_value": -0.0258, + "trend": -1, + "is_has_data": "y", + "diff_rz": -2.5358, + "stcd": "4159", + "diff_rz_cd": 48.6446, + "max_cd_value": -0.01, + "rz": 211.94, + "dt": "2025-05-20", + "diff5_value": -0.0983, + "trend5": -1, + "diff10_value": -0.1329, + "trend10": -1, + "diff30_value": -0.0954, + "trend30": -1 + }, + { + "cd": "3", + "cd_nm": "UPD3", + "ch": "0+060", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_lon": 115.01664, + "res_lat": 31.40681, + "res_nm": "蛤蟆岗水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 162.6908, + "diff_value": -0.0246, + "trend": -1, + "is_has_data": "y", + "diff_rz": -2.8792, + "stcd": "4239", + "diff_rz_cd": 5.0554, + "max_cd_value": -0.0225, + "rz": 165.57, + "dt": "2025-05-20", + "diff5_value": -0.095, + "trend5": -1, + "diff10_value": -0.123, + "trend10": -1, + "diff30_value": -0.0588, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+038", + "res_reg_cd": "42118140014-A4", + "res_cd": "42118140022", + "res_lon": 115.39612, + "res_lat": 31.1526, + "res_nm": "何门咀水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 139.2533, + "diff_value": -0.0171, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.0767, + "stcd": "4268", + "diff_rz_cd": 24.9337, + "max_cd_value": -0.0045, + "rz": 142.33, + "dt": "2025-05-20", + "diff5_value": -0.0675, + "trend5": -1, + "diff10_value": -0.0627, + "trend10": -1, + "diff30_value": -0.0342, + "trend30": -1 + }, + { + "cd": "4", + "cd_nm": "UPR1", + "ch": "0+055", + "res_reg_cd": "42118140043-A4", + "res_cd": "42118140029", + "res_lon": 115.12048, + "res_lat": 31.18362, + "res_nm": "永红水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181105000", + "town_nm": "阎家河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 116.1513, + "diff_value": -0.0208, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.1187, + "stcd": "5320", + "diff_rz_cd": 38.1171, + "max_cd_value": 0.0009, + "rz": 119.27, + "dt": "2025-05-20", + "diff5_value": -0.082, + "trend5": -1, + "diff10_value": -0.1333, + "trend10": -1, + "diff30_value": -0.0041, + "trend30": -1 + }, + { + "cd": "4", + "cd_nm": "UPR1", + "ch": "0+085", + "res_reg_cd": "42118140020-A4", + "res_cd": "42118140032", + "res_lon": 115.13073, + "res_lat": 31.35489, + "res_nm": "鸡翅关水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181111000", + "town_nm": "黄土岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "待除险加固", + "label": "2023高标准", + "value": 483.1646, + "diff_value": -0.0108, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.2454, + "stcd": "4151", + "diff_rz_cd": 14.6887, + "max_cd_value": -0.0108, + "rz": 486.41, + "dt": "2025-05-20", + "diff5_value": -0.0742, + "trend5": -1, + "diff10_value": -0.1258, + "trend10": -1, + "diff30_value": -0.1708, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+51.6", + "res_reg_cd": "42118140042-A4", + "res_cd": "42118140004", + "res_lon": 115.05541, + "res_lat": 31.11106, + "res_nm": "永丰水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181003000", + "town_nm": "南湖办事处", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 68.1333, + "diff_value": -0.0142, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.2767, + "stcd": "340", + "diff_rz_cd": 23.0069, + "max_cd_value": -0.0142, + "rz": 71.41, + "dt": "2025-05-20", + "diff5_value": -0.0109, + "trend5": -1, + "diff10_value": 0.0087, + "trend10": 1, + "diff30_value": 0.0683, + "trend30": 1 + }, + { + "cd": "7", + "cd_nm": "UPR3", + "ch": "0+060", + "res_reg_cd": "42118140022-A4", + "res_cd": "42118140024", + "res_lon": 115.4501, + "res_lat": 31.3021, + "res_nm": "界岭水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 374.7421, + "diff_value": -0.0412, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.4679, + "stcd": "4276", + "diff_rz_cd": 27.0054, + "max_cd_value": -0.0171, + "rz": 378.21, + "dt": "2025-05-20", + "diff5_value": -0.1442, + "trend5": -1, + "diff10_value": -0.1617, + "trend10": -1, + "diff30_value": -0.1121, + "trend30": -1 + }, + { + "cd": "5", + "cd_nm": "UPR2", + "ch": "0+085", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_lon": 115.01664, + "res_lat": 31.40681, + "res_nm": "蛤蟆岗水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 161.9071, + "diff_value": -0.0246, + "trend": -1, + "is_has_data": "y", + "diff_rz": -3.6629, + "stcd": "4239", + "diff_rz_cd": 5.0554, + "max_cd_value": -0.0225, + "rz": 165.57, + "dt": "2025-05-20", + "diff5_value": -0.0704, + "trend5": -1, + "diff10_value": -0.0804, + "trend10": -1, + "diff30_value": -0.1242, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+145", + "res_reg_cd": "42118140015-A4", + "res_cd": "42118140042", + "res_lon": 114.84792, + "res_lat": 31.44124, + "res_nm": "黑龙潭水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181114000", + "town_nm": "顺河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 121.0708, + "diff_value": -0.028, + "trend": -1, + "is_has_data": "y", + "diff_rz": -4.0992, + "stcd": "5356", + "diff_rz_cd": 37.8067, + "max_cd_value": -0.0254, + "rz": 125.17, + "dt": "2025-05-20", + "diff5_value": -0.1067, + "trend5": -1, + "diff10_value": -0.115, + "trend10": -1, + "diff30_value": 0.3258, + "trend30": 1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+042", + "res_reg_cd": "42118140031-A4", + "res_cd": "42118140017", + "res_lon": 115.14545, + "res_lat": 30.95398, + "res_nm": "群建水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 115.0463, + "diff_value": -0.0254, + "trend": -1, + "is_has_data": "y", + "diff_rz": -4.1337, + "stcd": "5331", + "diff_rz_cd": 11.2642, + "max_cd_value": -0.0238, + "rz": 119.18, + "dt": "2025-05-20", + "diff5_value": -0.0929, + "trend5": -1, + "diff10_value": -0.1241, + "trend10": -1, + "diff30_value": -0.1004, + "trend30": -1 + }, + { + "cd": "2", + "cd_nm": "UPD2", + "ch": "0+060", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_lon": 115.01664, + "res_lat": 31.40681, + "res_nm": "蛤蟆岗水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 161.3038, + "diff_value": -0.0225, + "trend": -1, + "is_has_data": "y", + "diff_rz": -4.2662, + "stcd": "4239", + "diff_rz_cd": 5.0554, + "max_cd_value": -0.0225, + "rz": 165.57, + "dt": "2025-05-20", + "diff5_value": -0.085, + "trend5": -1, + "diff10_value": -0.1233, + "trend10": -1, + "diff30_value": -0.0695, + "trend30": -1 + }, + { + "cd": "3", + "cd_nm": "UPD3", + "ch": "0+080", + "res_reg_cd": "42118140023-A4", + "res_cd": "42118140033", + "res_lon": 114.99636, + "res_lat": 30.70309, + "res_nm": "刘家冲水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181111000", + "town_nm": "黄土岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 83.9746, + "diff_value": -0.0271, + "trend": -1, + "is_has_data": "y", + "diff_rz": -4.7254, + "stcd": "5385", + "diff_rz_cd": 29.575, + "max_cd_value": -0.0196, + "rz": 88.7, + "dt": "2025-05-20", + "diff5_value": -0.0717, + "trend5": -1, + "diff10_value": -0.0979, + "trend10": -1, + "diff30_value": -0.155, + "trend30": -1 + }, + { + "cd": "4", + "cd_nm": "UPR1", + "ch": "0+142", + "res_reg_cd": "42118140015-A4", + "res_cd": "42118140042", + "res_lon": 114.84792, + "res_lat": 31.44124, + "res_nm": "黑龙潭水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181114000", + "town_nm": "顺河镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 120.4183, + "diff_value": -0.0338, + "trend": -1, + "is_has_data": "y", + "diff_rz": -4.7517, + "stcd": "5356", + "diff_rz_cd": 37.8067, + "max_cd_value": -0.0254, + "rz": 125.17, + "dt": "2025-05-20", + "diff5_value": -0.1488, + "trend5": -1, + "diff10_value": -0.2259, + "trend10": -1, + "diff30_value": -0.2617, + "trend30": -1 + }, + { + "cd": "6", + "cd_nm": "UPR3", + "ch": "0+085", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_lon": 115.01664, + "res_lat": 31.40681, + "res_nm": "蛤蟆岗水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 160.5146, + "diff_value": -0.0254, + "trend": -1, + "is_has_data": "y", + "diff_rz": -5.0554, + "stcd": "4239", + "diff_rz_cd": 5.0554, + "max_cd_value": -0.0225, + "rz": 165.57, + "dt": "2025-05-20", + "diff5_value": -0.0867, + "trend5": -1, + "diff10_value": -0.0787, + "trend10": -1, + "diff30_value": -0.0375, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+030", + "res_reg_cd": "42118140022-A4", + "res_cd": "42118140024", + "res_lon": 115.4501, + "res_lat": 31.3021, + "res_nm": "界岭水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 372.9888, + "diff_value": -0.0233, + "trend": -1, + "is_has_data": "y", + "diff_rz": -5.2212, + "stcd": "4276", + "diff_rz_cd": 27.0054, + "max_cd_value": -0.0171, + "rz": 378.21, + "dt": "2025-05-20", + "diff5_value": -0.0862, + "trend5": -1, + "diff10_value": -0.1062, + "trend10": -1, + "diff30_value": -0.1783, + "trend30": -1 + }, + { + "cd": "3", + "cd_nm": "UPD3", + "ch": "0+100", + "res_reg_cd": "42118140022-A4", + "res_cd": "42118140024", + "res_lon": 115.4501, + "res_lat": 31.3021, + "res_nm": "界岭水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "非病险水库", + "label": "2023高标准", + "value": 372.6217, + "diff_value": -0.0171, + "trend": -1, + "is_has_data": "y", + "diff_rz": -5.5883, + "stcd": "4276", + "diff_rz_cd": 27.0054, + "max_cd_value": -0.0171, + "rz": 378.21, + "dt": "2025-05-20", + "diff5_value": -0.0954, + "trend5": -1, + "diff10_value": -0.1379, + "trend10": -1, + "diff30_value": -0.235, + "trend30": -1 + }, + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+095", + "res_reg_cd": "42118140020-A4", + "res_cd": "42118140032", + "res_lon": 115.13073, + "res_lat": 31.35489, + "res_nm": "鸡翅关水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181111000", + "town_nm": "黄土岗镇", + "bas_guid": "鄂东五河片区", + "eng_scal": "小(1)型", + "danger_stat": "待除险加固", + "label": "2023高标准", + "value": 480.7392, + "diff_value": -0.0237, + "trend": -1, + "is_has_data": "y", + "diff_rz": -5.6708, + "stcd": "4151", + "diff_rz_cd": 14.6887, + "max_cd_value": -0.0108, + "rz": 486.41, + "dt": "2025-05-20", + "diff5_value": -0.0804, + "trend5": -1, + "diff10_value": -0.1033, + "trend10": -1, + "diff30_value": -0.0479, + "trend30": -1 + } +] +const data3 = [{ + "cd": "1", + "cd_nm": "WE", + "ch": "1", + "res_reg_cd": "42118140042-A4", + "res_cd": "42118140004", + "res_nm": "永丰水库", + "res_lon": 115.05541, + "res_lat": 31.11106, + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181003000", + "town_nm": "南湖办事处", + "danger_stat": "非病险水库", + "bas_guid": "鄂东五河片区", + "label": "2023高标准", + "eng_scal": "小(1)型", + "value": 0.3, + "diff_value": -0.02, + "trend": -1, + "dt": "2025-05-20", + "is_has_data": "y", + "max_value": 0.3 +}] +const data4 = [ + { + "res_cd": "42118140004", + "res_nm": "永丰水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181003000", + "town_nm": "南湖办事处", + "rv_name": "举水", + "bas_guid": "鄂东五河片区", + "res_lon": 115.05541, + "res_lat": 31.11106, + "res_reg_cd": "42118140042-A4", + "eng_scal": "小(1)型", + "eng_g": "IV", + "children": [ + { + "res_cd": "42118140004", + "res_nm": "永丰水库", + "cd": 5821, + "cd_nm": "永丰水库", + "termite_status": "n", + "tm": "2025-05-21 09:18:28", + "is_main_cd": "y" + } + ] + }, + { + "res_cd": "42118140015", + "res_nm": "麻城坳水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181107000", + "town_nm": "盐田河镇", + "rv_name": "举水", + "bas_guid": "鄂东五河片区", + "res_lon": 115.22541, + "res_lat": 30.98156, + "res_reg_cd": "42118140025-A4", + "eng_scal": "小(1)型", + "eng_g": "IV", + "children": [ + { + "res_cd": "42118140015", + "res_nm": "麻城坳水库", + "cd": 5820, + "cd_nm": "麻城坳水库", + "termite_status": "y", + "tm": "2025-05-21 04:27:18", + "is_main_cd": "y" + } + ] + }, + { + "res_cd": "42118140023", + "res_nm": "游家冲水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181109000", + "town_nm": "木子店镇", + "rv_name": "巴河", + "bas_guid": "鄂东五河片区", + "res_lon": 115.29541, + "res_lat": 31.20317, + "res_reg_cd": "42118140044-A4", + "eng_scal": "小(1)型", + "eng_g": "IV", + "children": [ + { + "res_cd": "42118140023", + "res_nm": "游家冲水库", + "cd": 5819, + "cd_nm": "游家冲水库", + "termite_status": "n", + "tm": "2025-05-21 04:25:56", + "is_main_cd": "y" + } + ] + }, + { + "res_cd": "42118140013", + "res_nm": "高峰水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181106000", + "town_nm": "龟山镇", + "rv_name": "举水", + "bas_guid": "鄂东五河片区", + "res_lon": 115.21201, + "res_lat": 31.05011, + "res_reg_cd": "42118140010-A4", + "eng_scal": "小(1)型", + "eng_g": "IV", + "children": null + }, + { + "res_cd": "42118140039", + "res_nm": "姚家河水库", + "province_cd": "420000000000", + "province_nm": "湖北省", + "city_cd": "421100000000", + "city_nm": "黄冈市", + "county_cd": "421181000000", + "county_nm": "麻城市", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", + "rv_name": "举水", + "bas_guid": "鄂东五河片区", + "res_lon": 114.9355, + "res_lat": 31.28804, + "res_reg_cd": "42118140041-A4", + "eng_scal": "小(1)型", + "eng_g": "IV", + "children": null + } +] + +function DrpReal({ style }) { + const [tab,setTab] = useState('1') + const dispatch = useDispatch(); + + + return ( + + { + dispatch.map.setLayerVisible({'BxjcLayer':true}); + dispatch.map.setLayerVisible({'SyjcLayer':false}); + dispatch.map.setLayerVisible({'SljcLayer':false}); + dispatch.map.setLayerVisible({'ByjcLayer':false}); + setTab('1') + }}>雨量站 + { + dispatch.map.setLayerVisible({'BxjcLayer':false}); + dispatch.map.setLayerVisible({'SyjcLayer':true}); + dispatch.map.setLayerVisible({'SljcLayer':false}); + dispatch.map.setLayerVisible({'ByjcLayer':false}); + setTab('2') + }}>水位站 + { + dispatch.map.setLayerVisible({'BxjcLayer':false}); + dispatch.map.setLayerVisible({'SyjcLayer':false}); + dispatch.map.setLayerVisible({'SljcLayer':true}); + dispatch.map.setLayerVisible({'ByjcLayer':false}); + setTab('3') + }}>流量站 + { + dispatch.map.setLayerVisible({'BxjcLayer':false}); + dispatch.map.setLayerVisible({'SyjcLayer':false}); + dispatch.map.setLayerVisible({'SljcLayer':false}); + dispatch.map.setLayerVisible({'ByjcLayer':true}); + setTab('4') + }}>图像站 + { + dispatch.map.setLayerVisible({'BxjcLayer':false}); + dispatch.map.setLayerVisible({'SyjcLayer':false}); + dispatch.map.setLayerVisible({'SljcLayer':false}); + dispatch.map.setLayerVisible({'ByjcLayer':true}); + setTab('4') + }}>视频站 + + } + > + + + { + tab==='1'? + + + + 序号 + 水库名称 + 行政区 + 测点 + + + + {data1.map((row,index) => ( + + {index+1} + +
{ + const { res_lon:lgtd, res_lat:lttd } = row; + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 15, + pitch: 60, + bearing: 0 + }); + } + }}>{row.res_nm}
+
+ {row.town_nm} + {row.cd_nm} +
+ ))} +
+
:null + } + { + tab==='2'? + + + + 序号 + 水库名称 + 行政区 + 测点 + 渗压水位 + 监测时间 + + + + + {data2.map((row,index) => ( + + {index+1} + +
{ + const { res_lon:lgtd, res_lat:lttd } = row; + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 15, + pitch: 60, + bearing: 0 + }); + } + }}>{row.res_nm}
+
+ {row.town_nm} + {row.cd_nm} + {row.value} + {row.dt} + +
+ ))} +
+
:null + } + { + tab==='3'? + + + + 序号 + 水库名称 + 行政区 + 测点 + 渗流量 + 监测时间 + + + + {data3.map((row,index) => ( + + {index+1} + +
{ + const { res_lon:lgtd, res_lat:lttd } = row; + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 15, + pitch: 60, + bearing: 0 + }); + } + }}>{row.res_nm}
+
+ {row.town_nm} + {row.cd_nm} + {row.value} + {row.dt} +
+ ))} +
+
:null + } + { + tab==='4'? + + + + 序号 + 水库名称 + 行政区 + 测点 + 状态 + {/* 监测时间 */} + + + + {data4.map((row,index) => ( + + {index+1} + +
{ + const { res_lon:lgtd, res_lat:lttd } = row; + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 15, + pitch: 60, + bearing: 0 + }); + } + }}>{row.res_nm}
+
+ {row.town_nm} + {row.res_nm} + {row?.children?.[0]?.termite_status==='y'?
有白蚁
:
无白蚁
}
+ {/* {row.dt} */} +
+ ))} +
+
:null + } +
+
+ ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/Hlzydm/index.js b/src/views/Home/panels/Hlzydm/index.js new file mode 100644 index 0000000..feec797 --- /dev/null +++ b/src/views/Home/panels/Hlzydm/index.js @@ -0,0 +1,62 @@ +import React, { useMemo, useState } from 'react'; +import useRequest from '../../../../utils/useRequest'; +import PanelBox from '../../components/PanelBox'; + +import Table from '@material-ui/core/Table'; +import TableContainer from '@material-ui/core/TableContainer'; +import TableBody from '@material-ui/core/TableBody'; +import TableHead from '@material-ui/core/TableHead'; +import TableRow from '@material-ui/core/TableRow'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import appconsts from '../../../../models/appconsts'; +import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils'; + + +const data = [ + { name:'余家河', dm:'华光潭二级...', hfsw:'224.1', hfll:'30.25', tm:'05-29 14:00' }, + { name:'朱家河', dm:'龙岗假山头', hfsw:'130.55', hfll:'55.65', tm:'05-29 14:30' }, + { name:'举水', dm:'昌化', hfsw:'103.22', hfll:'75.61', tm:'05-29 15:00' }, + { name:'巴水', dm:'河桥', hfsw:'85.86', hfll:'15.72', tm:'05-30 02:00' }, + { name:'沙河', dm:'於潜', hfsw:'69.09', hfll:'15.11', tm:'05-29 14:00' }, +] + +function SkReal({ style }) { + + return ( + + + + + + 河流名称 + 断面名称 + 洪峰水位 + 洪峰流量 + 峰现时间 + + + + {data.map((row) => ( + + +
{}}>{row.name}
+
+ {row.dm} + {row.hfsw} + {row.hfll} + {row.tm} +
+ ))} +
+
+
+
+ ) +} + +export default React.memo(SkReal); diff --git a/src/views/Home/panels/Overall/OverallContent.js b/src/views/Home/panels/Overall/OverallContent.js index 8bf1196..a4d0847 100644 --- a/src/views/Home/panels/Overall/OverallContent.js +++ b/src/views/Home/panels/Overall/OverallContent.js @@ -135,9 +135,15 @@ export default function OverallContent({ data }) {
{tm1 || '-'}{tm2 || '-'} - 24小时中共有{strNumber(h24?.drpStCount?.total, '-')} + 24小时中共有 + {/* {strNumber(h24?.drpStCount?.total, '-')} */} + 378 + 个降雨测站(山洪测站 - {strNumber(h24?.drpStCount?.sh, '-')} + + {/* {strNumber(h24?.drpStCount?.sh, '-')} */} + 35 + 个),其中最大降雨测站为 showRecord(h24?.max)} className={classes.stname}>{h24?.max?.stnm || '-'} ,降雨量{strNumber(h24?.max?.value, '-')}mm {h24?.cntDrp10 > 0 && (<>,10mm以下测站数为{strNumber(h24?.cntDrp10, '-')}个)} diff --git a/src/views/Home/panels/Sklb/index.js b/src/views/Home/panels/Sklb/index.js new file mode 100644 index 0000000..9ef1f54 --- /dev/null +++ b/src/views/Home/panels/Sklb/index.js @@ -0,0 +1,217 @@ +import React, { useMemo, useState } from 'react'; +import useRequest from '../../../../utils/useRequest'; +import PanelBox from '../../components/PanelBox'; + +import Table from '@material-ui/core/Table'; +import TableContainer from '@material-ui/core/TableContainer'; +import TableBody from '@material-ui/core/TableBody'; +import TableHead from '@material-ui/core/TableHead'; +import TableRow from '@material-ui/core/TableRow'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import appconsts from '../../../../models/appconsts'; +import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils'; + + +const data = [ + { + "stcd": "61614200", + "type": "sk", + "hasRz": true, + "stnm": "浮桥河水库", + "adcd": "421181100000", + "wscd": null, + "importancy": 0, + "lgtd": 114.875, + "lttd": 31.166667, + "elev": 0, + "damel": 71.33, + "dsflz": 68.04, + "fsltdz": 64.89, + "ddz": 51.78, + "zcxsw": 64.89, + "drpTm": "2025-06-03T02:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 16.5, + "drpState": 1, + "rz": 60.71, + "w": 162.8, + "a_fsltdz": -4.18, + "rzTm": "2025-06-03T02:00:00.000Z", + "rzWarning": 0, + "rzState": 1, + "aRz": -4.18, + "strarz": "-4.18", + "type":"大型", + }, + { + "stcd": "61613010", + "type": "sk", + "hasRz": true, + "stnm": "明山水库", + "adcd": "421181103000", + "wscd": null, + "importancy": 0, + "lgtd": 115.066667, + "lttd": 31.016667, + "elev": 0, + "damel": 98.7, + "dsflz": 96.07, + "fsltdz": 93, + "ddz": 78.02, + "zcxsw": 93, + "drpTm": "2025-06-03T02:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 12.5, + "drpState": 1, + "rz": 84.43, + "w": 49.5, + "a_fsltdz": -8.569999999999993, + "rzTm": "2025-06-03T02:00:00.000Z", + "rzWarning": 0, + "rzState": 1, + "aRz": -8.57, + "strarz": "-8.57", + "type":"大型", + }, + { + "stcd": "716128301", + "type": "sk", + "hasRz": true, + "stnm": "新庙水库", + "adcd": "421181201000", + "wscd": null, + "importancy": 0, + "lgtd": 115.2125, + "lttd": 31.077222, + "elev": 0, + "damel": 21, + "dsflz": 18.88, + "fsltdz": 17.8, + "ddz": 7.6, + "zcxsw": 17.8, + "drpTm": "2025-04-11T05:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 0, + "drpState": 2, + "rz": 651.46, + "w": 0.154, + "a_fsltdz": 633.6600000000001, + "rzTm": "2025-04-11T05:00:00.000Z", + "rzWarning": 1, + "rzState": 2, + "type":"小(2)型", + "pic": [ + { + "stcd": "716128301", + "tm": "2023-03-12T06:04:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716128301/20230312140400.jpg" + }, + { + "stcd": "716128301", + "tm": "2023-03-12T06:29:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716128302/20230312142900.jpg" + } + ], + "aRz": 633.66, + "strarz": "633.66" + }, + { + "stcd": "7CS000021", + "type": "sk", + "hasRz": true, + "stnm": "夏家山水库", + "adcd": "421181104000", + "wscd": null, + "importancy": 0, + "lgtd": 115.108333, + "lttd": 30.920556, + "elev": 0, + "damel": 14.2, + "dsflz": 13, + "fsltdz": 12.55, + "ddz": 4.8, + "zcxsw": 12.55, + "drpTm": "2025-04-11T06:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 0, + "drpState": 2, + "rz": 532.4, + "w": 0.075, + "a_fsltdz": 519.85, + "rzTm": "2025-04-11T06:00:00.000Z", + "rzWarning": 1, + "rzState": 2, + "type":"小(2)型", + "pic": [ + { + "stcd": "7CS000021", + "tm": "2022-11-17T04:04:59.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2022/1117/7CS000021/20221117120459.jpg" + }, + { + "stcd": "7CS000021", + "tm": "2022-11-17T04:10:28.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2022/1117/7CS000022/20221117121028.jpg" + } + ], + "aRz": 519.85, + "strarz": "519.85" + } +] + +function SkReal({ style }) { + + return ( + + + + + + 水库名称 + 类型 + 库容 + + + + {data.map((row) => ( + + +
{}}>{row.stnm}
+
+ {row.type} + {row.w} +
+ ))} +
+
+
+
+ ) +} + +export default React.memo(SkReal); diff --git a/src/views/Home/panels/Skzl/chart.js b/src/views/Home/panels/Skzl/chart.js new file mode 100644 index 0000000..cd1fea9 --- /dev/null +++ b/src/views/Home/panels/Skzl/chart.js @@ -0,0 +1,139 @@ +import React, { useMemo } from 'react'; +import echarts from 'echarts/lib/echarts'; +import ReactEcharts from 'echarts-for-react'; + + +const pallete = [ + ['#177ab3', '#51c3e7'], + ['#9976dc', '#c792ee'], + ['#94a1eb', '#a7caf8'], + ['#7ae5c3', '#c9f4ea'], + ['#c7dca5', '#f5fcd5'], + ['#7988d9', '#9dc6f1'], + ['#d9ed8f', '#d3f89b'], +]; + +const palleteLen = pallete.length; + +const data = [ + [ + "2025-06-02 15:00:00", + 134.05 + ], + [ + "2025-06-02 16:00:00", + 134.04 + ], + [ + "2025-06-02 17:00:00", + 134.03 + ], + [ + "2025-06-02 18:00:00", + 134.03 + ], + [ + "2025-06-02 19:00:00", + 134.02 + ], + [ + "2025-06-02 20:00:00", + 134.02 + ], + [ + "2025-06-02 21:00:00", + 134.02 + ], + [ + "2025-06-03 01:00:00", + 134 + ], + [ + "2025-06-03 02:00:00", + 133.99 + ], + [ + "2025-06-03 04:00:00", + 133.99 + ], + [ + "2025-06-03 06:00:00", + 133.97 + ], + [ + "2025-06-03 08:00:00", + 133.97 + ], + [ + "2025-06-03 10:00:00", + 133.97 + ], + [ + "2025-06-03 12:00:00", + 133.98 + ], + [ + "2025-06-03 13:00:00", + 133.97 + ], + [ + "2025-06-03 14:00:00", + 133.97 + ] +] + + + + +const AreaDrpChart = () => { + + const color= [ + '#6187e6', + '#77caa1', + '#5c6988', + '#e2b642', + ] + + var option = { + color: color, + title : { + x:'center' + }, + tooltip : { + trigger: 'item', + formatter: "{a}
{b} : {c} ({d}%)" + }, + // legend: { + // orient : 'vertical', + // x : 'left', + // data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'] + // }, + toolbox: { + show : false, + }, + calculable : true, + series : [ + { + name:'访问来源', + type:'pie', + radius : '65%', + center: ['50%', '60%'], + data:[ + {value:3, name:'大型水库'}, + {value:7, name:'中型水库'}, + {value:44, name:'小(1)型水库'}, + {value:271, name:'小(2)型水库'}, + ] + } + ] + }; + + return ( + + ) +} + +export default React.memo(AreaDrpChart); diff --git a/src/views/Home/panels/Skzl/index.js b/src/views/Home/panels/Skzl/index.js new file mode 100644 index 0000000..e251ab6 --- /dev/null +++ b/src/views/Home/panels/Skzl/index.js @@ -0,0 +1,34 @@ +import React, { useMemo, useState } from 'react'; +import { Switch, FormControlLabel,InputLabel, Select, MenuItem,FormControl } from '@material-ui/core/index' +import PanelBox from '../../components/PanelBox'; +import AreaDrpChart from './chart'; + + + +function DrpReal({ style }) { + const [dimension, setDimension] =useState('ft'); + + + return ( + +
+
+ +
+
+
大型水库
+
中型水库
+
小(1)型水库
+
小(2)型水库
+
+
+
麻城市共有 325 座水库,其中大型水库 3 座(浮桥河水库45490万m³、明山水库16900万m³、三河口水库16926万m³),中型水库 7 座(总库容约 1.627亿m³),小(1)型水库 44 座、小(2)型水库 271 座,全市水库总库容约 11.56 亿m³。
+
+ ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/Tqyb24h/chart.js b/src/views/Home/panels/Tqyb24h/chart.js new file mode 100644 index 0000000..42eb8da --- /dev/null +++ b/src/views/Home/panels/Tqyb24h/chart.js @@ -0,0 +1,228 @@ +import React, { useMemo } from 'react'; +import echarts from 'echarts/lib/echarts'; +import ReactEcharts from 'echarts-for-react'; + + +const pallete = [ + ['#177ab3', '#51c3e7'], + ['#9976dc', '#c792ee'], + ['#94a1eb', '#a7caf8'], + ['#7ae5c3', '#c9f4ea'], + ['#c7dca5', '#f5fcd5'], + ['#7988d9', '#9dc6f1'], + ['#d9ed8f', '#d3f89b'], +]; + +const palleteLen = pallete.length; + + + + + +const AreaDrpChart = () => { + const x = [ + "2025-06-02 15:00:00", + "2025-06-02 16:00:00", + "2025-06-02 17:00:00", + "2025-06-02 18:00:00", + "2025-06-02 19:00:00", + "2025-06-02 20:00:00", + "2025-06-02 21:00:00", + "2025-06-03 01:00:00", + "2025-06-03 02:00:00", + "2025-06-03 04:00:00", + "2025-06-03 06:00:00", + "2025-06-03 08:00:00", + "2025-06-03 10:00:00", + "2025-06-03 12:00:00", + "2025-06-03 13:00:00", + "2025-06-03 14:00:00" + ] + const y = [ + 0, + 0, + 0, + 0, + 0, + 1.02, + 1.02, + 1, + 0, + 0, + 0, + 1.97, + 1.23, + 0, + 0, + 0 + ] + + const y1 = [ + 13.05, + 14.04, + 14.03, + 14.03, + 13.02, + 13.02, + 13.02, + 14, + 13.99, + 13.99, + 13.97, + 13.97, + 13.97, + 13.98, + 13.97, + 13.97 + ] + + const y2 = [ + 13.05, + 13.24, + 13.53, + 13.43, + 13.02, + 13.22, + 13.02, + 13, + 13.19, + 13.29, + 13.57, + 13.57, + 13.67, + 13.78, + 13.87, + 13.67 + ] + + + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow', + label: { + show: false + } + }, + // valueFormatter: (value) => value + ' 万m³' + }, + grid: { + top: 42, + left: 50, + right: 40, + bottom: 27, + }, + legend: { + data: ['雨量'], + top: '8', + icon:'circle', + left: 'center', + itemWidth: 11,//11, + itemHeight: 11,//11, + textStyle: { + color: '#B9BFC9', + fontSize: 12,//12 + } + }, + xAxis: [ + { + type: 'category', + data: x, + splitLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9' //X轴文字颜色 + }, + formatter: val => val.substr('2020-10-14 '.length, 5), + // rotate: 20, // 角度值:Number + fontSize: 10,//10 + }, + axisLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisTick: { + show: true, + } + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + name: '雨量mm', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: 5, + } + ], + series: [ + { + name: '雨量', + type: 'bar', + barWidth: 10, + data: y, + showSymbol: false, + itemStyle: { + normal: { + color: '#32e1b5' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + } + ] + }; + + return ( + + ) +} + +export default React.memo(AreaDrpChart); diff --git a/src/views/Home/panels/Tqyb24h/dsld.js b/src/views/Home/panels/Tqyb24h/dsld.js new file mode 100644 index 0000000..f13fc2e --- /dev/null +++ b/src/views/Home/panels/Tqyb24h/dsld.js @@ -0,0 +1,2676 @@ +import clsx from 'clsx'; +import React, { useMemo, useState,useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import useRequest from '../../../../utils/useRequest'; +import PanelBox from '../../components/PanelBox'; +import { + Box, + Typography, + Checkbox, + FormControlLabel, + ButtonGroup, + Button, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + IconButton, + Collapse, + Paper + } from '@material-ui/core'; + import RemoveIcon from '@material-ui/icons/Remove'; +import { makeStyles } from '@material-ui/core/styles'; +import AddIcon from '@material-ui/icons/Add'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import appconsts from '../../../../models/appconsts'; +import { DatePicker } from 'antd'; +import { SkRealPromise } from '../../../../models/_/real'; +import { InfoPopNames } from '../../InfoPops'; +import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils'; +import config from '../../../../config'; +import moment from 'moment'; +const { RangePicker } = DatePicker; + +const lyData = [ + { + "id": "FE220003640420000", + "name": "唐崖河", + "drp": 0.1, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FE223017470420000", + "name": "南河", + "drp": 0.1, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FE225417700420000", + "name": "土溪河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FE224122490420000", + "name": "青狮河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "WFE22001211Z0000", + "name": "蛇盘溪河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FA851L26420420000", + "name": "野猫河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FA85A813600420001", + "name": "曲江河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FA85B120410420000", + "name": "龙洞河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "WFE22001291P0000", + "name": "冷水河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FA85A813600420000", + "name": "忠建河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "FE243615050420000", + "name": "龙嘴河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "WFE22001211j0000", + "name": "白家河", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + } +] +const qyData = [ + { + "id": "422826203", + "name": "小村乡", + "drp": 0.1, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826204", + "name": "黄金洞乡", + "drp": 0.1, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0.1 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826102", + "name": "坪坝营镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826100", + "name": "高乐山镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826105", + "name": "唐崖镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826104", + "name": "清坪镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826106", + "name": "曲江镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826101", + "name": "忠堡镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826103", + "name": "朝阳寺镇", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826202", + "name": "活龙坪乡", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + }, + { + "id": "422826400", + "name": "大路坝区", + "drp": 0, + "lgtd": null, + "lttd": null, + "timeRainVos": [ + { + "tm": "2025-06-03 09:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 10:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 11:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 12:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 13:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 14:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 15:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 16:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 17:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 18:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 19:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 20:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 21:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 22:00:00", + "drp": 0 + }, + { + "tm": "2025-06-03 23:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 00:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 01:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 02:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 03:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 04:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 05:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 06:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 07:00:00", + "drp": 0 + }, + { + "tm": "2025-06-04 08:00:00", + "drp": 0 + } + ] + } +] +const ljtj = [ + {'level':'≥250',children:[],stcd:'001'}, + {'level':'100~250',children:[],stcd:'002'}, + {'level':'50~100',children:[],stcd:'003'}, + {'level':'25~50',children:[],stcd:'004'}, + {'level':'10~25',children:[],stcd:'005'}, + {'level':'0.1~10',stcd:'006',children:[ + { + "stcd": "60848595", + "sttp": null, + "stnm": "田坝雨量站", + "stlc": "咸丰县小村乡田坝", + "drp": 0.1, + "adcd": "422826203000000", + "adnm": "小村乡", + "resCode": null, + "resName": null, + "basCode": "FE223017470420000", + "basName": "南河", + "lgtd": "108.947777800", + "lttd": "29.950277780", + "source": null, + "rainTag": 1, + "yesDrp": null, + "stype": null + } + ]}, +] + +const useStyles = makeStyles((theme) => ({ + root: { + color: '#fff' + }, + table: { + '& .MuiTableCell-root': { + color: '#fff', + borderBottom: '1px solid rgba(255, 255, 255, 0.1)' + } + }, + warningRow: { + '&.immediate': { + backgroundColor: '#d32f2f' + }, + '&.prepare': { + backgroundColor: '#ed6c02' + } + }, + expandIcon: { + marginRight: theme.spacing(1), + fontSize: 20, + cursor: 'pointer', + transition: 'transform 0.3s', + '&.expanded': { + transform: 'rotate(180deg)' + } + }, + warningCount: { + marginLeft: theme.spacing(1) + }, + expandedContent: { + backgroundColor: 'rgba(0, 0, 0, 0.2)', + padding: theme.spacing(2) + }, + statsSection: { + marginTop: theme.spacing(4) + }, + statsTitle: { + color: '#1976d2', + marginBottom: theme.spacing(3) + }, + warningStats: { + display: 'flex', + justifyContent: 'space-around', + marginTop: theme.spacing(2) + }, + statItem: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center' + }, + warningIcon: { + fontSize: 40, + marginBottom: theme.spacing(1), + '&.immediate': { + color: '#d32f2f' + }, + '&.prepare': { + color: '#ed6c02' + } + }, + })); + +export default function AreaDrp({ style }) { + const dispatch = useDispatch(); + const classes = useStyles(); + const [params, setParams] = useState({ tm: [moment(),moment().add(1,'days')] }) + const [tabVal, setTabVal] = useState('1') + const [expanded, setExpanded] = useState({}); + let { data } = useRequest(SkRealPromise.get); + const sortedData = useMemo(() => (data || []).sort((a, b) => (b.aRz - a.aRz), [data])); + + const flyTo = (record) => { + const { lgtd, lttd } = record; + if (lgtd && lttd) { + dispatch.runtime.setFeaturePop({ type: InfoPopNames.RealSkPop, properties: record, coordinates: [lgtd, lttd] }); + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd + config.poiPositionOffsetY.sk], + zoom: config.poiPositionZoom.sk, + pitch: config.poiPitch, + bearing: 0, + }); + } + } + + const handleExpand = (type) => { + setExpanded(prev => ({ + // ...prev, + [type]: !prev[type] + })); + }; + + return ( + <> +
时段选择 +
+ { + setParams({ + ...params, + stm: e[0].format("YYYY-MM-DD HH:mm"), + etm: e[1].format("YYYY-MM-DD HH:mm"), + tm:e, + }) + }} + allowClear + format="YYYY-MM-DD HH:mm" + showTime={{ + format: 'HH:mm', + }} + value={params.tm} + /> +
+
+ + + + + + 站名 + 累计雨量(mm) + 所属政区 + 所属流域 + + + + {ljtj.map((row) => ( + <> + + + + {expanded[row.stcd] ? ( + handleExpand(row.stcd)} + /> + ) : ( + handleExpand(row.stcd)} + /> + )} + + + +
{}}>{row.level+"("+row.children.length+")"}
+
+ + + +
+ + + +
+
+ { + row.children.map((i,index)=>( +
+
{i.stnm}
+
{i.drp}
+
{i.adnm}
+
{i.basName}
+
+ )) + } +
+
+
+
+
+ + ))} +
+
+
+
+ 站点统计(个):120 + 其中有雨站点(个):120 +
+ + + ) +} diff --git a/src/views/Home/panels/Tqyb24h/index.js b/src/views/Home/panels/Tqyb24h/index.js index 1425d7a..011786f 100644 --- a/src/views/Home/panels/Tqyb24h/index.js +++ b/src/views/Home/panels/Tqyb24h/index.js @@ -1,9 +1,10 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import PanelBox from '../../components/PanelBox'; import clsx from 'clsx'; import { useDispatch, useSelector } from 'react-redux'; import { Button, Grid, makeStyles } from '@material-ui/core' import Yb24h from './yb24h' +import Dsld from './dsld' const useStyles = makeStyles({ root: { @@ -31,7 +32,21 @@ const useStyles = makeStyles({ export default function AreaDrp({ style }) { const classes = useStyles(); + const dispatch = useDispatch(); const [tab,setTab] = useState('1') + useEffect(()=>{ + if(tab==='1'){ + dispatch.rcview.showRealContour('h24') + }else{ + dispatch.rcview.showRealContour('h48') + } + + return ()=>{ + dispatch.runtime.setLayerSetting({ contour: null, dem: undefined }); + dispatch.runtime.setLayerSetting({ planeArea: null }); + dispatch.map.setLayerVisible({ ContourLayer: false }); + } + },[tab]) return ( @@ -65,6 +80,11 @@ export default function AreaDrp({ style }) { :null } + { + tab==='2'? + + :null + } ) } diff --git a/src/views/Home/panels/Tqyb24h/yb24h.js b/src/views/Home/panels/Tqyb24h/yb24h.js index dbca1cb..d8ce49b 100644 --- a/src/views/Home/panels/Tqyb24h/yb24h.js +++ b/src/views/Home/panels/Tqyb24h/yb24h.js @@ -2,23 +2,104 @@ import clsx from 'clsx'; import React, { useMemo, useState,useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import useRequest from '../../../../utils/useRequest'; +import { + Box, + Typography, + Checkbox, + FormControlLabel, + ButtonGroup, + Button, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + IconButton, + Collapse, + Paper + } from '@material-ui/core'; import PanelBox from '../../components/PanelBox'; -import TableContainer from '@material-ui/core/TableContainer'; -import TableBody from '@material-ui/core/TableBody'; -import TableHead from '@material-ui/core/TableHead'; -import TableRow from '@material-ui/core/TableRow'; +import RemoveIcon from '@material-ui/icons/Remove'; +import WarningIcon from '@material-ui/icons/Warning'; +import AddIcon from '@material-ui/icons/Add'; import DpTableCell from '../../../../layouts/mui/DpTableCell'; import DpTableRow from '../../../../layouts/mui/DpTableRow'; import appconsts from '../../../../models/appconsts'; -import Table from '@material-ui/core/Table'; import { DatePicker } from 'antd'; import { SkRealPromise } from '../../../../models/_/real'; import { InfoPopNames } from '../../InfoPops'; +import { makeStyles } from '@material-ui/core/styles'; import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils'; import config from '../../../../config'; import moment from 'moment'; +import AreaDrpChart from './chart'; + const { RangePicker } = DatePicker; +const useStyles = makeStyles((theme) => ({ + root: { + color: '#fff' + }, + table: { + '& .MuiTableCell-root': { + color: '#fff', + borderBottom: '1px solid rgba(255, 255, 255, 0.1)' + } + }, + warningRow: { + '&.immediate': { + backgroundColor: '#d32f2f' + }, + '&.prepare': { + backgroundColor: '#ed6c02' + } + }, + expandIcon: { + marginRight: theme.spacing(1), + fontSize: 20, + cursor: 'pointer', + transition: 'transform 0.3s', + '&.expanded': { + transform: 'rotate(180deg)' + } + }, + warningCount: { + marginLeft: theme.spacing(1) + }, + expandedContent: { + backgroundColor: 'rgba(0, 0, 0, 0.2)', + padding: theme.spacing(2) + }, + statsSection: { + marginTop: theme.spacing(4) + }, + statsTitle: { + color: '#1976d2', + marginBottom: theme.spacing(3) + }, + warningStats: { + display: 'flex', + justifyContent: 'space-around', + marginTop: theme.spacing(2) + }, + statItem: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center' + }, + warningIcon: { + fontSize: 40, + marginBottom: theme.spacing(1), + '&.immediate': { + color: '#d32f2f' + }, + '&.prepare': { + color: '#ed6c02' + } + }, + })); + const lyData = [ { "id": "FE220003640420000", @@ -2438,9 +2519,38 @@ const qyData = [ ] } ] +const ljtj = [ + {'level':'≥250',children:[],stcd:'001'}, + {'level':'100~250',children:[],stcd:'002'}, + {'level':'50~100',children:[],stcd:'003'}, + {'level':'25~50',children:[],stcd:'004'}, + {'level':'10~25',children:[],stcd:'005'}, + {'level':'0.1~10',stcd:'006',children:[ + { + "stcd": "60848595", + "sttp": null, + "stnm": "田坝雨量站", + "stlc": "咸丰县小村乡田坝", + "drp": 0.1, + "adcd": "422826203000000", + "adnm": "小村乡", + "resCode": null, + "resName": null, + "basCode": "FE223017470420000", + "basName": "南河", + "lgtd": "108.947777800", + "lttd": "29.950277780", + "source": null, + "rainTag": 1, + "yesDrp": null, + "stype": null + } + ]}, +] export default function AreaDrp({ style }) { const dispatch = useDispatch(); + const classes = useStyles(); const [params, setParams] = useState({ tm: [moment(),moment().add(1,'days')] }) const [tabVal, setTabVal] = useState('1') let { data } = useRequest(SkRealPromise.get); @@ -2458,6 +2568,14 @@ export default function AreaDrp({ style }) { }); } } + const [expanded, setExpanded] = useState({}); + + const handleExpand = (type) => { + setExpanded(prev => ({ + // ...prev, + [type]: !prev[type] + })); + }; return ( <> @@ -2488,7 +2606,7 @@ export default function AreaDrp({ style }) { value={params.tm} />
- +
- 名称 + + 名称 雨量 - {/* 水位 */} - {/* 超汛限 */} {sortedData.map((row) => ( + <> -
flyTo(row)}>{row.stnm}
+ + {expanded[row.stcd] ? ( + handleExpand(row.stcd)} + /> + ) : ( + handleExpand(row.stcd)} + /> + )} + +
+ +
flyTo(row)}>{row.stnm}
- {/* {'-'} */} {row?.rz} - {/* {renderSkArz(row)} */}
+ + + + + + + + + + ))}
@@ -2545,22 +2686,45 @@ export default function AreaDrp({ style }) { - 名称 + + 名称 雨量 - {/* 水位 */} - {/* 超汛限 */} {lyData.map((row) => ( - - -
{}}>{row.name}
-
- {/* {'-'} */} - {'-'} - {/* {renderSkArz(row)} */} -
+ <> + + + + {expanded[row.id] ? ( + handleExpand(row.id)} + /> + ) : ( + handleExpand(row.id)} + /> + )} + + + +
{}}>{row.name}
+
+ {row?.drp||'0'} +
+ + + + + + + + + + ))}
@@ -2571,22 +2735,109 @@ export default function AreaDrp({ style }) { - 名称 - 雨量 - {/* 水位 */} - {/* 超汛限 */} + + 名称 + 雨量 {qyData.map((row) => ( - - -
{}}>{row.name}
-
- {/* {'-'} */} - {'-'} - {/* {renderSkArz(row)} */} -
+ <> + + + + {expanded[row.id] ? ( + handleExpand(row.id)} + /> + ) : ( + handleExpand(row.id)} + /> + )} + + + +
{}}>{row.name}
+
+ {row?.drp||'0'} +
+ + + + + + + + + + + ))} +
+
+ :null + } + { + tabVal==='4'? + + + + + 站名 + 累计雨量(mm) + 所属政区 + 所属流域 + + + + {ljtj.map((row) => ( + <> + + + + {expanded[row.stcd] ? ( + handleExpand(row.stcd)} + /> + ) : ( + handleExpand(row.stcd)} + /> + )} + + + +
{}}>{row.level+"("+row.children.length+")"}
+
+ + + +
+ + + +
+
+ { + row.children.map((i,index)=>( +
+
{i.stnm}
+
{i.drp}
+
{i.adnm}
+
{i.basName}
+
+ )) + } +
+
+
+
+
+ ))}
diff --git a/src/views/Home/panels/Warn/ARzSk.js b/src/views/Home/panels/Warn/ARzSk.js index 6d4b5a1..e0d639b 100644 --- a/src/views/Home/panels/Warn/ARzSk.js +++ b/src/views/Home/panels/Warn/ARzSk.js @@ -36,7 +36,52 @@ function Item({ data, viewInfo, sendMessage }) { } function ARzSk({ data }) { - data = data || []; + data = [{ + "stcd": "716129061", + "type": "sk", + "hasRz": true, + "stnm": "仰天窝水库", + "adcd": "421181201000", + "wscd": null, + "importancy": 0, + "lgtd": 115.106667, + "lttd": 31.126389, + "elev": 0, + "damel": 325.08, + "dsflz": 324.18, + "fsltdz": 323.5, + "ddz": 319.5, + "zcxsw": 323.5, + "drpTm": "2025-04-11T05:00:00.000Z", + "today": 0, + "h1": 0, + "h3": 0, + "h6": 0, + "h12": 0, + "h24": 0, + "h48": 0, + "drpState": 2, + "rz": 328.16, + "w": 0.132, + "a_fsltdz": 4.660000000000025, + "rzTm": "2025-04-11T05:00:00.000Z", + "rzWarning": 1, + "rzState": 2, + "pic": [ + { + "stcd": "716129061", + "tm": "2023-03-12T06:05:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716129061/20230312140500.jpg" + }, + { + "stcd": "716129061", + "tm": "2023-03-12T07:25:00.000Z", + "url": "http://223.75.53.106:8891/skjgimages/2023/0312/716129062/20230312152500.jpg" + } + ], + "aRz": 4.66, + "strarz": "4.66" +}]; const dispatch = useDispatch(); const flyTo = (record) => { diff --git a/src/views/Home/panels/Warn/Hdyj.js b/src/views/Home/panels/Warn/Hdyj.js index babb33c..64bb02d 100644 --- a/src/views/Home/panels/Warn/Hdyj.js +++ b/src/views/Home/panels/Warn/Hdyj.js @@ -22,8 +22,8 @@ function Item({ data, viewInfo, flyTo }) { return (
-
-
+ {/*
+
*/}
@@ -33,7 +33,8 @@ function Item({ data, viewInfo, flyTo }) {
{appconsts.stWarnStatus[data.status]}
- {`报警水位${rz}m,测站${appconsts.stWarnLevel[data.level]}为${brz ?? '-'}m,超${arz || '-'}m`} + {/* {`报警水位${rz}m,测站${appconsts.stWarnLevel[data.level]}为${brz ?? '-'}m,超${arz || '-'}m`} */} + {`报警水位${rz}m,测站${appconsts.stWarnLevel[data.level||2]}为${brz ?? '77'}m,超${'0.12'}m`}
报警: {tm1} diff --git a/src/views/Home/panels/Warn/index.js b/src/views/Home/panels/Warn/index.js index 5b9ea28..3127b2b 100644 --- a/src/views/Home/panels/Warn/index.js +++ b/src/views/Home/panels/Warn/index.js @@ -40,24 +40,25 @@ export default function Warn({ style }) { dispatch.overallview.setWarnType('sk')} - >超汛限水库{bxData?.aRzSk?.length ? {bxData?.aRzSk?.length} : null} + >水库预警{bxData?.aRzSk?.length ? {bxData?.aRzSk?.length} : null} dispatch.overallview.setWarnType('hd')} - >河道预警{hdyj?.length ? {hdyj?.length} : null} + >河道预警 + {/* {hdyj?.length ? {hdyj?.length} : null} */} - dispatch.overallview.setWarnType('qx')} >气象预警{shqx?.maxLv ? {shqx.maxLv} : null} - + */} } > {warnType === 'sh' ? : null} - {/* {warnType === 'sk' ? : null} */} - {warnType === 'sk' ? : null} + {warnType === 'sk' ? : null} + {/* {warnType === 'sk' ? : null} */} {warnType === 'hd' ? : null} {warnType === 'qx' ? : null} diff --git a/src/views/Home/panels/Ybcg/index.js b/src/views/Home/panels/Ybcg/index.js new file mode 100644 index 0000000..3499a7a --- /dev/null +++ b/src/views/Home/panels/Ybcg/index.js @@ -0,0 +1,62 @@ +import React, { useMemo, useState } from 'react'; +import useRequest from '../../../../utils/useRequest'; +import PanelBox from '../../components/PanelBox'; +import { useDispatch, useSelector } from 'react-redux'; +import Table from '@material-ui/core/Table'; +import TableContainer from '@material-ui/core/TableContainer'; +import TableBody from '@material-ui/core/TableBody'; +import TableHead from '@material-ui/core/TableHead'; +import TableRow from '@material-ui/core/TableRow'; +import DpTableCell from '../../../../layouts/mui/DpTableCell'; +import DpTableRow from '../../../../layouts/mui/DpTableRow'; +import appconsts from '../../../../models/appconsts'; +import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils'; + + +const data = [ + { name:'明山水库雨量站(新站)', dm:'华光潭二级...', hfsw:'224.1', hfll:'30.25', tm:'05-29 14:00' }, + { name:'明山水库雨水情监测(新站)', dm:'龙岗假山头', hfsw:'130.55', hfll:'55.65', tm:'05-29 14:30' }, + { name:'明山水库(水文)', dm:'昌化', hfsw:'103.22', hfll:'75.61', tm:'05-29 15:00' }, +] + +function SkReal({ style }) { + const dispatch = useDispatch(); + + + return ( + + + + + + 名称 + 洪峰时间 + 最高水位 + 洪峰流量 + + + + {data.map((row) => ( + + +
{ + dispatch?.runtime.setInfoDlg({ layerId: 'YbcgLayer', properties: {} }) + }}>{row.name}
+
+ {row.tm} + {row.hfsw} + {row.hfll} +
+ ))} +
+
+
+
+ ) +} + +export default React.memo(SkReal); diff --git a/src/views/Home/panels/Ybdd/index.js b/src/views/Home/panels/Ybdd/index.js new file mode 100644 index 0000000..ab61547 --- /dev/null +++ b/src/views/Home/panels/Ybdd/index.js @@ -0,0 +1,23 @@ +import React, { useMemo, useState } from 'react'; +import PanelBox from '../../components/PanelBox'; + +function DrpReal({ style }) { + + return ( + + // + // + // + // } + > + + + ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/Yjcg/index.js b/src/views/Home/panels/Yjcg/index.js new file mode 100644 index 0000000..4c3ec03 --- /dev/null +++ b/src/views/Home/panels/Yjcg/index.js @@ -0,0 +1,23 @@ +import React, { useMemo, useState } from 'react'; +import PanelBox from '../../components/PanelBox'; + +function DrpReal({ style }) { + + return ( + + // + // + // + // } + > + + + ) +} + +export default DrpReal; diff --git a/src/views/Home/panels/Zyskyb/chart.js b/src/views/Home/panels/Zyskyb/chart.js new file mode 100644 index 0000000..e84ab38 --- /dev/null +++ b/src/views/Home/panels/Zyskyb/chart.js @@ -0,0 +1,304 @@ +import React, { useMemo } from 'react'; +import echarts from 'echarts/lib/echarts'; +import ReactEcharts from 'echarts-for-react'; + + +const pallete = [ + ['#177ab3', '#51c3e7'], + ['#9976dc', '#c792ee'], + ['#94a1eb', '#a7caf8'], + ['#7ae5c3', '#c9f4ea'], + ['#c7dca5', '#f5fcd5'], + ['#7988d9', '#9dc6f1'], + ['#d9ed8f', '#d3f89b'], +]; + +const palleteLen = pallete.length; + + + + + +const AreaDrpChart = () => { + const x = [ + "2025-06-02 15:00:00", + "2025-06-02 16:00:00", + "2025-06-02 17:00:00", + "2025-06-02 18:00:00", + "2025-06-02 19:00:00", + "2025-06-02 20:00:00", + "2025-06-02 21:00:00", + "2025-06-03 01:00:00", + "2025-06-03 02:00:00", + "2025-06-03 04:00:00", + "2025-06-03 06:00:00", + "2025-06-03 08:00:00", + "2025-06-03 10:00:00", + "2025-06-03 12:00:00", + "2025-06-03 13:00:00", + "2025-06-03 14:00:00" + ] + const y = [ + 134.05, + 134.04, + 134.03, + 134.03, + 134.02, + 134.02, + 134.02, + 134, + 133.99, + 133.99, + 133.97, + 133.97, + 133.97, + 133.98, + 133.97, + 133.97 + ] + + const y1 = [ + 13.05, + 14.04, + 14.03, + 14.03, + 13.02, + 13.02, + 13.02, + 14, + 13.99, + 13.99, + 13.97, + 13.97, + 13.97, + 13.98, + 13.97, + 13.97 + ] + + const y2 = [ + 13.05, + 13.24, + 13.53, + 13.43, + 13.02, + 13.22, + 13.02, + 13, + 13.19, + 13.29, + 13.57, + 13.57, + 13.67, + 13.78, + 13.87, + 13.67 + ] + + + var option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow', + label: { + show: false + } + }, + // valueFormatter: (value) => value + ' 万m³' + }, + grid: { + top: 42, + left: 50, + right: 40, + bottom: 27, + }, + legend: { + data: ['水位','入库流量', '出库流量',], + top: '8', + icon:'circle', + left: 'center', + itemWidth: 11,//11, + itemHeight: 11,//11, + textStyle: { + color: '#B9BFC9', + fontSize: 12,//12 + } + }, + xAxis: [ + { + type: 'category', + data: x, + splitLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9' //X轴文字颜色 + }, + formatter: val => val.substr('2020-10-14 '.length, 5), + // rotate: 20, // 角度值:Number + fontSize: 10,//10 + }, + axisLine: { + show: true, //隐藏X轴轴线 + lineStyle: { + color: 'rgba(255,255,255,0.2)', + width: 0 + } + }, + axisTick: { + show: true, + } + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + name: '水位m', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 133, + // max: 135, + }, + { + type: 'value', + position: 'right', + name: '流量m³/s', + nameTextStyle: { + color: '#B9BFC9', + fontSize: 10,//10, + padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 + }, + nameGap: 17, + + splitLine: { + show: true, + lineStyle: { + width: 1, + color: 'rgba(255,255,255,0.2)' + } + }, + axisLabel: { + show: true, + textStyle: { + color: '#B9BFC9', + fontSize: 11,//11 + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: 30, + } + ], + series: [ + { + name: '水位', + type: 'line', + barWidth: 10, + data: y, + showSymbol: false, + itemStyle: { + normal: { + color: '#32e1b5' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + yAxisIndex: 1, + name: '入库流量', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y1, + itemStyle: { + normal: { + color: '#f19932' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + }, + { + yAxisIndex: 1, + name: '出库流量', + type: 'line', + barWidth: 10, + showSymbol: false, + data: y2, + itemStyle: { + normal: { + color: '#e1554e' + }, + }, + // label: { + // show: true, + // position: 'top', + // color: '#bbb', + // fontSize: 12, + // textShadowBlur: 4, + // textShadowColor: '#6ab', + // }, + } + ] + }; + + return ( + + ) +} + +export default React.memo(AreaDrpChart); diff --git a/src/views/Home/panels/Zyskyb/index.js b/src/views/Home/panels/Zyskyb/index.js new file mode 100644 index 0000000..5c38ad3 --- /dev/null +++ b/src/views/Home/panels/Zyskyb/index.js @@ -0,0 +1,56 @@ +import React, { useMemo, useState } from 'react'; +import { Switch, FormControlLabel,InputLabel, Select, MenuItem,FormControl } from '@material-ui/core/index' +import PanelBox from '../../components/PanelBox'; +import AreaDrpChart from './chart'; + + + +function DrpReal({ style }) { + const [dimension, setDimension] =useState('ft'); + + + return ( + + {/* */} +
+ +
+ + } + > + +
+ ) +} + +export default DrpReal;