180 lines
5.4 KiB
JavaScript
180 lines
5.4 KiB
JavaScript
|
|
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 clsx from 'clsx';
|
|||
|
|
import { renderDrp } from '../../../../utils/renutils';
|
|||
|
|
import moment from 'moment';
|
|||
|
|
import config from '../../../../config';
|
|||
|
|
|
|||
|
|
const data = [
|
|||
|
|
{
|
|||
|
|
"stcd": "716129061",
|
|||
|
|
"type": "sk",
|
|||
|
|
"hasRz": true,
|
|||
|
|
"stnm": "仰天窝水库",
|
|||
|
|
event: '仰天窝水库蓄水量<30%',
|
|||
|
|
types:'干旱',
|
|||
|
|
"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": 325.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
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"stcd": "61612910",
|
|||
|
|
"stnm": "桃林河(阎河)",
|
|||
|
|
"adcd": "421181000000000",
|
|||
|
|
event: '桃林河河道水位超警',
|
|||
|
|
types: '洪涝',
|
|||
|
|
|
|||
|
|
"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": "61612610",
|
|||
|
|
"type": "sk",
|
|||
|
|
"hasRz": true,
|
|||
|
|
"stnm": "三河口水库",
|
|||
|
|
event: '三河口水库水源地水质突变',
|
|||
|
|
types:'水质污染',
|
|||
|
|
"adcd": "421181109000",
|
|||
|
|
"wscd": null,
|
|||
|
|
"importancy": 0,
|
|||
|
|
"lgtd": 115.166667,
|
|||
|
|
"lttd": 31.333333,
|
|||
|
|
"elev": 0,
|
|||
|
|
"damel": 156.8,
|
|||
|
|
"dsflz": 154.99,
|
|||
|
|
"fsltdz": 149,
|
|||
|
|
"ddz": 124,
|
|||
|
|
"zcxsw": 149,
|
|||
|
|
"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": 141.45,
|
|||
|
|
"w": 77.8,
|
|||
|
|
"a_fsltdz": -7.550000000000011,
|
|||
|
|
"rzTm": "2025-06-03T01:00:00.000Z",
|
|||
|
|
"rzWarning": 0,
|
|||
|
|
"rzState": 1,
|
|||
|
|
"aRz": -7.55
|
|||
|
|
},
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
function DrpReal({ style }) {
|
|||
|
|
const dispatch = useDispatch();
|
|||
|
|
const flyTo = (record) => {
|
|||
|
|
const { lgtd, lttd } = record;
|
|||
|
|
const types = record.type == 'sk' ? 'RealSkPop' :'RealHDPop'
|
|||
|
|
if (lgtd && lttd) {
|
|||
|
|
dispatch.runtime.setFeaturePop({ type:types, properties: {...record,events:1}, coordinates: [lgtd, lttd] });
|
|||
|
|
dispatch.runtime.setCameraTarget({
|
|||
|
|
center: [lgtd, lttd + config.poiPositionOffsetY.hd],
|
|||
|
|
zoom: config.poiPositionZoom.hd,
|
|||
|
|
pitch: config.poiPitch,
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return (
|
|||
|
|
<PanelBox
|
|||
|
|
style={style}
|
|||
|
|
title="应急事件"
|
|||
|
|
color="green"
|
|||
|
|
>
|
|||
|
|
<TableContainer style={{ height: '100%' }}>
|
|||
|
|
<Table size="small" stickyHeader>
|
|||
|
|
<TableHead>
|
|||
|
|
<TableRow>
|
|||
|
|
<DpTableCell style={{ width: '10%' }} align="center">序号</DpTableCell>
|
|||
|
|
<DpTableCell style={{ width: '35%' }} align="center">事件名称</DpTableCell>
|
|||
|
|
<DpTableCell style={{ width: '20%' }} align="center">事件类型</DpTableCell>
|
|||
|
|
<DpTableCell style={{ width: '35%' }} align="center">发生时间</DpTableCell>
|
|||
|
|
</TableRow>
|
|||
|
|
</TableHead>
|
|||
|
|
<TableBody>
|
|||
|
|
{data.map((row,index) => (
|
|||
|
|
<DpTableRow key={row.stcd} onClick={() => flyTo(row)}>
|
|||
|
|
<DpTableCell align="center">{index+1}</DpTableCell>
|
|||
|
|
<DpTableCell align="center">{row.event}</DpTableCell>
|
|||
|
|
<DpTableCell align="center">{row.types}</DpTableCell>
|
|||
|
|
<DpTableCell align="center">{moment(row.drpTm).format('YYYY-MM-DD HH:mm:ss')}</DpTableCell>
|
|||
|
|
</DpTableRow>
|
|||
|
|
))}
|
|||
|
|
</TableBody>
|
|||
|
|
</Table>
|
|||
|
|
</TableContainer>
|
|||
|
|
</PanelBox>
|
|||
|
|
)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default DrpReal;
|