tsg-web/src/views/Home/homePanelsLayoutPage/item_yujing/index.js

150 lines
5.7 KiB
JavaScript
Raw Normal View History

2024-09-20 15:02:50 +08:00
import { useEffect, useState } from "react"
import { Button, Modal, message } from 'antd';
import {CloseOutlined} from "@ant-design/icons";
import { httppost2 } from "../../../../utils/request";
import apiurl from "../../../../service/apiurl";
import moment from "moment";
import Table_qx from './table_qx'
import Table_wy from './table_wy'
import Table_sl from './table_sl'
import Table_sy from './table_sy'
import Table_AI from './table_AI'
2025-09-29 17:57:17 +08:00
import { useNavigate } from "react-router";
2024-09-20 15:02:50 +08:00
2025-09-29 17:57:17 +08:00
const Page = ({ mySetTms }) => {
const navigator = useNavigate();
const [dataObj, setDataObj] = useState({})
const [count, setCount] = useState({})
2024-09-20 15:02:50 +08:00
console.log(dataObj)
const [ open, setOpen ] = useState(false)
const [ key , setkey ] = useState('')
const [ tms , setTms ] = useState([
moment().add(-1,'days').format('YYYY-MM-DD HH:mm:ss'),
moment().format('YYYY-MM-DD HH:mm:ss'),
])
2025-09-29 17:57:17 +08:00
// 获取白蚁统计数量
const getCount = async () => {
const params = {
pageSo: {
pageNumber: 1,
pageSize: 99999,
},
obDate:moment().format('YYYY-MM-DD')
}
try {
const res = await httppost2(apiurl.rcgl.byfz.bypc.count, params);
setCount(res.data);
} catch (error) {
console.log(error);
}
}
2024-09-20 15:02:50 +08:00
useEffect(()=>{
(async()=>{
const params = {
start:tms[0],
end:tms[1]
}
const { code, data } = await httppost2(apiurl.home.yj_qxyj,params)
if(code!==200){
message.error('请求失败')
return
}
mySetTms([
moment(tms[0]),
moment(tms[1])
])
setDataObj(data)
})()
2025-09-29 17:57:17 +08:00
getCount()
2024-09-20 15:02:50 +08:00
},[])
return (
<div className="yujing">
<div className="title">
预警时间{tms[0]?.slice(0,16)} {tms[1]?.slice(0,16)}
</div>
<div className="bodyBox">
<div className="bodyBoxItem">
<div className="num sw">
<div style={{fontSize:'18px'}}>{dataObj.rzWarn?.split('(')[0]}</div>
{
dataObj.rzWarn!=='-'?
<div style={{fontSize:'14px',marginTop:'-7px'}}>({dataObj.rzWarn?.split('(')[1]?.split(')')[0]})</div>
:null
}
</div>
2024-10-23 09:27:16 +08:00
<div className="content">超汛限告警</div>
2024-09-20 15:02:50 +08:00
<div></div>
</div>
2025-04-08 16:08:04 +08:00
{/* <div className="bodyBoxItem" onClick={()=>{setOpen(true);setkey('')}}>
2024-09-20 15:02:50 +08:00
<div className="num">{dataObj.qxWarn?.length||0}</div>
<div className="content">气象预警</div>
2025-04-08 16:08:04 +08:00
</div> */}
2024-09-20 15:02:50 +08:00
<div className="bodyBoxItem" onClick={()=>{setOpen(true);setkey('位移告警')}}>
<div className="num">{dataObj.shiftWarn?.length||0}</div>
<div className="content">位移告警</div>
<div></div>
</div>
<div className="bodyBoxItem" onClick={()=>{setOpen(true);setkey('渗压告警')}}>
<div className="num">{dataObj.pressWarn?.length||0}</div>
<div className="content">渗压告警</div>
<div></div>
</div>
<div className="bodyBoxItem" onClick={()=>{setOpen(true);setkey('渗流告警')}}>
<div className="num">{dataObj.flowWarn?.length||0}</div>
<div className="content">渗流告警</div>
<div></div>
</div>
<div className="bodyBoxItem" onClick={()=>{setOpen(true);setkey('AI告警')}}>
<div className="num">{dataObj.aiWarnCount}</div>
<div className="content">AI告警</div>
<div></div>
</div>
2025-09-29 17:57:17 +08:00
<div className="bodyBoxItem" onClick={() =>{navigator('/mgr/sg/byfz/bypc')}}>
<div className="num">{count.hasAnt}</div>
<div className="content">白蚁告警</div>
<div></div>
</div>
2024-09-20 15:02:50 +08:00
</div>
<Modal
footer={null}
width={1000}
bodyStyle={{
padding:0,
}}
closable={false}
destroyOnClose={true}
open={open}
onCancel={()=>setOpen(false)}
wrapClassName='home_modal'
>
<div className="normalModalStyle">
<div className="normalModalStyle_title">
<div className="normalModalStyle_title_icon"></div>
{key}
<div className="normalModalStyle_title_cancel">
<CloseOutlined onClick={()=>setOpen(false)} style={{color:"#333"}}/>
</div>
</div>
{ key==='气象预警'?<Table_qx data={dataObj.qxWarn} onCancel={()=>setOpen(false)}/>:null }
{ key==='位移告警'?<Table_wy data={dataObj.shiftWarn} onCancel={()=>setOpen(false)}/>:null }
{ key==='渗压告警'?<Table_sy data={dataObj.pressWarn} onCancel={()=>setOpen(false)}/>:null }
{ key==='渗流告警'?<Table_sl data={dataObj.flowWarn} onCancel={()=>setOpen(false)}/>:null }
{ key==='AI告警'?<Table_AI/>:null }
</div>
</Modal>
</div>
)
}
export default Page