feat(role): 新增角色权限分配功能并优化界面显示

refactor(menu): 重构菜单类型枚举和权限数据结构
fix(log): 修复日志类型显示和查询问题
style(common): 重命名部门树格式化函数为通用树格式化函数
perf(store): 移除控制台日志输出
docs(tsconfig): 添加Vite客户端类型注释
chore(package): 调整依赖项顺序
This commit is contained in:
zhangtao
2025-07-20 15:39:00 +08:00
parent 5de06e5bc6
commit 7204e011d9
33 changed files with 1507 additions and 1034 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import request from "@/utils/request";
const DeptAPI = {
getDeptList(query: DeptPageQuery) {
getDeptList(query?: DeptPageQuery) {
return request<ApiResponse<PageResult<DeptTable[]>>>({
url: `/system/dept/list`,
method: "get",
+2
View File
@@ -37,6 +37,7 @@ const LogAPI = {
export default LogAPI;
export interface LogPageQuery extends PageQuery {
type?: number;
request_path?: string;
creator_name?: string;
/** 开始时间 */
@@ -47,6 +48,7 @@ export interface LogPageQuery extends PageQuery {
export interface LogTable {
id?: number;
type?: number; // 1 登录日志 2 操作日志
request_path?: string;
request_method?: string;
request_ip?: string;
+3 -3
View File
@@ -1,7 +1,7 @@
import request from "@/utils/request";
const MenuAPI = {
getMenuList(query: MenuPageQuery) {
getMenuList(query?: MenuPageQuery) {
return request<ApiResponse<PageResult<MenuTable[]>>>({
url: `/system/menu/list`,
method: "get",
@@ -78,7 +78,7 @@ export interface MenuTable {
hidden?: boolean;
always_show?: boolean;
title?: string;
params?: string;
params?: { key: string; value: string; }[];
affix?: boolean;
status?: boolean;
description?: string;
@@ -103,7 +103,7 @@ export interface MenuForm {
hidden?: boolean;
always_show?: boolean;
title?: string;
params?: string;
params?: { key: string; value: string; }[];
affix?: boolean;
status?: boolean;
description?: string;
+13 -13
View File
@@ -106,26 +106,26 @@ export interface RoleForm {
}
export interface permissionDataType {
role_ids?: RoleTable["id"][];
menu_ids?: permissionMenuType["id"][];
data_scope?: number;
dept_ids?: number[];
role_ids: RoleTable["id"][];
menu_ids: permissionMenuType["id"][];
data_scope: number;
dept_ids: permissionDeptType["id"][];
}
export interface permissionDeptType {
id?: number;
name?: string;
parent_id?: number;
children?: permissionDeptType[];
id: number;
name: string;
parent_id: number;
children: permissionDeptType[];
}
export interface permissionMenuType {
id?: number;
name?: string;
type?: number;
permission?: string;
id: number;
name: string;
type: number;
permission: string;
parent_id?: number;
status?: boolean;
status: boolean;
description?: string;
children?: permissionMenuType[];
}