Compare commits
No commits in common. "4118661eeb08866939103487ceb3ca572657fafa" and "86ae84336e9cb2c658bbf90444c9556510a5154a" have entirely different histories.
4118661eeb
...
86ae84336e
Binary file not shown.
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 84 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB |
|
|
@ -1,8 +0,0 @@
|
||||||
{"type":"FeatureCollection",
|
|
||||||
"features":[{"type":"Feature",
|
|
||||||
"id":2,
|
|
||||||
"bbox":[114.88191247,31.16683581,114.88643309,31.16825998],
|
|
||||||
"properties":{"gid":2,"geometry":"LineString"},
|
|
||||||
"geometry":{
|
|
||||||
"type":"LineString",
|
|
||||||
"coordinates":[[114.878250,31.169557],[114.879593,31.169511],[114.880543,31.169543],[114.881345,31.170357]]}}]}
|
|
||||||
|
|
@ -44,52 +44,6 @@
|
||||||
],
|
],
|
||||||
"layer": "RealSkLayer",
|
"layer": "RealSkLayer",
|
||||||
"layerPop": "RealSkPop"
|
"layerPop": "RealSkPop"
|
||||||
},
|
|
||||||
{
|
|
||||||
"stcd": "716115401",
|
|
||||||
"type": "sk",
|
|
||||||
"hasRz": true,
|
|
||||||
"stnm": "小玉潭水库",
|
|
||||||
"adcd": "421181110000",
|
|
||||||
"wscd": null,
|
|
||||||
"importancy": 0,
|
|
||||||
"lgtd": 114.96946270525194,
|
|
||||||
"lttd": 31.469026638957608,
|
|
||||||
"elev": 0,
|
|
||||||
"damel": 21.6,
|
|
||||||
"dsflz": 20.15,
|
|
||||||
"fsltdz": 130.8,
|
|
||||||
"ddz": 0,
|
|
||||||
"zcxsw": 130.8,
|
|
||||||
"drpTm": "2024-05-17T08:00:00.000Z",
|
|
||||||
"today": 0,
|
|
||||||
"h1": 0,
|
|
||||||
"h3": 0,
|
|
||||||
"h6": 0,
|
|
||||||
"h12": 0,
|
|
||||||
"h24": 0,
|
|
||||||
"h48": 0,
|
|
||||||
"drpState": 2,
|
|
||||||
"rz": 126.41,
|
|
||||||
"w": 4.971,
|
|
||||||
"a_fsltdz": -4.390000000000015,
|
|
||||||
"rzTm": "2024-05-17T06:00:00.000Z",
|
|
||||||
"rzWarning": 0,
|
|
||||||
"rzState": 2,
|
|
||||||
"pic": [
|
|
||||||
{
|
|
||||||
"stcd": "716115401",
|
|
||||||
"tm": "2024-05-17T08:05:00.000Z",
|
|
||||||
"url": "http://223.75.53.106:8891/skjgimages/2024/0517/716115401/20240517160500.jpg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"stcd": "716115401",
|
|
||||||
"tm": "2024-05-17T08:20:00.000Z",
|
|
||||||
"url": "http://223.75.53.106:8891/skjgimages/2024/0517/716115402/20240517162000.jpg"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"layer": "RealSkLayer",
|
|
||||||
"layerPop": "RealSkPop"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stcd": "716115301",
|
"stcd": "716115301",
|
||||||
|
|
@ -715,7 +669,6 @@
|
||||||
"h48": 15,
|
"h48": 15,
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 84.67,
|
"rz": 84.67,
|
||||||
"xs":10432,
|
|
||||||
"w": 16900,
|
"w": 16900,
|
||||||
"a_fsltdz": -8.329999999999998,
|
"a_fsltdz": -8.329999999999998,
|
||||||
"rzTm": "2025-06-06T22:00:00.000Z",
|
"rzTm": "2025-06-06T22:00:00.000Z",
|
||||||
|
|
@ -751,7 +704,6 @@
|
||||||
"drpState": 2,
|
"drpState": 2,
|
||||||
"rz": 83,
|
"rz": 83,
|
||||||
"w": 1026,
|
"w": 1026,
|
||||||
"xs":375,
|
|
||||||
"a_fsltdz": -15.299999999999997,
|
"a_fsltdz": -15.299999999999997,
|
||||||
"rzTm": "2025-06-06T00:00:00.000Z",
|
"rzTm": "2025-06-06T00:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -785,7 +737,6 @@
|
||||||
"h48": 0,
|
"h48": 0,
|
||||||
"drpState": 2,
|
"drpState": 2,
|
||||||
"rz": 203.4,
|
"rz": 203.4,
|
||||||
"xs":1164,
|
|
||||||
"w": 2797,
|
"w": 2797,
|
||||||
"a_fsltdz": -5.079999999999984,
|
"a_fsltdz": -5.079999999999984,
|
||||||
"rzTm": "2025-06-06T00:00:00.000Z",
|
"rzTm": "2025-06-06T00:00:00.000Z",
|
||||||
|
|
@ -1925,7 +1876,6 @@
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 60.7,
|
"rz": 60.7,
|
||||||
"w": 45490,
|
"w": 45490,
|
||||||
"xs":32133,
|
|
||||||
"a_fsltdz": -4.189999999999998,
|
"a_fsltdz": -4.189999999999998,
|
||||||
"rzTm": "2025-06-06T22:00:00.000Z",
|
"rzTm": "2025-06-06T22:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -5501,7 +5451,6 @@
|
||||||
"h48": 43.5,
|
"h48": 43.5,
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 141.56,
|
"rz": 141.56,
|
||||||
"xs":12744,
|
|
||||||
"w": 16926,
|
"w": 16926,
|
||||||
"a_fsltdz": -7.439999999999998,
|
"a_fsltdz": -7.439999999999998,
|
||||||
"rzTm": "2025-06-06T22:00:00.000Z",
|
"rzTm": "2025-06-06T22:00:00.000Z",
|
||||||
|
|
@ -5537,7 +5486,6 @@
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 120,
|
"rz": 120,
|
||||||
"w": 6015,
|
"w": 6015,
|
||||||
"xs":1676,
|
|
||||||
"a_fsltdz": -17,
|
"a_fsltdz": -17,
|
||||||
"rzTm": "2025-06-06T00:00:00.000Z",
|
"rzTm": "2025-06-06T00:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -5940,7 +5888,6 @@
|
||||||
"drpState": 2,
|
"drpState": 2,
|
||||||
"rz": 224.31,
|
"rz": 224.31,
|
||||||
"w": 1415,
|
"w": 1415,
|
||||||
"xs":750,
|
|
||||||
"a_fsltdz": -6.689999999999998,
|
"a_fsltdz": -6.689999999999998,
|
||||||
"rzTm": "2025-04-11T05:00:00.000Z",
|
"rzTm": "2025-04-11T05:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -7539,7 +7486,6 @@
|
||||||
"drpState": 2,
|
"drpState": 2,
|
||||||
"rz": 156.8,
|
"rz": 156.8,
|
||||||
"w": 1834,
|
"w": 1834,
|
||||||
"xs":448,
|
|
||||||
"a_fsltdz": -10.599999999999994,
|
"a_fsltdz": -10.599999999999994,
|
||||||
"rzTm": "2025-06-06T00:00:00.000Z",
|
"rzTm": "2025-06-06T00:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -8310,7 +8256,6 @@
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 117.78,
|
"rz": 117.78,
|
||||||
"w": 1577,
|
"w": 1577,
|
||||||
"xs":628,
|
|
||||||
"a_fsltdz": -4.659999999999997,
|
"a_fsltdz": -4.659999999999997,
|
||||||
"rzTm": "2025-06-06T22:00:00.000Z",
|
"rzTm": "2025-06-06T22:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
@ -9127,7 +9072,6 @@
|
||||||
"drpState": 1,
|
"drpState": 1,
|
||||||
"rz": 144.5,
|
"rz": 144.5,
|
||||||
"w": 1574,
|
"w": 1574,
|
||||||
"xs":"--",
|
|
||||||
"a_fsltdz": -14.5,
|
"a_fsltdz": -14.5,
|
||||||
"rzTm": "2025-06-06T00:00:00.000Z",
|
"rzTm": "2025-06-06T00:00:00.000Z",
|
||||||
"rzWarning": 0,
|
"rzWarning": 0,
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.3 MiB |
|
|
@ -136,8 +136,8 @@ const enterpriseData = [
|
||||||
const statistics = {
|
const statistics = {
|
||||||
floodArea: 3.57,
|
floodArea: 3.57,
|
||||||
affectedVillages: 2,
|
affectedVillages: 2,
|
||||||
affectedHouseholds: 75,
|
affectedHouseholds: 310,
|
||||||
affectedPopulation: 224,
|
affectedPopulation: 940,
|
||||||
};
|
};
|
||||||
|
|
||||||
const FloodImpactMonitor = () => {
|
const FloodImpactMonitor = () => {
|
||||||
|
|
@ -162,7 +162,7 @@ const FloodImpactMonitor = () => {
|
||||||
<Typography variant="h6" className={classes.title}>
|
<Typography variant="h6" className={classes.title}>
|
||||||
城镇、集镇、村庄
|
城镇、集镇、村庄
|
||||||
</Typography>
|
</Typography>
|
||||||
<Paper style={{background:"transparent"}}>
|
<Paper>
|
||||||
<Table className={classes.table}>
|
<Table className={classes.table}>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
@ -196,7 +196,7 @@ const FloodImpactMonitor = () => {
|
||||||
<Typography variant="h6" className={classes.title}>
|
<Typography variant="h6" className={classes.title}>
|
||||||
企事业单位影响情况
|
企事业单位影响情况
|
||||||
</Typography>
|
</Typography>
|
||||||
<Paper style={{background:"transparent"}}>
|
<Paper>
|
||||||
<Table className={classes.table}>
|
<Table className={classes.table}>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ function HDStDlg({ record, onClose }) {
|
||||||
</DpTabs>
|
</DpTabs>
|
||||||
<DpCloseButton onClick={onClose} />
|
<DpCloseButton onClick={onClose} />
|
||||||
</DpAppBar>
|
</DpAppBar>
|
||||||
<div className='yy-contents'>
|
<div style={{ display: 'flex' }}>
|
||||||
<div className='yy-left'>
|
<div className='yy-left'>
|
||||||
<WarningCard
|
<WarningCard
|
||||||
key={warnObj.id}
|
key={warnObj.id}
|
||||||
|
|
@ -53,10 +53,10 @@ function HDStDlg({ record, onClose }) {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className='yy-middle'>
|
<div className='yy-middle'>
|
||||||
{/* <VideoPlayer
|
<VideoPlayer
|
||||||
videoUrl={`${process.env.PUBLIC_URL}/assets/yyVideo.mp4`}
|
videoUrl={`${process.env.PUBLIC_URL}/assets/yyVideo.mp4`}
|
||||||
date=""
|
date=""
|
||||||
/> */}
|
/>
|
||||||
{/* <video src={`${process.env.PUBLIC_URL}/assets/yyVideo.mp4`} style={{width:'100%',height:'100%'}}></video> */}
|
{/* <video src={`${process.env.PUBLIC_URL}/assets/yyVideo.mp4`} style={{width:'100%',height:'100%'}}></video> */}
|
||||||
</div>
|
</div>
|
||||||
<div className='yy-right'>
|
<div className='yy-right'>
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,6 @@
|
||||||
.yy-left,.yy-right{
|
.yy-left,.yy-right{
|
||||||
width:450px;
|
width:450px
|
||||||
background: rgba(6, 34, 56, .8);
|
|
||||||
}
|
}
|
||||||
.yy-middle{
|
.yy-middle{
|
||||||
width: 1000px;
|
width: 1000px;
|
||||||
}
|
}
|
||||||
.yy-contents{
|
|
||||||
display: flex;
|
|
||||||
background:url(../../../../assets/yybg.png) no-repeat;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
}
|
|
||||||
|
|
@ -213,6 +213,10 @@ const RainfallMonitor = () => {
|
||||||
</Box>
|
</Box>
|
||||||
</> : <Fxyb />
|
</> : <Fxyb />
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ function SkSmtp({ record, onClose }) {
|
||||||
<div className="boxhead"></div>
|
<div className="boxhead"></div>
|
||||||
<DialogContent style={{ padding: 0, width: '30rem', overflowX: 'hidden' }}>
|
<DialogContent style={{ padding: 0, width: '30rem', overflowX: 'hidden' }}>
|
||||||
<DpAppBar position="sticky">
|
<DpAppBar position="sticky">
|
||||||
<Typography variant="h6" style={{ alignSelf: 'center', marginLeft: '0.5rem', flexGrow: 1,color:"#fff" }}>{record.stnm}</Typography>
|
<Typography variant="h6" style={{ alignSelf: 'center', marginLeft: '0.5rem', flexGrow: 1 }}>{record.stnm}</Typography>
|
||||||
<DpCloseButton onClick={onClose} />
|
<DpCloseButton onClick={onClose} />
|
||||||
</DpAppBar>
|
</DpAppBar>
|
||||||
<SkSmtpPanel personels={record.personels || []} txt={record.txt} />
|
<SkSmtpPanel personels={record.personels || []} txt={record.txt} />
|
||||||
|
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
import React, { useEffect, useRef } from 'react';
|
|
||||||
import mapboxgl from 'mapbox-gl';
|
|
||||||
import 'mapbox-gl/dist/mapbox-gl.css';
|
|
||||||
import config from '../../../../config';
|
|
||||||
import LayerMgr from '../../MapCtrl/mapstyle/layermgr';
|
|
||||||
import { getLayerVisible, getLayerSetting, getCameraTarget } from '../../../../models/map/selectors';
|
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
|
||||||
// 设置你的 Mapbox 访问令牌
|
|
||||||
mapboxgl.accessToken = 'pk.eyJ1IjoiaW5ob25vb3IiLCJhIjoiQzgzSmFadyJ9.jQDKFw6z_HrtBzu8hY415g';
|
|
||||||
|
|
||||||
const TrackMap = ({ trackData }) => {
|
|
||||||
const mapContainer = useRef(null);
|
|
||||||
const map = useRef(null);
|
|
||||||
const layermgrRef = useRef(new LayerMgr());
|
|
||||||
const layerSetting = useSelector(getLayerSetting);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (!mapContainer.current) return;
|
|
||||||
layermgrRef.current.init(layerSetting);
|
|
||||||
// 初始化地图
|
|
||||||
map.current = new mapboxgl.Map({
|
|
||||||
container: mapContainer.current,
|
|
||||||
style: layermgrRef.current.getMapStyle(), // 使用暗色主题
|
|
||||||
center: [114.88069, 31.171967], // 以轨迹起点为中心
|
|
||||||
minZoom: 5,
|
|
||||||
maxZoom: 18,
|
|
||||||
pitch: config.homePitch,
|
|
||||||
bounds: config.initalExtent,
|
|
||||||
maxBounds: config.w_extent_mb,
|
|
||||||
preserveDrawingBuffer: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
map.current.on('load', () => {
|
|
||||||
if (!map.current) return;
|
|
||||||
|
|
||||||
// // 添加轨迹数据源
|
|
||||||
// map.current.addSource('track', {
|
|
||||||
// type: 'geojson',
|
|
||||||
// data: {
|
|
||||||
// type: 'Feature',
|
|
||||||
// properties: {},
|
|
||||||
// geometry: {
|
|
||||||
// type: 'LineString',
|
|
||||||
// coordinates: trackData.coordinates
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // 添加轨迹线图层
|
|
||||||
// map.current.addLayer({
|
|
||||||
// id: 'track-line',
|
|
||||||
// type: 'line',
|
|
||||||
// source: 'track',
|
|
||||||
// layout: {
|
|
||||||
// 'line-join': 'round',
|
|
||||||
// 'line-cap': 'round'
|
|
||||||
// },
|
|
||||||
// paint: {
|
|
||||||
// 'line-color': '#1890ff',
|
|
||||||
// 'line-width': 3,
|
|
||||||
// 'line-opacity': 0.8
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// 添加起点标记
|
|
||||||
// new mapboxgl.Marker({ color: '#00ff00' })
|
|
||||||
// .setLngLat(trackData.coordinates[0])
|
|
||||||
// .setPopup(new mapboxgl.Popup().setHTML('起点'))
|
|
||||||
// .addTo(map.current);
|
|
||||||
|
|
||||||
// // 添加终点标记
|
|
||||||
// new mapboxgl.Marker({ color: '#ff0000' })
|
|
||||||
// .setLngLat(trackData.coordinates[trackData.coordinates.length - 1])
|
|
||||||
// .setPopup(new mapboxgl.Popup().setHTML('终点'))
|
|
||||||
// .addTo(map.current);
|
|
||||||
|
|
||||||
// 添加轨迹点图层
|
|
||||||
// map.current.addLayer({
|
|
||||||
// id: 'track-points',
|
|
||||||
// type: 'circle',
|
|
||||||
// source: 'track',
|
|
||||||
// paint: {
|
|
||||||
// 'circle-radius': 4,
|
|
||||||
// 'circle-color': '#ffffff',
|
|
||||||
// 'circle-stroke-width': 1,
|
|
||||||
// 'circle-stroke-color': '#1890ff'
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // 添加动画效果
|
|
||||||
// let animationStep = 0;
|
|
||||||
// const animateTrack = () => {
|
|
||||||
// if (!map.current) return;
|
|
||||||
|
|
||||||
// // 更新轨迹线的渐变动画
|
|
||||||
// map.current.setPaintProperty('track-line', 'line-gradient', [
|
|
||||||
// 'step',
|
|
||||||
// ['line-progress'],
|
|
||||||
// '#1890ff',
|
|
||||||
// animationStep,
|
|
||||||
// '#ffffff'
|
|
||||||
// ]);
|
|
||||||
|
|
||||||
// animationStep = (animationStep + 0.001) % 1;
|
|
||||||
// requestAnimationFrame(animateTrack);
|
|
||||||
// };
|
|
||||||
|
|
||||||
// animateTrack();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 清理函数
|
|
||||||
return () => {
|
|
||||||
map.current?.remove();
|
|
||||||
};
|
|
||||||
}, [[]]);
|
|
||||||
|
|
||||||
return <div ref={mapContainer} style={{width:500}} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TrackMap;
|
|
||||||
|
|
@ -8,7 +8,6 @@ import DpAppBar from '../../../../layouts/mui/DpAppBar';
|
||||||
import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop';
|
import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop';
|
||||||
import DpCloseButton from '../../../../layouts/mui/DpCloseButton';
|
import DpCloseButton from '../../../../layouts/mui/DpCloseButton';
|
||||||
import TaskInspectionDetail from './TaskInspectionDetail'
|
import TaskInspectionDetail from './TaskInspectionDetail'
|
||||||
import TrackMap from './TrackMap'
|
|
||||||
function HDStDlg({ record, onClose }) {
|
function HDStDlg({ record, onClose }) {
|
||||||
const [value, setValue] = React.useState(0);
|
const [value, setValue] = React.useState(0);
|
||||||
|
|
||||||
|
|
@ -22,7 +21,7 @@ function HDStDlg({ record, onClose }) {
|
||||||
BackdropComponent={DpBackgroundDrop}
|
BackdropComponent={DpBackgroundDrop}
|
||||||
>
|
>
|
||||||
<div className="boxhead"></div>
|
<div className="boxhead"></div>
|
||||||
<DialogContent style={{ padding: 0, width: '85rem', overflowX: 'hidden',height:'80rem' }}>
|
<DialogContent style={{ padding: 0, width: '80rem', overflowX: 'hidden',height:'80rem' }}>
|
||||||
<DpAppBar position="sticky">
|
<DpAppBar position="sticky">
|
||||||
<DpTabs value={value} indicatorColor="primary" onChange={(_, v) => setValue(v)}>
|
<DpTabs value={value} indicatorColor="primary" onChange={(_, v) => setValue(v)}>
|
||||||
<DpTab label="任务信息" />
|
<DpTab label="任务信息" />
|
||||||
|
|
@ -31,14 +30,8 @@ function HDStDlg({ record, onClose }) {
|
||||||
</DpAppBar>
|
</DpAppBar>
|
||||||
<div >
|
<div >
|
||||||
{/* <img src={`${process.env.PUBLIC_URL}/assets/xcxq.png`} style={{width:'100%'}}></img> */}
|
{/* <img src={`${process.env.PUBLIC_URL}/assets/xcxq.png`} style={{width:'100%'}}></img> */}
|
||||||
<div style={{display:'flex'}}>
|
|
||||||
<div style={{flex:1}}>
|
|
||||||
<TaskInspectionDetail />
|
<TaskInspectionDetail />
|
||||||
</div>
|
</div>
|
||||||
{/* <div style={{width:500}}></div> */}
|
|
||||||
{/* <TrackMap /> */}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<div className="boxfoot"></div>
|
<div className="boxfoot"></div>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,9 @@ export default function MapCtrl({ initParams, onLoad }) {
|
||||||
dispatch.runtime.setFeaturePop({ type: record.layerPop, properties: record, coordinates: [record.lgtd, record.lttd] });
|
dispatch.runtime.setFeaturePop({ type: record.layerPop, properties: record, coordinates: [record.lgtd, record.lttd] });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(feature.layer.id==='临时线'){
|
||||||
|
debugger
|
||||||
|
}
|
||||||
if (feature.layer.id === '关联站点') {
|
if (feature.layer.id === '关联站点') {
|
||||||
const record = feature.properties
|
const record = feature.properties
|
||||||
if (record.cd_nm == 'GN1') {
|
if (record.cd_nm == 'GN1') {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.mapboxgl-popup-content {
|
.mapboxgl-popup-content {
|
||||||
background:rgba(4, 8, 27, 0.8) !important;
|
background:rgba(4, 8, 27, 0.8);
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-shadow: 0 0 0.5rem 0 rgba(31, 95, 102, 0.7);
|
box-shadow: 0 0 0.5rem 0 rgba(31, 95, 102, 0.7);
|
||||||
|
|
|
||||||
|
|
@ -168,14 +168,6 @@ export default function Title() {
|
||||||
<>
|
<>
|
||||||
<div style={{color:item.key===view?'#65dbfb':'#ffffff',cursor:'pointer',marginBottom:"0.5rem",display:'flex',flexDirection:'column',alignItems:'center',fontSize:'0.8rem'}} onClick={()=>{
|
<div style={{color:item.key===view?'#65dbfb':'#ffffff',cursor:'pointer',marginBottom:"0.5rem",display:'flex',flexDirection:'column',alignItems:'center',fontSize:'0.8rem'}} onClick={()=>{
|
||||||
dispatch.map.setView(item.key)
|
dispatch.map.setView(item.key)
|
||||||
const map = window.__mapref;
|
|
||||||
if (map) {
|
|
||||||
const layer = map.getLayer('临时线')
|
|
||||||
if (layer) {
|
|
||||||
map.removeLayer('临时线');
|
|
||||||
map.removeSource('临时线');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(item.key===200){
|
if(item.key===200){
|
||||||
const {lgtd,lttd} = JSON.parse(sessionStorage.getItem('lastCenter'))
|
const {lgtd,lttd} = JSON.parse(sessionStorage.getItem('lastCenter'))
|
||||||
if(lgtd&<td){
|
if(lgtd&<td){
|
||||||
|
|
|
||||||
|
|
@ -143,8 +143,8 @@ function HDReal({ style }) {
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/cgfx.png`} alt="" style={{ width: 420}} />
|
<img src={`${process.env.PUBLIC_URL}/assets/cgfx.png`} alt="" style={{ width: 420}} />
|
||||||
</div>
|
</div>
|
||||||
{
|
{
|
||||||
renderChart &&<div style={{position:'absolute',top:130,right:450}}>
|
renderChart &&<div style={{position:'absolute',top:80,right:450}}>
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/ddjg.png`} alt="" style={{ width: 370}} />
|
<img src={`${process.env.PUBLIC_URL}/assets/dcjg.jpg`} alt="" style={{ width: 370}} />
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ function HDReal({ style }) {
|
||||||
return (
|
return (
|
||||||
<PanelBox
|
<PanelBox
|
||||||
style={style}
|
style={style}
|
||||||
title="监测告警"
|
title="监测2告警"
|
||||||
color="green"
|
color="green"
|
||||||
extra={
|
extra={
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -276,7 +276,7 @@ function DrpReal({ style }) {
|
||||||
:null
|
:null
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
tab==='灌溉发电'?
|
tab==='发电'?
|
||||||
<div style={{width:"100%",display:'flex',fontSize:'12px',justifyContent:'space-around',padding:'0.5rem 0'}}>
|
<div style={{width:"100%",display:'flex',fontSize:'12px',justifyContent:'space-around',padding:'0.5rem 0'}}>
|
||||||
<div style={{width:'8rem',padding:'0.5rem 0.5rem',background:'#2a5278',display:'flex',flexDirection:'column',justifyContent:'flex-start',alignItems:'center',color:"#ffffff"}}>
|
<div style={{width:'8rem',padding:'0.5rem 0.5rem',background:'#2a5278',display:'flex',flexDirection:'column',justifyContent:'flex-start',alignItems:'center',color:"#ffffff"}}>
|
||||||
<div><span style={{color:'#76b1d4',fontSize:'22px'}}>2.41</span> m³/s</div>
|
<div><span style={{color:'#76b1d4',fontSize:'22px'}}>2.41</span> m³/s</div>
|
||||||
|
|
|
||||||
|
|
@ -12,17 +12,17 @@ function Page({ style }) {
|
||||||
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>中型水库</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>中型水库</div>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>7</span> 座</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>3</span> 座</div>
|
||||||
</div>
|
</div>
|
||||||
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>小(1)型水库</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>小(1)型水库</div>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>44</span> 座</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>3</span> 座</div>
|
||||||
</div>
|
</div>
|
||||||
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
<div style={{width:'24%',display:'flex',flexDirection:'column',alignItems:'center',border:'1px solid rgba(36, 136, 223, 0.4)',paddingTop:'0.2rem',background:'#132a4b'}}>
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
<img src={`${process.env.PUBLIC_URL}/assets/icon/大型水库.svg`} width={20} alt=""/>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>小(2)型水库</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',marginTop:'0.1rem'}}>小(2)型水库</div>
|
||||||
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>207</span> 座</div>
|
<div style={{color:'#ffffff',fontSize:'0.8rem',lineHeight:'1rem'}}><span style={{color:'#7dd188',fontSize:'1.2rem'}}>3</span> 座</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ function DrpReal({ style }) {
|
||||||
const [skData,setSkData] = useState([])
|
const [skData,setSkData] = useState([])
|
||||||
const [skType,setSkType] = useState('')
|
const [skType,setSkType] = useState('')
|
||||||
const [sort,setSort] = useState(true)
|
const [sort,setSort] = useState(true)
|
||||||
const [sort1, setSort1] = useState(true)
|
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const tableData = useMemo(()=>{
|
const tableData = useMemo(()=>{
|
||||||
if(skType==='1'){
|
if(skType==='1'){
|
||||||
|
|
@ -26,22 +25,18 @@ function DrpReal({ style }) {
|
||||||
return (skData.filter(o=>o.w>100 && o.w<=10000)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w))
|
return (skData.filter(o=>o.w>100 && o.w<=10000)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w))
|
||||||
}
|
}
|
||||||
if(skType==='3'){
|
if(skType==='3'){
|
||||||
const filterSkData = skData.filter(o => o.w > 0.375 && o.w <= 100) || [];
|
return (skData.filter(o=>o.w>0.375 && o.w<=100)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w))
|
||||||
const newFilterData = filterSkData.map(item => ({ ...item, xs: (item.w * 0.6).toFixed(2) }))
|
|
||||||
return newFilterData.sort((a, b) => sort ? (b.w - a.w) : (a.w - b.w))
|
|
||||||
}
|
}
|
||||||
if(skType==='4'){
|
if(skType==='4'){
|
||||||
const filterSkData = skData.filter(o => o.w >= 0 && o.w <= 0.375) || [];
|
return (skData.filter(o=>o.w>=0 && o.w<=0.375)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w))
|
||||||
const newFilterData = filterSkData.map(item => ({ ...item, xs: (item.w * 0.6).toFixed(2) }))
|
|
||||||
return newFilterData.sort((a, b) => sort ? (b.w - a.w) : (a.w - b.w))
|
|
||||||
}
|
}
|
||||||
return []
|
return []
|
||||||
}, [skData, skType, sort, sort1])
|
},[skData,skType,sort])
|
||||||
|
|
||||||
const skTypeObj = [
|
const skTypeObj = [
|
||||||
{type:'1',name:'大型水库',num1:3,num2:7.9316},//8.735
|
{type:'1',name:'大型水库',num1:3,num2:7.9316},//8.735
|
||||||
{type:'2',name:'中型水库',num1:7,num2:1.627},
|
{type:'2',name:'中型水库',num1:7,num2:1.627},
|
||||||
{ type: '3', name: '小(1)型水库', num1: 44, num2: 1.627 },
|
{type:'3',name:'小(1)型水库',num1:43,num2:1.627},
|
||||||
{type:'4',name:'小(2)型水库',num1:207,num2:8.735},
|
{type:'4',name:'小(2)型水库',num1:207,num2:8.735},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -142,18 +137,9 @@ function DrpReal({ style }) {
|
||||||
<Table size="small" stickyHeader>
|
<Table size="small" stickyHeader>
|
||||||
<TableHead>
|
<TableHead>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<DpTableCell style={{ minWidth: '3rem' }} align="left">序号</DpTableCell>
|
<DpTableCell style={{ minWidth: '1rem' }} align="left">序号</DpTableCell>
|
||||||
<DpTableCell style={{ minWidth: '8rem' }} align="center">水库名称</DpTableCell>
|
<DpTableCell style={{ minWidth: '5rem' }} align="center">水库名称</DpTableCell>
|
||||||
<DpTableCell style={{ minWidth: '8rem' }} align="center">类型</DpTableCell>
|
<DpTableCell style={{ minWidth: '8rem' }} align="center">类型</DpTableCell>
|
||||||
<DpTableCell style={{ minWidth: '8rem' }} align="center">
|
|
||||||
{/* <TableSortLabel
|
|
||||||
onClick={() => setSort1(!sort1)}
|
|
||||||
active={true}
|
|
||||||
direction={sort1?'desc':'asc'}>
|
|
||||||
{'蓄水量(万m³)'}
|
|
||||||
</TableSortLabel> */}
|
|
||||||
蓄水量(万m³)
|
|
||||||
</DpTableCell>
|
|
||||||
<DpTableCell style={{ minWidth: '8rem' }} align="center">
|
<DpTableCell style={{ minWidth: '8rem' }} align="center">
|
||||||
<TableSortLabel
|
<TableSortLabel
|
||||||
onClick={() => setSort(!sort)}
|
onClick={() => setSort(!sort)}
|
||||||
|
|
@ -178,7 +164,6 @@ function DrpReal({ style }) {
|
||||||
</div>
|
</div>
|
||||||
</DpTableCell>
|
</DpTableCell>
|
||||||
<DpTableCell align="center" >{item.name}</DpTableCell>
|
<DpTableCell align="center" >{item.name}</DpTableCell>
|
||||||
<DpTableCell align="center" >{tableRow.xs}</DpTableCell>
|
|
||||||
<DpTableCell align="center" >{tableRow.w}</DpTableCell>
|
<DpTableCell align="center" >{tableRow.w}</DpTableCell>
|
||||||
</DpTableRow>
|
</DpTableRow>
|
||||||
</TableBody>
|
</TableBody>
|
||||||
|
|
|
||||||
|
|
@ -84,46 +84,12 @@ function DrpReal({ style }) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const flyTo = () => {
|
const flyTo = () => {
|
||||||
dispatch?.runtime.setInfoDlg({ layerId: 'XunchachaoshiLayer', properties: {} })
|
dispatch?.runtime.setInfoDlg({ layerId: 'XunchachaoshiLayer', properties: {} })
|
||||||
}
|
|
||||||
const setSkLayer1 = ()=>{
|
|
||||||
const map = window.__mapref;
|
|
||||||
const layer = map.getLayer('临时线')
|
|
||||||
if(layer){
|
|
||||||
map.removeLayer('临时线');
|
|
||||||
map.removeSource('临时线');
|
|
||||||
}
|
|
||||||
map.addLayer({
|
|
||||||
'id': '临时线',
|
|
||||||
'type': 'line',
|
|
||||||
'source': {
|
|
||||||
'type': 'geojson',
|
|
||||||
'data': `${window.location.origin}/data3/line2.geojson`
|
|
||||||
},
|
|
||||||
'layout': {
|
|
||||||
'line-join': 'round'
|
|
||||||
},
|
|
||||||
'paint': {
|
|
||||||
'line-color': 'red',
|
|
||||||
'line-width': 6
|
|
||||||
// [
|
|
||||||
// 'case',
|
|
||||||
// ['==', ['get', 'LEVEL'], 1], 2.2,
|
|
||||||
// ['==', ['get', 'LEVEL'], 2], 2.2,
|
|
||||||
// ['==', ['get', 'LEVEL'], 3], 2.2,
|
|
||||||
// ['==', ['get', 'LEVEL'], 4], 1.6,
|
|
||||||
// ['==', ['get', 'LEVEL'], 5], 1.3,
|
|
||||||
// 10
|
|
||||||
// ]
|
|
||||||
},
|
|
||||||
'visibility': 'visible',
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
const jumpTo = (record) => {
|
const jumpTo = (record) => {
|
||||||
const { lgtd, lttd } = record;
|
const { lgtd, lttd } = record;
|
||||||
const lgtdNum = Number(lgtd);
|
const lgtdNum = Number(lgtd);
|
||||||
const lttdNum = Number(lttd)
|
const lttdNum = Number(lttd)
|
||||||
if (record.code == 1) {
|
if (record.code == 1) {
|
||||||
setSkLayer1()
|
|
||||||
if (lgtdNum && lttdNum) {
|
if (lgtdNum && lttdNum) {
|
||||||
dispatch.runtime.setCameraTarget({
|
dispatch.runtime.setCameraTarget({
|
||||||
center: [lgtdNum, lttdNum],
|
center: [lgtdNum, lttdNum],
|
||||||
|
|
|
||||||
|
|
@ -155,8 +155,8 @@ export default function Warn({ style }) {
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
{res.yy &&
|
{res.yy &&
|
||||||
<div style={{ color: "#fff", position: 'absolute', top: 130, left: '-380px' }}>
|
<div style={{ color: "#fff", position: 'absolute', top: 90, left: '-380px' }}>
|
||||||
<img src={`${process.env.PUBLIC_URL}/assets/yyzl.png`} alt="" style={{ width: 370 }} />
|
<img src={`${process.env.PUBLIC_URL}/assets/yjzl.jpg`} alt="" style={{ width: 370 }} />
|
||||||
{/* <div style={{ background: '#020c2b',padding:'5px 10px',opacity:1 }}>
|
{/* <div style={{ background: '#020c2b',padding:'5px 10px',opacity:1 }}>
|
||||||
<div style={{color:'#c5d02c',fontSize:20}}>最大淹没范围</div>
|
<div style={{color:'#c5d02c',fontSize:20}}>最大淹没范围</div>
|
||||||
<div style={{display:'flex',columnGap:10}}>
|
<div style={{display:'flex',columnGap:10}}>
|
||||||
|
|
@ -170,7 +170,7 @@ export default function Warn({ style }) {
|
||||||
</div> */}
|
</div> */}
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
<div style={{ color: "#fff", position: 'absolute', top: 83, right: 600 }}>
|
<div style={{ color: "#fff", position: 'absolute', top: 160, right: 600 }}>
|
||||||
<WaterLevelAlert />
|
<WaterLevelAlert />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue