feat(): 增加水厂信息
parent
e3254a5d98
commit
d13a76e316
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"records":[
|
"records":[
|
||||||
{"序号":"1","部门编码":"A01","部门名称":"办公室","上级部门":"","排序号":"1","备注":"","创建日期":"2023-08-30"},
|
{"序号":"1","部门编码":"A01","部门名称":"办公室","上级部门":"","排序号":"1","备注":"","创建日期":"2025-05-30"},
|
||||||
{"序号":"2","部门编码":"A02","部门名称":"工程科","上级部门":"","排序号":"2","备注":"","创建日期":"2023-08-30"},
|
{"序号":"2","部门编码":"A02","部门名称":"工程科","上级部门":"","排序号":"2","备注":"","创建日期":"2025-05-30"},
|
||||||
{"序号":"3","部门编码":"A03","部门名称":"养护科","上级部门":"","排序号":"3","备注":"","创建日期":"2023-08-29"}
|
{"序号":"3","部门编码":"A03","部门名称":"养护科","上级部门":"","排序号":"3","备注":"","创建日期":"2025-05-30"}
|
||||||
],
|
],
|
||||||
"total": 10,
|
"total": 10,
|
||||||
"pages": 1
|
"pages": 1
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
"serviceAddr": "172.20.1.101",
|
"serviceAddr": "172.20.1.101",
|
||||||
"port": "18300",
|
"port": "18300",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:30",
|
"registerTime": "2025-05-24 12:00:30",
|
||||||
"provider": "江苏德高物联技术有限公司",
|
"provider": "江苏德高物联技术有限公司",
|
||||||
"stNum": 1,
|
"stNum": 1,
|
||||||
"contacts": "",
|
"contacts": "",
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
"target": "DB_ZHSK.ST_FLOW_R",
|
"target": "DB_ZHSK.ST_FLOW_R",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 15:00:00",
|
"maxTime": "2025-10-09 15:00:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 6495,
|
"allCount": 6495,
|
||||||
"todayCount": 16,
|
"todayCount": 16,
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
"serviceAddr": "121.40.63.15",
|
"serviceAddr": "121.40.63.15",
|
||||||
"port": "7889",
|
"port": "7889",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:29",
|
"registerTime": "2025-05-24 12:00:29",
|
||||||
"provider": "江苏德高物联技术有限公司",
|
"provider": "江苏德高物联技术有限公司",
|
||||||
"stNum": 1,
|
"stNum": 1,
|
||||||
"contacts": "",
|
"contacts": "",
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
"target": "DB_ZHSK.ST_FLOW_R",
|
"target": "DB_ZHSK.ST_FLOW_R",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 15:00:00",
|
"maxTime": "2025-10-09 15:00:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 6495,
|
"allCount": 6495,
|
||||||
"todayCount": 16,
|
"todayCount": 16,
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
"serviceAddr": "10.42.160.53",
|
"serviceAddr": "10.42.160.53",
|
||||||
"port": "9527",
|
"port": "9527",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:28",
|
"registerTime": "2025-05-24 12:00:28",
|
||||||
"provider": "襄阳气象局",
|
"provider": "襄阳气象局",
|
||||||
"stNum": 1,
|
"stNum": 1,
|
||||||
"contacts": "",
|
"contacts": "",
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
"serviceAddr": "58.19.239.227",
|
"serviceAddr": "58.19.239.227",
|
||||||
"port": "10088",
|
"port": "10088",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:26",
|
"registerTime": "2025-05-24 12:00:26",
|
||||||
"provider": "襄阳气象局",
|
"provider": "襄阳气象局",
|
||||||
"stNum": 176,
|
"stNum": 176,
|
||||||
"contacts": "",
|
"contacts": "",
|
||||||
|
|
@ -92,7 +92,7 @@
|
||||||
"target": "DB_ZHSK.WEATHER_XY_SK",
|
"target": "DB_ZHSK.WEATHER_XY_SK",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 15:30:00",
|
"maxTime": "2025-10-09 15:30:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 3719924,
|
"allCount": 3719924,
|
||||||
"todayCount": 16389,
|
"todayCount": 16389,
|
||||||
|
|
@ -109,7 +109,7 @@
|
||||||
"serviceAddr": "218.200.85.79",
|
"serviceAddr": "218.200.85.79",
|
||||||
"port": "4505",
|
"port": "4505",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:00",
|
"registerTime": "2025-05-24 12:00:00",
|
||||||
"provider": "力合科技(湖南)股份有限公司",
|
"provider": "力合科技(湖南)股份有限公司",
|
||||||
"stNum": 1,
|
"stNum": 1,
|
||||||
"contacts": "李晶晶",
|
"contacts": "李晶晶",
|
||||||
|
|
@ -117,7 +117,7 @@
|
||||||
"target": "DB_ZHSK.HYD_RI_WQAMD_W",
|
"target": "DB_ZHSK.HYD_RI_WQAMD_W",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 15:00:00",
|
"maxTime": "2025-10-09 15:00:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 18271,
|
"allCount": 18271,
|
||||||
"todayCount": 15,
|
"todayCount": 15,
|
||||||
|
|
@ -134,7 +134,7 @@
|
||||||
"serviceAddr": "47.112.66.254",
|
"serviceAddr": "47.112.66.254",
|
||||||
"port": "80",
|
"port": "80",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:00",
|
"registerTime": "2025-05-24 12:00:00",
|
||||||
"provider": "鲧石",
|
"provider": "鲧石",
|
||||||
"stNum": 215,
|
"stNum": 215,
|
||||||
"contacts": "曾杰",
|
"contacts": "曾杰",
|
||||||
|
|
@ -142,7 +142,7 @@
|
||||||
"target": "DB_ZHSK.REL_ST_STTP,DB_ZHSK.ST_RIVER_R",
|
"target": "DB_ZHSK.REL_ST_STTP,DB_ZHSK.ST_RIVER_R",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 15:00:00",
|
"maxTime": "2025-10-09 15:00:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 3866780,
|
"allCount": 3866780,
|
||||||
"todayCount": 1504,
|
"todayCount": 1504,
|
||||||
|
|
@ -159,7 +159,7 @@
|
||||||
"serviceAddr": "10.42.160.200",
|
"serviceAddr": "10.42.160.200",
|
||||||
"port": "1433",
|
"port": "1433",
|
||||||
"route": "",
|
"route": "",
|
||||||
"registerTime": "2023-05-24 12:00:00",
|
"registerTime": "2025-05-24 12:00:00",
|
||||||
"provider": "鲧石",
|
"provider": "鲧石",
|
||||||
"stNum": 372,
|
"stNum": 372,
|
||||||
"contacts": "曾杰",
|
"contacts": "曾杰",
|
||||||
|
|
@ -167,7 +167,7 @@
|
||||||
"target": "DB_ZHSK.REL_ST_STTP,DB_ZHSK.ST_RSVR_R",
|
"target": "DB_ZHSK.REL_ST_STTP,DB_ZHSK.ST_RSVR_R",
|
||||||
"enable": "1",
|
"enable": "1",
|
||||||
"服务状态": "1",
|
"服务状态": "1",
|
||||||
"maxTime": "2023-10-09 16:00:00",
|
"maxTime": "2025-10-09 16:00:00",
|
||||||
"countVo": {
|
"countVo": {
|
||||||
"allCount": 8813744,
|
"allCount": 8813744,
|
||||||
"todayCount": 10226,
|
"todayCount": 10226,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"records": [{"序号":"1","量水设施代码":"HP0024208020000063","量水设施名称":"量水堰1#","设施类别":"量水槽","经度":"114. 989405","纬度":"31. 36019","所在位置":"溢洪道下游","喉道尺寸(m*m)":"1.5*1.2","设计流量(m³/s)":"2","实达流量(m³/s)":"2","创建日期":"2023-08-30"}],
|
"records": [{"序号":"1","量水设施代码":"HP0024208020000063","量水设施名称":"量水堰1#","设施类别":"量水槽","经度":"114. 989405","纬度":"31. 36019","所在位置":"溢洪道下游","喉道尺寸(m*m)":"1.5*1.2","设计流量(m³/s)":"2","实达流量(m³/s)":"2","创建日期":"2025-05-30"}],
|
||||||
"total": 10,
|
"total": 10,
|
||||||
"pages": 1
|
"pages": 1
|
||||||
}
|
}
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"records": [
|
"records": [
|
||||||
{"闸阀代码":"HP0024208020000063","闸阀名称":"电动蝶阀1#","产品名称":"暗杆闸阀","经度":"114.989405","纬度":"31.36019","所在位置":"取水塔1楼","型号":"Z45H-PN10","规格":"DN40","结构长度":"GB/T12221-2005","创建日期":"2023-08-30"},
|
{"闸阀代码":"HP0024208020000063","闸阀名称":"电动蝶阀1#","产品名称":"暗杆闸阀","经度":"114.989405","纬度":"31.36019","所在位置":"取水塔1楼","型号":"Z45H-PN10","规格":"DN40","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"},
|
||||||
{"闸阀代码":"HP0024208020000078","闸阀名称":"电动蝶阀2#","产品名称":"暗杆闸阀","经度":"114.078096","纬度":"30.953825","所在位置":"取水塔2楼","型号":"Z45H-PN10","规格":"DN60","结构长度":"GB/T12221-2005","创建日期":"2023-08-30"},
|
{"闸阀代码":"HP0024208020000078","闸阀名称":"电动蝶阀2#","产品名称":"暗杆闸阀","经度":"114.078096","纬度":"30.953825","所在位置":"取水塔2楼","型号":"Z45H-PN10","规格":"DN60","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"},
|
||||||
{"闸阀代码":"HP0024208020000082","闸阀名称":"电动蝶阀3#","产品名称":"暗杆闸阀","经度":"114.118889","纬度":"30.974167","所在位置":"取水塔3楼","型号":"Z45H-PN10","规格":"DN80","结构长度":"GB/T12221-2005","创建日期":"2023-08-29"},
|
{"闸阀代码":"HP0024208020000082","闸阀名称":"电动蝶阀3#","产品名称":"暗杆闸阀","经度":"114.118889","纬度":"30.974167","所在位置":"取水塔3楼","型号":"Z45H-PN10","规格":"DN80","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"},
|
||||||
{"闸阀代码":"HP0024208020000085","闸阀名称":"电动活塞阀1#","产品名称":"电磁阀","经度":"114.989405","纬度":"31.36019","所在位置":"取水塔1楼","型号":"Z45H-PN10","规格":"DN40","结构长度":"GB/T12221-2005","创建日期":"2023-08-30"},
|
{"闸阀代码":"HP0024208020000085","闸阀名称":"电动活塞阀1#","产品名称":"电磁阀","经度":"114.989405","纬度":"31.36019","所在位置":"取水塔1楼","型号":"Z45H-PN10","规格":"DN40","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"},
|
||||||
{"闸阀代码":"HP0024208020000087","闸阀名称":"电动活塞阀2#","产品名称":"电磁阀","经度":"114.078096","纬度":"30.953825","所在位置":"取水塔2楼","型号":"Z45H-PN10","规格":"DN60","结构长度":"GB/T12221-2005","创建日期":"2023-08-30"},
|
{"闸阀代码":"HP0024208020000087","闸阀名称":"电动活塞阀2#","产品名称":"电磁阀","经度":"114.078096","纬度":"30.953825","所在位置":"取水塔2楼","型号":"Z45H-PN10","规格":"DN60","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"},
|
||||||
{"闸阀代码":"HP0024208020000089","闸阀名称":"电动活塞阀3#","产品名称":"电磁阀","经度":"114.118889","纬度":"30.974167","所在位置":"取水塔3楼","型号":"Z45H-PN10","规格":"DN80","结构长度":"GB/T12221-2005","创建日期":"2023-08-29"}
|
{"闸阀代码":"HP0024208020000089","闸阀名称":"电动活塞阀3#","产品名称":"电磁阀","经度":"114.118889","纬度":"30.974167","所在位置":"取水塔3楼","型号":"Z45H-PN10","规格":"DN80","结构长度":"GB/T12221-2005","创建日期":"2025-05-30"}
|
||||||
],
|
],
|
||||||
"total": 10,
|
"total": 10,
|
||||||
"pages": 1
|
"pages": 1
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export function loadMenu(user: LoginUser): MenuItem[] {
|
||||||
id: id(), title: '资源目录', redirect: '/mgr/res', icon: 'xtgl.png', children: [
|
id: id(), title: '资源目录', redirect: '/mgr/res', icon: 'xtgl.png', children: [
|
||||||
{
|
{
|
||||||
id: id(), title: '工程及水系', redirect: '/mgr/res', children: [
|
id: id(), title: '工程及水系', redirect: '/mgr/res', children: [
|
||||||
{ id: id(), title: '水库', path: '/mgr/res' },
|
{ id: id(), title: '水源地', path: '/mgr/res' },
|
||||||
{ id: id(), title: '河流', path: '/mgr/rivl' },
|
{ id: id(), title: '河流', path: '/mgr/rivl' },
|
||||||
{ id: id(), title: '大坝', path: '/mgr/dam' },
|
{ id: id(), title: '大坝', path: '/mgr/dam' },
|
||||||
// { id: id(), title: '水电站', path: '/mgr/elst' },
|
// { id: id(), title: '水电站', path: '/mgr/elst' },
|
||||||
|
|
@ -92,8 +92,9 @@ export function loadMenu(user: LoginUser): MenuItem[] {
|
||||||
//{ id: id(), title: '水位流量曲线', path: '/mgr/rzhis' },
|
//{ id: id(), title: '水位流量曲线', path: '/mgr/rzhis' },
|
||||||
{ id: id(), title: '管理单位', path: '/mgr/unit' },
|
{ id: id(), title: '管理单位', path: '/mgr/unit' },
|
||||||
{ id: id(), title: '行政区划', path: '/mgr/ad' },
|
{ id: id(), title: '行政区划', path: '/mgr/ad' },
|
||||||
{ id: id(), title: '人员管理', path: '/mgr/personel' },
|
{ id: id(), title: '用水户信息', path: '/mgr/personel' },
|
||||||
{ id: id(), title: '部门管理', path: '/mgr/department' },
|
{ id: id(), title: '部门管理', path: '/mgr/department' },
|
||||||
|
{ id: id(), title: '水厂信息', path: '/mgr/waterPro' },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import DirPage from './Serv/Dir';
|
||||||
import WatchPage from './Serv/Watch';
|
import WatchPage from './Serv/Watch';
|
||||||
import MgrPage from './Serv/Mgr';
|
import MgrPage from './Serv/Mgr';
|
||||||
|
|
||||||
|
import WaterPage from './Base/WaterPro'
|
||||||
|
|
||||||
const AppRouters: React.FC = () => {
|
const AppRouters: React.FC = () => {
|
||||||
const dispatch = useDispatch<Dispatch>();
|
const dispatch = useDispatch<Dispatch>();
|
||||||
|
|
@ -52,6 +52,7 @@ const AppRouters: React.FC = () => {
|
||||||
{ path: 'unit', element: <UnitPage /> },
|
{ path: 'unit', element: <UnitPage /> },
|
||||||
{ path: 'ad', element: <AdPage /> },
|
{ path: 'ad', element: <AdPage /> },
|
||||||
{ path: 'personel', element: <PersonelPage /> },
|
{ path: 'personel', element: <PersonelPage /> },
|
||||||
|
{ path: 'waterPro', element: <WaterPage /> },
|
||||||
{ path: 'department', element: <DepartmentPage /> },
|
{ path: 'department', element: <DepartmentPage /> },
|
||||||
{ path: 'dir', element: <DirPage /> },
|
{ path: 'dir', element: <DirPage /> },
|
||||||
{ path: 'servreg', element: <RegPage /> },
|
{ path: 'servreg', element: <RegPage /> },
|
||||||
|
|
|
||||||
|
|
@ -20,20 +20,21 @@ const DataTable: React.FC<{
|
||||||
{ title: '用户帐号', key: '用户帐号', dataIndex: '用户帐号', width: 120, align: 'center' },
|
{ title: '用户帐号', key: '用户帐号', dataIndex: '用户帐号', width: 120, align: 'center' },
|
||||||
{ title: '用户姓名', key: '用户姓名', dataIndex: '用户姓名', width: 120, align: 'center' },
|
{ title: '用户姓名', key: '用户姓名', dataIndex: '用户姓名', width: 120, align: 'center' },
|
||||||
{ title: '手机号码', key: '手机号码', dataIndex: '手机号码', width: 120, align: 'center' },
|
{ title: '手机号码', key: '手机号码', dataIndex: '手机号码', width: 120, align: 'center' },
|
||||||
{ title: '部门', key: '部门', dataIndex: '部门', width: 120, align: 'center' },
|
{ title: '行政区划', key: '行政区划', dataIndex: '行政区划', width: 120, align: 'center' },
|
||||||
{ title: '职务', key: '职务', dataIndex: '职务', width: 120, align: 'center' },
|
{ title: '用水户类型', key: '用水户类型', dataIndex: '用水户类型', width: 120, align: 'center' },
|
||||||
{ title: '状态', key: '状态', dataIndex: '状态', width: 120, align: 'center' },
|
{ title: '人口数量', key: '人口数量', dataIndex: '人口数量', width: 120, align: 'center' },
|
||||||
{
|
{ title: '水价方案', key: '水价方案', dataIndex: '水价方案', width: 120, align: 'center' },
|
||||||
title: '操作', key: 'op', align: 'center', width: 200, render: rec =>
|
// {
|
||||||
(<Space split={<Divider type="vertical" />}>
|
// title: '操作', key: 'op', align: 'center', width: 200, render: rec =>
|
||||||
<OpButton text='编辑'></OpButton>
|
// (<Space split={<Divider type="vertical" />}>
|
||||||
<OpButton text='详情'></OpButton>
|
// <OpButton text='编辑'></OpButton>
|
||||||
<OpButton text='密码'></OpButton>
|
// <OpButton text='详情'></OpButton>
|
||||||
<OpButton text='删除'></OpButton>
|
// <OpButton text='密码'></OpButton>
|
||||||
<OpButton text='冻结'></OpButton>
|
// <OpButton text='删除'></OpButton>
|
||||||
</Space>
|
// <OpButton text='冻结'></OpButton>
|
||||||
)
|
// </Space>
|
||||||
}
|
// )
|
||||||
|
// }
|
||||||
], []);
|
], []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
import { Divider, Space, Table } from 'antd';
|
||||||
|
import { ColumnsType } from 'antd/lib/table';
|
||||||
|
import moment from 'moment';
|
||||||
|
import React, { useMemo } from 'react';
|
||||||
|
import OpButton, { DelOpButton, EditOpButton } from '../../../components/crud/OpButton';
|
||||||
|
import { SysUserItem } from '../../../models/_/defs';
|
||||||
|
import { IContextProp } from './_';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const DataTable: React.FC<{
|
||||||
|
ctx: IContextProp
|
||||||
|
}> = ({ ctx }) => {
|
||||||
|
|
||||||
|
const { pager, crud } = ctx;
|
||||||
|
const columns = useMemo<ColumnsType<SysUserItem>>(() => [
|
||||||
|
{ title: '序号', key: 'id', align: 'center', width: 80, render: (_1: any, _2: any, index: number) => ctx.pager.noRender(index) },
|
||||||
|
{ title: '水厂名称', key: '水厂名称', dataIndex: '水厂名称', width: 120, align: 'center' },
|
||||||
|
{ title: '经营性质', key: '经营性质', dataIndex: '经营性质', width: 120, align: 'center' },
|
||||||
|
{ title: '行政区划', key: '行政区划', dataIndex: '行政区划', width: 120, align: 'center' },
|
||||||
|
{ title: '地理位置', key: '地理位置', dataIndex: '地理位置', width: 120, align: 'center' },
|
||||||
|
{ title: '许可证号', key: '许可证号', dataIndex: '许可证号', width: 120, align: 'center' },
|
||||||
|
{ title: '净水工艺', key: '净水工艺', dataIndex: '净水工艺', width: 120, align: 'center' },
|
||||||
|
{ title: '水质级别', key: '水质级别', dataIndex: '水质级别', width: 120, align: 'center' },
|
||||||
|
{ title: '生产能力', key: '生产能力', dataIndex: '生产能力', width: 120, align: 'center' },
|
||||||
|
{ title: '取用水源', key: '取用水源', dataIndex: '取用水源', width: 120, align: 'center' },
|
||||||
|
{ title: '供水对象', key: '供水对象', dataIndex: '供水对象', width: 120, align: 'center' },
|
||||||
|
{ title: '供水人口', key: '供水人口', dataIndex: '供水人口', width: 120, align: 'center' },
|
||||||
|
{ title: '负责人', key: '负责人', dataIndex: '负责人', width: 120, align: 'center' },
|
||||||
|
{ title: '联系方式', key: '联系方式', dataIndex: '联系方式', width: 120, align: 'center' },
|
||||||
|
// {
|
||||||
|
// title: '操作', key: 'op', align: 'center', width: 200, render: rec =>
|
||||||
|
// (<Space split={<Divider type="vertical" />}>
|
||||||
|
// <OpButton text='编辑'></OpButton>
|
||||||
|
// <OpButton text='详情'></OpButton>
|
||||||
|
// <OpButton text='密码'></OpButton>
|
||||||
|
// <OpButton text='删除'></OpButton>
|
||||||
|
// <OpButton text='冻结'></OpButton>
|
||||||
|
// </Space>
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
], []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Table
|
||||||
|
columns={columns}
|
||||||
|
rowKey={row => row.用户账号}
|
||||||
|
{...pager.tableProps}
|
||||||
|
dataSource={[]}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DataTable
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
import { SearchOutlined } from '@ant-design/icons'
|
||||||
|
import { Button, Col, Form, Input, Row, Space } from 'antd'
|
||||||
|
import React from 'react'
|
||||||
|
import { IContextProp } from './_'
|
||||||
|
|
||||||
|
const SearchBar: React.FC<{
|
||||||
|
ctx: IContextProp
|
||||||
|
}> = ({ ctx }) => {
|
||||||
|
const { pager } = ctx;
|
||||||
|
|
||||||
|
const doSearch = (data: any) => {
|
||||||
|
pager.search({
|
||||||
|
search: {
|
||||||
|
username: data.name,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form layout="horizontal" onFinish={doSearch}>
|
||||||
|
<Row gutter={32}>
|
||||||
|
<Col flex={0} style={{ width: 260 }}>
|
||||||
|
<Form.Item name="水厂名称" label="水厂名称">
|
||||||
|
<Input placeholder='请输入水厂名称' allowClear />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
{/* <Col flex={0} style={{ width: 260 }}>
|
||||||
|
<Form.Item name="姓名" label="姓名">
|
||||||
|
<Input placeholder='请输入姓名' allowClear />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
<Col flex={0} style={{ width: 260 }}>
|
||||||
|
<Form.Item name="手机号码" label="手机号码">
|
||||||
|
<Input placeholder='请输入手机号码' allowClear />
|
||||||
|
</Form.Item>
|
||||||
|
</Col> */}
|
||||||
|
|
||||||
|
<Col>
|
||||||
|
<Space>
|
||||||
|
<Button htmlType='submit' icon={<SearchOutlined />} type="primary">
|
||||||
|
查询
|
||||||
|
</Button>
|
||||||
|
{/* <Button onClick={() => ctx.crud.goto('add', {})}>
|
||||||
|
新增
|
||||||
|
</Button> */}
|
||||||
|
</Space>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SearchBar
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
import { message } from "antd";
|
||||||
|
import useCrud, { BasicCrudType, CrudContext } from "../../../components/crud/useCrud";
|
||||||
|
import usePageTable, { PageTableContext } from "../../../components/crud/usePageTable";
|
||||||
|
import { SysUserItem } from "../../../models/_/defs";
|
||||||
|
import { httpGet, httpPost, paginate, paginateDemo } from "../../../utils/request";
|
||||||
|
|
||||||
|
|
||||||
|
type CRUD_TYPER = BasicCrudType;
|
||||||
|
|
||||||
|
|
||||||
|
export type IContextProp = {
|
||||||
|
pager: PageTableContext<SysUserItem>;
|
||||||
|
crud: CrudContext<CRUD_TYPER>;
|
||||||
|
saveOrUpdate: (val: FormPropType) => Promise<void>;
|
||||||
|
del: (val: any) => Promise<void>;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export type FormPropType = {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function usePageContext(): IContextProp {
|
||||||
|
const crud = useCrud<CRUD_TYPER>();
|
||||||
|
const pager = usePageTable<SysUserItem>((opt: any) => paginateDemo('sysUser.json', opt));
|
||||||
|
|
||||||
|
|
||||||
|
const saveOrUpdate = async (val: FormPropType): Promise<void> => {
|
||||||
|
|
||||||
|
if (crud.loading || (crud.mode !== 'add' && crud.mode !== 'edit')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
crud.setLoading(true);
|
||||||
|
|
||||||
|
/*
|
||||||
|
const res: any = await httpPost(apiPaths.whitelist[crud.mode], val);
|
||||||
|
if (res) {
|
||||||
|
message.success('操作成功');
|
||||||
|
pager.refresh();
|
||||||
|
crud.goto(null, null);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
crud.setLoading(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
const del = async (val: any) => {
|
||||||
|
|
||||||
|
crud.setLoading(true);
|
||||||
|
/*
|
||||||
|
const res: any = await httpGet(`${apiPaths.whitelist.del}/${val?.userId}`);
|
||||||
|
if (res) {
|
||||||
|
message.success('操作成功');
|
||||||
|
pager.refresh();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
crud.setLoading(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
crud,
|
||||||
|
pager,
|
||||||
|
saveOrUpdate,
|
||||||
|
del
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
import { Modal } from 'antd'
|
||||||
|
import React from 'react'
|
||||||
|
import DataTable from './DataTable'
|
||||||
|
import SearchBar from './SearchBar'
|
||||||
|
import { usePageContext } from './_'
|
||||||
|
|
||||||
|
const SysUserPage: React.FC = () => {
|
||||||
|
|
||||||
|
const ctx = usePageContext();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className='content-body common-style'>
|
||||||
|
{/* <SearchBar ctx={ctx} /> */}
|
||||||
|
<DataTable ctx={ctx} />
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SysUserPage
|
||||||
|
|
@ -17,13 +17,13 @@ const DataTable: React.FC<{
|
||||||
const { pager, crud } = ctx;
|
const { pager, crud } = ctx;
|
||||||
const columns = useMemo<ColumnsType<ResItem>>(() => [
|
const columns = useMemo<ColumnsType<ResItem>>(() => [
|
||||||
{ title: '序号', key: 'id', align: 'center', width: 80, render: (_1: any, _2: any, index: number) => ctx.pager.noRender(index) },
|
{ title: '序号', key: 'id', align: 'center', width: 80, render: (_1: any, _2: any, index: number) => ctx.pager.noRender(index) },
|
||||||
{ title: '水库代码', key: '水库代码', dataIndex: '水库代码', width: 120, align: 'center' },
|
// { title: '水库代码', key: '水库代码', dataIndex: '水库代码', width: 120, align: 'center' },
|
||||||
{ title: '水库名称', key: '水库名称', dataIndex: '水库名称', width: 120, align: 'center' },
|
// { title: '水库名称', key: '水库名称', dataIndex: '水库名称', width: 120, align: 'center' },
|
||||||
{ title: '测站编码', key: '测站编码', dataIndex: '测站编码', width: 120, align: 'center' },
|
// { title: '测站编码', key: '测站编码', dataIndex: '测站编码', width: 120, align: 'center' },
|
||||||
{ title: '行政区划', key: '行政区划', dataIndex: '行政区划', width: 120, align: 'center' },
|
{ title: '行政区划', key: '行政区划', dataIndex: '行政区划', width: 120, align: 'center' },
|
||||||
{ title: '经度', key: '经度', dataIndex: '经度', width: 120, align: 'center' },
|
{ title: '经度', key: '经度', dataIndex: '经度', width: 120, align: 'center' },
|
||||||
{ title: '纬度', key: '纬度', dataIndex: '纬度', width: 120, align: 'center' },
|
{ title: '纬度', key: '纬度', dataIndex: '纬度', width: 120, align: 'center' },
|
||||||
{ title: '水库规模', key: '水库规模', dataIndex: '水库规模', width: 120, align: 'center' },
|
// { title: '水库规模', key: '水库规模', dataIndex: '水库规模', width: 120, align: 'center' },
|
||||||
{ title: '集雨面积(km²)', key: '集雨面积(km²)', dataIndex: '集雨面积(km²)', width: 120, align: 'center' },
|
{ title: '集雨面积(km²)', key: '集雨面积(km²)', dataIndex: '集雨面积(km²)', width: 120, align: 'center' },
|
||||||
{ title: '总库容(万m³)', key: '总库容(万m³)', dataIndex: '总库容(万m³)', width: 120, align: 'center' },
|
{ title: '总库容(万m³)', key: '总库容(万m³)', dataIndex: '总库容(万m³)', width: 120, align: 'center' },
|
||||||
{ title: '创建日期', key: '创建日期', dataIndex: '创建日期', width: 120, align: 'center' },
|
{ title: '创建日期', key: '创建日期', dataIndex: '创建日期', width: 120, align: 'center' },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue