1. 登录返回总公司,分公司,部门信息。
2. 修改角色权限管理的分配用户的数据渲染和接口。 3. 交叉评查任务的创建的组织架构组件的重构。
This commit is contained in:
@@ -111,7 +111,16 @@ export interface RoleRoutePermission {
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
* 用户角色信息(用于用户列表中的角色显示)
|
||||
*/
|
||||
export interface UserRoleInfo {
|
||||
role_id: number;
|
||||
role_key: string;
|
||||
role_name: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户信息(v3.4: 增加角色信息)
|
||||
*/
|
||||
export interface UserInfo {
|
||||
id: number;
|
||||
@@ -123,6 +132,10 @@ export interface UserInfo {
|
||||
ou_name: string; // 部门名称,用于组织显示(部门级别)
|
||||
status: number;
|
||||
is_leader: boolean;
|
||||
// v3.4: 用户角色信息(从 /api/v3/rbac/users 返回)
|
||||
roles?: UserRoleInfo[];
|
||||
tenant_name?: string; // 租户名称(多租户场景)
|
||||
dep_name?: string; // 部门名称(多租户场景)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -664,6 +677,7 @@ export async function getRoleUsers(
|
||||
/**
|
||||
* 获取所有用户列表
|
||||
* @param params 查询参数
|
||||
* @deprecated 请使用 getUsersWithRoles 替代
|
||||
*/
|
||||
export async function getAllUsers(params?: {
|
||||
page?: number;
|
||||
@@ -726,6 +740,80 @@ export async function getAllUsers(params?: {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* v3.4: 获取用户列表(含角色信息)
|
||||
* 使用统一的 /api/v3/rbac/users 接口,一次性获取用户和角色信息
|
||||
* @param params 查询参数
|
||||
*/
|
||||
export async function getUsersWithRoles(params?: {
|
||||
page?: number;
|
||||
page_size?: number;
|
||||
area?: string;
|
||||
nick_name?: string;
|
||||
}): Promise<{
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
items: UserInfo[];
|
||||
}> {
|
||||
try {
|
||||
const queryParams: Record<string, any> = {};
|
||||
if (params?.page) queryParams.page = params.page;
|
||||
if (params?.page_size) queryParams.page_size = params.page_size;
|
||||
if (params?.area) queryParams.area = params.area;
|
||||
if (params?.nick_name) queryParams.nick_name = params.nick_name;
|
||||
|
||||
const response = await get<any>('/api/v3/rbac/users', queryParams);
|
||||
|
||||
if (response.error) {
|
||||
throw new Error(response.error);
|
||||
}
|
||||
|
||||
// 后端响应格式: { code: 200, message: "success", data: { total, page, page_size, items: [...] } }
|
||||
let data: any;
|
||||
if (response.data?.data) {
|
||||
data = response.data.data;
|
||||
} else if (response.data?.code === 200 && response.data) {
|
||||
data = response.data;
|
||||
} else {
|
||||
data = response.data;
|
||||
}
|
||||
|
||||
// console.log('获取的用户列表', data )
|
||||
|
||||
const items: UserInfo[] = (data.items || []).map((user: any) => ({
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
nick_name: user.nick_name,
|
||||
phone_number: user.phone_number || '',
|
||||
email: user.email || '',
|
||||
area: user.area || '',
|
||||
ou_name: user.ou_name,
|
||||
ou_id: user.ou_id,
|
||||
status: user.status || 0,
|
||||
is_leader: user.is_leader || false,
|
||||
roles: user.roles || [],
|
||||
dep_name: user.dep_name,
|
||||
tenant_name: user.tenant_name
|
||||
}));
|
||||
|
||||
return {
|
||||
total: data.total || 0,
|
||||
page: data.page || 1,
|
||||
page_size: data.page_size || 50,
|
||||
items
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('❌ [getUsersWithRoles] 获取用户列表失败:', error);
|
||||
return {
|
||||
total: 0,
|
||||
page: 1,
|
||||
page_size: 50,
|
||||
items: []
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 为用户分配角色
|
||||
* @param userId 用户ID
|
||||
|
||||
Reference in New Issue
Block a user