From 6218cd032b936276f2bc269f806383c3e14a15c7 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Wed, 11 Jun 2025 11:10:37 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=B0=B4=E5=BA=93=E9=98=B2=E6=B1=9B?= =?UTF-8?q?=E8=B0=83=E5=BA=A6=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/_/real.js | 2 +- src/models/map/index.js | 250 +++- src/models/map/layout.js | 5 +- src/views/Home/InfoDlg/WyWarnDlg/index.js | 2 + src/views/Home/MapCtrl/index.js | 13 +- src/views/Home/MapCtrl/mapstyle/bxjclayer.js | 4 +- src/views/Home/MapCtrl/mapstyle/byjclayer.js | 54 +- src/views/Home/MapCtrl/mapstyle/sljclayer.js | 9 +- src/views/Home/MapCtrl/mapstyle/syjclayer.js | 6 +- src/views/Home/panels/Bxjc/index.js | 6 +- src/views/Home/panels/Byjc/index.js | 1306 ++++++++++++++++- src/views/Home/panels/Glzd/index.js | 72 +- src/views/Home/panels/Sksltj/index.js | 12 +- src/views/Home/panels/Sljc/index.js | 59 +- src/views/Home/panels/Syjc/index.js | 24 +- .../panels/Yuanyfa/WaterLevelAlert/index.js | 67 + .../panels/Yuanyfa/WaterLevelAlert/index.less | 32 + src/views/Home/panels/Yuanyfa/index.js | 5 + 18 files changed, 1706 insertions(+), 222 deletions(-) create mode 100644 src/views/Home/panels/Yuanyfa/WaterLevelAlert/index.js create mode 100644 src/views/Home/panels/Yuanyfa/WaterLevelAlert/index.less diff --git a/src/models/_/real.js b/src/models/_/real.js index 618ae8c..926add6 100644 --- a/src/models/_/real.js +++ b/src/models/_/real.js @@ -24,7 +24,7 @@ export const DrpRealPromise = new CachePromise( () => fetch(`${process.env.PUBLIC_URL}/data3/drpReal.json`) .then((response) => response.json()) - .then(data=>{ + .then(data => { return data.filter(o=>o.state===1) }) .catch(() => null), diff --git a/src/models/map/index.js b/src/models/map/index.js index 53a3c06..0bffe63 100644 --- a/src/models/map/index.js +++ b/src/models/map/index.js @@ -148,7 +148,7 @@ const map = { setView(id) { let layerVisible = {}; const map = window.__mapref - if (id === 1 || id == 503) { + if (id === 1 || id == 503) { layerVisible = { RealDrpLayer: true, RealHDLayer: true, @@ -171,8 +171,8 @@ const map = { YuwaiLayer: false, AdcdLayer: true, WataLayer: false, - RealSkLayerQ2:true, - RealHDLayerQ2:true, + RealSkLayerQ2: true, + RealHDLayerQ2: true, } Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; @@ -187,8 +187,8 @@ const map = { YuwaiLayer: false, AdcdLayer: true, WataLayer: false, - RealSkLayerQ2:true, - RealHDLayerQ2:true, + RealSkLayerQ2: true, + RealHDLayerQ2: true, } Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; @@ -228,7 +228,7 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - }else if (id === 5) { + } else if (id === 5) { layerVisible = { RealDrpLayer: true, RealHDLayer: false, @@ -246,8 +246,8 @@ const map = { RealDrpLayer: false, RealHDLayer: false, RealSkLayer: false, - RainDrpLayer:true, - ShuikuLayer:false, + RainDrpLayer: true, + ShuikuLayer: false, BxSkLayer: true, FzdxLayer: false, WataLayer: false, @@ -255,7 +255,7 @@ const map = { RoadLayer: true, RivlLayer: true, RealHDLayerQ2: true, - RealSkLayerQ2:true + RealSkLayerQ2: true }; Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; @@ -316,11 +316,17 @@ const map = { AdcdLayer: true, RoadLayer: true, RivlLayer: true, - BxjcLayer: true, - SyjcLayer: true, - SljcLayer: true, - ByjcLayer:true + BxjcLayer: false, + SyjcLayer: false, + SljcLayer: false, + ByjcLayer: false }; + dispatch.runtime.setCameraTarget({ + center: [114.88069, 31.171967], + zoom: 12, + pitch: 60, + bearing: 0 + }); Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); @@ -361,7 +367,7 @@ const map = { RealHDLayer: false, RealSkLayer: false, BxSkLayer: false, - XunchaLayer:true, + XunchaLayer: true, FzdxLayer: false, WataLayer: false, AdcdLayer: true, @@ -397,8 +403,8 @@ const map = { AdcdLayer: true, RoadLayer: true, RivlLayer: true, - ShuichangLayer:true, - ShuiyuandiLayer:false, + ShuichangLayer: true, + ShuiyuandiLayer: false, }; Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; @@ -414,10 +420,10 @@ const map = { AdcdLayer: true, RoadLayer: true, RivlLayer: true, - ShuichangLayer:true, + ShuichangLayer: true, ShuichangQLayer: true, - ShuiyuandiQLayer:true, - ShuizhiLayer:true, + ShuiyuandiQLayer: true, + ShuizhiLayer: true, ShuiyuandiLayer: true, }; Object.keys(DCPJ_TYPES).forEach(key => { @@ -434,13 +440,13 @@ const map = { AdcdLayer: true, RoadLayer: true, RivlLayer: true, - ShuichangLayer:true, + ShuichangLayer: true, ShuichangQLayer: true, }; Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - } else if ( id === 303 || id === 306 || id === 305) { + } else if (id === 303 || id === 306 || id === 305) { layerVisible = { RealDrpLayer: false, RealHDLayer: false, @@ -455,7 +461,7 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - }else if ( id === 307) { + } else if (id === 307) { layerVisible = { RealDrpLayer: false, RealHDLayer: true, @@ -487,7 +493,7 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - }else if (id == 504) { + } else if (id == 504) { layerVisible = { RealDrpLayer: true, TrsqLayer: true, @@ -497,7 +503,7 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - }else if (id == 505) { + } else if (id == 505) { layerVisible = { BzLayer: true, SbLayer: true, @@ -509,7 +515,7 @@ const map = { Object.keys(DCPJ_TYPES).forEach(key => { layerVisible['Dcpj_' + key + 'Layer'] = false; }); - }else if (id == 506 || id == 507) { + } else if (id == 506 || id == 507) { layerVisible = { AdcdLayer: true, RivlLayer: true, @@ -519,7 +525,7 @@ const map = { layerVisible['Dcpj_' + key + 'Layer'] = true; } else { layerVisible['Dcpj_' + key + 'Layer'] = false; - + } }); } @@ -529,9 +535,9 @@ const map = { dispatch.runtime.setFeaturePop(null); - if (id === 8){ + if (id === 8) { dispatch.rcview.showRealContour('h24') - }else{ + } else { dispatch.runtime.setLayerSetting({ contour: null, dem: undefined }); dispatch.runtime.setLayerSetting({ planeArea: null }); dispatch.map.setLayerVisible({ ContourLayer: false }); @@ -564,14 +570,198 @@ const map = { dispatch.runtime.setYyfa({}) } - if (id === 3 || id==203) { + if (id === 3) { dispatch.map.setLayerSetting({ dom: true }); // map.setLayoutProperty('卫星图', 'visibility', 'visible'); } else { - dispatch.map.setLayerSetting({dom: false}); + dispatch.map.setLayerSetting({ dom: false }); // map.setLayoutProperty('卫星图', 'visibility', 'none'); } + if (id == 203) { + 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 layer = map.getLayer('关联站点') + if (layer) { + map.removeLayer('关联站点'); + map.removeSource('关联站点'); + } + 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(skdata)) + + } } }) }; diff --git a/src/models/map/layout.js b/src/models/map/layout.js index 137eb88..6df05c4 100644 --- a/src/models/map/layout.js +++ b/src/models/map/layout.js @@ -82,9 +82,8 @@ export default function calcLayout(view, rightStack, hidePanels) { } else if (view === 203) { left = [ { key: '天气' }, - { key: '变形监测', style: { height: '20rem', flexGrow: 1 } }, - { key: '渗压监测', style: { height: '20rem', flexGrow: 1 } }, - { key: '渗流监测', style: { height: '20rem', flexGrow: 1 } }, + { key: '关联站点',style: { height: '15rem', flexGrow: 1 } }, + { key: '水库水量统计',style: { height: '22rem' } }, // { key: '安全监测', style: { height: '20rem', flexGrow: 1 } }, ]; leftFullHeight = true; diff --git a/src/views/Home/InfoDlg/WyWarnDlg/index.js b/src/views/Home/InfoDlg/WyWarnDlg/index.js index 3905574..4c67d4a 100644 --- a/src/views/Home/InfoDlg/WyWarnDlg/index.js +++ b/src/views/Home/InfoDlg/WyWarnDlg/index.js @@ -40,6 +40,7 @@ function HDStDlg({ record, onClose }) { 序号 + 水库名称 预警时间 测点编号 预警级别 @@ -53,6 +54,7 @@ function HDStDlg({ record, onClose }) {
1
+ 浮桥河水库 2025-5-20 10:00:00 GN1 红色 diff --git a/src/views/Home/MapCtrl/index.js b/src/views/Home/MapCtrl/index.js index d44fd35..b06e8a9 100644 --- a/src/views/Home/MapCtrl/index.js +++ b/src/views/Home/MapCtrl/index.js @@ -130,8 +130,19 @@ export default function MapCtrl({ initParams, onLoad }) { const record = feature.properties dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [record.lgtd, record.lttd] }); } - if(feature.layer.id==='关联站点'){ + if (feature.layer.id === '关联站点') { const record = feature.properties + if (record.cd_nm == 'GN1') { + dispatch?.runtime.setInfoDlg({ layerId: 'BxjcLayer', properties: record }) + }else if (record.cd_nm == 'UPD1') { + dispatch?.runtime.setInfoDlg({ layerId: 'SyjcLayer', properties: record }) + }else if (record.cd_nm == 'WE1') { + dispatch?.runtime.setInfoDlg({ layerId: 'SljcLayer', properties: record }) + }else if (record.cd_nm == '0EA5DE') { + dispatch?.runtime.setInfoDlg({ layerId: 'ByjcLayer', properties: record }) + }else if (record.stnm == '浮桥河水库') { + dispatch?.runtime.setInfoDlg({ layerId: 'RealSkLayer', properties: record }) + } // dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [record.lgtd, record.lttd] }); } } diff --git a/src/views/Home/MapCtrl/mapstyle/bxjclayer.js b/src/views/Home/MapCtrl/mapstyle/bxjclayer.js index 106dda9..a90f82c 100644 --- a/src/views/Home/MapCtrl/mapstyle/bxjclayer.js +++ b/src/views/Home/MapCtrl/mapstyle/bxjclayer.js @@ -46,8 +46,8 @@ const ShapeStyle = { const page1 = [ { "res_cd": "42118140035", - "res_lon": 114.875, - "res_lat": 31.166667, + "res_lon": 114.88089, + "res_lat": 31.171467, "cd": "01", "cd_nm": "GN1", "stnm": "GN1", diff --git a/src/views/Home/MapCtrl/mapstyle/byjclayer.js b/src/views/Home/MapCtrl/mapstyle/byjclayer.js index 7d543ef..1bca1fa 100644 --- a/src/views/Home/MapCtrl/mapstyle/byjclayer.js +++ b/src/views/Home/MapCtrl/mapstyle/byjclayer.js @@ -72,36 +72,44 @@ export default class ByjcLayer extends BaseLayer { let data = // await PicStPromise.get(); [ - { - "res_cd": "42118140004", - "res_nm": "永丰水库", + { + "cd": "1", + "cd_nm": "UPD1", + "ch": "0+060", + "res_reg_cd": "42118140011-A4", + "res_cd": "42118140038", + "res_nm": "浮桥河水库", + "res_lon": 114.88299, + "res_lat": 31.172700, + "stnm": "UPD1", "province_cd": "420000000000", - "province_nm": "湖北省", - stnm:'0FA5DE', + "province_nm": "湖北省", "city_cd": "421100000000", "city_nm": "黄冈市", "county_cd": "421181000000", "county_nm": "麻城市", - "town_cd": "421181003000", - "town_nm": "南湖办事处", - "rv_name": "举水", + "town_cd": "421181113000", + "town_nm": "乘马岗镇", "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" - } - ] + "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 }, { "res_cd": "42118140015", diff --git a/src/views/Home/MapCtrl/mapstyle/sljclayer.js b/src/views/Home/MapCtrl/mapstyle/sljclayer.js index 4ad1d47..4845d65 100644 --- a/src/views/Home/MapCtrl/mapstyle/sljclayer.js +++ b/src/views/Home/MapCtrl/mapstyle/sljclayer.js @@ -71,16 +71,17 @@ export default class SljcLayer extends BaseLayer { let data = // await PicStPromise.get(); - [{ + [ + { "cd": "1", "cd_nm": "WE", "ch": "1", 'stnm':'WE', "res_reg_cd": "42118140042-A4", "res_cd": "42118140004", - "res_nm": "永丰水库", - "res_lon": 115.05541, - "res_lat": 31.11106, + "res_nm": "浮桥河水库", + "res_lon": 114.88429, + "res_lat": 31.172700, "province_cd": "420000000000", "province_nm": "湖北省", "city_cd": "421100000000", diff --git a/src/views/Home/MapCtrl/mapstyle/syjclayer.js b/src/views/Home/MapCtrl/mapstyle/syjclayer.js index 4e14f57..0c25c8b 100644 --- a/src/views/Home/MapCtrl/mapstyle/syjclayer.js +++ b/src/views/Home/MapCtrl/mapstyle/syjclayer.js @@ -78,9 +78,9 @@ export default class SyjcLayer extends BaseLayer { "ch": "0+060", "res_reg_cd": "42118140011-A4", "res_cd": "42118140038", - "res_lon": 115.01664, - "res_lat": 31.40681, - "res_nm": "蛤蟆岗水库", + "res_nm": "浮桥河水库", + "res_lon": 114.87929, + "res_lat": 31.171467, "stnm": "UPD1", "province_cd": "420000000000", "province_nm": "湖北省", diff --git a/src/views/Home/panels/Bxjc/index.js b/src/views/Home/panels/Bxjc/index.js index 1656aa9..ba6473e 100644 --- a/src/views/Home/panels/Bxjc/index.js +++ b/src/views/Home/panels/Bxjc/index.js @@ -16,8 +16,8 @@ import { renderDrp } from '../../../../utils/renutils'; const data1 = [ { "res_cd": "42118140035", - "res_lon": 114.875, - "res_lat": 31.166667, + "res_lon": 114.88089, + "res_lat": 31.171467, "cd": "01", "cd_nm": "GN1", "stnm": "GN1", @@ -613,7 +613,7 @@ function DrpReal({ style }) { if (lgtd && lttd) { dispatch.runtime.setCameraTarget({ center: [lgtd, lttd], - zoom: 15, + zoom: 17, pitch: 60, bearing: 0 }); diff --git a/src/views/Home/panels/Byjc/index.js b/src/views/Home/panels/Byjc/index.js index bd7cd36..b3fd0a5 100644 --- a/src/views/Home/panels/Byjc/index.js +++ b/src/views/Home/panels/Byjc/index.js @@ -1,4 +1,4 @@ -import React, { useMemo, useState } from 'react'; +import React, { useMemo, useState,useEffect } from 'react'; import useRequest from '../../../../utils/useRequest'; import { useDispatch, useSelector } from 'react-redux'; import PanelBox from '../../components/PanelBox'; @@ -13,34 +13,643 @@ 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"; -const data4 = [ - { - "res_cd": "42118140013", - "res_nm": "高峰水库", + + +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": "421181106000", - "town_nm": "龟山镇", - "rv_name": "举水", + "town_cd": "421181112000", + "town_nm": "福田河镇", "bas_guid": "鄂东五河片区", - "res_lon": 115.21201, - "res_lat": 31.05011, - "res_reg_cd": "42118140010-A4", "eng_scal": "小(1)型", - "eng_g": "IV", - "children": [ + "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" + }, + { + "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.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", + "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": -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", + "lgtd": 115.11878, + "lttd": 30.88904, + "cd": "01", + "cd_nm": "GN1", + 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": -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", + "lgtd": 115.11878, + "lttd": 30.88904, + "cd": "02", + "cd_nm": "GN2", + 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": -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", + "lgtd": 115.14545, + "lttd": 30.95398, + "cd": "03", + "cd_nm": "GN3", + 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.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", + "lgtd": 115.11878, + "lttd": 30.88904, + "cd": "03", + "cd_nm": "GN1", + 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": -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", + "lgtd": 115.39612, + "lttd": 31.1526, + "cd": "02", + "cd_nm": "GN2", + 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": -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", + "lgtd": 115.11878, + "lttd": 30.88904, + "cd": "04", + "cd_nm": "GN3", + 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": -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" + }, + ] + 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": 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": "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": 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+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": 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", + 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": 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": "UPD2", + "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": 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": "UPD3", + "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": 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 + }, + + ] + 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-20", + "is_has_data": "y", + "max_value": 0.3 + }, + ] + const data4 = [ + { + "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": -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', + "children": [ { "res_cd": "42118140023", - "res_nm": "高峰水库", - "cd": "0A82AD", - "cd_nm": "高峰水库", - "termite_status": "y", + "res_nm": "游家冲水库", + "cd": "0EA5DE", + "cd_nm": "游家冲水库", + "termite_status": "n", "tm": "2025-05-21 04:25:56", "is_main_cd": "y" } @@ -59,8 +668,8 @@ const data4 = [ "town_nm": "南湖办事处", "rv_name": "举水", "bas_guid": "鄂东五河片区", - "res_lon": 115.05541, - "res_lat": 31.11106, + "lgtd": 115.05541, + "lttd": 31.11106, "res_reg_cd": "42118140042-A4", "eng_scal": "小(1)型", "eng_g": "IV", @@ -76,36 +685,7 @@ const data4 = [ } ] }, - { - "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": "0AB3ED", - "cd_nm": "麻城坳水库", - "termite_status": "y", - "tm": "2025-05-21 04:27:18", - "is_main_cd": "y" - } - ] - }, + { "res_cd": "42118140023", "res_nm": "游家冲水库", @@ -119,8 +699,8 @@ const data4 = [ "town_nm": "木子店镇", "rv_name": "巴河", "bas_guid": "鄂东五河片区", - "res_lon": 115.29541, - "res_lat": 31.20317, + "lgtd": 115.29541, + "lttd": 31.20317, "res_reg_cd": "42118140044-A4", "eng_scal": "小(1)型", "eng_g": "IV", @@ -150,8 +730,8 @@ const data4 = [ "town_nm": "乘马岗镇", "rv_name": "举水", "bas_guid": "鄂东五河片区", - "res_lon": 114.9355, - "res_lat": 31.28804, + "lgtd": 114.9355, + "lttd": 31.28804, "res_reg_cd": "42118140041-A4", "eng_scal": "小(1)型", "eng_g": "IV", @@ -166,32 +746,591 @@ const data4 = [ "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": "鄂东五河片区", + "lgtd": 115.22541, + "lttd": 30.98156, + "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" + } + ] + }, + ] + 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 } ] - - -function DrpReal({ style }) { - const [tab,setTab] = useState('1') - const dispatch = useDispatch(); - const [dimension, setDimension] = useState('ft'); - const onChange = (event) => { - const value = event.target.value; - setDimension(value); + + 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 ( + + { + setTab('1') + }}>变形 + { + setTab('2') + }}>渗压 + { + setTab('3') + }}>渗流 + { + + setTab('4') + }}>白蚁 + + + } > - - + { + tab == '1' ?
- 水库名称 + 断面 + 测点 + 垂直位移(mm) + 上下游(mm) + 左右岸(mm) + 监测时间 + + + + {data1.map((row,index) => ( + + +
{ + const {lgtd, lttd,res_nm:stnm } = row; + if (stnm == '浮桥河水库') { + setShowdbx(1) + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 17, + pitch: 60, + bearing: 0 + }); + } + } + }}>{row.dm}
+
+ {row.cd_nm} + {row.du_value} + {row.de_value} + {row.dn_value} + {row.dt} +
+ ))} +
+
: null + } + { + tab == '2' ? + + + + 断面 + 测点 + 渗压水位 + 监测时间 + + + + + {data2.map((row,index) => ( + + +
{ + const { lgtd, lttd,res_nm:stnm } = row; + if (stnm == '浮桥河水库') { + setShowdsy(1) + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 17, + pitch: 60, + bearing: 0 + }); + } + } + }}>{row.dm}
+
+ {row.cd_nm} + {row.value} + {row.dt} + +
+ ))} +
+
:null + } + { + tab == '3' ? + + + 测点 + 渗流量(L/s) + 监测时间 + + + + {data3.map((row,index) => ( + + +
{ + const { lgtd, lttd } = row; + setShowdsl(1) + if (row.cd == 1) { + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 17, + pitch: 60, + bearing: 0 + }); + } + + } + }}>{row.cd_nm}
+
+ {/* {row.cd_nm} */} + {row.value} + {row.dt} +
+ ))} +
+
:null + } + { + tab == '4' ? + + + {/* 水库名称 */} 测点编号 状态 监测时间 @@ -200,35 +1339,40 @@ function DrpReal({ style }) { {data4.map((row,index) => ( - +
{ - const { res_lon:lgtd, res_lat:lttd } = row; - if (lgtd && lttd) { - dispatch.runtime.setCameraTarget({ - center: [lgtd- 0.0019, lttd-0.0001], - zoom: 15, - pitch: 60, - bearing: 0 - }); + const { lgtd, lttd } = row; + setShowdby(1) + if (row.cd == '0EA5DE') { + + if (lgtd && lttd) { + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd], + zoom: 17, + pitch: 60, + bearing: 0 + }); + } } - }}>{row.res_nm}
+ }}>{row?.children?.[0]?.cd}
- {row?.children?.[0]?.cd} + {/* {row?.children?.[0]?.cd} */} {row?.children?.[0]?.termite_status==='y'?
有白蚁
:
无白蚁
}
{row?.children?.[0]?.tm}
))}
-
+ :null + } +
-
+