import React, { useState, useEffect, useMemo, useRef } from 'react' import { Table, Tabs, Modal, message, Tooltip } from 'antd'; import { useDispatch, useSelector } from 'react-redux' import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch"; import Draggable from 'react-draggable'; import { httpget, httpget2, httppost2 } from '../../../utils/request'; import apiurl from '../../../service/apiurl'; import ShenYa from '../../Home/MapCtrl/Pops/ShenYa/index'; import ShenLiu from '../../Home/MapCtrl/Pops/ShenLiu/index.js'; import WeiYi from '../../Home/MapCtrl/Pops/WeiYi/index.js'; import DuanMian from '../../Home/MapCtrl/Pops/DuanMian/index.js'; import TuLi from '../../Home/TuLi/Tuli6.js'; import './index.less' export default function Page({ isHome }) { const dispatch = useDispatch(); const [shouqi, setShouQi] = useState(false) const [syList, setSyList] = useState([]) const [slList, setSlList] = useState([]) const [wyList, setWyList] = useState([]) const [dmList, setDmList] = useState([]) const [openSy, setOpenSy] = useState(false) const [openSl, setOpenSl] = useState(false) const [openWy, setOpenWy] = useState(false) const [openDm, setOpenDm] = useState(false) const [filteredWyList, setFilteredWyList] = useState([]) // 添加过滤后的位移列表状态 const [showAllWyData, setShowAllWyData] = useState(false) // 控制是否显示所有数据 const myWidth = window.innerWidth const myHeight = window.innerHeight const [modalData, setModalData] = useState({}) const columnsSy = [ { title: '监测点', key: 'stationCode', dataIndex: 'stationCode', align: "center", ellipsis: true }, { title: '所属断面', key: 'profileName', dataIndex: 'profileName', width: 110, align: "center", ellipsis: true }, { title: '监测时间', key: 'tm', dataIndex: 'tm', align: "center", width: 110, ellipsis: true, // render: (v, row) =>
{v?.slice(5, 16)}
render: (v, row) =>
{v?.slice(5, 16)}
}, { title: '管水位(m)', key: 'value', dataIndex: 'value', align: "center", ellipsis: true, // render: (v, row) =>
{v}
render: (v, row) =>
{v}
}, ] const columnsSl = [ { title: '监测点', key: 'stationCode', dataIndex: 'stationCode', align: "center", ellipsis: true }, { title: '监测时间', key: 'tm', dataIndex: 'tm', align: "center", width: 150, ellipsis: true, // render: (v, row) =>
{v?.slice(5, 16)}
render: (v, row) =>
{v?.slice(5, 16)}
}, { title: '渗流量(L/s)', key: 'value', dataIndex: 'value', align: "center", ellipsis: true, // render: (v, row) =>
{v}
render: (v, row) =>
{v}
}, ] const columnsWy = [ { title: '监测点', key: 'cdnm', dataIndex: 'cdnm', align: "center", width: 150, ellipsis: true }, { title: '监测时间', key: 'tm', dataIndex: 'tm', align: "center", width: 80, ellipsis: true, // render: (v, row) =>
{v?.slice(5, 10)}
{v?.slice(11, 16) || '-'}
render: (v, row) =>
{v?.slice(5, 10)}
{v?.slice(11, 16) || '-'}
}, { title:
x方向
(mm)
, key: 'de', dataIndex: 'de', align: "center", ellipsis: true, // render: (v, row) =>
{v !== null ? v : '-'}
render: (v, row) =>
{v !== null ? v : '-'}
}, { title:
y方向
(mm)
, key: 'dn', dataIndex: 'dn', align: "center", ellipsis: true, // render: (v, row) =>
{v !== null ? v : '-'}
render: (v, row) =>
{v !== null ? v : '-'}
}, { title:
h方向
(mm)
, key: 'du', dataIndex: 'du', align: "center", ellipsis: true, // render: (v, row) =>
{v !== null ? v : '-'}
render: (v, row) =>
{v !== null ? v : '-'}
}, ] useEffect(() => { getSyData() getSlData() getWyData() getDmData() }, []) const getSyData = async () => { const { code, data } = await httpget2(apiurl.home.sy) if (code !== 200) { return } setSyList(data || []) } const getSlData = async () => { const { code, data } = await httpget2(apiurl.home.sl) if (code !== 200) { return } setSlList(data || []) } const getWyData = async () => { const { code, data } = await httpget2(apiurl.home.wy) if (code !== 200) { return } const list = data?.map((item) => ({ ...item, stationCode: item.cd })) setWyList(list || []) // 过滤符合条件的数据:监测点为ZY开头且有监测时间和x、y、h方向的值 const filtered = list?.filter(item => item.de || item.dn || item.du ) || [] setFilteredWyList(filtered) } const getDmData = async () => { const { code, data } = await httppost2(apiurl.home.dmList) if (code !== 200) { return } console.log('断面', data) setDmList(data) } return (
{ syList.map((item) =>
{ setOpenSy(true) setModalData(item) }}> {item.stationCode}
) } { slList.map((item) =>
{ setOpenSl(true) setModalData(item) }}> {item.stationCode}
) } { wyList.map((item) =>
{ setOpenWy(true) setModalData(item) }} > {item.cdnm}
) }
{ !isHome ?
渗压监测
} key="1">
({ onClick: () => { setOpenSy(true) setModalData(data) } }) } /> 渗流监测} key="2">
({ onClick: () => { setOpenSl(true) setModalData(data) } }) } /> 位移监测} key="3">
({ onClick: () => { setOpenWy(true) setModalData(data) } }) } />
setShowAllWyData(!showAllWyData)}> {showAllWyData ? '收起更多信息' : '更多信息'}
setShouQi(!shouqi)} />
: null }
setOpenSy(false)} destroyOnClose={true}> setOpenSy(false)} /> setOpenSl(false)} destroyOnClose={true}> setOpenSl(false)} /> setOpenWy(false)} destroyOnClose={true}> setOpenWy(false)} /> setOpenDm(false)} destroyOnClose={true}> setOpenDm(false)} /> ) }