From 301269f407270e13931929cc138cb1cef71eb064 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Fri, 13 Dec 2024 17:49:08 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E5=A4=A7=E5=B1=8F=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/ykzImg/left.png | Bin 0 -> 38369 bytes src/assets/ykzImg/right.png | Bin 0 -> 39731 bytes src/components/DashboardLayout/index.tsx | 2 +- src/components/crud/CrudOpRender.js | 68 +------ src/models/auth/_.ts | 2 +- src/service/apiurl.js | 5 + src/views/AppRouters.tsx | 8 +- src/views/Home/index.js | 206 +++++++++++++++++++- src/views/Home/index.less | 99 ++++++++++ src/views/Home/options.js | 58 ++++++ src/views/Home/zmjk/index.less | 2 +- src/views/SystemMangant/UserInfo/form.js | 178 +++++++++++++++++ src/views/SystemMangant/UserInfo/index.js | 159 +++++++++++++++ src/views/SystemMangant/UserInfo/index.less | 0 src/views/SystemMangant/UserInfo/toolbar.js | 67 +++++++ src/views/WatchData/Jcsj/index.js | 65 +++--- src/views/WatchData/Jcsj/options.js | 57 ++++++ 17 files changed, 881 insertions(+), 95 deletions(-) create mode 100644 src/assets/ykzImg/left.png create mode 100644 src/assets/ykzImg/right.png create mode 100644 src/views/Home/options.js create mode 100644 src/views/SystemMangant/UserInfo/form.js create mode 100644 src/views/SystemMangant/UserInfo/index.js create mode 100644 src/views/SystemMangant/UserInfo/index.less create mode 100644 src/views/SystemMangant/UserInfo/toolbar.js create mode 100644 src/views/WatchData/Jcsj/options.js diff --git a/src/assets/ykzImg/left.png b/src/assets/ykzImg/left.png new file mode 100644 index 0000000000000000000000000000000000000000..8735d260dbdb7dde5473b68e7b25a861ecb85550 GIT binary patch literal 38369 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 N002ovPDHLkV1g&e|P>k{gzxVIkSAY9N^g4J0H) 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 { }
- + Loading}> { menu.length>0?:null } diff --git a/src/components/crud/CrudOpRender.js b/src/components/crud/CrudOpRender.js index 494a003..2099f23 100644 --- a/src/components/crud/CrudOpRender.js +++ b/src/components/crud/CrudOpRender.js @@ -38,30 +38,9 @@ export function CrudOpRender_icon({ command, edit, del, restore, add, view }) { ) } -export function CrudOpRender_text({ command,picReview, edit,detail, dispatch,del, restore, add,similarAdd, view,zg, cjxgl,review,download,record }) { +export function CrudOpRender_text({ command,modify,edit,del,view}) { return (
- { - record ? ( - - ) : null - } - { - add ? ( - - ) : null - } - - { - detail ? ( - - ) : null - } - { - similarAdd ? ( - - ) : null - } { edit ? ( @@ -72,45 +51,6 @@ export function CrudOpRender_text({ command,picReview, edit,detail, dispatch,del ) : null } - { - cjxgl ? ( - - ) : null - } - { - review ? ( - - ) : null - } - { - picReview ? ( - - ) : null - } - { - zg ? ( - - ) : null - } - { - download ? ( - - ) : null - } - { - restore ? ( - - - - ) : null - } - { - dispatch ? ( - - - - ) : null - } { del ? ( @@ -118,7 +58,11 @@ export function CrudOpRender_text({ command,picReview, edit,detail, dispatch,del ) : null } - + { + modify ? ( + + ) : null + }
) } diff --git a/src/models/auth/_.ts b/src/models/auth/_.ts index bf5892c..cb0313d 100644 --- a/src/models/auth/_.ts +++ b/src/models/auth/_.ts @@ -246,7 +246,7 @@ export async function loadMenu(): Promise { ] }, { - id: id(), title: '系统管理', path: '/mgr/xtgl/yhxx', icon: 'sz', + id: id(), title: '系统管理', redirect: '/mgr/xtgl/yhxx', icon: 'sz', children: [ { id: id(), title: '用户信息', path: '/mgr/xtgl/yhxx', diff --git a/src/service/apiurl.js b/src/service/apiurl.js index 49ddbd6..a3977f5 100644 --- a/src/service/apiurl.js +++ b/src/service/apiurl.js @@ -11,6 +11,11 @@ const apiurl = { router: service_xyt + '/getRouters', role: service_xyt + '/system/menu/list' }, + + home: { + videoList: service_fxdd + "/gateValveCctvRel/list", + videosrc: service_fxdd + "/attCctvBase/preview", + }, zmjk: { getList : service_xyt + '/attGateB/list', getInformation: service_xyt + '/attGateB/data', diff --git a/src/views/AppRouters.tsx b/src/views/AppRouters.tsx index 6974582..b484bd1 100644 --- a/src/views/AppRouters.tsx +++ b/src/views/AppRouters.tsx @@ -13,11 +13,11 @@ import BasicSituation from "./Gcyx/InformationSearch/BasicSituation"; import RunSituation from "./Gcyx/InformationSearch/RunSituation"; import StaticTable from "./Gcyx/InformationSearch/StaticTable"; import OperateLog from "./Gcyx/InformationSearch/OperateLog"; -import Jcsj from './WatchData/Jcsj' +import Jcsj from './WatchData/Jcsj'; import PoliceRecord from './WatchData/PoliceMangant/PoliceRecord' import PoliceRuleConfig from './WatchData/PoliceMangant/PoliceRuleConfig' - +import UserInfo from './SystemMangant/UserInfo' const HomePage = lazy(() => import('./Home')) @@ -55,6 +55,10 @@ const AppRouters: React.FC = () => { { path: 'gcyx/xxcx/yxqk', element: }, { path: 'gcyx/xxcx/tjbb', element: }, { path: 'gcyx/xxcx/czrz', element: }, + + // 系统管理 + { path: 'xtgl/yhxx', element: }, + ], }, { path: '/login', element: }, diff --git a/src/views/Home/index.js b/src/views/Home/index.js index 00844fe..b091d7d 100644 --- a/src/views/Home/index.js +++ b/src/views/Home/index.js @@ -1,8 +1,14 @@ -import React, { useEffect, useState } from 'react' +import React, { useEffect, useState,useMemo } from 'react' import { useNavigate } from 'react-router'; import autofit from 'autofit.js' import Zmjk from "./zmjk" import './index.less' +import ReactEcharts from 'echarts-for-react'; +import options from './options' +import clsx from 'clsx'; +import { Select } from 'antd'; +import { httpget2,httppost2 } from '../../utils/request'; +import apiurl from '../../service/apiurl'; const MenuTitleCard = ({key,title}) => { return ( @@ -38,18 +44,82 @@ export default function Home() { }, ] + + const runData = [ + { + name: '闸后流量(m³/s)', + value: 4300, + time:'2024-08-15 15:00:00' + }, + { + name: '闸前水位(m)', + value: 9.82, + time:'2024-08-15 15:00:00' + }, + { + name: '闸后流量(m)', + value: 8.87, + time:'2024-08-15 15:00:00' + }, + { + name: '雨量(mm)', + value: 10.5, + time:'2024-08-15 15:00:00' + } + ] + + const pxOptions = useMemo(() => { + // if (staData) { + // return options(staData) + // } else { + // return options({}) + // } + return options({}) + }, []) + //安全监测数据 + const [safeData, setSafeData] = useState(Array(5).fill(0).map((item, i) => ({ id: i, cd: "SY01", dm: '1#断面', kpa: 2749, time: '2024-08-15 15:00:00' }))) + //操作日志 + const [operateData, setOperateData] = useState(Array(5).fill(0).map((item, i) => ({ id: i, cd: '1#闸孔', content: "设定闸门开度为0.10m", name: '刘天明', kpa: 2749, time: '2024-08-15 15:00:00' }))) + //报警信息 + const [policeData, setPoliceData] = useState(Array(5).fill(0).map((item, i) => ({ id: i,zd:'闸前水位', watchvalue: "10.23",limit:0,max:10, time: '2024-08-15 15:00:00' }))) const navigate = useNavigate(); const jumpMenu = (item) => { navigate(item.key) } + const [videoList, setVideoList] = useState([]) + const [videoArr, setvideoArr] = useState({}) + + // 获取视频列表 + const getVideoList = async () => { + try { + const res = await httppost2(apiurl.home.videoList,{valveCode:"HP0024208020000063"}) + setVideoList(res.data.map(item => ({label:item.name,value:item.indexCode}))) + } catch (error) { + console.log(error); + } + } + + + // 获取视频流 + const getVideoSrc = async (current) => { + const res = await httpget2(`${apiurl.home.videosrc}${current}`) + if (res.code == 200 && res.data?.length !== 0) { + setvideoArr({src:res.data}) + }else{ + setvideoArr({}) + } + } + + const [activeOne, setActiveOne] = useState(0) useEffect(() => { autofit.init({ dh: 1080, dw: 1920, el:'#daping-body', resize: true - }) + }) + getVideoList() }, []) return ( @@ -66,6 +136,138 @@ export default function Home() {
+
+ {/* 工程简介 */} +
+
工程简介
+
+ + 盐卡闸位于湖北省荆州市经济开发区,荆江大堤左岸桩 745+614 处,位于观音寺闸上游 5km 处。盐卡闸主要工程任务为引水灌溉,解决四湖中下区农 +业灌溉和洪湖生态保障不足的问题。利用盐卡泵站进水渠,反向从长江引水,引水灌溉设计流量55m³/s,水闸级别为 1 级,次要建筑物级别为 3 级。 +
+
+ {/* 运行监测数据 */} +
+
运行监测数据
+
+ {runData.map((item,i) => ( +
setActiveOne(i)}> + {item.name} + {item.value} + {item.time} +
+ ))} +
+ +
+
+
+ {/* 安全监测数据 */} +
+
+
安全监测数据
+
+ + + + + + + + + + + {safeData.map((item, i) => ( + + + + + + + ))} + + +
测点编号监测断面渗压(KPa)监测时间
{item.cd}{item.dm}{item.kpa}{item.time}
+
+
+
+
+
+ {/* 操作日志 */} +
+
操作日志
+
+ + + + + + + + + + + {operateData.map((item, i) => ( + + + + + + + ))} + + +
闸孔编号操作内容操作人员操作时间
{item.cd}{item.content}{item.name}{item.time}
+
+
+ {/* 报警信息 */} +
+
报警信息
+
+ + + + + + + + + + + 6 ? 'scroll':'hidden'}} > + {policeData.map((item, i) => ( + + + + + + + + ))} + + +
监测点监测值阈值下限阈值上限报警时间
{item.zd}{item.watchvalue}{item.limit}{item.max}{item.time}
+
+
+ {/* 视频监控 */} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dateString} + getValueProps={(value) => { + return { + value: value ? [value[0]&&moment(value[0]),value[1]&&moment(value[1])] : undefined + }; + }} + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + mode==='view'?null:( + <> + + + + + ) + } + + + + ); +} + +export default ModalForm; diff --git a/src/views/SystemMangant/UserInfo/index.js b/src/views/SystemMangant/UserInfo/index.js new file mode 100644 index 0000000..0066b01 --- /dev/null +++ b/src/views/SystemMangant/UserInfo/index.js @@ -0,0 +1,159 @@ +import React, { Fragment, useRef, useMemo,useEffect,useState } from 'react'; +import BasicCrudModal from '../../../components/crud/BasicCrudModal'; +import { Table, Card, Modal, Form, Input, Button, Row,Col, Timeline, message, Tabs,Image } from 'antd'; +import ToolBar from './toolbar'; +import {btnItemLayout } from '../../../components/crud/FormLayoutProps'; +import ModalForm from './form'; +import apiurl from '../../../service/apiurl'; +import usePageTable from '../../../components/crud/usePageTable2'; +import { createCrudService } from '../../../components/crud/_'; +import {CrudOpRender_text} from '../../../components/crud/CrudOpRender'; + +const url = "http://223.75.53.141:9102/test.by-lyf.tmp" +const Page = () => { + const types = { + 0: "管理员", + 1: '普通用户', + } + const [form] = Form.useForm(); + const refModal = useRef(); + const [searchVal, setSearchVal] = useState(false) + const columns = [ + { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align:"center" }, + { title: '登录账号', key: 'name', dataIndex: 'name', width: 150}, + { title: '姓名', key: 'adress', dataIndex: 'adress', width: 150}, + { title: '联系电话', key: 'adress', dataIndex: 'adress', width: 150}, + { title: '职务', key: 'adress', dataIndex: 'adress', width: 150}, + { title: '职责', key: 'adress', dataIndex: 'adress', width: 200}, + { + title: '角色', key: 'type', dataIndex: 'type', width: 140, + render: (value) => {types[value]}, + }, + { + title: '创建时间', key: 'eventsDate', dataIndex: 'eventsDate', width: 140, + }, + { + title: '操作', key: 'operation', width: 200, fixed: 'right',align: 'center', + render: (value, row, index) => ( + () => command(cmd)(row)} />) + }, + ]; + + + const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); + + const [rowRecord, setRowRecord] = useState({}) + const [modifyOpen, setModifyOpen] = useState(false) + const command = (type) => (params) => { + if (type === 'save') { + refModal.current.showSave(); + } else if (type === 'edit') { + refModal.current.showEdit({ ...params }); + } else if (type === 'view') { + refModal.current.showView(params); + } else if (type === 'del') { + refModal.current.onDeleteGet(apiurl.rcgl.gcdsj.delete + `/${params.id}`); + } else if (type === 'modify') { + setModifyOpen(true) + setRowRecord(params) + } + } + + + + const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.sbwh.whfabz.page).find_noCode); + + /** + * @description 处理成功的回调 + */ + const successCallback = () => { + refresh() +} + + useEffect(()=>{ + const params = { + search: { + ...searchVal, + } + }; + search(params) + }, [searchVal]) + + + return ( + <> +
+
+ + + +
+ + + + + + + + setModifyOpen(false)} + destroyOnClose + footer={null} + > +
{}} + > + +
+ + + + + + + + + + + + + + + + + + + + + ); +} + +export default Page; diff --git a/src/views/SystemMangant/UserInfo/index.less b/src/views/SystemMangant/UserInfo/index.less new file mode 100644 index 0000000..e69de29 diff --git a/src/views/SystemMangant/UserInfo/toolbar.js b/src/views/SystemMangant/UserInfo/toolbar.js new file mode 100644 index 0000000..295ed61 --- /dev/null +++ b/src/views/SystemMangant/UserInfo/toolbar.js @@ -0,0 +1,67 @@ +import React, { useEffect,useState } from 'react'; +import { Form, Input, Button, DatePicker } from 'antd'; +import NormalSelect from '../../../components/Form/NormalSelect'; + +import moment from 'moment'; +const { RangePicker } = DatePicker; +const ToolBar = ({ setSearchVal, onSave, storeData, role }) => { + + const types = [ + { + label: "管理员", + value: 0 + }, + { + label: "普通用户", + value: 1 + } + ] + const [form] = Form.useForm(); + + const onFinish = (values) => { + let dateSo; + if (values.tm) { + dateSo = { + start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'), + end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss') + } + } + delete values.tm + setSearchVal({...values, dateSo}); + } + + + return ( + <> +
+
+ + + + + + + + + + + + + + + + + { + (onSave) ? + + + + :null + } + +
+ + ); +} + +export default ToolBar; \ No newline at end of file diff --git a/src/views/WatchData/Jcsj/index.js b/src/views/WatchData/Jcsj/index.js index 372570d..40cc146 100644 --- a/src/views/WatchData/Jcsj/index.js +++ b/src/views/WatchData/Jcsj/index.js @@ -1,14 +1,16 @@ -import React, { Fragment, useRef, useMemo,useEffect,useState } from 'react'; -import { Table, Card, Modal, Form, Input, Button, Row,Col, Timeline, message, Tabs,Image } from 'antd'; +import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react'; +import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd'; import ToolBar from './toolbar'; import apiurl from '../../../service/apiurl'; +import ReactEcharts from 'echarts-for-react'; +import options from './options' import usePageTable from '../../../components/crud/usePageTable2'; import { createCrudService } from '../../../components/crud/_'; import { httppost5 } from '../../../utils/request'; import { exportFile } from '../../../utils/tools.js'; import './index.less' -const RealCard = ({item}) => { +const RealCard = ({ item }) => { return (
{item.label}
@@ -21,54 +23,61 @@ const Page = () => { const types = { 0: "闸后流量", 1: '闸前水位', - 2:'闸后水位', - 3:'雨量', + 2: '闸后水位', + 3: '雨量', } - + const pxOptions = useMemo(() => { + // if (staData) { + // return options(staData) + // } else { + // return options({}) + // } + return options({}) + }, []) const nameList = [ { label: "闸后流量(m³/s)", - value:300 + value: 300 }, { label: "闸前水位(m)", - value:300 + value: 300 }, { label: "闸后水位(m)", - value:300 + value: 300 }, { label: "雨量(mm)", - value:300 + value: 300 } ] const [searchVal, setSearchVal] = useState(false) const columns = [ - { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align:"center" }, + { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" }, { title: '监测项目', key: 'name', dataIndex: 'name', width: 150, render: (v) => {types[v]} - }, - { title: '监测值', key: 'adress', dataIndex: 'adress', width: 150}, + }, + { title: '监测值', key: 'adress', dataIndex: 'adress', width: 150 }, { title: '监测时间', key: 'eventsDate', dataIndex: 'eventsDate', width: 140, }, - + ]; - + const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.sbwh.whfabz.page).find_noCode); - + const exportExcel = () => { let params = { ...searchVal, } httppost5(apiurl.pxjh.export, params).then(res => { - exportFile(`统计报表.xlsx`,res.data) - }) + exportFile(`统计报表.xlsx`, res.data) + }) } useEffect(() => { const params = { @@ -78,11 +87,11 @@ const Page = () => { }; search(params) }, [searchVal]) - - + + return ( <> -
+
@@ -95,7 +104,7 @@ const Page = () => { ))}
-
+
监测数据
@@ -107,12 +116,16 @@ const Page = () => { exportFile1={exportExcel} /> -
+
-
+
-
- +
+
diff --git a/src/views/WatchData/Jcsj/options.js b/src/views/WatchData/Jcsj/options.js new file mode 100644 index 0000000..e58cbcb --- /dev/null +++ b/src/views/WatchData/Jcsj/options.js @@ -0,0 +1,57 @@ +export default function options(data = {}) { + return { + tooltip: { + trigger: "axis", + }, + grid: { + top: 10, + bottom:135, + right:30 + }, + xAxis: { + type: "category", + data: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul"], + boundaryGap: false, + axisLine: { + lineStyle: { + color: "#d9d9d9", + }, + }, + axisLabel: { + color: "#7a869a", + }, + }, + yAxis: { + type: "value", + splitLine: { + lineStyle: { + color: "#d9d9d9", + }, + }, + axisLine: { + show: false, + }, + axisLabel: { + color: "#7a869a", + formatter: '{value} m³/s' + }, + axisTick: { + show: false + } + }, + series: [ + { + data: [150, 230, 224, 218, 135, 147, 260], + type: "line", + name: '闸前水位', + lineStyle: { + color: '#5b8ff9' + }, + itemStyle: { + color: '#5b8ff9', + }, + }, + ], + + } +} \ No newline at end of file