lsf-dev
秦子超 2025-06-09 15:49:14 +08:00
parent bf30757e24
commit 38d5efeeba
16 changed files with 519 additions and 284 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -417,7 +417,6 @@ const map = {
ShuiyuandiQLayer:true, ShuiyuandiQLayer:true,
ShuizhiLayer:true, ShuizhiLayer:true,
ShuiyuandiLayer: true, ShuiyuandiLayer: true,
}; };
Object.keys(DCPJ_TYPES).forEach(key => { Object.keys(DCPJ_TYPES).forEach(key => {
layerVisible['Dcpj_' + key + 'Layer'] = false; layerVisible['Dcpj_' + key + 'Layer'] = false;
@ -434,6 +433,7 @@ const map = {
RoadLayer: true, RoadLayer: true,
RivlLayer: true, RivlLayer: true,
ShuichangLayer:true, ShuichangLayer:true,
ShuichangQLayer: true,
}; };
Object.keys(DCPJ_TYPES).forEach(key => { Object.keys(DCPJ_TYPES).forEach(key => {
layerVisible['Dcpj_' + key + 'Layer'] = false; layerVisible['Dcpj_' + key + 'Layer'] = false;

View File

@ -132,7 +132,7 @@ export default function calcLayout(view, rightStack, hidePanels) {
left = [ left = [
{ key: '天气' }, { key: '天气' },
{ key: '水厂总览', style: { height: '26rem' } }, { key: '水厂总览', style: { height: '26rem' } },
{ key: '设备统计', style: { height: '16rem' } }, { key: '设备统计', style: { height: '23rem' } },
// { key: '水厂监控',style: { height: '16rem'} }, // { key: '水厂监控',style: { height: '16rem'} },
// { key: '设备数量统计',style: { height: '18rem'} }, // { key: '设备数量统计',style: { height: '18rem'} },
// { key: '设备故障统计',style: { height: '18rem'} }, // { key: '设备故障统计',style: { height: '18rem'} },
@ -331,8 +331,8 @@ export default function calcLayout(view, rightStack, hidePanels) {
} else if (view === 301) { } else if (view === 301) {
right = [ right = [
// { key: '警报' }, // { key: '警报' },
{ key: '水厂生产情况',style: { height: '15rem', flexGrow: 1 } }, // { key: '水厂生产情况',style: { height: '15rem', flexGrow: 1 } },
{ key: '对比分析', style: { height: '19rem' } }, // { key: '对比分析', style: { height: '19rem' } },
{ key: '报警统计',style: { height: '19rem',flexGrow: 1 } }, { key: '报警统计',style: { height: '19rem',flexGrow: 1 } },
]; ];
} else if (view === 302) { } else if (view === 302) {

View File

@ -35,7 +35,7 @@ function HDStDlg({ record, onClose }) {
BackdropComponent={DpBackgroundDrop} BackdropComponent={DpBackgroundDrop}
> >
<div className="boxhead"></div> <div className="boxhead"></div>
<DialogContent style={{ padding: 0, width: '60rem', overflowX: 'hidden',height:'35rem' }}> <DialogContent style={{ padding: 0, width: '60rem', overflowX: 'hidden' }}>
<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="资产详情" />
@ -46,12 +46,13 @@ function HDStDlg({ record, onClose }) {
{ {
value===0? value===0?
<div style={{padding:10}}> <div style={{padding:0}}>
<img src={`${process.env.PUBLIC_URL}/assets/资产详情.jpg`} style={{width:'100%'}}></img> <img src={`${process.env.PUBLIC_URL}/assets/资产详情.jpg`} style={{width:'100%'}}></img>
</div>:null </div>:null
} }
{ {
value===1? value===1?
<div style={{height:'35rem'}}>
<TableContainer > <TableContainer >
<Table size="small" stickyHeader> <Table size="small" stickyHeader>
<TableHead> <TableHead>
@ -83,6 +84,7 @@ function HDStDlg({ record, onClose }) {
</TableBody> </TableBody>
</Table> </Table>
</TableContainer> </TableContainer>
</div>
:null :null
} }
</DialogContent> </DialogContent>

View File

@ -130,6 +130,10 @@ export default function MapCtrl({ initParams, onLoad }) {
const record = feature.properties const record = feature.properties
dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [record.lgtd, record.lttd] }); dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [record.lgtd, record.lttd] });
} }
if(feature.layer.id==='关联站点'){
const record = feature.properties
// dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [record.lgtd, record.lttd] });
}
} }
}); });

View File

@ -85,7 +85,7 @@ const data = [
const AreaDrpChart = () => { const AreaDrpChart = ({rz}) => {
@ -121,7 +121,7 @@ const AreaDrpChart = () => {
xAxis: [ xAxis: [
{ {
type: 'category', type: 'category',
// data: x, data: data.map((o)=>o[0]),
splitLine: { splitLine: {
show: true, //隐藏X轴轴线 show: true, //隐藏X轴轴线
lineStyle: { lineStyle: {
@ -182,7 +182,7 @@ const AreaDrpChart = () => {
axisTick: { axisTick: {
show: false, show: false,
}, },
min: 133, // min: 133,
// max: 135, // max: 135,
} }
], ],
@ -191,7 +191,7 @@ const AreaDrpChart = () => {
name: '水位', name: '水位',
type: 'line', type: 'line',
barWidth: 10, barWidth: 10,
data: data, data: data.map(o=>rz),
showSymbol: false, showSymbol: false,
itemStyle: { itemStyle: {
normal: { normal: {
@ -212,7 +212,7 @@ const AreaDrpChart = () => {
type: 'line', type: 'line',
barWidth: 10, barWidth: 10,
showSymbol: false, showSymbol: false,
data: data.map((item)=>134.5), data: data.map(o=>rz+34.5),
itemStyle: { itemStyle: {
normal: { normal: {
color: '#f19932' color: '#f19932'
@ -232,7 +232,7 @@ const AreaDrpChart = () => {
type: 'line', type: 'line',
barWidth: 10, barWidth: 10,
showSymbol: false, showSymbol: false,
data: data.map((item)=>134.8), data: data.map(o=>rz+45.2),
itemStyle: { itemStyle: {
normal: { normal: {
color: '#e1554e' color: '#e1554e'

View File

@ -9,6 +9,7 @@ import config from '../../../../config';
function DrpReal({ style }) { function DrpReal({ style }) {
const [dimension, setDimension] =useState('61614460'); const [dimension, setDimension] =useState('61614460');
const [rz,setRz] = useState(21.91)
const dispatch = useDispatch(); const dispatch = useDispatch();
const data = [ const data = [
{ {
@ -157,6 +158,7 @@ function DrpReal({ style }) {
const value = event.target.value; const value = event.target.value;
setDimension(value); setDimension(value);
const record = data.filter(o=>o.stcd===value)[0] const record = data.filter(o=>o.stcd===value)[0]
setRz(record.rz)
const { lgtd, lttd } = record; const { lgtd, lttd } = record;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setFeaturePop({ type: 'RealHDPop', properties: record, coordinates: [lgtd, lttd] }); dispatch.runtime.setFeaturePop({ type: 'RealHDPop', properties: record, coordinates: [lgtd, lttd] });
@ -167,18 +169,6 @@ function DrpReal({ style }) {
}); });
} }
}} }}
// sx={{
// color: '#fff',
// '.MuiOutlinedInput-notchedOutline': {
// borderColor: 'rgba(255, 255, 255, 0.3)',
// },
// '&:hover .MuiOutlinedInput-notchedOutline': {
// borderColor: 'rgba(255, 255, 255, 0.6)',
// },
// '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
// borderColor: '#fff',
// }
// }}
> >
{ {
data.map((item)=> data.map((item)=>
@ -190,7 +180,7 @@ function DrpReal({ style }) {
</> </>
} }
> >
<AreaDrpChart data={[]} /> <AreaDrpChart data={[]} rz={rz}/>
</PanelBox> </PanelBox>
) )
} }

View File

@ -711,8 +711,8 @@ const data5 = [
"town_nm": "阎家河镇", "town_nm": "阎家河镇",
"res_cd": "42118140028", "res_cd": "42118140028",
"res_nm": "红心水库", "res_nm": "红心水库",
"res_lon": 115.18962, "lgtd": 115.18962,
"res_lat": 31.23425, "lttd": 31.23425,
"video_guid": "00032e3e6d984f0eb32c807e5769ec3a", "video_guid": "00032e3e6d984f0eb32c807e5769ec3a",
"video_name": "红心水库坝脚球机", "video_name": "红心水库坝脚球机",
"online": "1", "online": "1",
@ -727,8 +727,8 @@ const data5 = [
"town_nm": "龙池办事处", "town_nm": "龙池办事处",
"res_cd": "42118150152", "res_cd": "42118150152",
"res_nm": "戴家冲水库", "res_nm": "戴家冲水库",
"res_lon": 115.0241, "lgtd": 115.0241,
"res_lat": 31.23237, "lttd": 31.23237,
"video_guid": "0037a5cb2caf44e49c012e3fdfa01238", "video_guid": "0037a5cb2caf44e49c012e3fdfa01238",
"video_name": "戴家冲水库_坝顶_枪机_龙池", "video_name": "戴家冲水库_坝顶_枪机_龙池",
"online": "1", "online": "1",
@ -743,8 +743,8 @@ const data5 = [
"town_nm": "宋埠镇", "town_nm": "宋埠镇",
"res_cd": "42118140008", "res_cd": "42118140008",
"res_nm": "管山水库", "res_nm": "管山水库",
"res_lon": 114.78397, "lgtd": 114.78397,
"res_lat": 31.19451, "lttd": 31.19451,
"video_guid": "0243e9726e244b728618741f248e0577", "video_guid": "0243e9726e244b728618741f248e0577",
"video_name": "管山水库坝脚球机", "video_name": "管山水库坝脚球机",
"online": "1", "online": "1",
@ -759,8 +759,8 @@ const data5 = [
"town_nm": "中馆驿镇", "town_nm": "中馆驿镇",
"res_cd": "42118140005", "res_cd": "42118140005",
"res_nm": "响鼓墩水库", "res_nm": "响鼓墩水库",
"res_lon": 114.91971, "lgtd": 114.91971,
"res_lat": 31.17985, "lttd": 31.17985,
"video_guid": "024eaf5578464d9192559ad2288ba764", "video_guid": "024eaf5578464d9192559ad2288ba764",
"video_name": "响鼓墩水库", "video_name": "响鼓墩水库",
"online": "1", "online": "1",
@ -775,8 +775,8 @@ const data5 = [
"town_nm": "福田河镇", "town_nm": "福田河镇",
"res_cd": "42118150147", "res_cd": "42118150147",
"res_nm": "张家河水库", "res_nm": "张家河水库",
"res_lon": 115.17869, "lgtd": 115.17869,
"res_lat": 31.48587, "lttd": 31.48587,
"video_guid": "02d77364354a4f8982ad3d949e0d32ab", "video_guid": "02d77364354a4f8982ad3d949e0d32ab",
"video_name": "张家河水库_坝脚_球机", "video_name": "张家河水库_坝脚_球机",
"online": "1", "online": "1",
@ -791,8 +791,8 @@ const data5 = [
"town_nm": "顺河镇", "town_nm": "顺河镇",
"res_cd": "42118150048", "res_cd": "42118150048",
"res_nm": "孙家榜水库", "res_nm": "孙家榜水库",
"res_lon": 114.91758, "lgtd": 114.91758,
"res_lat": 31.26933, "lttd": 31.26933,
"video_guid": "03059577c270432bb7338e7f714b9a01", "video_guid": "03059577c270432bb7338e7f714b9a01",
"video_name": "孙家塝水库", "video_name": "孙家塝水库",
"online": "1", "online": "1",
@ -807,8 +807,8 @@ const data5 = [
"town_nm": "三河口镇", "town_nm": "三河口镇",
"res_cd": "42118150145", "res_cd": "42118150145",
"res_nm": "袁家冲水库", "res_nm": "袁家冲水库",
"res_lon": 115.28076, "lgtd": 115.28076,
"res_lat": 31.28639, "lttd": 31.28639,
"video_guid": "031ac395df964414a17f9dc996e13d57", "video_guid": "031ac395df964414a17f9dc996e13d57",
"video_name": "袁家冲水库视频站", "video_name": "袁家冲水库视频站",
"online": "1", "online": "1",
@ -823,8 +823,8 @@ const data5 = [
"town_nm": "南湖办事处", "town_nm": "南湖办事处",
"res_cd": "42118140003", "res_cd": "42118140003",
"res_nm": "毛家冲水库", "res_nm": "毛家冲水库",
"res_lon": 114.98531, "lgtd": 114.98531,
"res_lat": 31.20469, "lttd": 31.20469,
"video_guid": "036b290ac8e547a79f5835754e02772c", "video_guid": "036b290ac8e547a79f5835754e02772c",
"video_name": "毛家冲水库溢洪道", "video_name": "毛家冲水库溢洪道",
"online": "1", "online": "1",
@ -839,8 +839,8 @@ const data5 = [
"town_nm": "歧亭镇", "town_nm": "歧亭镇",
"res_cd": "42118150224", "res_cd": "42118150224",
"res_nm": "兴隆寺水库", "res_nm": "兴隆寺水库",
"res_lon": 114.69534, "lgtd": 114.69534,
"res_lat": 31.01031, "lttd": 31.01031,
"video_guid": "0385335df9c64c1f8972cf3ed17b4854", "video_guid": "0385335df9c64c1f8972cf3ed17b4854",
"video_name": "兴隆寺水库_坝脚_球机", "video_name": "兴隆寺水库_坝脚_球机",
"online": "1", "online": "1",
@ -855,8 +855,8 @@ const data5 = [
"town_nm": "中馆驿镇", "town_nm": "中馆驿镇",
"res_cd": "42118150094", "res_cd": "42118150094",
"res_nm": "西冲水库", "res_nm": "西冲水库",
"res_lon": 114.94118, "lgtd": 114.94118,
"res_lat": 31.06765, "lttd": 31.06765,
"video_guid": "046336873b8a4eefbc321bd2e6e4359c", "video_guid": "046336873b8a4eefbc321bd2e6e4359c",
"video_name": "西冲水库", "video_name": "西冲水库",
"online": "1", "online": "1",
@ -897,6 +897,15 @@ function DrpReal({ style }) {
if(tab==='2'&&hdData){ if(tab==='2'&&hdData){
setLayer(hdData,'hd') setLayer(hdData,'hd')
} }
if(tab==='3'&&data3){
setLayer(data3,'ll')
}
if(tab==='4'&&data4){
setLayer(data4,'tx')
}
if(tab==='5'&&data5){
setLayer(data5,'sk')
}
}else{ }else{
const dsq = setInterval(() => { const dsq = setInterval(() => {
const map = window.__mapref; const map = window.__mapref;
@ -1065,6 +1074,137 @@ function DrpReal({ style }) {
'visibility': 'visible', 'visibility': 'visible',
}); });
} }
if(type==='ll'){
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==='tx'){
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)) map.getSource('关联站点').setData(parseGeoJSON(data))
} }
@ -1186,8 +1326,9 @@ function DrpReal({ style }) {
{/* <DpTableCell align="center">{index+1}</DpTableCell> */} {/* <DpTableCell align="center">{index+1}</DpTableCell> */}
<DpTableCell component="th" scope="row"> <DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => { <div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row; const { lgtd, lttd } = row;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setFeaturePop({ type: '流量水表站', properties: row, coordinates: [row.lgtd, row.lttd] });
dispatch.runtime.setCameraTarget({ dispatch.runtime.setCameraTarget({
center: [lgtd, lttd], center: [lgtd, lttd],
zoom: 15, zoom: 15,
@ -1221,8 +1362,9 @@ function DrpReal({ style }) {
<DpTableCell align="center">{index+1}</DpTableCell> <DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell component="th" scope="row"> <DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" style={{marginLeft:'20px'}} onClick={() => { <div className="table-ellipsis cursor-pointer" style={{marginLeft:'20px'}} onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row; const { lgtd, lttd } = row;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setFeaturePop({ type: 'PicStPop', properties: row, coordinates: [row.lgtd, row.lttd] });
dispatch.runtime.setCameraTarget({ dispatch.runtime.setCameraTarget({
center: [lgtd, lttd], center: [lgtd, lttd],
zoom: 15, zoom: 15,
@ -1255,8 +1397,9 @@ function DrpReal({ style }) {
<DpTableCell align="center">{index+1}</DpTableCell> <DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell component="th" scope="row"> <DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" style={{marginLeft:'20px'}} onClick={() => { <div className="table-ellipsis cursor-pointer" style={{marginLeft:'20px'}} onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row; const { lgtd, lttd } = row;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: row, coordinates: [row.lgtd, row.lttd] });
dispatch.runtime.setCameraTarget({ dispatch.runtime.setCameraTarget({
center: [lgtd, lttd], center: [lgtd, lttd],
zoom: 15, zoom: 15,

View File

@ -157,7 +157,7 @@ const AreaDrpChart = ({index}) => {
name: '实际产水', name: '实际产水',
type: 'line', type: 'line',
barWidth: 10, barWidth: 10,
data: y.map((item)=>item*(index+1)*1.1), data: y.map((item)=>item*index),
showSymbol: false, showSymbol: false,
itemStyle: { itemStyle: {
normal: { normal: {

View File

@ -8,136 +8,171 @@ import config from '../../../../config';
function DrpReal({ style }) { function DrpReal({ style }) {
const [dimension, setDimension] =useState('61614460'); const [dimension, setDimension] =useState(1);
const [index,setIndex ] = useState(0) const [index,setIndex ] = useState(1)
const dispatch = useDispatch(); const dispatch = useDispatch();
const data = [ const data = [
{ {
"stcd": "61614460", "stcd": "61614200",
"stnm": "项生(宋埠)", "type": "sk",
"adcd": "421181000000000", "hasRz": true,
"stnm": "浮桥河水厂",
zb: '浊度',
index:1,
yjvalue: 0.6,
status:1,
"adcd": "421181100000",
"wscd": null, "wscd": null,
"importancy": 0, "importancy": 0,
"lgtd": 114.798056, "lgtd": 114.875,
"lttd": 31.058611, "lttd": 31.166667,
"elev": null, "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": 0,
"h3": 0,
"h6": 0,
"h12": 0,
"h24": 0,
"h48": 16.5,
"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,
percent: 98.20
},
{
"stcd": "61612610",
index:1.1,
"type": "sk",
"hasRz": true, "hasRz": true,
"wrz": null, "stnm": "三河口水厂",
"wrq": null, zb: '余氯',
"grz": null, yjvalue: 0.25,
"grq": null, "adcd": "421181109000",
"sfz": null, "wscd": null,
"sfq": null, percent: 94.29,
"type": "sh", "importancy": 0,
"tm": "2025-06-03T02:00:00.000Z", "lgtd": 115.166667,
"rz": 21.91, "lttd": 31.333333,
"trend": 1, "elev": 0,
"state": 1, "damel": 156.8,
"warning": 0, "dsflz": 154.99,
"maxRz": 21.91, "fsltdz": 149,
"maxDate": "2025-06-03T02:00:00.000Z", "ddz": 124,
"warndes": null "zcxsw": 149,
},{ "drpTm": "2025-06-03T02:00:00.000Z",
"stcd": "61613700", "today": 0,
"stnm": "四角门(宋铁二桥)", "h1": 0,
"adcd": "421181000000000", "h3": 0,
"wscd": null, "h6": 0,
"importancy": 0, "h12": 0,
"lgtd": 114.8291, "h24": 0,
"lttd": 31.0754, "h48": 12.5,
"elev": null, "drpState": 1,
"hasRz": true, "rz": 141.45,
"wrz": null, "w": 77.8,
"wrq": null, "a_fsltdz": -7.550000000000011,
"grz": null, "rzTm": "2025-06-03T01:00:00.000Z",
"grq": null, "rzWarning": 0,
"sfz": null, "rzState": 1,
"sfq": null, "aRz": -7.55
"type": "sh", },
"tm": "2025-06-03T02:00:00.000Z", {
"rz": 27.57, "stcd": "7CS000231",
"trend": 0, "type": "sk",
"state": 1, index:1.2,
"warning": 0, "hasRz": true,
"maxRz": 27.57, "stnm": "刘集水厂",
"maxDate": "2025-06-03T01:00:00.000Z", zb: 'PH值',
"warndes": null, yjvalue: 7.4,
},{ percent: 56.98,
"stcd": "61612910", "adcd": "421181100000",
"stnm": "桃林河(阎河)", "wscd": null,
"adcd": "421181000000000", "importancy": 0,
"wscd": null, "lgtd": 115.048056,
"importancy": 0, "lttd": 31.335556,
"lgtd": 115.087777777, "elev": 0,
"lttd": 31.164444444, "damel": 79.6,
"elev": null, "dsflz": 78.65,
"hasRz": true, "fsltdz": 72.05,
"wrz": null, "ddz": 69.55,
"wrq": null, "zcxsw": 72.05,
"grz": null, "drpTm": "2023-11-20T01:00:00.000Z",
"grq": null, "today": 0,
"sfz": null, "h1": 0,
"sfq": null, "h3": 0,
"type": "sh", "h6": 0,
"tm": "2025-06-03T02:35:00.000Z", "h12": 0,
"rz": 55.67, "h24": 0,
"trend": 0, "h48": 0,
"state": 1, "drpState": 2,
"warning": 0, "rz": 76.49,
"maxRz": 55.67, "w": 0.049,
"maxDate": "2025-06-03T02:00:00.000Z", "a_fsltdz": 4.439999999999998,
"warndes": null "rzTm": "2025-04-11T06:00:00.000Z",
},{ "rzWarning": 1,
"stcd": "61615110", "rzState": 2,
"stnm": "杨梅河(木子店)", "pic": [
"adcd": "421181000000000", {
"wscd": null, "stcd": "7CS000231",
"importancy": 0, "tm": "2023-11-20T01:04:18.000Z",
"lgtd": 115.339667, "url": "http://223.75.53.106:8891/skjgimages/2023/1120/7CS000231/20231120090418.jpg"
"lttd": 31.1595, },
"elev": null, {
"hasRz": true, "stcd": "7CS000231",
"wrz": null, "tm": "2023-11-20T01:07:54.000Z",
"wrq": null, "url": "http://223.75.53.106:8891/skjgimages/2023/1120/7CS000232/20231120090754.jpg"
"grz": null, }
"grq": null, ],
"sfz": null, "aRz": 4.44
"sfq": null, },
"type": "sh", {
"tm": "2025-06-03T02:00:00.000Z", "stcd": "716460001",
"rz": 112.71, "type": "sk",
"trend": 0, "hasRz": true,
"state": 1, "stnm": "杉林河水厂",
"warning": 0, index:1.3,
"maxRz": 112.71, zb: 'PH值',
"maxDate": "2025-06-02T22:00:00.000Z", yjvalue: 6.3,
"warndes": null "adcd": "421181107000",
},{ "wscd": null,
"stcd": "61612150", percent: 42.14,
"stnm": "鹰山畈(黄土岗)", "importancy": 0,
"adcd": "421181000000000", "lgtd": 115.433056,
"wscd": null, "lttd": 31.304444,
"importancy": 0, "elev": 0,
"lgtd": 115.073611, "damel": 236.2,
"lttd": 31.386667, "dsflz": 233.92,
"elev": null, "fsltdz": 231,
"hasRz": true, "ddz": 204,
"wrz": null, "zcxsw": 231,
"wrq": null, "drpTm": "2025-04-11T05:00:00.000Z",
"grz": null, "today": 0,
"grq": null, "h1": 0,
"sfz": null, "h3": 0,
"sfq": null, "h6": 0,
"type": "sh", "h12": 0,
"tm": "2025-06-03T02:00:00.000Z", "h24": 0,
"rz": 77.12, "h48": 0,
"trend": 0, "drpState": 2,
"state": 1, "rz": 224.31,
"warning": 0, "w": 0,
"maxRz": 77.25, "a_fsltdz": -6.689999999999998,
"maxDate": "2025-06-02T16:00:00.000Z", "rzTm": "2025-04-11T05:00:00.000Z",
"warndes": null "rzWarning": 0,
}, "rzState": 2,
"aRz": -6.69
},
] ]
@ -155,8 +190,8 @@ function DrpReal({ style }) {
value={dimension} value={dimension}
label="" label=""
onChange={(event,b) => { onChange={(event,b) => {
setIndex(b) const value = event.target.value;
// const value = event.target.value; setIndex(value)
// setDimension(value); // setDimension(value);
// const record = data.filter(o=>o.stcd===value)[0] // const record = data.filter(o=>o.stcd===value)[0]
// const { lgtd, lttd } = record; // const { lgtd, lttd } = record;
@ -172,7 +207,7 @@ function DrpReal({ style }) {
> >
{ {
data.map((item)=> data.map((item)=>
<MenuItem value={item.stcd}>{item.stnm}</MenuItem> <MenuItem value={item.index}>{item.stnm}</MenuItem>
) )
} }
</Select> </Select>

View File

@ -81,8 +81,8 @@ export default function OverallContent({ data }) {
dispatch.runtime.setFeaturePop({ type: poptype, properties: record, coordinates: [lgtd, lttd] }); dispatch.runtime.setFeaturePop({ type: poptype, properties: record, coordinates: [lgtd, lttd] });
dispatch.runtime.setCameraTarget({ dispatch.runtime.setCameraTarget({
center: [lgtd, lttd], center: [lgtd, lttd],
zoom: 15, zoom: 13,
pitch: config.poiPitch, pitch: 30,//config.poiPitch,
}); });
} }
} }

View File

@ -13,7 +13,7 @@ function DrpReal({ style }) {
</> </>
} }
> >
<img src='/assets/设备统计.jpg' style={{width:'27.5rem', height:'11rem',marginLeft:'-8px'}}/> <img src='/assets/设备统计1.jpg' style={{width:'11.5rem', height:'16rem',marginLeft:'6.5rem',marginTop:'2rem'}}/>
</PanelBox> </PanelBox>
) )
} }

View File

@ -18,104 +18,162 @@ const { RangePicker } = DatePicker;
const data1 = [ const data1 = [
{ {
"res_cd": "42118140035", "stcd": "61614200",
"res_lon": 115.14137, "type": "sk",
"res_lat": 31.55095, "hasRz": true,
"cd": "01", "stnm": "浮桥河水厂",
"cd_nm": "GN1", zb: '浊度',
"res_reg_cd": "42118140006-A4", yjvalue: 0.6,
"ch": "0+000", status:1,
"province_cd": "420000000000", "adcd": "421181100000",
"province_nm": "湖北省", "wscd": null,
"city_cd": "421100000000", "importancy": 0,
"city_nm": "黄冈市", "lgtd": 114.875,
"county_cd": "421181000000", "lttd": 31.166667,
"county_nm": "麻城市", "elev": 0,
"town_cd": "421181112000", "damel": 71.33,
"town_nm": "福田河镇", "dsflz": 68.04,
"bas_guid": "鄂东五河片区", "fsltdz": 64.89,
"eng_scal": "小1型", "ddz": 51.78,
"danger_stat": "非病险水库", "zcxsw": 64.89,
"label": "2023高标准", "drpTm": "2025-06-03T02:00:00.000Z",
"res_nm": "大堰口水库", "today": 0,
"de_value": -4.2885, "h1": 0,
"dn_value": -13.5384, "h3": 0,
"du_value": 132.4892, "h6": 0,
"de_trend": null, "h12": 0,
"dn_trend": null, "h24": 0,
"du_trend": null, "h48": 16.5,
"max_de": 1.0981, "drpState": 1,
"max_dn": -2.3255, "rz": 60.71,
"max_du": 132.4892, "w": 162.8,
"dt": "2025-05-20", "a_fsltdz": -4.18,
"is_has_data": "y" "rzTm": "2025-06-03T02:00:00.000Z",
"rzWarning": 0,
"rzState": 1,
"aRz": -4.18,
percent: 98.20
}, },
{ {
"res_cd": "42118140035", "stcd": "61612610",
"res_lon": 115.14137, "type": "sk",
"res_lat": 31.55095, "hasRz": true,
"cd": "03", "stnm": "三河口水厂",
"cd_nm": "GN3", zb: '余氯',
"res_reg_cd": "42118140006-A4", yjvalue: 0.25,
"ch": "0+000", "adcd": "421181109000",
"province_cd": "420000000000", "wscd": null,
"province_nm": "湖北省", percent: 94.29,
"city_cd": "421100000000", "importancy": 0,
"city_nm": "黄冈市", "lgtd": 115.166667,
"county_cd": "421181000000", "lttd": 31.333333,
"county_nm": "麻城市", "elev": 0,
"town_cd": "421181112000", "damel": 156.8,
"town_nm": "福田河镇", "dsflz": 154.99,
"bas_guid": "鄂东五河片区", "fsltdz": 149,
"eng_scal": "小1型", "ddz": 124,
"danger_stat": "非病险水库", "zcxsw": 149,
"label": "2023高标准", "drpTm": "2025-06-03T02:00:00.000Z",
"res_nm": "大堰口水库", "today": 0,
"de_value": -10.73, "h1": 0,
"dn_value": -9.8975, "h3": 0,
"du_value": 121.3495, "h6": 0,
"de_trend": null, "h12": 0,
"dn_trend": null, "h24": 0,
"du_trend": null, "h48": 12.5,
"max_de": 1.0981, "drpState": 1,
"max_dn": -2.3255, "rz": 141.45,
"max_du": 132.4892, "w": 77.8,
"dt": "2025-05-20", "a_fsltdz": -7.550000000000011,
"is_has_data": "y" "rzTm": "2025-06-03T01:00:00.000Z",
"rzWarning": 0,
"rzState": 1,
"aRz": -7.55
}, },
{ {
"res_cd": "42118140035", "stcd": "7CS000231",
"res_lon": 115.14137, "type": "sk",
"res_lat": 31.55095, "hasRz": true,
"cd": "02", "stnm": "刘集水厂",
"cd_nm": "GN2", zb: 'PH值',
"res_reg_cd": "42118140006-A4", yjvalue: 7.4,
"ch": "0+000", percent: 56.98,
"province_cd": "420000000000", "adcd": "421181100000",
"province_nm": "湖北省", "wscd": null,
"city_cd": "421100000000", "importancy": 0,
"city_nm": "黄冈市", "lgtd": 115.048056,
"county_cd": "421181000000", "lttd": 31.335556,
"county_nm": "麻城市", "elev": 0,
"town_cd": "421181112000", "damel": 79.6,
"town_nm": "福田河镇", "dsflz": 78.65,
"bas_guid": "鄂东五河片区", "fsltdz": 72.05,
"eng_scal": "小1型", "ddz": 69.55,
"danger_stat": "非病险水库", "zcxsw": 72.05,
"label": "2023高标准", "drpTm": "2023-11-20T01:00:00.000Z",
"res_nm": "大堰口水库", "today": 0,
"de_value": 1.0981, "h1": 0,
"dn_value": -7.0736, "h3": 0,
"du_value": 75.4661, "h6": 0,
"de_trend": null, "h12": 0,
"dn_trend": null, "h24": 0,
"du_trend": null, "h48": 0,
"max_de": 1.0981, "drpState": 2,
"max_dn": -2.3255, "rz": 76.49,
"max_du": 132.4892, "w": 0.049,
"dt": "2025-05-20", "a_fsltdz": 4.439999999999998,
"is_has_data": "y" "rzTm": "2025-04-11T06:00:00.000Z",
} "rzWarning": 1,
"rzState": 2,
"pic": [
{
"stcd": "7CS000231",
"tm": "2023-11-20T01:04:18.000Z",
"url": "http://223.75.53.106:8891/skjgimages/2023/1120/7CS000231/20231120090418.jpg"
},
{
"stcd": "7CS000231",
"tm": "2023-11-20T01:07:54.000Z",
"url": "http://223.75.53.106:8891/skjgimages/2023/1120/7CS000232/20231120090754.jpg"
}
],
"aRz": 4.44
},
{
"stcd": "716460001",
"type": "sk",
"hasRz": true,
"stnm": "杉林河水厂",
zb: 'PH值',
yjvalue: 6.3,
"adcd": "421181107000",
"wscd": null,
percent: 42.14,
"importancy": 0,
"lgtd": 115.433056,
"lttd": 31.304444,
"elev": 0,
"damel": 236.2,
"dsflz": 233.92,
"fsltdz": 231,
"ddz": 204,
"zcxsw": 231,
"drpTm": "2025-04-11T05:00:00.000Z",
"today": 0,
"h1": 0,
"h3": 0,
"h6": 0,
"h12": 0,
"h24": 0,
"h48": 0,
"drpState": 2,
"rz": 224.31,
"w": 0,
"a_fsltdz": -6.689999999999998,
"rzTm": "2025-04-11T05:00:00.000Z",
"rzWarning": 0,
"rzState": 2,
"aRz": -6.69
},
] ]
@ -171,7 +229,7 @@ function DrpReal({ style }) {
<TableContainer style={{ height: '10rem' }}> <TableContainer style={{ height: '10rem' }}>
<Table size="small" stickyHeader> <Table size="small" stickyHeader>
<TableHead> <TableHead>
<TableRow> <TableRow>
<DpTableCell style={{ minWidth: '8rem' }} align="center">水厂名称</DpTableCell> <DpTableCell style={{ minWidth: '8rem' }} align="center">水厂名称</DpTableCell>
<DpTableCell style={{ minWidth: '3rem' }} align="center">进水量</DpTableCell> <DpTableCell style={{ minWidth: '3rem' }} align="center">进水量</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">供水量</DpTableCell> <DpTableCell style={{ minWidth: '8rem' }} align="center">供水量</DpTableCell>
@ -182,19 +240,20 @@ function DrpReal({ style }) {
<DpTableRow key={row.stcd}> <DpTableRow key={row.stcd}>
<DpTableCell component="th" scope="row"> <DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => { <div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row; const { lgtd, lttd } = row;
const newLgtd = lgtd - 0.00122;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({ dispatch.runtime.setCameraTarget({
center: [lgtd, lttd], center: [newLgtd, lttd],
zoom: 15, zoom: 15,
pitch: 60, pitch: 60,
bearing: 0 bearing: 0
}); });
} }
}}>{row.res_nm}</div> }}>{row.stnm}</div>
</DpTableCell> </DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell> <DpTableCell align="center">{row.ddz}</DpTableCell>
<DpTableCell align="center">{row.du_value}</DpTableCell> <DpTableCell align="center">{row.zcxsw}</DpTableCell>
</DpTableRow> </DpTableRow>
))} ))}
</TableBody> </TableBody>

View File

@ -19,7 +19,7 @@ const palleteLen = pallete.length;
const AreaDrpChart = () => { const AreaDrpChart = ({rz}) => {
const x = [ const x = [
"2025-06-02 15:00:00", "2025-06-02 15:00:00",
"2025-06-02 16:00:00", "2025-06-02 16:00:00",
@ -189,7 +189,7 @@ const AreaDrpChart = () => {
axisTick: { axisTick: {
show: false, show: false,
}, },
min: 133, // min: 133,
// max: 135, // max: 135,
}, },
{ {
@ -232,7 +232,7 @@ const AreaDrpChart = () => {
name: '水位', name: '水位',
type: 'line', type: 'line',
barWidth: 10, barWidth: 10,
data: y, data: y.map(o=>rz),
showSymbol: false, showSymbol: false,
itemStyle: { itemStyle: {
normal: { normal: {

View File

@ -9,6 +9,7 @@ import AreaDrpChart from './chart';
function DrpReal({ style }) { function DrpReal({ style }) {
const [dimension, setDimension] =useState('61614200'); const [dimension, setDimension] =useState('61614200');
const [rz,setRz] = useState(60.71)
const dispatch = useDispatch(); const dispatch = useDispatch();
const data = [ const data = [
{ {
@ -215,6 +216,7 @@ function DrpReal({ style }) {
const value = event.target.value; const value = event.target.value;
setDimension(value); setDimension(value);
const record = data.filter(o=>o.stcd===value)[0] const record = data.filter(o=>o.stcd===value)[0]
setRz(record.rz)
const { lgtd, lttd } = record; const { lgtd, lttd } = record;
if (lgtd && lttd) { if (lgtd && lttd) {
dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [lgtd, lttd] }); dispatch.runtime.setFeaturePop({ type: 'RealSkPop', properties: record, coordinates: [lgtd, lttd] });
@ -236,7 +238,7 @@ function DrpReal({ style }) {
</> </>
} }
> >
<AreaDrpChart data={[]} /> <AreaDrpChart data={[]} rz={rz}/>
</PanelBox> </PanelBox>
) )
} }