From 0e031d0cfe2109120e2b208c9f5080a66ddb89c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=9A=E8=BE=B0=E5=85=88=E7=94=9F?= Date: Sun, 1 Dec 2024 22:33:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E6=AD=A3=E5=B8=B8=E5=90=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../System/Role/components/PermissionModal.tsx | 14 +++++++++----- frontend/src/pages/System/Role/index.tsx | 17 ----------------- frontend/src/pages/System/Role/service.ts | 5 ++++- frontend/src/pages/System/Role/types.ts | 1 - 4 files changed, 13 insertions(+), 24 deletions(-) diff --git a/frontend/src/pages/System/Role/components/PermissionModal.tsx b/frontend/src/pages/System/Role/components/PermissionModal.tsx index 78c5e5d8..94a5a68e 100644 --- a/frontend/src/pages/System/Role/components/PermissionModal.tsx +++ b/frontend/src/pages/System/Role/components/PermissionModal.tsx @@ -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 = ({ const [selectedKeys, setSelectedKeys] = useState([]); 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 = ({ rowKey="id" pagination={false} scroll={{ y: 400 }} + size="small" /> diff --git a/frontend/src/pages/System/Role/index.tsx b/frontend/src/pages/System/Role/index.tsx index 64aa7824..ef8daa6c 100644 --- a/frontend/src/pages/System/Role/index.tsx +++ b/frontend/src/pages/System/Role/index.tsx @@ -169,14 +169,6 @@ const RolePage: React.FC = () => { width: 80, sorter: true }, - { - title: '状态', - dataIndex: 'enabled', - width: 100, - render: (enabled: boolean) => ( - - ) - }, { title: '描述', dataIndex: 'description', @@ -281,15 +273,6 @@ const RolePage: React.FC = () => { - - - - request.post request.get(`${BASE_URL}/${roleId}/permissions`); // 分配权限 -export const assignPermissions = (roleId: number, permissionIds: number[]) => request.post(`${BASE_URL}/${roleId}/permissions`, permissionIds); \ No newline at end of file +export const assignPermissions = (roleId: number, permissionIds: number[]) => request.post(`${BASE_URL}/${roleId}/permissions`, permissionIds); + +// 获取所有权限列表 +export const getAllPermissions = () => request.get('/api/v1/permission/list'); \ No newline at end of file diff --git a/frontend/src/pages/System/Role/types.ts b/frontend/src/pages/System/Role/types.ts index a05c9e1e..f1acbd2a 100644 --- a/frontend/src/pages/System/Role/types.ts +++ b/frontend/src/pages/System/Role/types.ts @@ -39,7 +39,6 @@ export interface RoleResponse extends BaseResponse { name: string; description?: string; sort: number; - enabled: boolean; tags?: RoleTagResponse[]; createTime: string; updateTime: string;