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

1422 lines
40 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import React, { useMemo, useState, useEffect } 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 { Select, MenuItem } from '@material-ui/core/index'
import { renderDrp } from '../../../../utils/renutils';
import { parseGeoJSON } from "../../../../utils/tools";
function DrpReal({ style }) {
const [tab, setTab] = useState('1')
const dispatch = useDispatch();
const [dimension, setDimension] = useState('浮桥河水库');
const onChange = (event) => {
const value = event.target.value;
setDimension(value);
}
const data1 = [
{
"res_cd": "42118140035",
"lgtd": 114.88089,
"lttd": 31.171467,
"cd": "01",
"cd_nm": "GN1",
'stnm': 'GN1',
dm: "0+60",
"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.33,
"dn_value": 2.01,
"du_value": 1.23,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 2.9303,
"max_dn": -2.1648,
"max_du": 2.53,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140035",
"lgtd": 115.14137,
"lttd": 31.55095,
"cd": "02",
"cd_nm": "GN2",
'stnm': 'GN2',
dm: "0+60",
"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.09,
"dn_value": 1.11,
"du_value": 2.13,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 1.0981,
"max_dn": -2.3255,
"max_du": 3.12,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140035",
"lgtd": 115.14137,
"lttd": 31.55095,
"cd": "04",
"cd_nm": "GN3",
dm: "0+60",
"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.23,
"dn_value": -2.13,
"du_value": 2.11,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 1.0981,
"max_dn": -2.3255,
"max_du": 1.23,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "01",
"cd_nm": "GN4",
dm: "0+120",
"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": 1.34,
"dn_value": 2.44,
"du_value": -1.21,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": -5.1079,
"max_dn": 4.6055,
"max_du": -1.34,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "02",
"cd_nm": "GN5",
dm: "0+120",
"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": -1.43,
"dn_value": -2.21,
"du_value": -1.34,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": -5.1079,
"max_dn": 4.6055,
"max_du": -2.45,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140017",
"lgtd": 115.14545,
"lttd": 30.95398,
"cd": "03",
"cd_nm": "GN6",
dm: "0+120",
"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.16,
"dn_value": 2.12,
"du_value": 1.45,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 2.6901,
"max_dn": 3.7945,
"max_du": 1.68,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "03",
"cd_nm": "GN7",
dm: "0+180",
"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": -1.13,
"dn_value": 3.74,
"du_value": -1.67,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": -5.1079,
"max_dn": 4.6055,
"max_du": -3.12,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140022",
"lgtd": 115.39612,
"lttd": 31.1526,
"cd": "02",
"cd_nm": "GN8",
dm: "0+180",
"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": -1.73,
"dn_value": 2.71,
"du_value": 2.34,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": -0.4931,
"max_dn": 4.3759,
"max_du": -2.11,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
{
"res_cd": "42118140011",
"lgtd": 115.11878,
"lttd": 30.88904,
"cd": "04",
"cd_nm": "GN9",
dm: "0+180",
"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": -1.70,
"dn_value": 3.35,
"du_value": -1.55,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": -5.1079,
"max_dn": 4.6055,
"max_du": 3.12,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y"
},
]
const data2 = [
{
"cd": "1",
"cd_nm": "UPD1",
stnm: 'UPD1',
"ch": "0+060",
dm: "0+70",
"res_reg_cd": "42118140011-A4",
"res_cd": "42118140038",
"lgtd": 114.87929 + 0.0019,
"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": 59.1,
"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 10:00:00",
"diff5_value": -0.0737,
"trend5": -1,
"diff10_value": -0.1204,
"trend10": -1,
"diff30_value": -0.0633,
"trend30": -1
},
{
"cd": "1",
"cd_nm": "UPD2",
"ch": "0+027",
dm: "0+70",
"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": 51.1,
"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 11:00:00",
"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+070",
dm: "0+70",
"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": 43.95,
"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 12:00:00",
"diff5_value": -0.095,
"trend5": -1,
"diff10_value": -0.123,
"trend10": -1,
"diff30_value": -0.0588,
"trend30": -1
},
{
"cd": "1",
"cd_nm": "UPD4",
"ch": "0+038",
dm: "0+140",
"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": 59.1,
"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 13:00:00",
"diff5_value": -0.0675,
"trend5": -1,
"diff10_value": -0.0627,
"trend10": -1,
"diff30_value": -0.0342,
"trend30": -1
},
{
"cd": "4",
"cd_nm": "UPD5",
"ch": "0+085",
dm: "0+140",
"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": 51.1,
"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 15:00:00",
"diff5_value": -0.0742,
"trend5": -1,
"diff10_value": -0.1258,
"trend10": -1,
"diff30_value": -0.1708,
"trend30": -1
},
{
"cd": "1",
"cd_nm": "UPD6",
"ch": "0+51.6",
dm: "0+140",
"res_reg_cd": "42118140042-A4",
"res_cd": "42118140004",
"lgtd": 115.05541,
"lttd": 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": 43.95,
"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 17:00:00",
"diff5_value": -0.0109,
"trend5": -1,
"diff10_value": 0.0087,
"trend10": 1,
"diff30_value": 0.0683,
"trend30": 1
},
]
const data3 = [
{
"cd": "1",
"cd_nm": "WE1",
"ch": "1",
'stnm': 'WE1',
"res_reg_cd": "42118140042-A4",
"res_cd": "42118140004",
"res_nm": "浮桥河水库",
"lgtd": 114.88429 - 0.0029,
"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高标准",
"eng_scal": "小1型",
"value": 0.3,
"diff_value": -0.02,
"trend": -1,
"dt": "2025-05-25 10:00:00",
"is_has_data": "y",
"max_value": 0.3
},
]
const data4 = [
{
"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"
}
]
},
{
"res_cd": "42118140035",
"lgtd": 114.88299 - 0.0019,
"lttd": 31.172700 - 0.0001,
"cd": "01",
"cd_nm": "0EA5DE",
"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": -1.53,
"dn_value": -1.22,
"du_value": 113.8833,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 2.9303,
"max_dn": -2.1648,
"max_du": 2.56,
"dt": "2025-05-25",
"is_has_data": "y",
'cd': '0EA5DE',
"children": [
{
"res_cd": "42118140023",
"res_nm": "游家冲水库",
"cd": "0EA5DE",
"cd_nm": "游家冲水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
]
},
{
"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": "鄂东五河片区",
"lgtd": 115.05541,
"lttd": 31.11106,
"res_reg_cd": "42118140042-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
{
"res_cd": "42118140004",
"res_nm": "永丰水库",
"cd": '0FA5DE',
"cd_nm": "永丰水库",
"termite_status": "n",
"tm": "2025-05-21 09:18:28",
"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": "鄂东五河片区",
"lgtd": 115.29541,
"lttd": 31.20317,
"res_reg_cd": "42118140044-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
{
"res_cd": "42118140023",
"res_nm": "游家冲水库",
"cd": "0BB7ED",
"cd_nm": "游家冲水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
]
},
{
"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": "鄂东五河片区",
"lgtd": 114.9355,
"lttd": 31.28804,
"res_reg_cd": "42118140041-A4",
"eng_scal": "小1型",
"eng_g": "IV",
"children": [
{
"res_cd": "42118140023",
"res_nm": "姚家河水库",
"cd": "0B663D",
"cd_nm": "姚家河水库",
"termite_status": "n",
"tm": "2025-05-21 04:25:56",
"is_main_cd": "y"
}
]
},
]
const skdata = [
{
"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
},
{
"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
},
{
"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
},
{
"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
}
]
const removePoint = () => {
const map = window.__mapref;
const layer = map.getLayer('关联站点')
dispatch?.runtime.setFeaturePop({})
if (layer) {
map.removeLayer('关联站点');
map.removeSource('关联站点');
}
}
const [showbx, setShowdbx] = useState(0)
const [showsy, setShowdsy] = useState(0)
const [showsl, setShowdsl] = useState(0)
const [showby, setShowdby] = useState(0)
// useEffect(() => {
// const map = window.__mapref;
// if (map) {
// if (tab === '1' && data1 && showbx) {
// setLayer(data1, '变形')
// }
// if (tab === '2' && data2 && showsy) {
// 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);
// }
// }, [data1, data2, data3, data4, tab, showbx, showsy, showsl, showby])
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': [],
},
},
'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': [],
},
},
'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': [],
},
},
'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': [],
},
},
'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': [],
},
},
'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',
});
}
map.getSource('关联站点').setData(parseGeoJSON(data))
}
useEffect(() => {
setShowdbx(0)
setShowdsy(0)
setShowdsl(0)
setShowdby(0)
}, [tab])
return (
<PanelBox
style={style}
title="安全监测"
color="green"
extra={
<>
<span className="button-group">
<span className={clsx({ active: tab === '1' })} onClick={() => {
setTab('1')
}}>变形</span>
<span className={clsx({ active: tab === '2' })} onClick={() => {
setTab('2')
}}>渗压</span>
<span className={clsx({ active: tab === '3' })} onClick={() => {
setTab('3')
}}>渗流</span>
<span className={clsx({ active: tab === '4' })} onClick={() => {
setTab('4')
}}>白蚁</span>
</span>
</>
}
>
<TableContainer style={{ height: '100%' }}>
{
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: '15rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data1.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd, res_nm: stnm } = row;
removePoint()
if (stnm == '浮桥河水库') {
setShowdbx(showbx == 1 ? 0 : 1)
setLayer([row],'变形')
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
}
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.dm}</div>
</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
}
{
tab == '2' ? <Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '3rem' }} align="center">断面</DpTableCell>
<DpTableCell style={{ minWidth: '4rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">渗压水位(m)</DpTableCell>
<DpTableCell style={{ minWidth: '9rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data2.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd, res_nm: stnm } = row;
removePoint()
if (stnm == '浮桥河水库') {
setShowdsy(showsy == 1 ? 0 : 1)
setLayer([row],'渗压')
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
}
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.dm}</div>
</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
</Table> : null
}
{
tab == '3' ? <Table size="small" stickyHeader>
<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>
{data3.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
const { lgtd, lttd } = row;
removePoint()
setShowdsl(showsl == 1 ? 0 : 1)
setLayer([row],'渗流')
if (row.cd == 1) {
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
}
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row.cd_nm}</div>
</DpTableCell>
{/* <DpTableCell align="center">{row.cd_nm}</DpTableCell> */}
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
</Table> : null
}
{
tab == '4' ? <Table size="small" stickyHeader>
<TableHead>
<TableRow>
{/* <DpTableCell style={{ minWidth: '5.5rem' }} align="center">水库名称</DpTableCell> */}
<DpTableCell style={{ minWidth: '6rem' }} align="center">测点编号</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">状态</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data4.map((row, index) => (
<DpTableRow
key={row.stcd}
onClick={() => {
removePoint()
const { lgtd, lttd } = row;
setShowdby(showby == 1 ? 0 : 1)
setLayer([row],'白蚁')
if (row.cd == '0AB3ED') {
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 17,
pitch: 60,
bearing: 0
});
}
}
}}
>
<DpTableCell align="center">
<div className="table-ellipsis cursor-pointer"
>{row?.children?.[0]?.cd}</div>
</DpTableCell>
{/* <DpTableCell align="center">{row?.children?.[0]?.cd}</DpTableCell> */}
<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>
<DpTableCell align="center"> <div className="table-ellipsis cursor-pointer">{row?.children?.[0]?.tm}</div></DpTableCell>
</DpTableRow>
))}
</TableBody>
</Table> : null
}
</TableContainer>
{/* <div style={{ height: '30px', overflow: 'hidden',position:'absolute',top:40,right:1224 }}>
<Select
labelId="analysis-select-label"
value={dimension}
label="请选择水库"
onChange={onChange}
>
<MenuItem value="浮桥河水库">浮桥河水库</MenuItem>
<MenuItem value="明山水库">明山水库</MenuItem>
<MenuItem value="永丰水库">三河口水库</MenuItem>
</Select>
</div> */}
</PanelBox>
)
}
export default DrpReal;