可正常启用

This commit is contained in:
戚辰先生 2024-12-01 22:33:28 +08:00
parent 32f50ae7e4
commit 0e031d0cfe
4 changed files with 13 additions and 24 deletions

View File

@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
import { Modal, Table, message, Spin, Tag } from 'antd';
import type { Permission } from '../types';
import { PermissionType, PermissionTypeText } from '../types';
import { getRolePermissions, assignPermissions } from '../service';
import { getRolePermissions, assignPermissions, getAllPermissions } from '../service';
interface PermissionModalProps {
roleId: number;
@ -21,13 +21,16 @@ const PermissionModal: React.FC<PermissionModalProps> = ({
const [selectedKeys, setSelectedKeys] = useState<number[]>([]);
const [loading, setLoading] = useState(false);
// 获取角色已有权限
// 获取角色已有权限和所有权限
const fetchData = async () => {
try {
setLoading(true);
const data = await getRolePermissions(roleId);
setPermissions(data);
setSelectedKeys(data.map(p => p.id));
const [allPermissions, rolePermissions] = await Promise.all([
getAllPermissions(),
getRolePermissions(roleId)
]);
setPermissions(allPermissions);
setSelectedKeys(rolePermissions.map(p => p.id));
} catch (error) {
message.error('获取权限数据失败');
} finally {
@ -118,6 +121,7 @@ const PermissionModal: React.FC<PermissionModalProps> = ({
rowKey="id"
pagination={false}
scroll={{ y: 400 }}
size="small"
/>
</Spin>
</Modal>

View File

@ -169,14 +169,6 @@ const RolePage: React.FC = () => {
width: 80,
sorter: true
},
{
title: '状态',
dataIndex: 'enabled',
width: 100,
render: (enabled: boolean) => (
<Switch checked={enabled} disabled />
)
},
{
title: '描述',
dataIndex: 'description',
@ -281,15 +273,6 @@ const RolePage: React.FC = () => {
<InputNumber min={0} />
</Form.Item>
<Form.Item
name="enabled"
label="状态"
valuePropName="checked"
initialValue={true}
>
<Switch />
</Form.Item>
<Form.Item
name="description"
label="描述"

View File

@ -34,4 +34,7 @@ export const createRoleTag = (data: RoleTagRequest) => request.post<RoleTagRespo
export const getRolePermissions = (roleId: number) => request.get<Permission[]>(`${BASE_URL}/${roleId}/permissions`);
// 分配权限
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');

View File

@ -39,7 +39,6 @@ export interface RoleResponse extends BaseResponse {
name: string;
description?: string;
sort: number;
enabled: boolean;
tags?: RoleTagResponse[];
createTime: string;
updateTime: string;