From f5cd07b12433e310380f64d3b0a90c41d82c3a5c Mon Sep 17 00:00:00 2001 From: jlzhangyx5 Date: Wed, 14 May 2025 16:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/System/Department/index.tsx | 188 +++++++++++++++++++++++++ src/pages/System/Department/service.ts | 50 +++++++ src/pages/System/SysRole/index.tsx | 16 ++- 3 files changed, 249 insertions(+), 5 deletions(-) create mode 100644 src/pages/System/Department/index.tsx create mode 100644 src/pages/System/Department/service.ts diff --git a/src/pages/System/Department/index.tsx b/src/pages/System/Department/index.tsx new file mode 100644 index 0000000..c652ac8 --- /dev/null +++ b/src/pages/System/Department/index.tsx @@ -0,0 +1,188 @@ +import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table'; +import { Button, Form, Input, message, Modal, PageHeader, Select, Spin, Tree, TreeSelect } from 'antd'; +import { useRef, useState } from 'react'; +import { fetchAllDepartment, addOrg, deleteOrg, updateOrg, getDataById } from './service'; +import React from 'react'; +const Index: React.FC<{}> = () => { + const [spin, spinSet] = useState(false); + const actionRef = useRef(); + const [form] = Form.useForm(); + const [title, setTitle] = useState(''); + const [open, setOpen] = useState(false); + const [org, orgSet] = useState([]); + const layout = { + labelCol: { span: 6 }, + wrapperCol: { span: 13 }, + }; + const columns: ProColumns[] = [ + { + title: '组织编码', + dataIndex: 'orgNum', + width: '10%', + }, + { + title: '组织名称', + dataIndex: 'orgName', + width: '30%', + }, + { + title: '组织全称', + dataIndex: 'orgFullName', + width: '45%', + hideInSearch: true, + }, + { + title: '操作', width: '10%', + valueType: 'option', + render: (_, record) => [ + , + + ] + }, + // { + // title: '部门负责人', + // dataIndex: 'leaderName', + // width: '15%', + // }, + ]; + const handleAdd = async () => { + setOpen(true); + setTitle('添加组织'); + }; + + const handleUpdate = async (record: any) => { + form.resetFields(); + const org = await getDataById(record.orgId); + form.setFieldsValue(org.data); + setOpen(true); + setTitle('修改组织'); + }; + // 删除操作 + const handleDelete = (id: string) => { + Modal.confirm({ + title: '确认删除该组织?', + onOk: async () => { + await deleteOrg(id).then((r: any) => { + if (r.code == 200) { + message.success('删除成功'); + } + }) + .finally(() => actionRef.current?.reload()); + }, + }); + }; + + const handleSubmit = async () => { + try { + const values = await form.validateFields(); + if (values.orgId) { + await updateOrg(values).then((r: any) => { + if (r.code == 200) { + message.success('修改成功'); + } + }); + } else { + await addOrg(values).then((r: any) => { + if (r.code == 200) { + message.success('新增成功'); + } + }); + } + closeModal(); + } catch (error) { + console.error(error); + } + }; + const closeModal = async () => { + actionRef.current?.reload(); + form.resetFields(); + setOpen(false); + }; + + const addModal = ( + setOpen(false)}>关闭} + onOk={handleSubmit} + onCancel={() => closeModal()} + > +
+ + + + + + + + + + +
+
+ ); + + //表格请求 + async function request(params: any) { + console.log('org params:', params); + const { data } = await fetchAllDepartment(params); + console.log('org data:', data); + // orgSet(data.children); + orgSet(data); + let result = { + // data: data.children, + data: data, + success: true, + total: data.length, + }; + return result; + } + + + return ( + + +
+ pageDataSet({ pageNo: page, pageSize: pageSize }), + // onShowSizeChange: (current, size) => pageDataSet({ pageNo: current, pageSize: size }), + // }} + pagination={false} + toolBarRender={() => [ + , + ] + } + request={request} + /> + {addModal} +
+
+ ); +} + +export default Index; diff --git a/src/pages/System/Department/service.ts b/src/pages/System/Department/service.ts new file mode 100644 index 0000000..95e01b5 --- /dev/null +++ b/src/pages/System/Department/service.ts @@ -0,0 +1,50 @@ +import { request } from 'umi'; + +export async function fetchAllDepartment(params: any) { + return request(`/api/sys-manager-ebtp-project/v1/sysorg/queryAll`, { + method: 'get', + params: params, + }); +} +export async function addOrg(params: any) { + return request('/api/sys-manager-ebtp-project/v1/sysorg/insert', { + method: 'post', + data: params, + }); +} +export async function deleteOrg(id: any) { + return request(`/api/sys-manager-ebtp-project/v1/sysorg/del/${id}`, { + method: 'get', + }); +} +export async function updateOrg(params: any) { + return request('/api/sys-manager-ebtp-project/v1/sysorg/update', { + method: 'post', + data: params, + }); +} +export async function getDataById(id: any) { + return request(`/api/sys-manager-ebtp-project/v1/sysorg/${id}`, { + method: 'get', + }); +} + + +export async function departmentList(options?: { [key: string]: any }): Promise<{ data: any }> { + return request('/api/system/departmentList', { + method: 'GET', + ...(options || {}), + }); +} +//根据部门id 查部门下所属部门及人员,立项用 +export async function getOrgUserIF(orgId: any) { + return request(`/api/sysorg/user?orgId=${orgId}`, { + method: 'GET', + }); +} +//查部门下所属部门及人员 全量 +export async function getAllOrgUserIF() { + return request(` /api/sysorg/user/all`, { + method: 'GET', + }); +} diff --git a/src/pages/System/SysRole/index.tsx b/src/pages/System/SysRole/index.tsx index 3b54e29..994bdd0 100644 --- a/src/pages/System/SysRole/index.tsx +++ b/src/pages/System/SysRole/index.tsx @@ -67,8 +67,10 @@ const entrust: React.FC<{}> = () => { title: '确认删除该角色?', onOk: async () => { await deleteRole(id).then((r: any) => { - if (r.code == 200) { + if (r?.code == 200) { message.success('删除成功'); + } else { + message.error('删除失败'); } }) .finally(() => actionRef.current?.reload()); @@ -127,7 +129,6 @@ const entrust: React.FC<{}> = () => { // const menus = await roleMenuTreeselect(record.roleId); // setMenuOptions(menus.data.menus || []); setMenuOptions(formatMenuOptions(menu) || []); - console.log("role.data.menuIds",role.data.menuIds); setCheckedKeys(role.data.menuIds || []); form.setFieldsValue({ ...role.data, @@ -151,14 +152,19 @@ const entrust: React.FC<{}> = () => { const values = await form.validateFields(); if (values.roleId) { await updateRole(values).then((r: any) => { - if (r.code == 200) { + if (r?.code == 200) { message.success('修改成功'); + } else { + message.error('修改失败'); } }); } else { await addRole(values).then((r: any) => { - if (r.code == 200) { + console.log("r?.code", r?.code) + if (r?.code == 200) { message.success('新增成功'); + } else { + message.error('新增失败'); } }); } @@ -244,7 +250,7 @@ const entrust: React.FC<{}> = () => { }) } toolBarRender={() => [ - , ]