diff --git a/src/layouts/DashboardLayout/SiderMenu.tsx b/src/layouts/DashboardLayout/SiderMenu.tsx index 0496124..6f20d5e 100644 --- a/src/layouts/DashboardLayout/SiderMenu.tsx +++ b/src/layouts/DashboardLayout/SiderMenu.tsx @@ -38,22 +38,34 @@ const SiderMenu: React.FC = () => { }>质量计划 }>质量验收 - } title="现场管理"> - }>施工日志 - }>工程形象进度 + + } title="施工质量管理"> + }>工程项目划分 + {/*}>施工单位关联项目工序 + }>监理单位关联项目工序*/} + }>质量管理 - } title="竣工管理"> - }>竣工档案 - }>竣工管理 + + } title="现场管理"> + }>施工日志 + }>工程形象进度 - } title="资料管理"> - }>文档目录 - }>行政公文 - }>项目资料 + } title="竣工管理"> + }>竣工档案 + }>竣工管理 - } title="系统设置"> - }>用户管理 - }>角色管理 + } title="资料管理"> + }>文档目录 + }>行政公文 + }>项目资料 + + } title="系统设置"> + }>用户管理 + }>角色管理 + }>数据字典 + }>质量标准 + }>系统日志 + }>消息通知 ) diff --git a/src/service/def.ts b/src/service/def.ts index 8c17ef7..6ae6bc5 100644 --- a/src/service/def.ts +++ b/src/service/def.ts @@ -38,6 +38,28 @@ export type Role = { desc?: string; } +export type DataDictionary = { + zdlx: string; + zdz: string; + zdmc: string; +} + +export type QualityStandard = { + bzlx: string; + xm: string; + jynr: string; + zlbz: string; +} + +export type SystemLog = { + bm: string; + xglx: string; + xgr: string; + xsj: string; + jsj: string; + xgsj: string; +} + export type ProjectLog = { code: string; name: string; @@ -363,3 +385,47 @@ export type DocTypeDef = { remark?: string; } +export type Wbs = { + code: string; + name: string; + proName: string; + importantLevel?: string; + createTime?: string; + creater?: string; + children?: Wbs[]; + addType: '单位工程' | '分部工程' | '单元工程' | '工序工程'; +} + +export type Glgcl = { + gclqd: string; + gcl: string; + unit: string; +} + +export type QualityManageTab1 = { + dwgcName: string; + fbgcName: string; + dygcName: string; + gxName: string; + sgdw: string; + sgrq: string; + sgzpdj: string; + jlfhdj: string; + txsj: string; +} + +export type QualityManageTab2 = { + dwgcName: string; + fbgcName: string; + sgdw: string; + gclx: string; + pdrq: string; +} + +export type QualityManageTab3 = { + qxszdwgc: string; + qxbw: string; + qxlb: string; + sgdw: string; + txrq: string; +} \ No newline at end of file diff --git a/src/views/AppRouters.tsx b/src/views/AppRouters.tsx index 7c69441..19b932f 100644 --- a/src/views/AppRouters.tsx +++ b/src/views/AppRouters.tsx @@ -3,6 +3,10 @@ import { Navigate, useRoutes } from 'react-router'; import DashboardLayout from '../layouts/DashboardLayout'; import Login from './auth/Login'; import Role from './auth/Role'; +import DataDictionary from './systemSetting/DataDictionary'; +import QualityStandard from './systemSetting/QualityStandard'; +import SystemLog from './systemSetting/SystemLog'; +import Notify from './systemSetting/Notify'; import UserPage from './auth/User'; import BidLogPage from './bid/BidLog'; import ContractorLogPage from './bid/ContractorLog'; @@ -21,6 +25,9 @@ import ConstructionLog from './site/ConstructionLog'; import PicResources from './site/PicResources'; import SupplierLogPage from './supplier/SupplierLog'; +import WbsPage from './constructionQuality/wbs'; +import QualityManagePage from './constructionQuality/qualityManage'; + const AppRouters: React.FC = () => { let element = useRoutes([ { path: '/login', element: }, @@ -36,6 +43,13 @@ const AppRouters: React.FC = () => { { path: '*', element: }, ] }, + { + path: '/constructionQuality', element: , children: [ + { path: 'wbs', element: }, + { path: 'QualityManage', element: }, + { path: '*', element: }, + ] + }, { path: '/site', element: , children: [ { path: 'log', element: }, @@ -83,6 +97,10 @@ const AppRouters: React.FC = () => { path: '/sys', element: , children: [ { path: 'user', element: }, { path: 'role', element: }, + { path: 'dataDictionary', element: }, + { path: 'QualityStandard', element: }, + { path: 'SystemLog', element: }, + { path: 'Notify', element: }, { path: '*', element: }, ] }, diff --git a/src/views/constructionQuality/constructionControlUnit/constructionControlUnit.tsx b/src/views/constructionQuality/constructionControlUnit/constructionControlUnit.tsx new file mode 100644 index 0000000..f448856 --- /dev/null +++ b/src/views/constructionQuality/constructionControlUnit/constructionControlUnit.tsx @@ -0,0 +1,96 @@ +import {Tree, Card, Space, Input, DatePicker, Button, Select} from 'antd' +import React, { useState } from 'react' + +const { Option } = Select; + +const treeData = [ + { + title: '新疆XX水库土建工程项目', key: '新疆XX水库土建工程项目', children: [ + { title: '单位工程一', key: '新疆XX水库土建工程项目-单位工程一', children:[ + { title: '分布工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1', children:[ + { title: '单元工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程1'}, + { title: '单元工程2', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程2'}, + ] + }, + ] + }, + ], + }, + { + title: '新疆XX水库土建工程项目2', key: '新疆XX水库土建工程项目2', children: [ + { title: '单位工程一', key: '新疆XX水库土建工程项目2-单位工程一', children:[ + { title: '分布工程1', key: '新疆XX水库土建工程项目2-单位工程一-分布工程1', children:[ + { title: '单元工程1', key: '新疆XX水库土建工程项目2-单位工程一-分布工程1-单元工程1'}, + { title: '单元工程2', key: '新疆XX水库土建工程项目2-单位工程一-分布工程1-单元工程2'}, + ] + }, + ] + }, + ], + }, +]; + +const MenuSelect: React.FC<{ + value?: string[]; + onChange?: (value: string[]) => void; +}> = ({ value, onChange }) => { + const [expandedKeys, setExpandedKeys] = useState(['新疆XX水库土建工程项目','新疆XX水库土建工程项目-单位工程一','新疆XX水库土建工程项目-单位工程一-分布工程1']); + const [checkedKeys, setCheckedKeys] = useState([]); + const [selectedKeys, setSelectedKeys] = useState([]); + const [autoExpandParent, setAutoExpandParent] = useState(true); + + const onExpand = (expandedKeysValue: React.Key[]) => { + console.log('onExpand', expandedKeysValue); + // if not set autoExpandParent to false, if children expanded, parent can not collapse. + // or, you can remove all expanded children keys. + setExpandedKeys(expandedKeysValue); + setAutoExpandParent(false); + }; + + const onCheck = (checked: React.Key[] | { checked: React.Key[]; halfChecked: React.Key[]; }, info: any) => { + console.log('onCheck', checked); + setCheckedKeys(checked); + }; + + const onSelect = (selectedKeysValue: React.Key[], info: any) => { + console.log('onSelect', info); + setSelectedKeys(selectedKeysValue); + }; + + return ( +
+
+ + + 监理单位: + + + +
+ + + +
+
+ +
+
+
+ ) +} + +export default MenuSelect diff --git a/src/views/constructionQuality/constructionControlUnit/index.tsx b/src/views/constructionQuality/constructionControlUnit/index.tsx new file mode 100644 index 0000000..167bda7 --- /dev/null +++ b/src/views/constructionQuality/constructionControlUnit/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import ConstructionControlUnit from './constructionControlUnit'; + +const constructionControlUnitPage = () => { + return ( +
+ +
+ ) +} + +export default constructionControlUnitPage diff --git a/src/views/constructionQuality/qualityManage/QualityManagetList.tsx b/src/views/constructionQuality/qualityManage/QualityManagetList.tsx new file mode 100644 index 0000000..358ecae --- /dev/null +++ b/src/views/constructionQuality/qualityManage/QualityManagetList.tsx @@ -0,0 +1,84 @@ +import ProCard from '@ant-design/pro-card'; +import { BarsOutlined } from '@ant-design/icons'; +import React from 'react'; +import { DirectoryDef } from '../../../service/def'; +import Tab1 from './tab1'; +import Tab2 from './tab2'; +import Tab3 from './tab3'; + +async function demodata(): Promise { + return [ + { + name: '资料目录定义', code: '', children: [ + { name: '前期项目阶段', code: '01', children: [] }, + { name: '项目实施阶段', code: '02', children: [] }, + { name: '项目竣工阶段', code: '03', children: [] }, + { name: '项目收尾与总结', code: '04', children: [] }, + ] + } + ]; +} + +const QualityManagetListPage = () => { + return ( +
+ + + + 单元(工序)工程质量 + + } + > + + + + + 外观质量评定 + + } + > + + + + + 施工质量缺陷备案 + + } + > + + + + + 重要隐蔽(关键部位)单元工程质量等级签证 + + } + > + + + + + 施工质量评定 + + } + > + + + +
+ ) +} + +export default QualityManagetListPage diff --git a/src/views/constructionQuality/qualityManage/index.tsx b/src/views/constructionQuality/qualityManage/index.tsx new file mode 100644 index 0000000..99ec21e --- /dev/null +++ b/src/views/constructionQuality/qualityManage/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import QualityManagetList from './QualityManagetList'; + +const QualityManagetPage = () => { + return ( +
+ +
+ ) +} + +export default QualityManagetPage diff --git a/src/views/constructionQuality/qualityManage/tab1/DataForm.tsx b/src/views/constructionQuality/qualityManage/tab1/DataForm.tsx new file mode 100644 index 0000000..a3e4784 --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab1/DataForm.tsx @@ -0,0 +1,49 @@ +import ProForm, { ProFormSelect, ProFormText, ProFormTextArea } from '@ant-design/pro-form' +import { Typography } from 'antd' +import React, { useMemo } from 'react' +import CenterForm from '../../../../components/crud/CenterForm' +import { DEF_INPUT_LEN } from '../../../../components/crud/FormLayoutProps' +import { CrudContext } from '../../../../components/crud/useCrud' +import { DesignAssets } from '../../../../service/def' + +type IProps = { + crudContext: CrudContext; +} + +const DataForm: React.FC = ({ crudContext }) => { + + const record: DesignAssets | null = crudContext.record ?? null; + + const initDemoVals = useMemo(() => ({ + projs: ['test项目'], + packs: [record?.packname || 'test设计包'], + }), []) + + return ( + + + 基本信息 + + + + + + + + + + + + + + + + + + + + + ) +} + +export default DataForm; diff --git a/src/views/constructionQuality/qualityManage/tab1/DataTable.tsx b/src/views/constructionQuality/qualityManage/tab1/DataTable.tsx new file mode 100644 index 0000000..776a6af --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab1/DataTable.tsx @@ -0,0 +1,77 @@ +import { DeleteOutlined, EditOutlined, PlusOutlined,InfoCircleOutlined,SearchOutlined } from '@ant-design/icons'; +import {Button, Card, DatePicker, Input, Modal, Space, Table} from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, {useMemo, useState} from 'react'; +import OpButton from '../../../../components/crud/OpButton'; +import useCrud, {CrudContext} from '../../../../components/crud/useCrud'; +import {BidLog, DesignAssets, QualityManageTab1} from '../../../../service/def'; +import useRequest from '../../../../utils/useRequest'; +import {PageTableContext} from "../../../../components/crud/usePageTable"; +import DataForm from './DataForm'; + +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext; +}; + +async function demodata(): Promise { + return []; +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + const crud = useCrud(); + + let record = crudCtx.record || {}; + console.log(record); + + const { data, loading } = useRequest(demodata); + + const columns = useMemo>(() => [ + { title: '单位工程名称', key: 'dwgcName', dataIndex: 'dwgcName' }, + { title: '分部工程名称', key: 'fbgcName', dataIndex: 'fbgcName' }, + { title: '单元工程名称', key: 'dygcName', dataIndex: 'dygcName' }, + { title: '工序名称', key: 'gxName', dataIndex: 'gxName' }, + { title: '施工单位', key: 'sgdw', dataIndex: 'sgdw' }, + { title: '施工日期', key: 'sgrq', dataIndex: 'sgrq' }, + { title: '施工自评等级', key: 'sgzpdj', dataIndex: 'sgzpdj' }, + { title: '监理复核等级', key: 'jlfhdj', dataIndex: 'jlfhdj' }, + { title: '填写时间', key: 'txsj', dataIndex: 'txsj' }, + { + title: '操作', key: 'op', render: rec => ( + + } danger /> + + ) + } + ], []); + + return ( + <> + + { + crud.mode ? ( + crud.goto(null, null)} + width={1000} + > + + + ) : null + } + + ) +} + +export default DataTable diff --git a/src/views/constructionQuality/qualityManage/tab1/index.tsx b/src/views/constructionQuality/qualityManage/tab1/index.tsx new file mode 100644 index 0000000..b19028b --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab1/index.tsx @@ -0,0 +1,138 @@ +import { PlusOutlined,SearchOutlined } from '@ant-design/icons'; +import {Button, Card, Col, DatePicker, Input, Row, Select, Space, Tree} from 'antd'; +import React, { useState } from 'react'; +import CancelCrud from '../../../../components/crud/CancelCrud'; +import useCrud from '../../../../components/crud/useCrud'; +import usePageTable from '../../../../components/crud/usePageTable'; +import { DesignAssets, PageResult, SearchOption,QualityManageTab1 } from '../../../../service/def'; +import { demoDate } from '../../../../utils/utils'; +import DataForm from './DataForm'; +import DataTable from './DataTable'; + +const { Option } = Select; + +async function demofind(params?: SearchOption): Promise> { + if (!params || !params.search?.packname) { + return { list: [], totalRow: 0 }; + } + console.log(params.search); + + return { + list: [ + { + dwgcName: '单位工程一', + fbgcName: '分部工程1', + dygcName: '单元工程1', + gxName: '/', + sgdw: '建筑公司', + sgrq: '1月1号-1月20号', + sgzpdj: '合格', + jlfhdj: '不合格', + txsj: '2月1号', + }, + { + dwgcName: '单位工程一', + fbgcName: '分部工程1', + dygcName: '单元工程1', + gxName: '/', + sgdw: '建筑公司', + sgrq: '1月1号-1月20号', + sgzpdj: '合格', + jlfhdj: '不合格', + txsj: '2月1号', + }, + ], + totalRow: 1 + }; +} + +const treeData = [ + { + title: '新疆XX水库土建工程项目', + key: '新疆XX水库土建工程项目', + selectable: false, + children: [ + { + title: '单位工程一', key: '新疆XX水库土建工程项目-单位工程一', + children: [ + { title: '分部工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1', children:[ + { title: '单元工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程1'}, + { title: '单元工程2', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程2'}, + ] + }, + ], + }, + ], + }, + { + title: '项目2', + key: '项目2', + selectable: false, + children: [ + ], + }, +]; + + +const DesignAssetsPage: React.FC = () => { + + const [packname, setPackname] = useState(); + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + const record = crud.record; + + return ( +
+ + + + 施工单位: + + + 施工时间: + + + + + + +
+ + +
+ + + + { + const packname = selkeys?.[0] as string; + setPackname(packname); + + pager.search({ search: { packname } }) + }} + /> + + + + + + + + + + + + ) +} + +export default DesignAssetsPage diff --git a/src/views/constructionQuality/qualityManage/tab2/DataForm.tsx b/src/views/constructionQuality/qualityManage/tab2/DataForm.tsx new file mode 100644 index 0000000..830f38f --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab2/DataForm.tsx @@ -0,0 +1,47 @@ +import ProForm, { ProFormDatePicker, ProFormDigit, ProFormRadio, ProFormSelect, ProFormText } from '@ant-design/pro-form' +import { Typography } from 'antd' +import React from 'react' +import CenterForm from '../../../../components/crud/CenterForm' +import { DEF_INPUT_LEN } from '../../../../components/crud/FormLayoutProps' +import { CrudContext } from '../../../../components/crud/useCrud' + +const DataForm: React.FC<{ + crudCtx: CrudContext +}> = ({ crudCtx }) => { + const record = crudCtx.record || {}; + return ( + + + 基本信息 + + + + + + + + + + + + + + + + + + + + + 其他信息 + + + + + + + + ) +} + +export default DataForm; diff --git a/src/views/constructionQuality/qualityManage/tab2/DataTable.tsx b/src/views/constructionQuality/qualityManage/tab2/DataTable.tsx new file mode 100644 index 0000000..1c795ab --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab2/DataTable.tsx @@ -0,0 +1,41 @@ +import { DeleteOutlined, EditOutlined } from '@ant-design/icons'; +import { Button, Space, Table } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../../components/crud/useCrud'; +import { PageTableContext } from '../../../../components/crud/usePageTable'; +import { QualityManageTab2 } from '../../../../service/def'; +import { renYYYYMMDD } from '../../../../utils/renutil'; + +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const columns = useMemo>(() => [ + + { title: '单位工程名称', key: 'dwgcName', dataIndex: 'dwgcName' }, + { title: '分部工程', key: 'fbgcName', dataIndex: 'fbgcName' }, + { title: '施工单位', key: 'sgdw', dataIndex: 'sgdw' }, + { title: '工程类型', key: 'gclx', dataIndex: 'gclx' }, + { title: '评定日期', key: 'pdrq', dataIndex: 'pdrq' }, + { + title: '操作', key: '_', render: rec => ( + +
+ + ) +} + +export default DataTable diff --git a/src/views/constructionQuality/qualityManage/tab2/index.tsx b/src/views/constructionQuality/qualityManage/tab2/index.tsx new file mode 100644 index 0000000..5b3bab8 --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab2/index.tsx @@ -0,0 +1,93 @@ +import { PlusOutlined, ProfileOutlined, SearchOutlined } from '@ant-design/icons'; +import {Button, Card, Col, DatePicker, Input, Menu, Row, Select, Space, Tree} from 'antd'; +import React, { useState } from 'react'; +import CancelCrud from '../../../../components/crud/CancelCrud'; +import useCrud from '../../../../components/crud/useCrud'; +import usePageTable from '../../../../components/crud/usePageTable'; +import {QualityManageTab2, PageResult, SearchOption, Role} from '../../../../service/def'; +import { demoDate } from '../../../../utils/utils'; +import DataForm from './DataForm'; +import DataTable from './DataTable'; + +const { Option } = Select; + +async function demofind(): Promise> { + return { + list: [ + { + dwgcName: "单位工程一", + fbgcName: '/', + sgdw: '建筑公司', + gclx: '枢纽工程', + pdrq:'2月1号', + }, + { + dwgcName: "单位工程一", + fbgcName: '/', + sgdw: '建筑公司', + gclx: '堤防工程', + pdrq:'2月10号', + }, + { + dwgcName: "单位工程一", + fbgcName: '/', + sgdw: '建筑公司', + gclx: '引水(渠道)工程', + pdrq:'2月10号', + }, + { + dwgcName: "单位工程一", + fbgcName: '分部工程1', + sgdw: '建筑公司', + gclx: '其他工程', + pdrq:'2月10号', + } + ], + totalRow: 4 + }; +} + +const DesignPackagePage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + crud.mode === 'new' ? ( + } > + + + ) : null + } + { + !crud.mode ? ( + <> + + + + 单位工程: + + + 施工时间: + + + + + + +
+ + + ) : null + } + +
+ ) +} + +export default DesignPackagePage diff --git a/src/views/constructionQuality/qualityManage/tab3/DataForm.tsx b/src/views/constructionQuality/qualityManage/tab3/DataForm.tsx new file mode 100644 index 0000000..830f38f --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab3/DataForm.tsx @@ -0,0 +1,47 @@ +import ProForm, { ProFormDatePicker, ProFormDigit, ProFormRadio, ProFormSelect, ProFormText } from '@ant-design/pro-form' +import { Typography } from 'antd' +import React from 'react' +import CenterForm from '../../../../components/crud/CenterForm' +import { DEF_INPUT_LEN } from '../../../../components/crud/FormLayoutProps' +import { CrudContext } from '../../../../components/crud/useCrud' + +const DataForm: React.FC<{ + crudCtx: CrudContext +}> = ({ crudCtx }) => { + const record = crudCtx.record || {}; + return ( + + + 基本信息 + + + + + + + + + + + + + + + + + + + + + 其他信息 + + + + + + + + ) +} + +export default DataForm; diff --git a/src/views/constructionQuality/qualityManage/tab3/DataTable.tsx b/src/views/constructionQuality/qualityManage/tab3/DataTable.tsx new file mode 100644 index 0000000..08c00ce --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab3/DataTable.tsx @@ -0,0 +1,41 @@ +import { DeleteOutlined, EditOutlined } from '@ant-design/icons'; +import { Button, Space, Table } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../../components/crud/useCrud'; +import { PageTableContext } from '../../../../components/crud/usePageTable'; +import { QualityManageTab3 } from '../../../../service/def'; +import { renYYYYMMDD } from '../../../../utils/renutil'; + +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const columns = useMemo>(() => [ + + { title: '缺陷所在单位工程', key: 'qxszdwgc', dataIndex: 'qxszdwgc' }, + { title: '缺陷部位', key: 'qxbw', dataIndex: 'qxbw' }, + { title: '缺陷类别', key: 'qxlb', dataIndex: 'qxlb' }, + { title: '施工单位', key: 'sgdw', dataIndex: 'sgdw' }, + { title: '填写日期', key: 'txrq', dataIndex: 'txrq' }, + { + title: '操作', key: '_', render: rec => ( + +
+ + ) +} + +export default DataTable diff --git a/src/views/constructionQuality/qualityManage/tab3/index.tsx b/src/views/constructionQuality/qualityManage/tab3/index.tsx new file mode 100644 index 0000000..dc2892d --- /dev/null +++ b/src/views/constructionQuality/qualityManage/tab3/index.tsx @@ -0,0 +1,93 @@ +import { PlusOutlined, ProfileOutlined, SearchOutlined } from '@ant-design/icons'; +import {Button, Card, Col, DatePicker, Input, Menu, Row, Select, Space, Tree} from 'antd'; +import React, { useState } from 'react'; +import CancelCrud from '../../../../components/crud/CancelCrud'; +import useCrud from '../../../../components/crud/useCrud'; +import usePageTable from '../../../../components/crud/usePageTable'; +import {QualityManageTab2, PageResult, SearchOption, Role, QualityManageTab3} from '../../../../service/def'; +import { demoDate } from '../../../../utils/utils'; +import DataForm from './DataForm'; +import DataTable from './DataTable'; + +const { Option } = Select; + +async function demofind(): Promise> { + return { + list: [ + { + qxszdwgc: "单位工程一", + qxbw: '分部工程1', + qxlb: '', + sgdw: '建筑公司', + txrq:'2月1号', + }, + { + qxszdwgc: "单位工程一", + qxbw: '分部工程1', + qxlb: '', + sgdw: '建筑公司', + txrq:'2月10号', + }, + { + qxszdwgc: "单位工程一", + qxbw: '分部工程1', + qxlb: '', + sgdw: '建筑公司', + txrq:'2月10号', + }, + { + qxszdwgc: "单位工程一", + qxbw: '分部工程1', + qxlb: '', + sgdw: '建筑公司', + txrq:'2月10号', + }, + ], + totalRow: 4 + }; +} + +const DesignPackagePage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + crud.mode === 'new' ? ( + } > + + + ) : null + } + { + !crud.mode ? ( + <> + + + + 单位工程: + + + 填写时间: + + + + + + +
+ + + ) : null + } + +
+ ) +} + +export default DesignPackagePage diff --git a/src/views/constructionQuality/wbs/ConstructionUnitList.tsx b/src/views/constructionQuality/wbs/ConstructionUnitList.tsx new file mode 100644 index 0000000..a26f389 --- /dev/null +++ b/src/views/constructionQuality/wbs/ConstructionUnitList.tsx @@ -0,0 +1,88 @@ +import {Tree, Card, Space, Input, DatePicker, Button, Select} from 'antd' +import React, { useState } from 'react' +import {CrudContext} from "../../../components/crud/useCrud"; + +type IProps = { + crudCtx: CrudContext; + value?: string[]; + onChange?: (value: string[]) => void; +}; + +const { Option } = Select; + +const treeData = [ + { + title: '新疆XX水库土建工程项目', key: '新疆XX水库土建工程项目', children: [ + { title: '单位工程一', key: '新疆XX水库土建工程项目-单位工程一', children:[ + { title: '分布工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1', children:[ + { title: '单元工程1', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程1'}, + { title: '单元工程2', key: '新疆XX水库土建工程项目-单位工程一-分布工程1-单元工程2'}, + ] + }, + ] + }, + ], + }, +]; + +const ConstructionUnit: React.FC = ({ crudCtx, value, onChange }) => { + const [expandedKeys, setExpandedKeys] = useState(['新疆XX水库土建工程项目','新疆XX水库土建工程项目-单位工程一','新疆XX水库土建工程项目-单位工程一-分布工程1']); + const [checkedKeys, setCheckedKeys] = useState([]); + const [selectedKeys, setSelectedKeys] = useState([]); + const [autoExpandParent, setAutoExpandParent] = useState(true); + + const onExpand = (expandedKeysValue: React.Key[]) => { + console.log('onExpand', expandedKeysValue); + // if not set autoExpandParent to false, if children expanded, parent can not collapse. + // or, you can remove all expanded children keys. + setExpandedKeys(expandedKeysValue); + setAutoExpandParent(false); + }; + + const onCheck = (checked: React.Key[] | { checked: React.Key[]; halfChecked: React.Key[]; }, info: any) => { + console.log('onCheck', checked); + setCheckedKeys(checked); + }; + + const onSelect = (selectedKeysValue: React.Key[], info: any) => { + console.log('onSelect', info); + setSelectedKeys(selectedKeysValue); + }; + + return ( +
+
+ + + {crudCtx.mode==="glSgdw"?"施工单位:":"监理单位"} + + + +
+ + + +
+
+ +
+
+
+ ) +} + +export default ConstructionUnit diff --git a/src/views/constructionQuality/wbs/DataForm.tsx b/src/views/constructionQuality/wbs/DataForm.tsx new file mode 100644 index 0000000..f8b5419 --- /dev/null +++ b/src/views/constructionQuality/wbs/DataForm.tsx @@ -0,0 +1,115 @@ +import ProForm, {ProFormSelect, ProFormText, ProFormTextArea} from '@ant-design/pro-form' +import React, {useState} from 'react' +import { DEF_INPUT_LEN } from '../../../components/crud/FormLayoutProps' +import { CrudContext } from '../../../components/crud/useCrud' +import { Radio, DatePicker, InputNumber } from 'antd'; +import moment from 'moment' +import GlgclTable from './GlgclTable'; + +type IProps = { + crudCtx: CrudContext; +}; + +const { RangePicker } = DatePicker; + +const DataForm: React.FC = ({ crudCtx }) => { + + let record = crudCtx.record || {}; + + let initVal = { + _proName: record.proName, + _lastLevel: record.addType!=="单位工程"?record.name:"", + _level: record.addType, + }; + const [viewMode, setViewmode] = React.useState(1); + const VIEWWMODEOPTIONS1 = [ + { label: '主要单位工程', value: 1 }, + { label: '一般单位工程', value: 2 }, + ]; + const VIEWWMODEOPTIONS2 = [ + { label: '主要分部工程', value: 1 }, + { label: '一般分部工程', value: 2 }, + ]; + const VIEWWMODEOPTIONS3 = [ + { label: '重要隐蔽单元工程', value: 1 }, + { label: '关键部位单元工程', value: 2 }, + { label: '一般单元工程', value: 3 }, + ]; + + const dateFormat = 'YYYY/MM/DD'; + + return ( +
+ + { + initVal._proName ? () : null + } + { + initVal._lastLevel ? () : null + } + + { + initVal._level ? () : null + } + + + + { + initVal._level !== "工序工程"?( + + { + initVal._level === "单位工程" ? + ( setViewmode(e.target.value)} value={viewMode} />) : + initVal._level === "分部工程" ? + ( setViewmode(e.target.value)} value={viewMode} />) : + initVal._level === "单元工程" ? + ( setViewmode(e.target.value)} value={viewMode} />) : + null + } + + ):null + } + + + + + + + + + + + + console.log(e)} /> + + + { + initVal._level !== "单位工程"&&initVal._level !== "分部工程"?( + + + + + ):null + } + { + initVal._level !== "单位工程"&&initVal._level !== "分部工程"?( + + + + ):null + } +
+ { + initVal._level !== "单位工程"&&initVal._level !== "分部工程"?( + + ):null + } +
+ + +
+ ) +} + +export default DataForm; diff --git a/src/views/constructionQuality/wbs/GlgclTable.tsx b/src/views/constructionQuality/wbs/GlgclTable.tsx new file mode 100644 index 0000000..0264b6b --- /dev/null +++ b/src/views/constructionQuality/wbs/GlgclTable.tsx @@ -0,0 +1,66 @@ +import { DeleteOutlined, EditOutlined, PlusOutlined,InfoCircleOutlined,SearchOutlined } from '@ant-design/icons'; +import {Button, Card, DatePicker, Input, Modal, Space, Table} from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, {useMemo, useState} from 'react'; +import OpButton from '../../../components/crud/OpButton'; +import useCrud, {CrudContext} from '../../../components/crud/useCrud'; +import {BidLog, Glgcl} from '../../../service/def'; +import useRequest from '../../../utils/useRequest'; +import {PageTableContext} from "../../../components/crud/usePageTable"; +import DataForm from './DataForm'; + +async function demodata(): Promise { + return []; +} + +const WbsList = () => { + const crud = useCrud(); + + const { data, loading } = useRequest(demodata); + + const columns = useMemo>(() => ([ + { title: '工程量清单', key: 'gclqd', width: 140, }, + { title: '工程量', key: 'gcl', dataIndex: 'importantLevel', width: 100 }, + { title: '单位', key: 'unit', dataIndex: 'createTime', align: 'center', width: 100 }, + { + title: '操作', key: 'op', align: 'center', width: 100, + }, + ]), []); + + return ( + <> + + 关联工程量 + + + + +
+
+ { + crud.mode ? ( + crud.goto(null, null)} + width={1000} + > + + + ) : null + } + + ) +} + +export default WbsList diff --git a/src/views/constructionQuality/wbs/WbsList.tsx b/src/views/constructionQuality/wbs/WbsList.tsx new file mode 100644 index 0000000..ae9c12a --- /dev/null +++ b/src/views/constructionQuality/wbs/WbsList.tsx @@ -0,0 +1,161 @@ +import { DeleteOutlined, EditOutlined, PlusOutlined,InfoCircleOutlined,SearchOutlined,SettingOutlined } from '@ant-design/icons'; +import {Button, Card, DatePicker, Input, Modal, Popconfirm, Space, Table} from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, {useMemo, useState} from 'react'; +import OpButton from '../../../components/crud/OpButton'; +import useCrud, {CrudContext} from '../../../components/crud/useCrud'; +import {BidLog, Wbs} from '../../../service/def'; +import useRequest from '../../../utils/useRequest'; +import {PageTableContext} from "../../../components/crud/usePageTable"; +import DataForm from './DataForm'; +import ConstructionUnit from './ConstructionUnitList'; + +async function demodata(): Promise { + return [ + { + name: '新疆XX水库土建工程项目', proName: "新疆XX水库土建工程项目", code: '1', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"单位工程",children: [ + { name: '单位工程一', proName: "新疆XX水库土建工程项目", code: '01', importantLevel: '主要单位工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"分部工程",children: [ + { name: '分布工程1', proName: "新疆XX水库土建工程项目", code: '001', importantLevel: '主要分布工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"单元工程",children: [ + { name: '单元工程1', proName: "新疆XX水库土建工程项目", code: '002', importantLevel: '重要隐蔽单元工程,关键部位单元工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"工序工程",} + ] + }, + ] + }, + { name: '单位工程二', proName: "新疆XX水库土建工程项目", code: '02', importantLevel: '主要单位工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"分部工程",children: [ + { name: '分布工程1', proName: "新疆XX水库土建工程项目", code: '021', importantLevel: '主要分布工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"单元工程"}, + { name: '分布工程2', proName: "新疆XX水库土建工程项目", code: '022', importantLevel: '主要分布工程', createTime: '2021-01-01 10:00:00', creater: '张三', addType:"单元工程"}, + ] + }, + ] + }, + { + name: '新疆XX水库土建工程项目2', proName: "新疆XX水库土建工程项目2", code: '2', createTime: '2021-02-01 09:30:00', creater: '李四', addType:"单位工程",children: [ + + ] + } + ]; +} + +const WbsList = () => { + const crud = useCrud(); + + const [selectedProj, setSelectedProj] = useState(); + + const { data, loading } = useRequest(demodata); + + const columns = useMemo>(() => ([ + { + title: '名称', key: 'name', width: 240, render: rec => ( + + {`${rec.name}`} + {/*} onClick={() => crud.goto('new', rec)} />*/} + + ) + }, + { title: '重要级别', key: 'importantLevel', dataIndex: 'importantLevel', width: 400 }, + { title: '创建时间', key: 'createTime', dataIndex: 'createTime', align: 'center', width: 200 }, + { title: '创建人', key: 'creater', dataIndex: 'creater', align: 'center', width: 100 }, + { + title: '操作', key: 'op', align: 'center', width: 400, render: rec => ( + + + { + rec.addType === '单位工程' ? ( + + ) : null + } + { + rec.addType === '分部工程' ? ( + + ) : null + } + { + rec.addType === '单元工程' ? ( + + ) : null + } + { + rec.addType === '工序工程' ? ( + + ) : null + } + + + ) + }, + ]), []); + + return ( + <> + + + 名称: + 创建人: + 创建时间: + + + { + selectedProj?( + + ): + + + } + { + selectedProj?( + + ): + + + } + + + +
+ + { + data && data.length?
{ + setSelectedProj(r); + } + }} + />: '暂无数据' + } + + { + crud.mode ? ( + crud.goto(null, null)} + width={crud.mode === 'glSgdw' || crud.mode === 'glJldw' ?610:1000} + > + { + crud.mode === 'glSgdw' || crud.mode === 'glJldw' ?():() + } + + ) : null + } + + ) +} + +export default WbsList diff --git a/src/views/constructionQuality/wbs/index.tsx b/src/views/constructionQuality/wbs/index.tsx new file mode 100644 index 0000000..441a763 --- /dev/null +++ b/src/views/constructionQuality/wbs/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import WbsList from './WbsList'; + +const WbsListPage = () => { + return ( +
+ +
+ ) +} + +export default WbsListPage diff --git a/src/views/systemSetting/DataDictionary/DataForm.tsx b/src/views/systemSetting/DataDictionary/DataForm.tsx new file mode 100644 index 0000000..f33aee1 --- /dev/null +++ b/src/views/systemSetting/DataDictionary/DataForm.tsx @@ -0,0 +1,32 @@ +import ProForm, { ProFormCheckbox, ProFormText } from '@ant-design/pro-form' +import {Col, Form, Row, Tree, InputNumber, Select, Space} from 'antd' +import Checkbox from 'antd/lib/checkbox/Checkbox' +import React, { useState } from 'react' +import CenterForm from '../../../components/crud/CenterForm' +import { DEF_INPUT_LEN } from '../../../components/crud/FormLayoutProps' + +const { Option } = Select; + +const DataForm: React.FC = () => { + + return ( + + + + + + + + console.log(e)} /> + + + + + ) +} + +export default DataForm; diff --git a/src/views/systemSetting/DataDictionary/DataTable.tsx b/src/views/systemSetting/DataDictionary/DataTable.tsx new file mode 100644 index 0000000..cfcdb95 --- /dev/null +++ b/src/views/systemSetting/DataDictionary/DataTable.tsx @@ -0,0 +1,56 @@ +import { DeleteOutlined, PlusOutlined, EditOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Card, Input, Select, Space, Table } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../components/crud/useCrud'; +import { PageTableContext } from '../../../components/crud/usePageTable'; +import { DataDictionary } from '../../../service/def'; +const { Option } = Select; +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const columns = useMemo>(() => [ + { title: '字典类型', key: 'zdlx', dataIndex: 'zdlx' }, + { title: '字典值', key: 'zdz', dataIndex: 'zdz' }, + { title: '字典名称', key: 'zdmc', dataIndex: 'zdmc' }, + { + title: '操作', key: '_', render: rec => ( + + + + + + +
+ +
+ + + ) +} + +export default DataTable diff --git a/src/views/systemSetting/DataDictionary/index.tsx b/src/views/systemSetting/DataDictionary/index.tsx new file mode 100644 index 0000000..53be715 --- /dev/null +++ b/src/views/systemSetting/DataDictionary/index.tsx @@ -0,0 +1,56 @@ +import { Card } from 'antd'; +import React from 'react'; +import CancelCrud from '../../../components/crud/CancelCrud'; +import useCrud from '../../../components/crud/useCrud'; +import usePageTable from '../../../components/crud/usePageTable'; +import { PageResult, DataDictionary } from '../../../service/def'; +import { demoDate } from '../../../utils/utils'; +import DataForm from './DataForm'; +import DataTable from './DataTable'; + +async function demofind(): Promise> { + return { + list: [ + { + zdlx: '工程质量事故分类', + zdz: '1', + zdmc: '重大事故', + }, + { + zdlx: '工程项目划分', + zdz: '1', + zdmc: '单位工程', + }, + { + zdlx: '工程工序重要等级', + zdz: '1', + zdmc: '主要单位工程', + }, + ], + totalRow: 3 + }; +} + +const DataDictionaryPage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + crud.mode === 'new' ? ( + } > + + + ) : null + } + { + !crud.mode ? : null + } +
+ ) +} + +export default DataDictionaryPage diff --git a/src/views/systemSetting/Notify/DataTable.tsx b/src/views/systemSetting/Notify/DataTable.tsx new file mode 100644 index 0000000..9f6d9f6 --- /dev/null +++ b/src/views/systemSetting/Notify/DataTable.tsx @@ -0,0 +1,66 @@ +import { DeleteOutlined, PlusOutlined, EditOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Card, Input, Select, Space, Table, List,Skeleton } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../components/crud/useCrud'; +import { PageTableContext } from '../../../components/crud/usePageTable'; +import { SystemLog } from '../../../service/def'; +const { Option } = Select; + +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const list = [ + { + type:"消息类型1", + description:"XX单元工程施工单位已填写自评表", + isRead:false + }, + { + type:"消息类型2", + description:"XX单元工程施工单位已填写自评表", + isRead:false + }, + { + type:"消息类型3", + description:"XX单元工程施工单位已填写自评表", + isRead:true + }, + { + type:"消息类型3", + description:"XX单元工程施工单位已填写自评表", + isRead:true + } + ] + + return ( + +
+ + + + + ( + +
{item.type}
+
{item.description}
+
+ {item.isRead?:[, ]} +
+
+ )} + /> +
+
+ ) +} + +export default DataTable diff --git a/src/views/systemSetting/Notify/index.tsx b/src/views/systemSetting/Notify/index.tsx new file mode 100644 index 0000000..6172eda --- /dev/null +++ b/src/views/systemSetting/Notify/index.tsx @@ -0,0 +1,57 @@ +import { Card } from 'antd'; +import React from 'react'; +import CancelCrud from '../../../components/crud/CancelCrud'; +import useCrud from '../../../components/crud/useCrud'; +import usePageTable from '../../../components/crud/usePageTable'; +import { PageResult, SystemLog } from '../../../service/def'; +import { demoDate } from '../../../utils/utils'; +import DataTable from './DataTable'; + +async function demofind(): Promise> { + return { + list: [ + { + bm: 'XXXX', + xglx: '新增', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + { + bm: 'XXXX', + xglx: '修改', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + { + bm: 'XXXX', + xglx: '删除', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + ], + totalRow: 3 + }; +} + +const SystemLogPage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + !crud.mode ? : null + } +
+ ) +} + +export default SystemLogPage diff --git a/src/views/systemSetting/QualityStandard/DataForm.tsx b/src/views/systemSetting/QualityStandard/DataForm.tsx new file mode 100644 index 0000000..482a903 --- /dev/null +++ b/src/views/systemSetting/QualityStandard/DataForm.tsx @@ -0,0 +1,31 @@ +import ProForm, { ProFormCheckbox, ProFormText } from '@ant-design/pro-form' +import {Col, Form, Row, Tree, InputNumber, Select, Space} from 'antd' +import Checkbox from 'antd/lib/checkbox/Checkbox' +import React, { useState } from 'react' +import CenterForm from '../../../components/crud/CenterForm' +import { DEF_INPUT_LEN } from '../../../components/crud/FormLayoutProps' + +const { Option } = Select; + +const DataForm: React.FC = () => { + + return ( + + + + + + + + + + + + ) +} + +export default DataForm; diff --git a/src/views/systemSetting/QualityStandard/DataTable.tsx b/src/views/systemSetting/QualityStandard/DataTable.tsx new file mode 100644 index 0000000..e3cfd71 --- /dev/null +++ b/src/views/systemSetting/QualityStandard/DataTable.tsx @@ -0,0 +1,57 @@ +import { DeleteOutlined, PlusOutlined, EditOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Card, Input, Select, Space, Table } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../components/crud/useCrud'; +import { PageTableContext } from '../../../components/crud/usePageTable'; +import { QualityStandard } from '../../../service/def'; +const { Option } = Select; +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const columns = useMemo>(() => [ + { title: '标准类型', key: 'bzlx', dataIndex: 'bzlx' }, + { title: '项目', key: 'xm', dataIndex: 'xm' }, + { title: '检验内容', key: 'jynr', dataIndex: 'jynr' }, + { title: '质量标准', key: 'zlbz', dataIndex: 'zlbz' }, + { + title: '操作', key: '_', render: rec => ( + + + + + + +
+ +
+ + + ) +} + +export default DataTable diff --git a/src/views/systemSetting/QualityStandard/index.tsx b/src/views/systemSetting/QualityStandard/index.tsx new file mode 100644 index 0000000..388d0d6 --- /dev/null +++ b/src/views/systemSetting/QualityStandard/index.tsx @@ -0,0 +1,59 @@ +import { Card } from 'antd'; +import React from 'react'; +import CancelCrud from '../../../components/crud/CancelCrud'; +import useCrud from '../../../components/crud/useCrud'; +import usePageTable from '../../../components/crud/usePageTable'; +import { PageResult, QualityStandard } from '../../../service/def'; +import { demoDate } from '../../../utils/utils'; +import DataForm from './DataForm'; +import DataTable from './DataTable'; + +async function demofind(): Promise> { + return { + list: [ + { + bzlx: '枢纽工程外观质量标准', + xm: '外部尺寸', + jynr: '宽度', + zlbz: '允许偏差0~+15cm', + }, + { + bzlx: '堤防工程外观质量标准', + xm: '外部尺寸', + jynr: '宽度', + zlbz: '允许偏差0~+15cm', + }, + { + bzlx: '引水(渠道)工程外观质量标准', + xm: '外部尺寸', + jynr: '宽度', + zlbz: '允许偏差0~+15cm', + }, + ], + totalRow: 3 + }; +} + +const QualityStandardPage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + crud.mode === 'new' ? ( + } > + + + ) : null + } + { + !crud.mode ? : null + } +
+ ) +} + +export default QualityStandardPage diff --git a/src/views/systemSetting/SystemLog/DataTable.tsx b/src/views/systemSetting/SystemLog/DataTable.tsx new file mode 100644 index 0000000..ebea2d6 --- /dev/null +++ b/src/views/systemSetting/SystemLog/DataTable.tsx @@ -0,0 +1,51 @@ +import { DeleteOutlined, PlusOutlined, EditOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Card, Input, Select, Space, Table } from 'antd'; +import { ColumnsType } from 'antd/lib/table'; +import React, { useMemo } from 'react'; +import { CrudContext } from '../../../components/crud/useCrud'; +import { PageTableContext } from '../../../components/crud/usePageTable'; +import { SystemLog } from '../../../service/def'; +const { Option } = Select; + +type IProps = { + pagerCtx: PageTableContext; + crudCtx: CrudContext +} + +const DataTable: React.FC = ({ pagerCtx, crudCtx }) => { + + const columns = useMemo>(() => [ + { title: '表名', key: 'bm', dataIndex: 'bm' }, + { title: '修改类型', key: 'xglx', dataIndex: 'xglx' }, + { title: '修改人', key: 'xgr', dataIndex: 'xgr' }, + { title: '新数据', key: 'xsj', dataIndex: 'xsj' }, + { title: '旧数据', key: 'jsj', dataIndex: 'jsj' }, + { title: '修改数据', key: 'xgsj', dataIndex: 'xgsj' }, + ], []); + + return ( + <> + + + + 修改类型 + + + + + + + +
+ +
+ + + ) +} + +export default DataTable diff --git a/src/views/systemSetting/SystemLog/index.tsx b/src/views/systemSetting/SystemLog/index.tsx new file mode 100644 index 0000000..6172eda --- /dev/null +++ b/src/views/systemSetting/SystemLog/index.tsx @@ -0,0 +1,57 @@ +import { Card } from 'antd'; +import React from 'react'; +import CancelCrud from '../../../components/crud/CancelCrud'; +import useCrud from '../../../components/crud/useCrud'; +import usePageTable from '../../../components/crud/usePageTable'; +import { PageResult, SystemLog } from '../../../service/def'; +import { demoDate } from '../../../utils/utils'; +import DataTable from './DataTable'; + +async function demofind(): Promise> { + return { + list: [ + { + bm: 'XXXX', + xglx: '新增', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + { + bm: 'XXXX', + xglx: '修改', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + { + bm: 'XXXX', + xglx: '删除', + xgr: '张三', + xsj: '{id:""}', + jsj: '', + xgsj: '', + }, + ], + totalRow: 3 + }; +} + +const SystemLogPage: React.FC = () => { + + const crud = useCrud(); + + const pager = usePageTable(demofind); + + return ( +
+ { + !crud.mode ? : null + } +
+ ) +} + +export default SystemLogPage