diff --git a/config/proxy.ts b/config/proxy.ts index 622f4b9..16f18a0 100644 --- a/config/proxy.ts +++ b/config/proxy.ts @@ -33,6 +33,11 @@ export default { changeOrigin: true, pathRewrite: { '/api/biz-service-ebtp-project': '' }, }, + '/api/sys-manager-ebtp-project': { + target: 'http://localhost:18012', + changeOrigin: true, + pathRewrite: { '/api/sys-manager-ebtp-project': '' }, + }, // '/api/wfap/v1/audit/bill/find/by/procid': { // target: 'http://10.242.31.158:8891/',//审批单 uat环境自动审批,暂时用不到 // changeOrigin: true, diff --git a/src/pages/System/SysRole/index.tsx b/src/pages/System/SysRole/index.tsx new file mode 100644 index 0000000..3b54e29 --- /dev/null +++ b/src/pages/System/SysRole/index.tsx @@ -0,0 +1,266 @@ +import React, { useState, useRef } from 'react'; +import { message, Modal, Input, Form, PageHeader, Button, Spin, Select, Tree } from 'antd'; +import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table'; +import { getPage, getDataById, deleteRole, addRole, updateRole } from './service'; +// import './styles.less'; +import { getDicData } from '@/utils/session'; +import TextArea from 'antd/lib/input/TextArea'; + +const entrust: React.FC<{}> = () => { + //获取字典 + const getDict: any = getDicData(); + const [form] = Form.useForm(); + const [title, setTitle] = useState(''); + const [open, setOpen] = useState(false); + + const [checkedKeys, setCheckedKeys] = useState([]); + const [currentRoleId, setCurrentRoleId] = useState(null); + const dictData = JSON.parse(getDict); + const actionRef = useRef(); + const [spin, spinSet] = useState(false); + //查询分页数据 + const [pageData, pageDataSet] = useState({ + pageNo: 1, + pageSize: 10 + }); + const layout = { + labelCol: { span: 6 }, + wrapperCol: { span: 13 }, + }; + interface DictType { + value: string; + label: string; + } + const sys_normal_scope: DictType[] = [ + { value: 'EBTP', label: '招标采购中心' }, + ]; + + //委托列表 + const columns: ProColumns[] = [ + { title: '序号', valueType: 'index', width: 50, }, + { title: '角色名称', dataIndex: 'roleName', },//, ellipsis: true + { title: '权限字符', dataIndex: 'roleCode', width: '10%' }, + { + title: '角色范围', dataIndex: 'roleScope', + valueEnum: { 'EBTP': { text: '招标采购中心', status: 'EBTP' }, }, + render: (_, record) => { + if (record.roleScope === 'EBTP') { + return (<>招标采购中心) + } else { + return (<>) + } + } + }, + { title: '创建时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false }, + { + title: '操作', width: '9%', + valueType: 'option', + render: (_, record) => [ + , + + ] + }, + ]; + // 删除操作 + const handleDelete = (id: string) => { + Modal.confirm({ + title: '确认删除该角色?', + onOk: async () => { + await deleteRole(id).then((r: any) => { + if (r.code == 200) { + message.success('删除成功'); + } + }) + .finally(() => actionRef.current?.reload()); + }, + }); + }; + const handleAdd = async () => { + form.resetFields(); + // const menus = await menuTreeselect(); + // setMenuOptions(menus.data || []); + // setMenuOptions(menu || []); + + // 使用时转换 + setMenuOptions(formatMenuOptions(menu) || []); + setOpen(true); + setTitle('添加角色'); + }; + + const [menuOptions, setMenuOptions] = useState([]); + let menu = [{ + "id": '1', "parentId": '0', "label": "系统管理", "weight": 1, + "children": [{ + "id": '101', "parentId": '1', "label": "角色管理", "weight": 2, + "children": [{ "id": '1008', "parentId": '101', "label": "角色查询", "weight": 1 }, + { "id": '1009', "parentId": '101', "label": "角色新增", "weight": 2 }, + { "id": '1010', "parentId": '101', "label": "角色修改", "weight": 3 }, + { "id": '1011', "parentId": '101', "label": "角色删除", "weight": 4 }, + { "id": '1012', "parentId": '101', "label": "角色导出", "weight": 5 }] + }, + { + "id": '105', "parentId": '1', "label": "字典管理", "weight": 6, + "children": [{ "id": '1026', "parentId": '105', "label": "字典查询", "weight": 1 }, + { "id": '1027', "parentId": '105', "label": "字典新增", "weight": 2 }, + { "id": '1028', "parentId": '105', "label": "字典修改", "weight": 3 }, + { "id": '1029', "parentId": '105', "label": "字典删除", "weight": 4 }, + { "id": '1030', "parentId": '105', "label": "字典导出", "weight": 5 }] + }] + }, + { "id": '4', "parentId": '0', "label": "PLUS官网", "weight": 4 }, + { + "id": "1494925781048545281", "parentId": '0', "label": "个人待办", "weight": 18, + "children": [{ "id": "1494926258733633538", "parentId": "1494925781048545281", "label": "待办任务", "weight": 1 }, + { "id": "1494926586677874690", "parentId": "1494925781048545281", "label": "已办任务", "weight": 2 }] + }]; + const formatMenuOptions = (data: any[]) => { + return data.map(item => ({ + title: item.label, + key: item.id, + children: item.children ? formatMenuOptions(item.children) : undefined, + })); + }; + + const handleUpdate = async (record: any) => { + form.resetFields(); + const role = await getDataById(record.roleId); + // 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, + menuIds: role.data.menuIds || [], + }); + // form.setFieldsValue(role.data); + setCurrentRoleId(record.roleId); + setOpen(true); + setTitle('修改角色'); + }; + + const closeModal = async () => { + actionRef.current?.reload(); + form.resetFields(); + setCheckedKeys([]); + setOpen(false); + }; + + const handleSubmit = async () => { + try { + const values = await form.validateFields(); + if (values.roleId) { + await updateRole(values).then((r: any) => { + if (r.code == 200) { + message.success('修改成功'); + } + }); + } else { + await addRole(values).then((r: any) => { + if (r.code == 200) { + message.success('新增成功'); + } + }); + } + closeModal(); + } catch (error) { + console.error(error); + } + }; + const checkSupModal = ( + setOpen(false)}>关闭} + onOk={handleSubmit} + onCancel={() => closeModal()} + > +
+ + + + + + + + + + + +