mirror of
https://github.com/PlayEdu/backend
synced 2025-06-08 20:44:11 +08:00
管理员角色新建、编辑优化
This commit is contained in:
parent
f4dda5f80d
commit
a9355b6d05
@ -27,7 +27,6 @@ interface DataType {
|
|||||||
|
|
||||||
export const SystemAdministratorPage: React.FC = () => {
|
export const SystemAdministratorPage: React.FC = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
|
||||||
const [loading, setLoading] = useState<boolean>(true);
|
const [loading, setLoading] = useState<boolean>(true);
|
||||||
const [page, setPage] = useState<number>(1);
|
const [page, setPage] = useState<number>(1);
|
||||||
const [size, setSize] = useState<number>(10);
|
const [size, setSize] = useState<number>(10);
|
||||||
@ -105,18 +104,12 @@ export const SystemAdministratorPage: React.FC = () => {
|
|||||||
getData();
|
getData();
|
||||||
}, [refresh, page, size]);
|
}, [refresh, page, size]);
|
||||||
|
|
||||||
const onSelectChange = (newSelectedRowKeys: React.Key[]) => {
|
|
||||||
console.log("selectedRowKeys changed: ", newSelectedRowKeys);
|
|
||||||
setSelectedRowKeys(newSelectedRowKeys);
|
|
||||||
};
|
|
||||||
|
|
||||||
const getData = () => {
|
const getData = () => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
adminUser.adminUserList(page, size, name).then((res: any) => {
|
adminUser.adminUserList(page, size, name).then((res: any) => {
|
||||||
setList(res.data.data);
|
setList(res.data.data);
|
||||||
setTotal(res.data.total);
|
setTotal(res.data.total);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setSelectedRowKeys([]);
|
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
@ -130,10 +123,6 @@ export const SystemAdministratorPage: React.FC = () => {
|
|||||||
setRefresh(!refresh);
|
setRefresh(!refresh);
|
||||||
};
|
};
|
||||||
|
|
||||||
const rowSelection = {
|
|
||||||
selectedRowKeys,
|
|
||||||
onChange: onSelectChange,
|
|
||||||
};
|
|
||||||
|
|
||||||
const paginationProps = {
|
const paginationProps = {
|
||||||
current: page, //当前页码
|
current: page, //当前页码
|
||||||
@ -158,7 +147,6 @@ export const SystemAdministratorPage: React.FC = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const hasSelected = selectedRowKeys.length > 0;
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="playedu-main-body mb-24">
|
<div className="playedu-main-body mb-24">
|
||||||
@ -216,7 +204,6 @@ export const SystemAdministratorPage: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="float-left">
|
<div className="float-left">
|
||||||
<Table
|
<Table
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={columns}
|
columns={columns}
|
||||||
dataSource={list}
|
dataSource={list}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
|
@ -10,6 +10,7 @@ export const AdminrolesCreatePage: React.FC = () => {
|
|||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const [loading, setLoading] = useState<boolean>(true);
|
const [loading, setLoading] = useState<boolean>(true);
|
||||||
const [permissions, setPermissions] = useState<any>([]);
|
const [permissions, setPermissions] = useState<any>([]);
|
||||||
|
const [actions, setActions] = useState<any>([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getParams();
|
getParams();
|
||||||
@ -18,32 +19,39 @@ export const AdminrolesCreatePage: React.FC = () => {
|
|||||||
const getParams = () => {
|
const getParams = () => {
|
||||||
adminRole.createAdminRole().then((res: any) => {
|
adminRole.createAdminRole().then((res: any) => {
|
||||||
const arr = [];
|
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++) {
|
for (let i = 0; i < permissions.length; i++) {
|
||||||
arr.push({
|
arr.push({
|
||||||
label: permissions[i].name,
|
label: permissions[i].name,
|
||||||
value: permissions[i].id,
|
value: permissions[i].id,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
for (let j = 0; j < actions.length; j++) {
|
||||||
|
arr2.push({
|
||||||
|
label: actions[j].name,
|
||||||
|
value: actions[j].id,
|
||||||
|
});
|
||||||
|
}
|
||||||
setPermissions(arr);
|
setPermissions(arr);
|
||||||
|
setActions(arr2);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const onFinish = (values: any) => {
|
const onFinish = (values: any) => {
|
||||||
adminRole
|
const params = values.action_ids.concat(values.permission_ids);
|
||||||
.storeAdminRole(values.name, values.permission_ids)
|
|
||||||
.then((res: any) => {
|
adminRole.storeAdminRole(values.name, params).then((res: any) => {
|
||||||
message.success("保存成功!");
|
message.success("保存成功!");
|
||||||
navigate(-1);
|
navigate(-1);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const onFinishFailed = (errorInfo: any) => {
|
const onFinishFailed = (errorInfo: any) => {
|
||||||
console.log("Failed:", errorInfo);
|
console.log("Failed:", errorInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleChange = (value: any) => {};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Row className="playedu-main-body">
|
<Row className="playedu-main-body">
|
||||||
@ -70,13 +78,21 @@ export const AdminrolesCreatePage: React.FC = () => {
|
|||||||
>
|
>
|
||||||
<Input style={{ width: 300 }} placeholder="请输入角色名" />
|
<Input style={{ width: 300 }} placeholder="请输入角色名" />
|
||||||
</Form.Item>
|
</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
|
<Select
|
||||||
style={{ width: 300 }}
|
style={{ width: 300 }}
|
||||||
mode="multiple"
|
mode="multiple"
|
||||||
allowClear
|
allowClear
|
||||||
placeholder="请选择权限"
|
placeholder="请选择权限"
|
||||||
onChange={handleChange}
|
|
||||||
options={permissions}
|
options={permissions}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
@ -21,11 +21,6 @@ export const SystemAdminrolesPage: React.FC = () => {
|
|||||||
const [refresh, setRefresh] = useState(false);
|
const [refresh, setRefresh] = useState(false);
|
||||||
|
|
||||||
const columns: ColumnsType<DataType> = [
|
const columns: ColumnsType<DataType> = [
|
||||||
{
|
|
||||||
title: "ID",
|
|
||||||
key: "id",
|
|
||||||
dataIndex: "id",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "角色名",
|
title: "角色名",
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
|
@ -11,11 +11,12 @@ export const AdminrolesUpdatePage: React.FC = () => {
|
|||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const [loading, setLoading] = useState<boolean>(true);
|
const [loading, setLoading] = useState<boolean>(true);
|
||||||
const [permissions, setPermissions] = useState<any>([]);
|
const [permissions, setPermissions] = useState<any>([]);
|
||||||
|
const [actions, setActions] = useState<any>([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getParams();
|
getParams();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getDetail();
|
getDetail();
|
||||||
}, [params.roleId]);
|
}, [params.roleId]);
|
||||||
@ -23,14 +24,23 @@ export const AdminrolesUpdatePage: React.FC = () => {
|
|||||||
const getParams = () => {
|
const getParams = () => {
|
||||||
adminRole.createAdminRole().then((res: any) => {
|
adminRole.createAdminRole().then((res: any) => {
|
||||||
const arr = [];
|
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++) {
|
for (let i = 0; i < permissions.length; i++) {
|
||||||
arr.push({
|
arr.push({
|
||||||
label: permissions[i].name,
|
label: permissions[i].name,
|
||||||
value: permissions[i].id,
|
value: permissions[i].id,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
for (let j = 0; j < actions.length; j++) {
|
||||||
|
arr2.push({
|
||||||
|
label: actions[j].name,
|
||||||
|
value: actions[j].id,
|
||||||
|
});
|
||||||
|
}
|
||||||
setPermissions(arr);
|
setPermissions(arr);
|
||||||
|
setActions(arr2);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -39,19 +49,19 @@ export const AdminrolesUpdatePage: React.FC = () => {
|
|||||||
let role = res.data.role;
|
let role = res.data.role;
|
||||||
form.setFieldsValue({
|
form.setFieldsValue({
|
||||||
name: role.name,
|
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) => {
|
const onFinish = (values: any) => {
|
||||||
let id = Number(params.roleId);
|
let id = Number(params.roleId);
|
||||||
adminRole
|
const arr = values.action_ids.concat(values.permission_ids);
|
||||||
.updateAdminRole(id, values.name, values.permission_ids)
|
adminRole.updateAdminRole(id, values.name, arr).then((res: any) => {
|
||||||
.then((res: any) => {
|
message.success("保存成功!");
|
||||||
message.success("保存成功!");
|
navigate(-1);
|
||||||
navigate(-1);
|
});
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const onFinishFailed = (errorInfo: any) => {
|
const onFinishFailed = (errorInfo: any) => {
|
||||||
@ -86,13 +96,21 @@ export const AdminrolesUpdatePage: React.FC = () => {
|
|||||||
>
|
>
|
||||||
<Input style={{ width: 300 }} placeholder="请输入角色名" />
|
<Input style={{ width: 300 }} placeholder="请输入角色名" />
|
||||||
</Form.Item>
|
</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
|
<Select
|
||||||
style={{ width: 300 }}
|
style={{ width: 300 }}
|
||||||
mode="multiple"
|
mode="multiple"
|
||||||
allowClear
|
allowClear
|
||||||
placeholder="请选择权限"
|
placeholder="请选择权限"
|
||||||
onChange={handleChange}
|
|
||||||
options={permissions}
|
options={permissions}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user