diff --git a/public/data3/skReal.json b/public/data3/skReal.json index 1980dc4..747b548 100644 --- a/public/data3/skReal.json +++ b/public/data3/skReal.json @@ -44,6 +44,52 @@ ], "layer": "RealSkLayer", "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", @@ -669,6 +715,7 @@ "h48": 15, "drpState": 1, "rz": 84.67, + "xs":10432, "w": 16900, "a_fsltdz": -8.329999999999998, "rzTm": "2025-06-06T22:00:00.000Z", @@ -704,6 +751,7 @@ "drpState": 2, "rz": 83, "w": 1026, + "xs":375, "a_fsltdz": -15.299999999999997, "rzTm": "2025-06-06T00:00:00.000Z", "rzWarning": 0, @@ -737,6 +785,7 @@ "h48": 0, "drpState": 2, "rz": 203.4, + "xs":1164, "w": 2797, "a_fsltdz": -5.079999999999984, "rzTm": "2025-06-06T00:00:00.000Z", @@ -1876,6 +1925,7 @@ "drpState": 1, "rz": 60.7, "w": 45490, + "xs":32133, "a_fsltdz": -4.189999999999998, "rzTm": "2025-06-06T22:00:00.000Z", "rzWarning": 0, @@ -5451,6 +5501,7 @@ "h48": 43.5, "drpState": 1, "rz": 141.56, + "xs":12744, "w": 16926, "a_fsltdz": -7.439999999999998, "rzTm": "2025-06-06T22:00:00.000Z", @@ -5486,6 +5537,7 @@ "drpState": 1, "rz": 120, "w": 6015, + "xs":1676, "a_fsltdz": -17, "rzTm": "2025-06-06T00:00:00.000Z", "rzWarning": 0, @@ -5888,6 +5940,7 @@ "drpState": 2, "rz": 224.31, "w": 1415, + "xs":750, "a_fsltdz": -6.689999999999998, "rzTm": "2025-04-11T05:00:00.000Z", "rzWarning": 0, @@ -7486,6 +7539,7 @@ "drpState": 2, "rz": 156.8, "w": 1834, + "xs":448, "a_fsltdz": -10.599999999999994, "rzTm": "2025-06-06T00:00:00.000Z", "rzWarning": 0, @@ -8256,6 +8310,7 @@ "drpState": 1, "rz": 117.78, "w": 1577, + "xs":628, "a_fsltdz": -4.659999999999997, "rzTm": "2025-06-06T22:00:00.000Z", "rzWarning": 0, @@ -9072,6 +9127,7 @@ "drpState": 1, "rz": 144.5, "w": 1574, + "xs":"--", "a_fsltdz": -14.5, "rzTm": "2025-06-06T00:00:00.000Z", "rzWarning": 0, diff --git a/src/assets/yybg.png b/src/assets/yybg.png new file mode 100644 index 0000000..56f25db Binary files /dev/null and b/src/assets/yybg.png differ diff --git a/src/views/Home/InfoDlg/HistoryYyDlg/fxyb.js b/src/views/Home/InfoDlg/HistoryYyDlg/fxyb.js index cf7cd70..7486dad 100644 --- a/src/views/Home/InfoDlg/HistoryYyDlg/fxyb.js +++ b/src/views/Home/InfoDlg/HistoryYyDlg/fxyb.js @@ -136,8 +136,8 @@ const enterpriseData = [ const statistics = { floodArea: 3.57, affectedVillages: 2, - affectedHouseholds: 310, - affectedPopulation: 940, + affectedHouseholds: 75, + affectedPopulation: 224, }; const FloodImpactMonitor = () => { @@ -162,8 +162,8 @@ const FloodImpactMonitor = () => { 城镇、集镇、村庄 - - + +
@@ -196,7 +196,7 @@ const FloodImpactMonitor = () => { 企事业单位影响情况 - +
名称
diff --git a/src/views/Home/InfoDlg/HistoryYyDlg/index.js b/src/views/Home/InfoDlg/HistoryYyDlg/index.js index 02b7235..fbd418f 100644 --- a/src/views/Home/InfoDlg/HistoryYyDlg/index.js +++ b/src/views/Home/InfoDlg/HistoryYyDlg/index.js @@ -40,7 +40,7 @@ function HDStDlg({ record, onClose }) { -
+
- + /> */} {/* */}
diff --git a/src/views/Home/InfoDlg/HistoryYyDlg/index.less b/src/views/Home/InfoDlg/HistoryYyDlg/index.less index 1821544..86d032a 100644 --- a/src/views/Home/InfoDlg/HistoryYyDlg/index.less +++ b/src/views/Home/InfoDlg/HistoryYyDlg/index.less @@ -1,6 +1,12 @@ .yy-left,.yy-right{ - width:450px + width:450px; + background: rgba(6, 34, 56, .8); } .yy-middle{ width: 1000px; +} +.yy-contents{ + display: flex; + background:url(../../../../assets/yybg.png) no-repeat; + background-size: 100% 100%; } \ No newline at end of file diff --git a/src/views/Home/InfoDlg/HistoryYyDlg/rightYy.js b/src/views/Home/InfoDlg/HistoryYyDlg/rightYy.js index 33259fa..1f3c089 100644 --- a/src/views/Home/InfoDlg/HistoryYyDlg/rightYy.js +++ b/src/views/Home/InfoDlg/HistoryYyDlg/rightYy.js @@ -153,7 +153,7 @@ const RainfallMonitor = () => { - + { tabValue == 0 ? <> @@ -213,10 +213,6 @@ const RainfallMonitor = () => { : } - - - - ); }; diff --git a/src/views/Home/InfoDlg/SkSmtp/index.js b/src/views/Home/InfoDlg/SkSmtp/index.js index 939f7ed..055fc05 100644 --- a/src/views/Home/InfoDlg/SkSmtp/index.js +++ b/src/views/Home/InfoDlg/SkSmtp/index.js @@ -24,7 +24,7 @@ function SkSmtp({ record, onClose }) {
- {record.stnm} + {record.stnm} diff --git a/src/views/Home/panels/Jcgjz/index.js b/src/views/Home/panels/Jcgjz/index.js index 82eec50..b287821 100644 --- a/src/views/Home/panels/Jcgjz/index.js +++ b/src/views/Home/panels/Jcgjz/index.js @@ -50,7 +50,7 @@ function HDReal({ style }) { return ( diff --git a/src/views/Home/panels/Skzl/countPage.js b/src/views/Home/panels/Skzl/countPage.js index 7dac542..32330b5 100644 --- a/src/views/Home/panels/Skzl/countPage.js +++ b/src/views/Home/panels/Skzl/countPage.js @@ -12,17 +12,17 @@ function Page({ style }) {
中型水库
-
3
+
7
小(1)型水库
-
3
+
44
小(2)型水库
-
3
+
207
diff --git a/src/views/Home/panels/Skzl/index.js b/src/views/Home/panels/Skzl/index.js index ee1ced2..e8681f2 100644 --- a/src/views/Home/panels/Skzl/index.js +++ b/src/views/Home/panels/Skzl/index.js @@ -1,5 +1,5 @@ import React, { useEffect, useMemo, useState } from 'react'; -import { Switch, Collapse,Table, TableContainer, TableBody,TableHead, TableRow, TableSortLabel } from '@material-ui/core/index' +import { Switch, Collapse, Table, TableContainer, TableBody, TableHead, TableRow, TableSortLabel } from '@material-ui/core/index' import DpTableCell from '../../../../layouts/mui/DpTableCell'; import DpTableRow from '../../../../layouts/mui/DpTableRow'; import PanelBox from '../../components/PanelBox'; @@ -12,35 +12,40 @@ import CollapsePage from './collapsePage' function DrpReal({ style }) { - const [dimension, setDimension] =useState('ft'); - const [skData,setSkData] = useState([]) - const [skType,setSkType] = useState('') - const [sort,setSort] = useState(true) + const [dimension, setDimension] = useState('ft'); + const [skData, setSkData] = useState([]) + const [skType, setSkType] = useState('') + const [sort, setSort] = useState(true) + const [sort1, setSort1] = useState(true) const dispatch = useDispatch(); - const tableData = useMemo(()=>{ - if(skType==='1'){ - return (skData.filter(o=>o.w>10000)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w)) + const tableData = useMemo(() => { + if (skType === '1') { + return (skData.filter(o => o.w > 10000) || []).sort((a, b) => sort ? (b.w - a.w) : (a.w - b.w)) } - if(skType==='2'){ - return (skData.filter(o=>o.w>100 && o.w<=10000)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w)) + if (skType === '2') { + 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'){ - return (skData.filter(o=>o.w>0.375 && o.w<=100)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w)) + if (skType === '3') { + const filterSkData = skData.filter(o => o.w > 0.375 && o.w <= 100) || []; + 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'){ - return (skData.filter(o=>o.w>=0 && o.w<=0.375)||[]).sort((a,b)=>sort?(b.w-a.w):(a.w-b.w)) + if (skType === '4') { + const filterSkData = skData.filter(o => o.w >= 0 && o.w <= 0.375) || []; + 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 [] - },[skData,skType,sort]) + }, [skData, skType, sort, sort1]) const skTypeObj = [ - {type:'1',name:'大型水库',num1:3,num2:7.9316},//8.735 - {type:'2',name:'中型水库',num1:7,num2:1.627}, - {type:'3',name:'小(1)型水库',num1:43,num2:1.627}, - {type:'4',name:'小(2)型水库',num1:207,num2:8.735}, + { type: '1', name: '大型水库', num1: 3, num2: 7.9316 },//8.735 + { type: '2', name: '中型水库', num1: 7, num2: 1.627 }, + { type: '3', name: '小(1)型水库', num1: 44, num2: 1.627 }, + { type: '4', name: '小(2)型水库', num1: 207, num2: 8.735 }, ] - useEffect(()=>{ + useEffect(() => { getSkData() // return ()=>{ @@ -51,132 +56,142 @@ function DrpReal({ style }) { // map.removeSource('临时水库tz'); // } // } - },[]) + }, []) - const getSkData = async()=>{ + const getSkData = async () => { const data = await SkRealPromise.get(); setSkData(data) } - const flyTo = (row)=>{ + const flyTo = (row) => { const { lgtd, lttd } = row; if (lgtd && lttd) { - // dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: row, coordinates: [row.lgtd, row.lttd] }); - dispatch.runtime.setCameraTarget({ - center: [lgtd, lttd+0.005], + // dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: row, coordinates: [row.lgtd, row.lttd] }); + dispatch.runtime.setCameraTarget({ + center: [lgtd, lttd + 0.005], zoom: 15, pitch: 50, bearing: 0 - }); + }); } } - const setSkLayer = (data=[])=>{ + const setSkLayer = (data = []) => { const map = window.__mapref; const layer = map.getLayer('临时水库tz') - if(layer){ + if (layer) { map.removeLayer('临时水库tz'); map.removeSource('临时水库tz'); } - if(data.length===0){return} + if (data.length === 0) { return } map.addLayer({ - 'id': '临时水库tz',//+new Date().getTime(), - 'type': 'symbol', - 'source': { - 'type': 'geojson', - 'data': { - 'type': 'FeatureCollection', - 'features': [], - }, + 'id': '临时水库tz',//+new Date().getTime(), + 'type': 'symbol', + 'source': { + 'type': 'geojson', + 'data': { + 'type': 'FeatureCollection', + 'features': [], }, - 'layout': { - // 'icon-allow-overlap': true, - // 'text-allow-overlap': true, - 'icon-image': '水库', // 从properties中动态读取icon字段 - 'icon-size': [ - 'interpolate', ['linear'], ['zoom'], - 10, 0.8, - 14, 0.8, - ], - 'text-size': [ - 'interpolate', ['linear'], ['zoom'], - 5, 10, - 14, 14, - ], - 'text-font': ['Roboto Black'], - 'text-field': [ - 'step', - ['zoom'], - '', - 8, ['get', 'stnm'] - ], - 'text-anchor': 'top', - 'text-offset': [0, 1], - }, - 'paint': { - 'text-color': '#fff' - }, - 'visibility': 'visible', + }, + 'layout': { + // 'icon-allow-overlap': true, + // 'text-allow-overlap': true, + 'icon-image': '水库', // 从properties中动态读取icon字段 + 'icon-size': [ + 'interpolate', ['linear'], ['zoom'], + 10, 0.8, + 14, 0.8, + ], + 'text-size': [ + 'interpolate', ['linear'], ['zoom'], + 5, 10, + 14, 14, + ], + 'text-font': ['Roboto Black'], + 'text-field': [ + 'step', + ['zoom'], + '', + 8, ['get', 'stnm'] + ], + 'text-anchor': 'top', + 'text-offset': [0, 1], + }, + 'paint': { + 'text-color': '#fff' + }, + 'visibility': 'visible', }); map.getSource('临时水库tz').setData(parseGeoJSON(data)) } - return ( + return ( - + { - skTypeObj.map((item)=> - (<> - - - -
- - - 序号 - 水库名称 - 类型 - - setSort(!sort)} + skTypeObj.map((item) => + (<> + + + +
+ + + 序号 + 水库名称 + 类型 + + {/* setSort1(!sort1)} active={true} - direction={sort?'desc':'asc'}> - {'库容(万m³)'} - - - - - { - tableData.map((tableRow,index)=> + direction={sort1?'desc':'asc'}> + {'蓄水量(万m³)'} + */} + 蓄水量(万m³) + + + setSort(!sort)} + active={true} + direction={sort ? 'desc' : 'asc'}> + {'库容(万m³)'} + + + + + { + tableData.map((tableRow, index) => - {index+1} + {index + 1} -
{ - flyTo(tableRow) - setSkLayer([tableRow]) - }}> - {tableRow.stnm} -
+
{ + flyTo(tableRow) + setSkLayer([tableRow]) + }}> + {tableRow.stnm} +
{item.name} + {tableRow.xs} {tableRow.w}
- ) - } -
- - - ) + ) + } + + + + ) ) } ) -} - +} + export default DrpReal; diff --git a/src/views/Home/panels/Xczl/index.js b/src/views/Home/panels/Xczl/index.js index 8f63c01..a176a3e 100644 --- a/src/views/Home/panels/Xczl/index.js +++ b/src/views/Home/panels/Xczl/index.js @@ -104,7 +104,7 @@ function DrpReal({ style }) { }, 'paint': { 'line-color': 'red', - 'line-width': 10 + 'line-width': 6 // [ // 'case', // ['==', ['get', 'LEVEL'], 1], 2.2,