mcfxkh-Web/src/views/Home/panels/Byjc/index.js

1422 lines
40 KiB
JavaScript
Raw Normal View History

2025-06-12 14:10:02 +08:00
import React, { useMemo, useState, useEffect } from 'react';
2025-06-06 16:30:16 +08:00
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 { Select, MenuItem } from '@material-ui/core/index'
import { renderDrp } from '../../../../utils/renutils';
2025-06-11 11:10:37 +08:00
import { parseGeoJSON } from "../../../../utils/tools";
2025-06-06 16:30:16 +08:00
2025-06-11 11:10:37 +08:00
function DrpReal({ style }) {
2025-06-12 14:10:02 +08:00
const [tab, setTab] = useState('1')
2025-06-11 11:10:37 +08:00
const dispatch = useDispatch();
2025-06-12 14:10:02 +08:00
const [dimension, setDimension] = useState('浮桥河水库');
2025-06-11 11:10:37 +08:00
const onChange = (event) => {
const value = event.target.value;
setDimension(value);
}
2025-06-12 14:10:02 +08:00
2025-06-11 11:10:37 +08:00
const data1 = [
2025-06-12 14:10:02 +08:00
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140035",
"lgtd": 114.88089,
"lttd": 31.171467,
"cd": "01",
2025-06-12 14:10:02 +08:00
"cd_nm": "GN1",
'stnm': 'GN1',
dm: "0+60",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140006-A4",
"ch": "0+000",
2025-06-06 16:30:16 +08:00
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
2025-06-11 11:10:37 +08:00
"town_cd": "421181112000",
"town_nm": "福田河镇",
2025-06-06 16:30:16 +08:00
"bas_guid": "鄂东五河片区",
"eng_scal": "小1型",
2025-06-11 11:10:37 +08:00
"danger_stat": "非病险水库",
"label": "2023高标准",
"res_nm": "浮桥河水库",
"de_value": -11.5381,
"dn_value": -11.2248,
"du_value": 113.8833,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 2.9303,
"max_dn": -2.1648,
"max_du": 113.8833,
"dt": "2025-05-25",
"is_has_data": "y"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140035",
"lgtd": 115.14137,
"lttd": 31.55095,
"cd": "02",
2025-06-12 14:10:02 +08:00
"cd_nm": "GN2",
'stnm': 'GN2',
dm: "0+60",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140035",
"lgtd": 115.14137,
"lttd": 31.55095,
"cd": "04",
"cd_nm": "GN3",
2025-06-12 14:10:02 +08:00
dm: "0+60",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "01",
"cd_nm": "GN1",
2025-06-12 14:10:02 +08:00
dm: "0+120",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "02",
"cd_nm": "GN2",
2025-06-12 14:10:02 +08:00
dm: "0+120",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140017",
"lgtd": 115.14545,
"lttd": 30.95398,
"cd": "03",
"cd_nm": "GN3",
2025-06-12 14:10:02 +08:00
dm: "0+120",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "03",
"cd_nm": "GN1",
2025-06-12 14:10:02 +08:00
dm: "0+180",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140022",
"lgtd": 115.39612,
"lttd": 31.1526,
"cd": "02",
"cd_nm": "GN2",
2025-06-12 14:10:02 +08:00
dm: "0+180",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "04",
"cd_nm": "GN3",
2025-06-12 14:10:02 +08:00
dm: "0+180",
2025-06-11 11:10:37 +08:00
"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"
2025-06-12 14:10:02 +08:00
},
2025-06-11 11:10:37 +08:00
]
const data2 = [
2025-06-12 14:10:02 +08:00
{
2025-06-11 11:10:37 +08:00
"cd": "1",
"cd_nm": "UPD1",
2025-06-12 14:10:02 +08:00
stnm: 'UPD1',
2025-06-11 11:10:37 +08:00
"ch": "0+060",
2025-06-12 14:10:02 +08:00
dm: "0+70",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140011-A4",
"res_cd": "42118140038",
2025-06-12 14:10:02 +08:00
"lgtd": 114.87929 + 0.0019,
2025-06-11 11:10:37 +08:00
"lttd": 31.171467,
"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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"cd": "1",
"cd_nm": "UPD2",
"ch": "0+027",
2025-06-12 14:10:02 +08:00
dm: "0+70",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140006-A4",
"res_cd": "42118140035",
"lgtd": 115.14137,
"lttd": 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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"cd": "3",
"cd_nm": "UPD3",
"ch": "0+070",
2025-06-12 14:10:02 +08:00
dm: "0+70",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140011-A4",
"res_cd": "42118140038",
"lgtd": 115.01664,
"lttd": 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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"cd": "1",
"cd_nm": "UPD1",
"ch": "0+038",
2025-06-12 14:10:02 +08:00
dm: "0+140",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140014-A4",
"res_cd": "42118140022",
"lgtd": 115.39612,
"lttd": 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
2025-06-12 14:10:02 +08:00
},
2025-06-11 11:10:37 +08:00
2025-06-12 14:10:02 +08:00
{
2025-06-11 11:10:37 +08:00
"cd": "4",
"cd_nm": "UPD2",
"ch": "0+085",
2025-06-12 14:10:02 +08:00
dm: "0+140",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140020-A4",
"res_cd": "42118140032",
"lgtd": 115.13073,
"lttd": 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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"cd": "1",
"cd_nm": "UPD3",
"ch": "0+51.6",
2025-06-12 14:10:02 +08:00
dm: "0+140",
2025-06-11 11:10:37 +08:00
"res_reg_cd": "42118140042-A4",
2025-06-06 16:30:16 +08:00
"res_cd": "42118140004",
2025-06-11 11:10:37 +08:00
"lgtd": 115.05541,
"lttd": 31.11106,
2025-06-06 16:30:16 +08:00
"res_nm": "永丰水库",
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
"town_cd": "421181003000",
"town_nm": "南湖办事处",
"bas_guid": "鄂东五河片区",
2025-06-11 11:10:37 +08:00
"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
2025-06-12 14:10:02 +08:00
},
2025-06-11 11:10:37 +08:00
]
const data3 = [
{
"cd": "1",
"cd_nm": "WE1",
"ch": "1",
2025-06-12 14:10:02 +08:00
'stnm': 'WE1',
2025-06-06 16:30:16 +08:00
"res_reg_cd": "42118140042-A4",
2025-06-11 11:10:37 +08:00
"res_cd": "42118140004",
"res_nm": "浮桥河水库",
2025-06-12 14:10:02 +08:00
"lgtd": 114.88429 - 0.0029,
2025-06-11 11:10:37 +08:00
"lttd": 31.172700,
"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高标准",
2025-06-06 16:30:16 +08:00
"eng_scal": "小1型",
2025-06-11 11:10:37 +08:00
"value": 0.3,
"diff_value": -0.02,
"trend": -1,
"dt": "2025-05-20",
"is_has_data": "y",
"max_value": 0.3
},
]
const data4 = [
2025-06-12 14:10:02 +08:00
{
"res_cd": "42118140015",
"res_nm": "麻城坳水库",
"cd": '0AB3ED',
"stnm": "0AB3ED",
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
"town_cd": "421181107000",
"town_nm": "盐田河镇",
"rv_name": "举水",
"bas_guid": "鄂东五河片区",
"lgtd": 114.88299 - 0.0019,
"lttd": 31.172700 - 0.0001,
"res_reg_cd": "42118140025-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
{
"res_cd": "42118140015",
"res_nm": "麻城坳水库",
"cd": "0AB3ED",
"cd_nm": "麻城坳水库",
"termite_status": "y",
"tm": "2025-05-21 04:27:18",
"is_main_cd": "y"
}
]
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140035",
2025-06-12 14:10:02 +08:00
"lgtd": 114.88299 - 0.0019,
"lttd": 31.172700 - 0.0001,
2025-06-11 11:10:37 +08:00
"cd": "01",
2025-06-12 14:10:02 +08:00
"cd_nm": "0EA5DE",
2025-06-11 11:10:37 +08:00
"stnm": "0EA5DE",
"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": -11.5381,
"dn_value": -11.2248,
"du_value": 113.8833,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 2.9303,
"max_dn": -2.1648,
"max_du": 113.8833,
"dt": "2025-05-25",
"is_has_data": "y",
'cd': '0EA5DE',
2025-06-12 14:10:02 +08:00
"children": [
{
"res_cd": "42118140023",
"res_nm": "游家冲水库",
"cd": "0EA5DE",
"cd_nm": "游家冲水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
2025-06-06 16:30:16 +08:00
]
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"res_cd": "42118140004",
"res_nm": "永丰水库",
2025-06-06 16:30:16 +08:00
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
2025-06-11 11:10:37 +08:00
"town_cd": "421181003000",
"town_nm": "南湖办事处",
2025-06-06 16:30:16 +08:00
"rv_name": "举水",
"bas_guid": "鄂东五河片区",
2025-06-11 11:10:37 +08:00
"lgtd": 115.05541,
"lttd": 31.11106,
"res_reg_cd": "42118140042-A4",
2025-06-06 16:30:16 +08:00
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
2025-06-12 14:10:02 +08:00
{
"res_cd": "42118140004",
"res_nm": "永丰水库",
"cd": '0FA5DE',
"cd_nm": "永丰水库",
"termite_status": "n",
"tm": "2025-05-21 09:18:28",
"is_main_cd": "y"
}
2025-06-06 16:30:16 +08:00
]
2025-06-12 14:10:02 +08:00
},
2025-06-11 11:10:37 +08:00
2025-06-12 14:10:02 +08:00
{
2025-06-06 16:30:16 +08:00
"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": "鄂东五河片区",
2025-06-11 11:10:37 +08:00
"lgtd": 115.29541,
"lttd": 31.20317,
2025-06-06 16:30:16 +08:00
"res_reg_cd": "42118140044-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
2025-06-12 14:10:02 +08:00
{
"res_cd": "42118140023",
"res_nm": "游家冲水库",
"cd": "0BB7ED",
"cd_nm": "游家冲水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
2025-06-06 16:30:16 +08:00
]
2025-06-12 14:10:02 +08:00
},
{
2025-06-06 16:30:16 +08:00
"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": "鄂东五河片区",
2025-06-11 11:10:37 +08:00
"lgtd": 114.9355,
"lttd": 31.28804,
2025-06-06 16:30:16 +08:00
"res_reg_cd": "42118140041-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
2025-06-12 14:10:02 +08:00
{
"res_cd": "42118140023",
"res_nm": "姚家河水库",
"cd": "0B663D",
"cd_nm": "姚家河水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
2025-06-06 16:30:16 +08:00
]
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
2025-06-11 11:10:37 +08:00
]
const skdata = [
{
2025-06-12 14:10:02 +08:00
"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": 5,
"h3": 6,
"h6": 7.5,
"h12": 8,
"h24": 9,
"h48": 26,
"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
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
{
2025-06-11 11:10:37 +08:00
"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": 7,
"h3": 8.4,
"h6": 10.5,
"h12": 11.200000000000001,
"h24": 12.6,
"h48": 25.799999999999997,
"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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"stcd": "61612610",
"type": "sk",
"hasRz": true,
"stnm": "三河口水库",
"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": 7,
"h3": 8.4,
"h6": 10.5,
"h12": 11.200000000000001,
"h24": 12.6,
"h48": 25.799999999999997,
"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
2025-06-12 14:10:02 +08:00
},
{
2025-06-11 11:10:37 +08:00
"stcd": "61612700",
"type": "sk",
"hasRz": true,
"stnm": "碧绿河水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.214444,
"lttd": 31.299722,
"elev": 0,
"damel": 142.9,
"dsflz": 139.08,
"fsltdz": 137,
"ddz": 105,
"zcxsw": 137,
"drpTm": "2025-06-03T02:00:00.000Z",
"today": 0,
"h1": 4,
"h3": 4.8,
"h6": 6,
"h12": 6.4,
"h24": 7.2,
"h48": 22.6,
"drpState": 1,
"rz": 119.6,
"w": 13.15,
"a_fsltdz": -17.400000000000006,
"rzTm": "2025-06-03T00:00:00.000Z",
"rzWarning": 0,
"rzState": 2,
"aRz": -17.4
2025-06-12 14:10:02 +08:00
}
]
2025-06-13 11:41:49 +08:00
const removePoint = () => {
const map = window.__mapref;
const layer = map.getLayer('关联站点')
dispatch?.runtime.setFeaturePop({})
if (layer) {
map.removeLayer('关联站点');
map.removeSource('关联站点');
}
}
2025-06-11 11:10:37 +08:00
const [showbx, setShowdbx] = useState(0)
const [showsy, setShowdsy] = useState(0)
const [showsl, setShowdsl] = useState(0)
2025-06-12 14:10:02 +08:00
const [showby, setShowdby] = useState(0)
2025-06-13 11:41:49 +08:00
// useEffect(() => {
// const map = window.__mapref;
// if (map) {
// if (tab === '1' && data1 && showbx) {
// setLayer(data1, '变形')
// }
// if (tab === '2' && data2 && showsy) {
2025-06-12 14:10:02 +08:00
2025-06-13 11:41:49 +08:00
// setLayer(data2, '渗压')
// }
// if (tab === '3' && data3 && showsl) {
// setLayer(data3, '渗流')
// }
// if (tab === '4' && data4 && showby) {
// setLayer(data4, '白蚁')
// }
// }
// else {
// const dsq = setInterval(() => {
// const map = window.__mapref;
// if (map && skdata.length > 0) {
// clearInterval(dsq)
// setLayer(skdata, 'sk')
// }
// }, 500);
// }
2025-06-12 14:10:02 +08:00
2025-06-13 11:41:49 +08:00
// }, [data1, data2, data3, data4, tab, showbx, showsy, showsl, showby])
2025-06-12 14:10:02 +08:00
const setLayer = (data = [], type) => {
const map = window.__mapref;
const layer = map.getLayer('关联站点')
if (layer) {
map.removeLayer('关联站点');
map.removeSource('关联站点');
}
if (data.length === 0) { return }
if (type === '变形') {
map.addLayer({
'id': '关联站点',//+new Date().getTime(),
'type': 'symbol',
'source': {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': [],
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
},
'layout': {
'icon-allow-overlap': true,
'text-allow-overlap': true,
'icon-image': '变形监测',
'icon-size': [
'interpolate', ['linear'], ['zoom'],
10, 0.4,
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],
},
'paint': {
'text-color': '#fff'
},
'visibility': 'visible',
});
}
if (type === '渗压') {
map.addLayer({
'id': '关联站点',//+new Date().getTime(),
'type': 'symbol',
'source': {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': [],
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
},
'layout': {
'icon-allow-overlap': true,
'text-allow-overlap': true,
'icon-image': '渗压监测',
'icon-size': [
'interpolate', ['linear'], ['zoom'],
10, 0.4,
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],
},
'paint': {
'text-color': '#fff'
},
'visibility': 'visible',
});
}
if (type === '渗流') {
map.addLayer({
'id': '关联站点',//+new Date().getTime(),
'type': 'symbol',
'source': {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': [],
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
},
'layout': {
'icon-allow-overlap': true,
'text-allow-overlap': true,
'icon-image': '渗流监测',
'icon-size': [
'interpolate', ['linear'], ['zoom'],
10, 0.4,
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],
},
'paint': {
'text-color': '#fff'
},
'visibility': 'visible',
});
}
if (type === '白蚁') {
map.addLayer({
'id': '关联站点',//+new Date().getTime(),
'type': 'symbol',
'source': {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': [],
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
},
'layout': {
'icon-allow-overlap': true,
'text-allow-overlap': true,
'icon-image': '白蚁监测',
'icon-size': [
'interpolate', ['linear'], ['zoom'],
10, 0.4,
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],
},
'paint': {
'text-color': '#fff'
},
'visibility': 'visible',
});
}
if (type === 'sk') {
map.addLayer({
'id': '关联站点',//+new Date().getTime(),
'type': 'symbol',
'source': {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': [],
2025-06-11 11:10:37 +08:00
},
2025-06-12 14:10:02 +08:00
},
'layout': {
'icon-allow-overlap': true,
'text-allow-overlap': true,
'icon-image': '水库-离线',
'icon-size': [
'interpolate', ['linear'], ['zoom'],
10, 0.4,
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],
},
'paint': {
'text-color': '#fff'
},
'visibility': 'visible',
});
2025-06-06 16:30:16 +08:00
}
2025-06-12 14:10:02 +08:00
map.getSource('关联站点').setData(parseGeoJSON(data))
}
useEffect(() => {
2025-06-11 11:10:37 +08:00
setShowdbx(0)
2025-06-12 14:10:02 +08:00
setShowdsy(0)
setShowdsl(0)
setShowdby(0)
}, [tab])
2025-06-06 16:30:16 +08:00
return (
<PanelBox
style={style}
2025-06-11 11:10:37 +08:00
title="安全监测"
2025-06-06 16:30:16 +08:00
color="green"
2025-06-11 11:10:37 +08:00
extra={
<>
2025-06-12 14:10:02 +08:00
<span className="button-group">
<span className={clsx({ active: tab === '1' })} onClick={() => {
setTab('1')
}}>变形</span>
2025-06-11 11:10:37 +08:00
<span className={clsx({ active: tab === '2' })} onClick={() => {
2025-06-12 14:10:02 +08:00
setTab('2')
}}>渗压</span>
<span className={clsx({ active: tab === '3' })} onClick={() => {
setTab('3')
}}>渗流</span>
<span className={clsx({ active: tab === '4' })} onClick={() => {
setTab('4')
}}>白蚁</span>
</span>
2025-06-11 11:10:37 +08:00
</>
}
2025-06-06 16:30:16 +08:00
>
<TableContainer style={{ height: '100%' }}>
2025-06-11 11:10:37 +08:00
{
tab == '1' ? <Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '3rem' }} align="center">断面</DpTableCell>
<DpTableCell style={{ minWidth: '3rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">垂直位移(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">上下游(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">左右岸(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '10rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
2025-06-12 14:10:02 +08:00
{data1.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd, res_nm: stnm } = row;
2025-06-13 11:41:49 +08:00
removePoint()
2025-06-12 14:10:02 +08:00
if (stnm == '浮桥河水库') {
2025-06-13 11:41:49 +08:00
setShowdbx(showbx == 1 ? 0 : 1)
setLayer([row],'变形')
2025-06-12 14:10:02 +08:00
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
2025-06-11 11:10:37 +08:00
}
2025-06-12 14:10:02 +08:00
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.dm}</div>
2025-06-11 11:10:37 +08:00
</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.du_value}</DpTableCell>
<DpTableCell align="center">{row.de_value}</DpTableCell>
<DpTableCell align="center">{row.dn_value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
</Table> : null
}
{
2025-06-12 14:10:02 +08:00
tab == '2' ? <Table size="small" stickyHeader>
2025-06-11 11:10:37 +08:00
<TableHead>
<TableRow>
2025-06-12 14:10:02 +08:00
2025-06-11 11:10:37 +08:00
<DpTableCell style={{ minWidth: '3rem' }} align="center">断面</DpTableCell>
<DpTableCell style={{ minWidth: '4rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">渗压水位</DpTableCell>
<DpTableCell style={{ minWidth: '9rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
2025-06-12 14:10:02 +08:00
{data2.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd, res_nm: stnm } = row;
2025-06-13 11:41:49 +08:00
removePoint()
2025-06-12 14:10:02 +08:00
if (stnm == '浮桥河水库') {
2025-06-13 11:41:49 +08:00
setShowdsy(showsy == 1 ? 0 : 1)
setLayer([row],'渗压')
2025-06-12 14:10:02 +08:00
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
2025-06-11 11:10:37 +08:00
}
2025-06-12 14:10:02 +08:00
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.dm}</div>
2025-06-11 11:10:37 +08:00
</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
2025-06-12 14:10:02 +08:00
</Table> : null
2025-06-11 11:10:37 +08:00
}
{
2025-06-12 14:10:02 +08:00
tab == '3' ? <Table size="small" stickyHeader>
2025-06-11 11:10:37 +08:00
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '4rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">渗流量(L/s)</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
2025-06-12 14:10:02 +08:00
{data3.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd } = row;
2025-06-13 11:41:49 +08:00
removePoint()
setShowdsl(showsl == 1 ? 0 : 1)
setLayer([row],'渗流')
2025-06-12 14:10:02 +08:00
if (row.cd == 1) {
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
2025-06-11 11:10:37 +08:00
}
2025-06-12 14:10:02 +08:00
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.cd_nm}</div>
2025-06-11 11:10:37 +08:00
</DpTableCell>
{/* <DpTableCell align="center">{row.cd_nm}</DpTableCell> */}
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
2025-06-12 14:10:02 +08:00
</Table> : null
2025-06-11 11:10:37 +08:00
}
{
tab == '4' ? <Table size="small" stickyHeader>
2025-06-06 16:30:16 +08:00
<TableHead>
<TableRow>
2025-06-11 11:10:37 +08:00
{/* <DpTableCell style={{ minWidth: '5.5rem' }} align="center">水库名称</DpTableCell> */}
2025-06-06 16:30:16 +08:00
<DpTableCell style={{ minWidth: '6rem' }} align="center">测点编号</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">状态</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
2025-06-12 14:10:02 +08:00
{data4.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
2025-06-13 11:41:49 +08:00
removePoint()
2025-06-12 14:10:02 +08:00
const { lgtd, lttd } = row;
2025-06-13 11:41:49 +08:00
setShowdby(showby == 1 ? 0 : 1)
setLayer([row],'白蚁')
2025-06-12 14:10:02 +08:00
if (row.cd == '0AB3ED') {
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
2025-06-06 16:30:16 +08:00
}
2025-06-12 14:10:02 +08:00
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row?.children?.[0]?.cd}</div>
2025-06-06 16:30:16 +08:00
</DpTableCell>
2025-06-11 11:10:37 +08:00
{/* <DpTableCell align="center">{row?.children?.[0]?.cd}</DpTableCell> */}
2025-06-12 14:10:02 +08:00
<DpTableCell align="center">{row?.children?.[0]?.termite_status === 'y' ? <span style={{ color: '#ff4d4f', display: 'flex', alignItems: 'center' }}><div style={{ width: '10px', height: '10px', borderRadius: '10px', marginRight: '7px', background: '#ff4d4f' }}></div></span> : <span style={{ color: '#3af6cd', display: 'flex', alignItems: 'center' }}><div style={{ width: '10px', height: '10px', borderRadius: '10px', marginRight: '7px', background: '#3af6cd' }}></div></span>}</DpTableCell>
2025-06-06 16:30:16 +08:00
<DpTableCell align="center"> <div className="table-ellipsis cursor-pointer">{row?.children?.[0]?.tm}</div></DpTableCell>
</DpTableRow>
))}
</TableBody>
2025-06-12 14:10:02 +08:00
</Table> : null
2025-06-11 11:10:37 +08:00
}
2025-06-12 14:10:02 +08:00
2025-06-06 16:30:16 +08:00
</TableContainer>
2025-06-12 14:10:02 +08:00
{/* <div style={{ height: '30px', overflow: 'hidden',position:'absolute',top:40,right:1224 }}>
2025-06-06 16:30:16 +08:00
<Select
labelId="analysis-select-label"
value={dimension}
label="请选择水库"
onChange={onChange}
>
<MenuItem value="浮桥河水库">浮桥河水库</MenuItem>
<MenuItem value="明山水库">明山水库</MenuItem>
2025-06-11 15:03:25 +08:00
<MenuItem value="永丰水库">三河口水库</MenuItem>
2025-06-06 16:30:16 +08:00
</Select>
2025-06-11 15:03:25 +08:00
</div> */}
2025-06-06 16:30:16 +08:00
</PanelBox>
)
}
export default DrpReal;