From 09ee59d0022974a18fbeb5747575ffbb60e652f0 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Wed, 12 Nov 2025 16:55:30 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E4=BF=AE=E6=94=B9=E9=97=B8=E9=97=A8?= =?UTF-8?q?=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/apiurl.js | 4 + .../item_yujing/table_AI.js | 14 +- src/views/rcgl/zmjk/ModalContent.js | 40 +-- src/views/rcgl/zmjk/ModalToolBar.js | 16 +- src/views/rcgl/zmjk/index.js | 318 ++---------------- src/views/spjk/aiWarn/Card.js | 6 + src/views/spjk/aiWarn/index.js | 7 +- 7 files changed, 87 insertions(+), 318 deletions(-) diff --git a/src/service/apiurl.js b/src/service/apiurl.js index eabf98453..5ed937bca 100644 --- a/src/service/apiurl.js +++ b/src/service/apiurl.js @@ -539,9 +539,12 @@ const apiurl = { }, zfzl: { list: service_fxdd + "/gateValveReal/list", + list1: service_fxdd + "/gate/list", historypage: service_fxdd + '/gateValveReal/log/page', + historypage1: service_fxdd + '/gate/page/history', historyList: service_fxdd + '/gateValveReal/log/loglist', historyPageExport: service_fxdd + '/gateValveReal/log/exp', + historyPageExport1: service_fxdd + '/gate/exp', swInfo:service_fxdd + '/reservoir/water/waterInfo', krlist: service_fxdd + "/reservoir/water/data", info: service_fxdd + "/attGateValve/detail", @@ -570,6 +573,7 @@ const apiurl = { spjk1: { aiWarn: { page: service_fxdd + "/stImgWarnR/page", + page1: service_fxdd + "/iscaiEvent/page", list: service_fxdd + "/attCctvBase/list", controler:service_fxdd + "/attCctvBase/control" } diff --git a/src/views/Home/homePanelsLayoutPage/item_yujing/table_AI.js b/src/views/Home/homePanelsLayoutPage/item_yujing/table_AI.js index 12e3d8596..4b3ee2346 100644 --- a/src/views/Home/homePanelsLayoutPage/item_yujing/table_AI.js +++ b/src/views/Home/homePanelsLayoutPage/item_yujing/table_AI.js @@ -12,14 +12,14 @@ import moment from 'moment'; const Page = () => { - const { tableProps, search, refresh } = usePageTable(createCrudService('/gunshiApp/tsg/rescue/goods/page/query').find_noCode,{}); + // const { tableProps, search, refresh } = usePageTable(createCrudService('/gunshiApp/tsg/rescue/goods/page/query').find_noCode,{}); - useEffect(()=>{ - const params = { - search: {} - }; - search(params) - }, []) + // useEffect(()=>{ + // const params = { + // search: {} + // }; + // search(params) + // }, []) return (
diff --git a/src/views/rcgl/zmjk/ModalContent.js b/src/views/rcgl/zmjk/ModalContent.js index 6a663f977..7c3b97781 100644 --- a/src/views/rcgl/zmjk/ModalContent.js +++ b/src/views/rcgl/zmjk/ModalContent.js @@ -6,34 +6,34 @@ import { exportFile } from '../../../utils/tools'; import apiurl from '../../../service/apiurl'; import usePageTable from '../../../components/crud/usePageTable2'; import { createCrudService } from '../../../components/crud/_'; -export default function ModalContent({zfjkData}) { +export default function ModalContent({ item }) { + const myType = { + // 闸前水位站 2闸后水位站 3流量站 + '1': '工作闸门', + '2': '检修闸门', +} const columns = [ { title: '序号', key: 'inx', dataIndex:'inx', width: 80, + }, + { + title: '闸门名称', + key: 'stcd', + dataIndex:'stcd', + width: 150, + render: (v) => {myType[v]} }, { - title: '闸阀名称', - key: 'valveName', - dataIndex:'valveName', + title: '当前开度(m)', + key: 'gtop', + dataIndex:'gtop', width: 150, }, { - title: '操作内容', - dataIndex:'opContent', - key: 'opContent', - width: 150, - }, - { - title: '操作结果', - dataIndex:'status', - key: 'status', - width: 150, - }, - { - title: '操作时间', + title: '数据采集时间', dataIndex:'tm', key: 'tm', width: 150, @@ -41,7 +41,7 @@ export default function ModalContent({zfjkData}) { ] const [searchVal, setSearchVal] = useState(false) // 闸阀弹框更多数据 - const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gsxl.zfzl.historypage).find_noCode); + const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gsxl.zfzl.historypage1).find_noCode); const exportExcel = () => { let params = { ...searchVal, @@ -50,7 +50,7 @@ export default function ModalContent({zfjkData}) { pageSize:tableProps.pagination.pageSize } } - httppost5(apiurl.gsxl.zfzl.historyPageExport, params).then(res => { + httppost5(apiurl.gsxl.zfzl.historyPageExport1, params).then(res => { exportFile(`闸门操作记录.xlsx`,res.data) }) } @@ -70,7 +70,7 @@ export default function ModalContent({zfjkData}) { diff --git a/src/views/rcgl/zmjk/ModalToolBar.js b/src/views/rcgl/zmjk/ModalToolBar.js index da42b9cbe..aa9f2a6e7 100644 --- a/src/views/rcgl/zmjk/ModalToolBar.js +++ b/src/views/rcgl/zmjk/ModalToolBar.js @@ -4,7 +4,7 @@ import { Form, Input, Button, DatePicker } from 'antd'; import moment from 'moment'; import NormalSelect from '../../../components/Form/NormalSelect'; const { RangePicker } = DatePicker; -const ToolBar = ({ setSearchVal, exportFile,list }) => { +const ToolBar = ({ setSearchVal, exportFile,item }) => { const optionsType = [ { label: "今日", @@ -70,27 +70,27 @@ const ToolBar = ({ setSearchVal, exportFile,list }) => { } useEffect(() => { - if (list.length > 0) { + if (item) { let dateTimeSo = { start: moment().subtract(7, "days").format('YYYY-MM-DD 00:00:00'), end: moment().format('YYYY-MM-DD 00:00:00') } form.setFieldValue("tm", [moment(dateTimeSo.start), moment(dateTimeSo.end)]) - form.setFieldValue("valveCode", list[0]?.valveCode) - setSearchVal({dateTimeRangeSo:dateTimeSo, valveCode:list[0]?.valveCode}) + form.setFieldValue("stcd", item.stcd) + setSearchVal({dateTimeRangeSo:dateTimeSo, stcd:item.stcd}) } - }, [list]) + }, [item]) return ( <>
- + diff --git a/src/views/rcgl/zmjk/index.js b/src/views/rcgl/zmjk/index.js index 99c7c99f0..a9a4cd031 100644 --- a/src/views/rcgl/zmjk/index.js +++ b/src/views/rcgl/zmjk/index.js @@ -17,165 +17,12 @@ import ModalContent from './ModalContent'; const url = "http://223.75.53.141:9100/gs-tsg" const CanvasW = 1080 const CanvasH = 640 -// const waterRatio = 0 -const zmobj = { - "hpCode": "HP0074208040002120", - "stcd": "4265630075", - "ctrlType": "PLC", - "ctrlProtocol": "PLC", - "uprzStcd": null, - "dwrzStcd": null, - "flowStcd": null, - "gaType": "waga", - "ctrlPass": null, - "maxHgt": 1.9, - "minHgt": 0, - "name": "五岭包节制闸", - "ghtX": null, - "ghtY": null, - "irrCode": "D00000020", - "irrName": "三干渠", - "engCode": "ENG100076", - "engName": "三干渠管理处", - "orgCode": "A07", - "gaorNum": 3, - "wagaType": "节制闸", - "plcType": null, - "bim": 0, - "vip": 0, - "miu": null, - "lgtd": 112.242945, - "lttd": 30.848166, - "runtime": [ - null, - { - "stcd": "4265630075", - "gateNumber": 1, - "realAperture": 376, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": 0, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:26", - "_online": true - }, - { - "stcd": "4265630075", - "gateNumber": 2, - "realAperture": 388, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": 0, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:26", - "_online": true - }, - { - "stcd": "4265630075", - "gateNumber": 3, - "realAperture": 394, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": null, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:26", - "_online": true - } - ], - "real": { - "stcd": "4265630075", - "stationName": "五岭包节制闸", - "z1": null, - "zz1": null, - "z1tm": null, - "z2": null, - "zz2": null, - "z2tm": null, - "hq": null, - "hqtm": null, - "demtl": null - }, - "cctvs": [], - "_idx": 88, - "_fav": false, - "_sort": 10086 -} -const runtime = [ - null, - { - "stcd": "4265630075", - "gateNumber": 1, - "realAperture": 976, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": 0, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:31" - }, - { - "stcd": "4265630075", - "gateNumber": 2, - "realAperture": 388, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": 0, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:31" - }, - { - "stcd": "4265630075", - "gateNumber": 3, - "realAperture": 394, - "setAperture": 0, - "sensorLever": null, - "altitudeLever": null, - "remoteSignal": 0, - "powerSignal": null, - "openingSignal": 0, - "closeingSignal": 0, - "errorSignal": 0, - "openedSignal": 0, - "closedSignal": 0, - "tm": "2024-09-25 20:03:31" - } -] const myType = { // 闸前水位站 2闸后水位站 3流量站 - '1': '闸前水位/水深(m)', - '2': '闸后水位/水深(m)', - '3': '流量 (m³/s)', + '1': '工作闸门', + '2': '检修闸门', } const Page = () => { @@ -203,15 +50,16 @@ const Page = () => { const zfColumns = [ { - title: '闸阀名称', - key: 'valveName', - dataIndex:'valveName', + title: '闸门名称', + key: 'stcd', + dataIndex:'stcd', width: 150, + render: (v) => {myType[v]} }, { - title: '当前开关状态', - key: 'status', - dataIndex:'status', + title: '当前开度(m)', + key: 'gtop', + dataIndex:'gtop', width: 150, }, { @@ -263,9 +111,9 @@ const Page = () => { const pts = contextCoordinates(xunit, hole); const eqpnoList = useMemo(() => damList ? new Array(damList.length).fill(0).map((o, index) => index) : [], [damList]); - useEffect(() => { - getList() - }, []) + // useEffect(() => { + // getList() + // }, []) const getList = async () => { const { code, data } = await httppost2(apiurl.zmjk.video) @@ -335,9 +183,10 @@ const Page = () => { // 闸阀监控列表数据 const [zfjkData, setzfjkData] = useState([]) + const [rowItem, setRowItem] = useState({}) const getZfjkData = async () => { try { - const res = await httppost2(apiurl.gsxl.zfzl.list) + const res = await httppost2(apiurl.gsxl.zfzl.list1) if (res.code == 200) { setzfjkData(res.data) } @@ -426,8 +275,8 @@ const Page = () => { useEffect(() => { getZfjkData() - getZfjkHistoryData() - getZfjkSwData() + // getZfjkHistoryData() + // getZfjkSwData() }, []) @@ -438,20 +287,28 @@ const Page = () => { {/* */}
-
-
+
+ {/*
闸阀监控 -
+
*/}
record.tm} + rowKey={(record) => record.id} dataSource={zfjkData} pagination={false} + onRow={ + (data)=>({ + onClick:()=>{ + setOpen(true) + setRowItem(data) + } + }) + } /> -
+ {/*
最近操作记录
setOpen(true)}> @@ -468,76 +325,24 @@ const Page = () => { dataSource={zfjkHistoryListData} pagination={false} /> -
+
*/}
- {/*
- - - - - - - -
-
- { - eqpnoList.map(o => ( -
{}} - className='o' style={{ flexGrow: 1, width: 100, display: 'flex', justifyContent: 'center', cursor: 'pointer' }}> -
#{o+1}
-
- )) - } -
-
-
-
- { - eqpnoList.map(o => ( -
-
{}} - style={{ width: 80, height: 32, border: '1px solid #444', backgroundColor: '#fff', borderRadius: 4, color: '#888', display: 'flex', justifyContent: 'center', alignItems: 'center', fontSize: 18, cursor: 'pointer' }} - > - {renAperture(damList[o]?.realAperture)} -
-
- )) - } -
-
-
*/} -
+ + {/*
监控视频
- {/*
- { - videoList.map((item,index)=>( -
{setItemIndex(index);getVideoSrc(item.indexCode)}}> - {item.name} -
- )) - } -
*/} +
{ videoArr?.src &&
{ - // if (controlerParams.type == 1) { - // setVideoOpen(true) - // setIsShow(!isShow) - // } - }} > - {/*
注:单击视频显示/隐藏云台
*/}
}
@@ -554,39 +359,11 @@ const Page = () => { dataSource={zfjkSwData} pagination={false} /> - {/* { - list?.map((item)=>{ - if(item.type===1){ - return ( -
-
{myType[item.type]}
-
{item.value||'-'} / {getNum(item.value,data.inEle)}
-
{item.tm?.slice(5,19)}
-
- ) - }else if(item.type===2){ - return ( -
-
{myType[item.type]}
-
{item.value||'-'} / {getNum(item.value,data.inEle)}
-
{item.tm?.slice(5,19)}
-
- ) - }else{ - return ( -
-
{myType[item.type]}
-
{item.value}
-
{item.tm?.slice(5,19)}
-
- ) - } - }) - } */} +
- {/*
setOpen(true)}>查看更多信息
*/} -
+
setOpen(true)}>查看更多信息
+
*/} @@ -601,28 +378,7 @@ const Page = () => { }} >
- - {/* - - - {{ 1: '卷扬式', 2: '螺杆式', 3: '凹轮式', 4: '涡轮式', 5: '丝杆式' }?.[data?.hdgrTp] || '-'} - {{ 1: '手动', 2: '电动', 3: '手电两用' }?.[data?.pwrTp] || '-'} - {{ 1: '分(泄)洪闸', 2: '节制闸', 3: '排(退)水闸', 4: '引(进)水闸', 5: '挡潮闸', 6: '船闸', 9: '其他' }?.[data?.wagaType] || '-'} - {data?.inEle || '-'} m - {data?.outEle || '-'} m - {data?.gaorNum || '-'} 孔 - {data?.dsfl || '-'} m³/s - {data?.stfl || '-'} m³/s - {data?.gateSize || '-'} m*m - {{ 1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ', 4: 'Ⅳ', 5: 'Ⅴ' }?.[data?.engGrad] || '-'} - {{ 1: '在用良好', 2: '在用故障', 3: '停用' }?.[data?.runStat] || '-'} - {data?.compDate || '-'} - - - - - - */} +
diff --git a/src/views/spjk/aiWarn/Card.js b/src/views/spjk/aiWarn/Card.js index 499ba6ab8..974ed46a2 100644 --- a/src/views/spjk/aiWarn/Card.js +++ b/src/views/spjk/aiWarn/Card.js @@ -1,5 +1,7 @@ import React from 'react' import { Image } from 'antd' +import HFivePlayer from '../../../components/video1Plary' + export default function Card({record}) { return (
@@ -7,6 +9,10 @@ export default function Card({record}) { src={record?.imgPath} style={{width:360,height:220}} > + {/*
+ + +
*/}
{ const role = useSelector(state => state.auth.role); const [searchVal, setSearchVal] = useState(false) - const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.spjk1.aiWarn.page).find_noCode); + const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.spjk1.aiWarn.page1).find_noCode); const onchange = (page, pageSize) => { const obj = { pageNumber: page, @@ -26,12 +26,15 @@ const Page = () => { search(searchParams) } useEffect(() => { - const params = { + if (searchVal) { + const params = { search: { ...searchVal, } }; search(params) + } + }, [searchVal]) return ( <>