管理员角色新建、编辑优化

This commit is contained in:
禺狨 2023-03-08 10:10:33 +08:00
parent f4dda5f80d
commit a9355b6d05
4 changed files with 56 additions and 40 deletions

View File

@ -27,7 +27,6 @@ interface DataType {
export const SystemAdministratorPage: React.FC = () => {
const navigate = useNavigate();
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
const [loading, setLoading] = useState<boolean>(true);
const [page, setPage] = useState<number>(1);
const [size, setSize] = useState<number>(10);
@ -105,18 +104,12 @@ export const SystemAdministratorPage: React.FC = () => {
getData();
}, [refresh, page, size]);
const onSelectChange = (newSelectedRowKeys: React.Key[]) => {
console.log("selectedRowKeys changed: ", newSelectedRowKeys);
setSelectedRowKeys(newSelectedRowKeys);
};
const getData = () => {
setLoading(true);
adminUser.adminUserList(page, size, name).then((res: any) => {
setList(res.data.data);
setTotal(res.data.total);
setTimeout(() => {
setSelectedRowKeys([]);
setLoading(false);
}, 1000);
});
@ -130,10 +123,6 @@ export const SystemAdministratorPage: React.FC = () => {
setRefresh(!refresh);
};
const rowSelection = {
selectedRowKeys,
onChange: onSelectChange,
};
const paginationProps = {
current: page, //当前页码
@ -158,7 +147,6 @@ export const SystemAdministratorPage: React.FC = () => {
});
};
const hasSelected = selectedRowKeys.length > 0;
return (
<>
<div className="playedu-main-body mb-24">
@ -216,7 +204,6 @@ export const SystemAdministratorPage: React.FC = () => {
</div>
<div className="float-left">
<Table
rowSelection={rowSelection}
columns={columns}
dataSource={list}
loading={loading}

View File

@ -10,6 +10,7 @@ export const AdminrolesCreatePage: React.FC = () => {
const [form] = Form.useForm();
const [loading, setLoading] = useState<boolean>(true);
const [permissions, setPermissions] = useState<any>([]);
const [actions, setActions] = useState<any>([]);
useEffect(() => {
getParams();
@ -18,21 +19,30 @@ export const AdminrolesCreatePage: React.FC = () => {
const getParams = () => {
adminRole.createAdminRole().then((res: any) => {
const arr = [];
let permissions = res.data.permissions;
const arr2 = [];
let actions = res.data.perm_action.action;
let permissions = res.data.perm_action.data;
for (let i = 0; i < permissions.length; i++) {
arr.push({
label: permissions[i].name,
value: permissions[i].id,
});
}
for (let j = 0; j < actions.length; j++) {
arr2.push({
label: actions[j].name,
value: actions[j].id,
});
}
setPermissions(arr);
setActions(arr2);
});
};
const onFinish = (values: any) => {
adminRole
.storeAdminRole(values.name, values.permission_ids)
.then((res: any) => {
const params = values.action_ids.concat(values.permission_ids);
adminRole.storeAdminRole(values.name, params).then((res: any) => {
message.success("保存成功!");
navigate(-1);
});
@ -42,8 +52,6 @@ export const AdminrolesCreatePage: React.FC = () => {
console.log("Failed:", errorInfo);
};
const handleChange = (value: any) => {};
return (
<>
<Row className="playedu-main-body">
@ -70,13 +78,21 @@ export const AdminrolesCreatePage: React.FC = () => {
>
<Input style={{ width: 300 }} placeholder="请输入角色名" />
</Form.Item>
<Form.Item label="权限" name="permission_ids">
<Form.Item label="操作权限" name="action_ids">
<Select
style={{ width: 300 }}
mode="multiple"
allowClear
placeholder="请选择权限"
options={actions}
/>
</Form.Item>
<Form.Item label="数据权限" name="permission_ids">
<Select
style={{ width: 300 }}
mode="multiple"
allowClear
placeholder="请选择权限"
onChange={handleChange}
options={permissions}
/>
</Form.Item>

View File

@ -21,11 +21,6 @@ export const SystemAdminrolesPage: React.FC = () => {
const [refresh, setRefresh] = useState(false);
const columns: ColumnsType<DataType> = [
{
title: "ID",
key: "id",
dataIndex: "id",
},
{
title: "角色名",
dataIndex: "name",

View File

@ -11,6 +11,7 @@ export const AdminrolesUpdatePage: React.FC = () => {
const [form] = Form.useForm();
const [loading, setLoading] = useState<boolean>(true);
const [permissions, setPermissions] = useState<any>([]);
const [actions, setActions] = useState<any>([]);
useEffect(() => {
getParams();
@ -23,14 +24,23 @@ export const AdminrolesUpdatePage: React.FC = () => {
const getParams = () => {
adminRole.createAdminRole().then((res: any) => {
const arr = [];
let permissions = res.data.permissions;
const arr2 = [];
let actions = res.data.perm_action.action;
let permissions = res.data.perm_action.data;
for (let i = 0; i < permissions.length; i++) {
arr.push({
label: permissions[i].name,
value: permissions[i].id,
});
}
for (let j = 0; j < actions.length; j++) {
arr2.push({
label: actions[j].name,
value: actions[j].id,
});
}
setPermissions(arr);
setActions(arr2);
});
};
@ -39,16 +49,16 @@ export const AdminrolesUpdatePage: React.FC = () => {
let role = res.data.role;
form.setFieldsValue({
name: role.name,
permission_ids: res.data.permission_ids,
permission_ids: res.data.perm_data,
action_ids: res.data.perm_action,
});
});
};
const onFinish = (values: any) => {
let id = Number(params.roleId);
adminRole
.updateAdminRole(id, values.name, values.permission_ids)
.then((res: any) => {
const arr = values.action_ids.concat(values.permission_ids);
adminRole.updateAdminRole(id, values.name, arr).then((res: any) => {
message.success("保存成功!");
navigate(-1);
});
@ -86,13 +96,21 @@ export const AdminrolesUpdatePage: React.FC = () => {
>
<Input style={{ width: 300 }} placeholder="请输入角色名" />
</Form.Item>
<Form.Item label="权限" name="permission_ids">
<Form.Item label="操作权限" name="action_ids">
<Select
style={{ width: 300 }}
mode="multiple"
allowClear
placeholder="请选择权限"
options={actions}
/>
</Form.Item>
<Form.Item label="数据权限" name="permission_ids">
<Select
style={{ width: 300 }}
mode="multiple"
allowClear
placeholder="请选择权限"
onChange={handleChange}
options={permissions}
/>
</Form.Item>