可正常启用
This commit is contained in:
parent
32f50ae7e4
commit
0e031d0cfe
@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
|||||||
import { Modal, Table, message, Spin, Tag } from 'antd';
|
import { Modal, Table, message, Spin, Tag } from 'antd';
|
||||||
import type { Permission } from '../types';
|
import type { Permission } from '../types';
|
||||||
import { PermissionType, PermissionTypeText } from '../types';
|
import { PermissionType, PermissionTypeText } from '../types';
|
||||||
import { getRolePermissions, assignPermissions } from '../service';
|
import { getRolePermissions, assignPermissions, getAllPermissions } from '../service';
|
||||||
|
|
||||||
interface PermissionModalProps {
|
interface PermissionModalProps {
|
||||||
roleId: number;
|
roleId: number;
|
||||||
@ -21,13 +21,16 @@ const PermissionModal: React.FC<PermissionModalProps> = ({
|
|||||||
const [selectedKeys, setSelectedKeys] = useState<number[]>([]);
|
const [selectedKeys, setSelectedKeys] = useState<number[]>([]);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
// 获取角色已有权限
|
// 获取角色已有权限和所有权限
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
const data = await getRolePermissions(roleId);
|
const [allPermissions, rolePermissions] = await Promise.all([
|
||||||
setPermissions(data);
|
getAllPermissions(),
|
||||||
setSelectedKeys(data.map(p => p.id));
|
getRolePermissions(roleId)
|
||||||
|
]);
|
||||||
|
setPermissions(allPermissions);
|
||||||
|
setSelectedKeys(rolePermissions.map(p => p.id));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
message.error('获取权限数据失败');
|
message.error('获取权限数据失败');
|
||||||
} finally {
|
} finally {
|
||||||
@ -118,6 +121,7 @@ const PermissionModal: React.FC<PermissionModalProps> = ({
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
pagination={false}
|
pagination={false}
|
||||||
scroll={{ y: 400 }}
|
scroll={{ y: 400 }}
|
||||||
|
size="small"
|
||||||
/>
|
/>
|
||||||
</Spin>
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|||||||
@ -169,14 +169,6 @@ const RolePage: React.FC = () => {
|
|||||||
width: 80,
|
width: 80,
|
||||||
sorter: true
|
sorter: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: '状态',
|
|
||||||
dataIndex: 'enabled',
|
|
||||||
width: 100,
|
|
||||||
render: (enabled: boolean) => (
|
|
||||||
<Switch checked={enabled} disabled />
|
|
||||||
)
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: '描述',
|
title: '描述',
|
||||||
dataIndex: 'description',
|
dataIndex: 'description',
|
||||||
@ -281,15 +273,6 @@ const RolePage: React.FC = () => {
|
|||||||
<InputNumber min={0} />
|
<InputNumber min={0} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item
|
|
||||||
name="enabled"
|
|
||||||
label="状态"
|
|
||||||
valuePropName="checked"
|
|
||||||
initialValue={true}
|
|
||||||
>
|
|
||||||
<Switch />
|
|
||||||
</Form.Item>
|
|
||||||
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="description"
|
name="description"
|
||||||
label="描述"
|
label="描述"
|
||||||
|
|||||||
@ -35,3 +35,6 @@ export const getRolePermissions = (roleId: number) => request.get<Permission[]>(
|
|||||||
|
|
||||||
// 分配权限
|
// 分配权限
|
||||||
export const assignPermissions = (roleId: number, permissionIds: number[]) => request.post(`${BASE_URL}/${roleId}/permissions`, permissionIds);
|
export const assignPermissions = (roleId: number, permissionIds: number[]) => request.post(`${BASE_URL}/${roleId}/permissions`, permissionIds);
|
||||||
|
|
||||||
|
// 获取所有权限列表
|
||||||
|
export const getAllPermissions = () => request.get<Permission[]>('/api/v1/permission/list');
|
||||||
@ -39,7 +39,6 @@ export interface RoleResponse extends BaseResponse {
|
|||||||
name: string;
|
name: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
sort: number;
|
sort: number;
|
||||||
enabled: boolean;
|
|
||||||
tags?: RoleTagResponse[];
|
tags?: RoleTagResponse[];
|
||||||
createTime: string;
|
createTime: string;
|
||||||
updateTime: string;
|
updateTime: string;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user