From f391494d10eeed23e8f50903cb4d38aaaaba5628 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Tue, 30 Sep 2025 14:22:27 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=B0=B4=E5=BA=93=E6=B0=B4=E6=83=85?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Home/MapCtrl/Markers/ShuiKuLayer.js | 3 +- src/views/Home/homePanelsLayoutPage/index.js | 4 +- .../Home/homePanelsLayoutPage/item_daba.js | 48 ++++++++-------- .../item_gongchengshuiku.js | 52 ++++++++--------- .../Home/homePanelsLayoutPage/item_shuiku.js | 10 ++-- .../homePanelsLayoutPage/item_yihongdao.js | 32 +++++------ .../homePanelsLayoutPage/item_yujing/index.js | 39 ++++--------- .../item_yujing/table_by.js | 56 +++++++++++++++++++ src/views/rcgl/byfz/bypc/precessForm.js | 13 ++--- src/views/rcgl/xcxj/xjrw/detailForm.js | 8 +-- src/views/sq/qth/sksq/index.js | 6 +- 11 files changed, 151 insertions(+), 120 deletions(-) create mode 100644 src/views/Home/homePanelsLayoutPage/item_yujing/table_by.js diff --git a/src/views/Home/MapCtrl/Markers/ShuiKuLayer.js b/src/views/Home/MapCtrl/Markers/ShuiKuLayer.js index ca20e2945..fca29726a 100644 --- a/src/views/Home/MapCtrl/Markers/ShuiKuLayer.js +++ b/src/views/Home/MapCtrl/Markers/ShuiKuLayer.js @@ -96,7 +96,7 @@ export default class ShuiKuLayer extends BaseLayer { // } - const list = data.filter(o=>o.stnm==='檀树岗' || o.stnm==='檀树岗(新)') + const list = data.filter(o=>o.stcd==="61610700" || o.stcd==="10818") .map((i) => { return { id : i.stcd, @@ -104,7 +104,6 @@ export default class ShuiKuLayer extends BaseLayer { ...i } }) - this._dispatch.runtime.setMarkers({ [this.getLayerName()]: list || [] }); diff --git a/src/views/Home/homePanelsLayoutPage/index.js b/src/views/Home/homePanelsLayoutPage/index.js index 132ac12cf..e05ea4aaf 100644 --- a/src/views/Home/homePanelsLayoutPage/index.js +++ b/src/views/Home/homePanelsLayoutPage/index.js @@ -677,7 +677,7 @@ const HomePage = ({ showPanels }) => { > { item.children.map((item) => - { +
{ // 清空搜索输入框 setSearchVal('') setCheckedObj(item) @@ -699,7 +699,7 @@ const HomePage = ({ showPanels }) => {
: null } -
+ ) } diff --git a/src/views/Home/homePanelsLayoutPage/item_daba.js b/src/views/Home/homePanelsLayoutPage/item_daba.js index 50e934797..1aff78cb2 100644 --- a/src/views/Home/homePanelsLayoutPage/item_daba.js +++ b/src/views/Home/homePanelsLayoutPage/item_daba.js @@ -40,50 +40,50 @@ const Page = () => { return ( <>
- +
建筑物型式:
{tableData.buildType}
- - +
+
地基特性:
{tableData.foundCharacter}
- - +
+
坝顶高程(m):
{tableData.damTopElev}
- - +
+
最大坝高(m):
{tableData.damMaxHeig}
- - +
+
坝顶长度(m):
{tableData.damTopLen}
- - +
+
坝顶宽度(m):
{tableData.damTopWid}
- - {/* +
+ {/*
防浪墙顶高程(m):
{tableData.damWaveWall}
- - +
+
开工日期:
{tableData?.startDate?.slice(0,10)}
- - +
+
竣工日期:
{tableData?.endDate?.slice(0,10)}
- - +
+
蓄水日期:
{tableData?.storageDate?.slice(0,10)}
- */} - {/* +
*/} + {/*
图片资料
- +
{ @@ -120,10 +120,10 @@ const Page = () => { />
*/} {/* */} - {/* + {/*
视频资料:
- */} +
*/}
) diff --git a/src/views/Home/homePanelsLayoutPage/item_gongchengshuiku.js b/src/views/Home/homePanelsLayoutPage/item_gongchengshuiku.js index 62b034e43..c1630121d 100644 --- a/src/views/Home/homePanelsLayoutPage/item_gongchengshuiku.js +++ b/src/views/Home/homePanelsLayoutPage/item_gongchengshuiku.js @@ -37,11 +37,11 @@ const Page = () => { return ( <>
- +
工程位置:
{tableData.resLoc}
- - +
+
水库规模:
{ { @@ -53,51 +53,51 @@ const Page = () => { 9:'其他', }[tableData.engScal] }
- - +
+
主要功能:
{tableData.rsvFunction}
- - +
+
坝址以上流域面积(km²):
{getNum(tableData.watShedArea)}
- - +
+
总库容(万m³):
{getNum(tableData.totCap)}
- - +
+
校核洪水位(m):
{getNum(tableData.calFloodLev)}
- - +
+
设计洪水位(m):
{getNum(tableData.desFloodLev)}
- - +
+
正常蓄水位(m):
{getNum(tableData.normWatLev)}
- - +
+
汛限水位(m):
{getNum(tableData.flLowLimLev)}
- - +
+
死水位(m):
{getNum(tableData.deadLev)}
- - +
+
兴利库容(万m³):
{getNum(tableData.benResCap)}
- - +
+
死库容(万m³):
{getNum(tableData.deadCap)}
- - +
+
工程特性表:
setOpen(true)}>工程特性表详情
- +
{/*
更多详情
*/}
diff --git a/src/views/Home/homePanelsLayoutPage/item_shuiku.js b/src/views/Home/homePanelsLayoutPage/item_shuiku.js index be6309441..4a6dddd31 100644 --- a/src/views/Home/homePanelsLayoutPage/item_shuiku.js +++ b/src/views/Home/homePanelsLayoutPage/item_shuiku.js @@ -11,12 +11,12 @@ import Ykqk from './item_shuiku/yhqk' const Page = () => { const dispatch = useDispatch(); - const [ checked, setChecked ] = useState(0) + const [ checked, setChecked ] = useState(1) const [data,setData] = useState([]) console.log('data',data); useEffect(()=>{ dispatch.map.setLayerVisible({ ShuiKuLayer: true }) - dispatch.map.setLayerVisible({ HdswLayer: true }) + dispatch.map.setLayerVisible({ HdswLayer: false }) getData() return ()=>{ dispatch.map.setLayerVisible({ ShuiKuLayer: false }) @@ -27,7 +27,7 @@ const Page = () => { const getData = async (params) => { const data = await reservoirlist(params) || [] // const list = [...data.filter(o=>o.stnm==='檀树岗(新)'),...data.filter(o=>o.stnm!=='檀树岗(新)')] - const list = [...data.filter(o=>o.stnm==='檀树岗'),...data.filter(o=>o.stnm==='檀树岗(新)')] + const list = [...data.filter(o=>o.stcd==="61610700"),...data.filter(o=>o.stcd==="10818")] setData(list) } @@ -41,7 +41,7 @@ const Page = () => { } }) // const list2 = [...list.filter(o=>o.stnm==='檀树岗(新)'),...list.filter(o=>o.stnm!=='檀树岗(新)')] - const list2 = [...list.filter(o=>o.stnm==='檀树岗'),...list.filter(o=>o.stnm==='檀树岗(新)')] + const list2 = [...list.filter(o=>o.stcd==="61610700"),...list.filter(o=>o.stcd==="10818")] console.log('res',list2); const data = list2[checked] dispatch.runtime.setFeaturePop({ @@ -64,7 +64,7 @@ const Page = () => {
{ data.map((item,index)=> -
setChecked(index)}>{item.stnm}
+
setChecked(index)}>{item.stnm}
) }
diff --git a/src/views/Home/homePanelsLayoutPage/item_yihongdao.js b/src/views/Home/homePanelsLayoutPage/item_yihongdao.js index 61eaa0df4..d2dde1877 100644 --- a/src/views/Home/homePanelsLayoutPage/item_yihongdao.js +++ b/src/views/Home/homePanelsLayoutPage/item_yihongdao.js @@ -30,38 +30,38 @@ const Page = () => { return ( <>
- +
型式:
{tableData.buildType}
- - +
+
堰顶高程(m):
{tableData.crestEle}
- - +
+
总净宽(m):
{tableData.netWidth}
- - +
+
最大单宽流量m³/(s·m):
{tableData.bwidQ}
- - +
+
消能方式:
{tableData.elimMethod}
- - +
+
消能防冲流量(m³/s):
{tableData.elimQ}
- - +
+
设计泄洪流量(m³/s):
{tableData.desQ}
- - +
+
校核泄洪流量(m³/s):
{tableData.caliQ}
- +
) diff --git a/src/views/Home/homePanelsLayoutPage/item_yujing/index.js b/src/views/Home/homePanelsLayoutPage/item_yujing/index.js index 8721c3e24..7b6461aa7 100644 --- a/src/views/Home/homePanelsLayoutPage/item_yujing/index.js +++ b/src/views/Home/homePanelsLayoutPage/item_yujing/index.js @@ -6,6 +6,7 @@ import apiurl from "../../../../service/apiurl"; import moment from "moment"; import Table_qx from './table_qx' import Table_wy from './table_wy' +import Table_by from './table_by' import Table_sl from './table_sl' import Table_sy from './table_sy' import Table_AI from './table_AI' @@ -14,35 +15,18 @@ import { useNavigate } from "react-router"; const Page = ({ mySetTms }) => { - const navigator = useNavigate(); const [dataObj, setDataObj] = useState({}) - const [count, setCount] = useState({}) - 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'), + // moment().add(-1,'days').format('YYYY-MM-DD HH:mm:ss'), + // moment().format('YYYY-MM-DD HH:mm:ss'), + moment('2025-09-16').format('YYYY-MM-DD HH:mm:ss'), + moment('2025-09-17').format('YYYY-MM-DD HH:mm:ss') ]) - // 获取白蚁统计数量 - 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); - - } - } + useEffect(()=>{ (async()=>{ @@ -61,7 +45,7 @@ const Page = ({ mySetTms }) => { ]) setDataObj(data) })() - getCount() + },[]) @@ -108,8 +92,8 @@ const Page = ({ mySetTms }) => {
AI告警
-
{navigator('/mgr/sg/byfz/bypc')}}> -
{count.hasAnt}
+
{setOpen(true);setkey('白蚁告警')}}> +
{dataObj.byWarn?.length || 0}
白蚁告警
@@ -130,7 +114,7 @@ const Page = ({ mySetTms }) => {
- {key} + {key == '白蚁告警' ? key + "(" + tms[0]?.slice(0,16) + "至" + tms[1]?.slice(0,16) + ')':key }
setOpen(false)} style={{color:"#333"}}/>
@@ -139,7 +123,8 @@ const Page = ({ mySetTms }) => { { key==='位移告警'?setOpen(false)}/>:null } { key==='渗压告警'?setOpen(false)}/>:null } { key==='渗流告警'?setOpen(false)}/>:null } - { key==='AI告警'?:null } + {key === 'AI告警' ? : null} + { key==='白蚁告警'?setOpen(false)}/>:null }
diff --git a/src/views/Home/homePanelsLayoutPage/item_yujing/table_by.js b/src/views/Home/homePanelsLayoutPage/item_yujing/table_by.js new file mode 100644 index 000000000..b8cd67b86 --- /dev/null +++ b/src/views/Home/homePanelsLayoutPage/item_yujing/table_by.js @@ -0,0 +1,56 @@ +import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react'; +import { Table, Modal, message,Tag } from 'antd'; +import { CloseOutlined } from "@ant-design/icons"; +import usePageTable from '../../../../components/crud/usePageTable2' +import { createCrudService } from '../../../../components/crud/_'; + +import { httppost2 } from "../../../../utils/request"; +import apiurl from "../../../../service/apiurl"; + + +const Page = ({ data }) => { + const columns = [ + { title: '序号', key: 'inx', dataIndex: 'inx', align: "center", render: (text, rec, index) => index + 1 }, + { title: '最近报警时间', key: 'obDate', dataIndex: 'obDate', ellipsis: true }, + { title: '测点编号', key: 'order', dataIndex: 'order' }, + { + title: '有无白蚁', + dataIndex: 'status', + align: 'center', + key: 'status', + width: 100, + render: (text, record) => { + // 如果 isHarm 为 null 或 undefined,显示无 + if (text == null) { + return ; + } + + // 如果 isHandle 为 null 或 undefined,当作 false 处理 + const isHandle = record.isHandle ?? false; + + return ( + + {!text ? '无' : '有'} + + ); + } + }, + ]; + + return ( +
+ + + ) +} + +export default Page diff --git a/src/views/rcgl/byfz/bypc/precessForm.js b/src/views/rcgl/byfz/bypc/precessForm.js index b6d4fea35..f2ffd1803 100644 --- a/src/views/rcgl/byfz/bypc/precessForm.js +++ b/src/views/rcgl/byfz/bypc/precessForm.js @@ -48,7 +48,6 @@ const ModalForm = ({ mode, record, refresh, setPrecessVisible }) => { setHandleDetails(row) } const reviewPic = (arrPic) => { - debugger if (arrPic.length > 0) { setImgVisible(true) setImgList(arrPic) @@ -329,12 +328,8 @@ const ModalForm = ({ mode, record, refresh, setPrecessVisible }) => { const handleFile = (arr = []) => { const newArr = arr?.map(item => ({ name: item.fileName, - response: { - data: { - filePath: item.filePath, - fileId: item.fileId - } - }, + filePath: item.filePath, + fileId: item.fileId })) return newArr } @@ -652,7 +647,7 @@ const ModalForm = ({ mode, record, refresh, setPrecessVisible }) => {
- + {file.name}
@@ -680,7 +675,7 @@ const ModalForm = ({ mode, record, refresh, setPrecessVisible }) => {
{ setVideoOpen(true); setVideoParams(file) }} + onClick={() => {setVideoOpen(true); setVideoParams(file) }} style={{ cursor: 'pointer' }} > { const handleFile = (arr=[]) => { const newArr = arr?.map(item => ({ name: item.fileName, - response: { - data: { - filePath: item.filePath, - fileId:item.fileId - } - }, + filePath: item.filePath, + fileId:item.fileId })) return newArr } diff --git a/src/views/sq/qth/sksq/index.js b/src/views/sq/qth/sksq/index.js index 1bea7b587..d5feb909b 100644 --- a/src/views/sq/qth/sksq/index.js +++ b/src/views/sq/qth/sksq/index.js @@ -17,7 +17,7 @@ export default function Sksq() { const getData = async (params) => { const data = await reservoirlist(params) - setTableData(data.filter(o=>o.stnm==='檀树岗' || o.stnm==='檀树岗(新)')); + setTableData(data); } useEffect(() => { let option = { @@ -38,8 +38,8 @@ export default function Sksq() { 站点: ({ label: item.stnm, value: index }))} + style={{ width: '250px' }} + options={tableData.map((item,index)=>({ label: item.stnm, value:index }))} value={selected} onChange={(e) => setSelected(e)} />