提交代码

lsf-dev
秦子超 2025-05-26 21:29:05 +08:00
parent 5f6ef70695
commit 9e1c585729
20 changed files with 520 additions and 108 deletions

BIN
public/assets/111.pdf Normal file

Binary file not shown.

View File

@ -290,81 +290,81 @@
"变形监测": {
"width": 32,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 0,
"y": 288,
"pixelRatio": 0.8,
"visible": true
},
"渗压监测": {
"width": 32,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"width": 26,
"height": 26,
"x": 28,
"y": 290,
"pixelRatio": 0.6,
"visible": true
},
"渗流监测": {
"width": 32,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"width": 22,
"height": 22,
"x": 52,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"白蚁监测": {
"width": 32,
"width": 20,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 74,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"水闸2": {
"width": 32,
"width": 24,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 94,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"泵站2": {
"width": 32,
"width": 15,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 118,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"水表": {
"width": 32,
"width": 20,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 133,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"渠道": {
"width": 32,
"width": 14,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 153,
"y": 290,
"pixelRatio": 0.6,
"visible": true
},
"水质": {
"width": 32,
"width": 16,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 167,
"y": 290,
"pixelRatio": 0.5,
"visible": true
},
"土壤墒情": {
"width": 32,
"width": 24,
"height": 32,
"x": 64,
"y": 256,
"pixelRatio": 1,
"x": 183,
"y": 290,
"pixelRatio": 0.5,
"visible": true
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -227,7 +227,7 @@ const map = {
} else if (id === 201) {
layerVisible = {
RealDrpLayer: true,
RealHDLayer: true,
RealHDLayer: false,
RealSkLayer: false,
BxSkLayer: false,
FzdxLayer: false,

View File

@ -78,7 +78,9 @@ export default function calcLayout(view, rightStack, hidePanels) {
} else if (view === 205) {
left = [
{ key: '天气' },
{ key: '水库监测', style: { height: '40rem', flexGrow: 1 } },
{ key: '天气预报', style: { flexShink: 0 } },
{ key: '预警', style: { height: '20rem', flexGrow: 1 } },
{ key: '防汛调度', style: { height: '20rem', flexGrow: 1 } },
];
leftFullHeight = true;
} else if (view === 206) {
@ -209,8 +211,6 @@ export default function calcLayout(view, rightStack, hidePanels) {
} else if (view === 205) {
right = [
{ key: '警报' },
{ key: '防汛调度', style: { height: '20rem', flexGrow: 1 } },
{ key: '预警', style: { height: '20rem', flexGrow: 1 } },
];
} else if (view === 206) {
right = [

View File

@ -0,0 +1,104 @@
import { makeStyles } from '@material-ui/core'
const useDescStyles = makeStyles({
root: { flex: 'auto' },
tabBox: { width: '2rem' },
tabs1: {
backgroundColor: '#122e47',
fontWeight: 'bold',
overflow: 'hidden',
marginBottom: '0.6rem',
color: '#E2EDFF'
},
tabIndicator: {
backgroundColor: 'transparent'
},
active: {
border: '1px solid #02a6b5'
},
title: {
width: '16%',
display: 'flex',
alignItems: 'center',
padding: '0.2rem 0.5rem',
textAlign: 'left',
borderBottom: '1px solid rgb(33, 53, 77)',
borderLeft: '1px solid rgb(33, 53, 77)',
borderTop: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word'
},
value: {
width: '50%',
display: 'flex',
alignItems: 'center',
padding: '1rem 0.5rem',
textAlign: 'left',
border: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word',
wordBreak: 'break-all'
},
title1: {
width: '99.6%',
display: 'flex',
alignItems: 'center',
padding: '0.2rem 0.5rem',
textAlign: 'left',
border: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word',
height: '2.5rem'
},
cont: {
display: 'flex'
},
tabList: {
width: '100%'
},
tableCont: {
height: '100%',
width: '99.6%',
border: '1px solid rgb(33, 53, 77)'
},
tablebg: {
backgroundColor: 'transparent',
border: '1px solid rgb(33, 53, 77)'
},
emit: {
border: '1px solid rgb(33, 53, 77)'
},
title2: {
width: '83.6%',
display: 'flex',
alignItems: 'center',
padding: '0.2rem 0.5rem',
textAlign: 'left',
border: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word'
},
tit: {
width: '50%',
display: 'flex',
alignItems: 'center',
padding: '1rem 0.5rem',
textAlign: 'left',
borderBottom: '1px solid rgb(33, 53, 77)',
borderLeft: '1px solid rgb(33, 53, 77)',
borderTop: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word',
backgroundColor: 'rgba(33,53,77,0.2)'
// color: '#bbb'
},
value1: {
width: '99.6%',
display: 'flex',
alignItems: 'center',
padding: '0.2rem 0.5rem',
textAlign: 'left',
border: '1px solid rgb(33, 53, 77)',
overflowWrap: 'break-word'
}
})
export default useDescStyles

View File

@ -0,0 +1,54 @@
import React from 'react';
import Dialog from '@material-ui/core/Dialog';
import DialogContent from '@material-ui/core/DialogContent';
import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent';
import DpTabs from '../../../../layouts/mui/DpTabs';
import DpTab from '../../../../layouts/mui/DpTab';
import RzSearch from '../../components/RzSearch';
import DpAppBar from '../../../../layouts/mui/DpAppBar';
import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop';
import DpCloseButton from '../../../../layouts/mui/DpCloseButton';
import DrpSearch from '../../components/DrpSearch';
import DrpStAround from '../../components/DrpStAround';
import GqJcsj from '../../components/Hdjcsj'
import GqJbxx from './jbxx';
import Gqspxx from '../GqbzDlg/spxx'
function HDStDlg({ record, onClose }) {
const [value, setValue] = React.useState(0);
return (
<Dialog
open={true}
onClose={onClose}
maxWidth="xl"
style={{ borderRadius: 0 }}
PaperComponent={DpPaperComponent}
BackdropComponent={DpBackgroundDrop}
>
<div className="boxhead"></div>
<DialogContent style={{ padding: 0, width: '80rem', overflowX: 'hidden' }}>
<DpAppBar position="sticky">
<DpTabs value={value} indicatorColor="primary" onChange={(_, v) => setValue(v)}>
<DpTab label="监测数据" />
{/* <DpTab label="基本信息" /> */}
{/* <DpTab label="视频信息" /> */}
</DpTabs>
<DpCloseButton onClick={onClose} />
</DpAppBar>
<div style={{ padding: '2rem', hminHeight: '50rem',maxHeight: '60rem' }}>
{value === 0 && <GqJcsj record={record} />}
{/* {value === 1 && <GqJbxx record={record} />} */}
{/* {value === 2 && <Gqspxx record={record} />} */}
</div>
</DialogContent>
<div className="boxfoot"></div>
</Dialog>
)
}
export default React.memo(HDStDlg);

View File

@ -0,0 +1,98 @@
import React, { useEffect, useState } from 'react'
import { Grid } from '@material-ui/core'
import useDescStyle from './descstyle'
function Jbxx ({ record }) {
const classes = useDescStyle()
return (
<>
<div style={{ fontSize: '0.9rem', marginLeft: '1rem' }}>
<Grid container className={classes.cont}>
<Grid item className={classes.tit}>
灌区名称
</Grid>
<Grid item className={classes.value}>
{record?.chanCode_dictText}
</Grid>
<Grid item className={classes.tit}>
水闸类型
</Grid>
<Grid item className={classes.value}>
{record?.wagaType_dictText??'--'}
</Grid>
<Grid item className={classes.tit}>
行政区划
</Grid>
<Grid item className={classes.value} style={{}}>
{record?.adCode_dictText}
</Grid>
<Grid item className={classes.tit}>
管理单位
</Grid>
<Grid item className={classes.value}>
{record?.engManCode_dictText}
</Grid>
<Grid item className={classes.tit}>
渠道名称
</Grid>
<Grid item className={classes.value}>
{record?.chanCode_dictText}
</Grid>
<Grid item className={classes.tit}>
桩号
</Grid>
<Grid item className={classes.value}>
{record?.bnch}
</Grid>
<Grid item className={classes.tit}>
动力类型
</Grid>
<Grid item className={classes.value}>
{record?.pwrTp_dictText??'--'}
</Grid>
<Grid item className={classes.tit}>
闸门孔数
</Grid>
<Grid item className={classes.value}>
{record?.whthInWat??'--'}
</Grid>
<Grid item className={classes.tit}>
闸门尺寸
</Grid>
<Grid item className={classes.value}>
3*2.8m*m
</Grid>
<Grid item className={classes.tit}>
设计流量
</Grid>
<Grid item className={classes.value}>
{record?.dsfl}/s
</Grid>
<Grid item className={classes.tit}>
进口高程
</Grid>
<Grid item className={classes.value}>
{record?.actIrrA??'--'}m
</Grid>
<Grid item className={classes.tit}>
实达流量
</Grid>
<Grid item className={classes.value}>
{record?.stfl??'--'}
</Grid>
<Grid item className={classes.tit}>
运行状态
</Grid>
<Grid item className={classes.value}>
{record?.runStat_dictText??'--'}
</Grid>
</Grid>
</div>
<div className='boxfoot'></div>
</>
)
}
export default React.memo(Jbxx)

View File

@ -113,34 +113,34 @@ function LayersDlg({ onClose }) {
<RowItem icon="picst" label="图像站" name={PicStLayer.LayerName} checked={!!layerVisible[PicStLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="变形监测" name={BxjcLayer.LayerName} checked={!!layerVisible[BxjcLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="变形监测" label="变形监测" name={BxjcLayer.LayerName} checked={!!layerVisible[BxjcLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="渗压监测" name={SyjcLayer.LayerName} checked={!!layerVisible[SyjcLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="渗压监测" label="渗压监测" name={SyjcLayer.LayerName} checked={!!layerVisible[SyjcLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="渗流监测" name={SljcLayer.LayerName} checked={!!layerVisible[SljcLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="渗流监测" label="渗流监测" name={SljcLayer.LayerName} checked={!!layerVisible[SljcLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="白蚁监测" name={ByjcLayer.LayerName} checked={!!layerVisible[ByjcLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="白蚁监测" label="白蚁监测" name={ByjcLayer.LayerName} checked={!!layerVisible[ByjcLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="水闸" name={ShuiZhaLayer.LayerName} checked={!!layerVisible[ShuiZhaLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="水闸" label="水闸" name={ShuiZhaLayer.LayerName} checked={!!layerVisible[ShuiZhaLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="泵站" name={BzLayer.LayerName} checked={!!layerVisible[BzLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="泵站" label="泵站" name={BzLayer.LayerName} checked={!!layerVisible[BzLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="水表" name={SbLayer.LayerName} checked={!!layerVisible[SbLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="水表" label="水表" name={SbLayer.LayerName} checked={!!layerVisible[SbLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="渠道" name={QdLayer.LayerName} checked={!!layerVisible[QdLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="渠道" label="渠道" name={QdLayer.LayerName} checked={!!layerVisible[QdLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="水质" name={ShuizhiLayer.LayerName} checked={!!layerVisible[ShuizhiLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="水质" label="水质" name={ShuizhiLayer.LayerName} checked={!!layerVisible[ShuizhiLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
<div className={classes.catItem}>
<RowItem icon="picst" label="土壤墒情" name={TrsqLayer.LayerName} checked={!!layerVisible[TrsqLayer.LayerName]} onChange={layerVisibleChanged} />
<RowItem icon="土壤墒情" label="土壤墒情" name={TrsqLayer.LayerName} checked={!!layerVisible[TrsqLayer.LayerName]} onChange={layerVisibleChanged} />
</div>
</div>

View File

@ -0,0 +1,42 @@
import React from 'react';
import DpTab from '../../../../layouts/mui/DpTab';
import Dialog from '@material-ui/core/Dialog';
import DialogContent from '@material-ui/core/DialogContent';
import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent';
import DpTabs from '../../../../layouts/mui/DpTabs';
import DpAppBar from '../../../../layouts/mui/DpAppBar';
import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop';
import DpCloseButton from '../../../../layouts/mui/DpCloseButton';
function HDStDlg({ record, onClose }) {
const [value, setValue] = React.useState(0);
return (
<Dialog
open={true}
onClose={onClose}
maxWidth="xl"
style={{ borderRadius: 0 }}
PaperComponent={DpPaperComponent}
BackdropComponent={DpBackgroundDrop}
>
<div className="boxhead"></div>
<DialogContent style={{ padding: 0, width: '80rem', overflowX: 'hidden',height:'80rem' }}>
<DpAppBar position="sticky">
<DpTabs value={value} indicatorColor="primary" onChange={(_, v) => setValue(v)}>
<DpTab label="文件预览" />
{/* <DpTab label="基本信息" />
<DpTab label="视频信息" /> */}
</DpTabs>
<DpCloseButton onClick={onClose} />
</DpAppBar>
<iframe src={`${process.env.PUBLIC_URL}/assets/111.pdf`} width="100%" height="100%"></iframe>
</DialogContent>
<div className="boxfoot"></div>
</Dialog>
)
}
export default React.memo(HDStDlg);

View File

@ -26,6 +26,8 @@ import GqbzDlg from './GqbzDlg';
import SqDlg from './SqDlg';
import LlqdDlg from './LlqdDlg';
import LlsbDlg from './LlsbDlg';
import BxjcDlg from './BxjcBlg'
import PdfDlg from './PdfDlg'
function InfoDlg() {
const infoDlg = useSelector(getInfoDlg);
@ -88,7 +90,17 @@ function InfoDlg() {
return <LlqdDlg record={properties} onClose={handleClose} />
}else if (layerId === 'llsbLayer') {
return <LlsbDlg record={properties} onClose={handleClose} />
}
}else if (layerId === 'BxjcLayer') {
return <BxjcDlg record={properties} onClose={handleClose} />
}else if (layerId === 'SyjcLayer') {
return <BxjcDlg record={properties} onClose={handleClose} />
}else if (layerId === 'SljcLayer') {
return <BxjcDlg record={properties} onClose={handleClose} />
}else if (layerId === 'ByjcLayer') {
return <BxjcDlg record={properties} onClose={handleClose} />
}else if (layerId === 'PdfLayer') {
return <PdfDlg record={properties} onClose={handleClose} />
}
return null;

View File

@ -70,6 +70,32 @@ export const iconstyles = {
泵站: { backgroundPosition: '-1100% 0' },
病险水库: { backgroundPosition: '0 -800%' },
变形监测: { backgroundPosition: '0% -40%',backgroundSize: '1890% 1650%' },
渗压监测: { backgroundPosition: '5.5% -40%',backgroundSize: '1990% 1650%' },
渗流监测: { backgroundPosition: '10.5% -40%',backgroundSize: '2394% 1650%' },
白蚁监测: { backgroundPosition: '14.8% -40%',backgroundSize: '2394% 1650%' },
水闸: { backgroundPosition: '18.9% -40%',backgroundSize: '2194% 1650%' },
泵站: { backgroundPosition: '23.3% -40%',backgroundSize: '2794% 1650%' },
水表: { backgroundPosition: '26.7% -40%',backgroundSize: '2394% 1650%' },
渠道: { backgroundPosition: '30.5% -40%',backgroundSize: '3295% 1650%' },
水质: { backgroundPosition: '33.5% -40%',backgroundSize: '3295% 1650%' },
土壤墒情: { backgroundPosition: '37.5% -40%',backgroundSize: '1895% 1650%' },
}
export const iconbase = {

View File

@ -4257,11 +4257,12 @@ export default class BxjcLayer extends BaseLayer {
}
featureClicked(properties, dispatch) {
dispatch.runtime.setFeaturePop({
type: InfoPopNames.PicStPop,
properties,
coordinates: [properties.lgtd, properties.lttd],
offsetPop: true,
});
dispatch?.runtime.setInfoDlg({ layerId: 'BxjcLayer', properties: properties })
// dispatch.runtime.setFeaturePop({
// type: InfoPopNames.PicStPop,
// properties,
// coordinates: [properties.lgtd, properties.lttd],
// offsetPop: true,
// });
}
}

View File

@ -217,11 +217,12 @@ export default class ByjcLayer extends BaseLayer {
}
featureClicked(properties, dispatch) {
dispatch.runtime.setFeaturePop({
type: InfoPopNames.PicStPop,
properties,
coordinates: [properties.lgtd, properties.lttd],
offsetPop: true,
});
dispatch?.runtime.setInfoDlg({ layerId: 'ByjcLayer', properties: properties })
// dispatch.runtime.setFeaturePop({
// type: InfoPopNames.PicStPop,
// properties,
// coordinates: [properties.lgtd, properties.lttd],
// offsetPop: true,
// });
}
}

View File

@ -113,11 +113,12 @@ export default class SljcLayer extends BaseLayer {
}
featureClicked(properties, dispatch) {
dispatch.runtime.setFeaturePop({
type: InfoPopNames.PicStPop,
properties,
coordinates: [properties.lgtd, properties.lttd],
offsetPop: true,
});
dispatch?.runtime.setInfoDlg({ layerId: 'SljcLayer', properties: properties })
// dispatch.runtime.setFeaturePop({
// type: InfoPopNames.PicStPop,
// properties,
// coordinates: [properties.lgtd, properties.lttd],
// offsetPop: true,
// });
}
}

View File

@ -772,11 +772,12 @@ export default class SyjcLayer extends BaseLayer {
}
featureClicked(properties, dispatch) {
dispatch.runtime.setFeaturePop({
type: InfoPopNames.PicStPop,
properties,
coordinates: [properties.lgtd, properties.lttd],
offsetPop: true,
});
dispatch?.runtime.setInfoDlg({ layerId: 'SyjcLayer', properties: properties })
// dispatch.runtime.setFeaturePop({
// type: InfoPopNames.PicStPop,
// properties,
// coordinates: [properties.lgtd, properties.lttd],
// offsetPop: true,
// });
}
}

View File

@ -1499,27 +1499,46 @@ function DrpReal({ style }) {
</span>
}
>
<TableContainer style={{ height: '100%' }}>
{
tab==='1'?
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ maxWidth: '20%' }} align="center">序号</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">测点</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">垂直位移</DpTableCell>
<DpTableCell style={{ minWidth:'50px' }} align="center">序号</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ minWidth: '3rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">垂直位移(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">上下游(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">左右岸(mm)</DpTableCell>
<DpTableCell style={{ minWidth: '10rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data1.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row;
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 15,
pitch: 60,
bearing: 0
});
}
}}>{row.res_nm}</div>
</DpTableCell>
<DpTableCell align="center">{row.town_nm}</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.du_value}</DpTableCell>
<DpTableCell align="center">{row.de_value}</DpTableCell>
<DpTableCell align="center">{row.dn_value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
@ -1530,21 +1549,37 @@ function DrpReal({ style }) {
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ maxWidth: '20%' }} align="center">序号</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">测点</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">渗压水位</DpTableCell>
<DpTableCell style={{ minWidth: '50px' }} align="center">序号</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ minWidth: '4rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">渗压水位</DpTableCell>
<DpTableCell style={{ minWidth: '10rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data2.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row;
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 15,
pitch: 60,
bearing: 0
});
}
}}>{row.res_nm}</div>
</DpTableCell>
<DpTableCell align="center">{row.town_nm}</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
@ -1555,21 +1590,35 @@ function DrpReal({ style }) {
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ maxWidth: '20%' }} align="center">序号</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">测点</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">渗流量</DpTableCell>
<DpTableCell style={{ minWidth: '50px' }} align="center">序号</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ minWidth: '7rem' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ minWidth: '4rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">渗流量</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data3.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row;
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 15,
pitch: 60,
bearing: 0
});
}
}}>{row.res_nm}</div>
</DpTableCell>
<DpTableCell align="center">{row.town_nm}</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.value}</DpTableCell>
<DpTableCell align="center">{row.dt}</DpTableCell>
</DpTableRow>
))}
</TableBody>
@ -1580,21 +1629,35 @@ function DrpReal({ style }) {
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ maxWidth: '20%' }} align="center">序号</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">测点</DpTableCell>
<DpTableCell style={{ maxWidth: '20%' }} align="center">状态</DpTableCell>
<DpTableCell style={{ minWidth: '50px' }} align="center">序号</DpTableCell>
<DpTableCell style={{ minWidth: '5.5rem' }} align="center">水库名称</DpTableCell>
<DpTableCell style={{ minWidth: '7rem' }} align="center">行政区</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">测点</DpTableCell>
<DpTableCell style={{ minWidth: '6rem' }} align="center">状态</DpTableCell>
{/* <DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell> */}
</TableRow>
</TableHead>
<TableBody>
{data4.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row;
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 15,
pitch: 60,
bearing: 0
});
}
}}>{row.res_nm}</div>
</DpTableCell>
<DpTableCell align="center">{row.town_nm}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell align="center">{row?.children?.[0]?.termite_status==='y'?'有白蚁':'无白蚁'}</DpTableCell>
<DpTableCell align="center">{row?.children?.[0]?.termite_status==='y'?<span style={{color:'#ff4d4f',display:'flex',alignItems:'center'}}><div style={{width:'10px',height:'10px',borderRadius:'10px',marginRight:'7px',background:'#ff4d4f'}}></div></span>:<span style={{color:'#3af6cd',display:'flex',alignItems:'center'}}><div style={{width:'10px',height:'10px',borderRadius:'10px',marginRight:'7px',background:'#3af6cd'}}></div></span>}</DpTableCell>
{/* <DpTableCell align="center">{row.dt}</DpTableCell> */}
</DpTableRow>
))}
</TableBody>

View File

@ -1467,7 +1467,7 @@ function DrpReal({ style }) {
<span className="button-group">
<span className={clsx({ active: tab==='1' })} onClick={() => setTab('1')}>物资仓库</span>
<span className={clsx({ active: tab==='2' })} onClick={() => setTab('2')}>应急队伍</span>
<span className={clsx({ active: tab==='3' })} onClick={() => setTab('3')}>闸门</span>
{/* <span className={clsx({ active: tab==='3' })} onClick={() => setTab('3')}>闸门</span> */}
<span className={clsx({ active: tab==='4' })} onClick={() => setTab('4')}>安置点</span>
</span>
}

View File

@ -1,5 +1,6 @@
import React, { useMemo, useState } from 'react';
import useRequest from '../../../../utils/useRequest';
import { useDispatch, useSelector } from 'react-redux';
import PanelBox from '../../components/PanelBox';
import Table from '@material-ui/core/Table';
@ -1938,6 +1939,7 @@ const data4 = [
function DrpReal({ style }) {
const [tab,setTab] = useState('1')
const dispatch = useDispatch();
return (
<PanelBox
@ -2041,7 +2043,11 @@ function DrpReal({ style }) {
{data4.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.planName}</DpTableCell>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
dispatch?.runtime.setInfoDlg({ layerId: 'PdfLayer', properties: row })
}}>{row.planName}</div>
</DpTableCell>
<DpTableCell align="center">{row.updateTime.slice(0,10)}</DpTableCell>
</DpTableRow>
))}

View File

@ -200,7 +200,10 @@ function DrpReal({ style }) {
<DpTableCell align="center">{index+1}</DpTableCell>
<DpTableCell align="center">{row.res_nm}</DpTableCell>
<DpTableCell align="center">{row.town_nm}</DpTableCell>
<DpTableCell align="center">{row.online==='1'?'在线':'离线'}</DpTableCell>
<DpTableCell align="center">{row.online==='1'?
<span style={{color:'#3af6cd',display:'flex',alignItems:'center',justifyContent:'center'}}><div style={{width:'10px',height:'10px',borderRadius:'10px',marginRight:'7px',background:'#3af6cd'}}></div>线</span>
:<span style={{color:'#eeeeee',display:'flex',alignItems:'center',justifyContent:'center'}}><div style={{width:'10px',height:'10px',borderRadius:'10px',marginRight:'7px',background:'#eeeeee'}}></div>线</span>
}</DpTableCell>
</DpTableRow>
))}
</TableBody>