feat: 用户管理页面完善,编辑添加部门选择

This commit is contained in:
ray
2024-11-18 07:48:23 +08:00
parent 7a4eb30970
commit 8607a6f575
5 changed files with 724 additions and 78 deletions

130
src/api/system/dept.ts Normal file
View File

@@ -0,0 +1,130 @@
import request from "@/utils/request";
const DEPT_BASE_URL = "/api/v1/dept";
const DeptAPI = {
/**
* 获取部门列表
*
* @param queryParams 查询参数(可选)
* @returns 部门树形表格数据
*/
getList(queryParams?: DeptQuery) {
return request<DeptVO[]>({
url: `${DEPT_BASE_URL}`,
method: "GET",
data: queryParams,
});
},
/** 获取部门下拉列表 */
getOptions() {
return request<OptionType[]>({
url: `${DEPT_BASE_URL}/options`,
method: "GET",
});
},
/**
* 获取部门表单数据
*
* @param id 部门ID
* @returns 部门表单数据
*/
getFormData(id: number) {
return request<DeptForm>({
url: `${DEPT_BASE_URL}/${id}/form`,
method: "GET",
});
},
/**
* 新增部门
*
* @param data 部门表单数据
* @returns 请求结果
*/
add(data: DeptForm) {
return request({
url: `${DEPT_BASE_URL}`,
method: "POST",
data: data,
});
},
/**
* 修改部门
*
* @param id 部门ID
* @param data 部门表单数据
* @returns 请求结果
*/
update(id: number, data: DeptForm) {
return request({
url: `${DEPT_BASE_URL}/${id}`,
method: "PUT",
data: data,
});
},
/**
* 删除部门
*
* @param ids 部门ID多个以英文逗号(,)分隔
* @returns 请求结果
*/
deleteByIds(ids: string) {
return request({
url: `${DEPT_BASE_URL}/${ids}`,
method: "DELETE",
});
},
};
export default DeptAPI;
/** 部门查询参数 */
export interface DeptQuery {
/** 搜索关键字 */
keywords?: string;
/** 状态 */
status?: number;
}
/** 部门类型 */
export interface DeptVO {
/** 子部门 */
children?: DeptVO[];
/** 创建时间 */
createTime?: Date;
/** 部门ID */
id?: number;
/** 部门名称 */
name?: string;
/** 部门编号 */
code?: string;
/** 父部门ID */
parentId?: number;
/** 排序 */
sort?: number;
/** 状态(1:启用0:禁用) */
status?: number;
/** 修改时间 */
updateTime?: Date;
}
/** 部门表单类型 */
export interface DeptForm {
/** 部门ID(新增不填) */
id?: number;
/** 部门名称 */
name?: string;
/** 部门编号 */
code?: string;
/** 父部门ID */
parentId: number;
/** 排序 */
sort?: number;
/** 状态(1:启用0禁用) */
status?: number;
}

138
src/api/system/role.ts Normal file
View File

@@ -0,0 +1,138 @@
import request from "@/utils/request";
const ROLE_BASE_URL = "/api/v1/roles";
const RoleAPI = {
/** 获取角色分页数据 */
getPage(queryParams?: RolePageQuery) {
return request<PageResult<RolePageVO[]>>({
url: `${ROLE_BASE_URL}/page`,
method: "GET",
data: queryParams,
});
},
/** 获取角色下拉数据源 */
getOptions() {
return request<OptionType[]>({
url: `${ROLE_BASE_URL}/options`,
method: "GET",
});
},
/**
* 获取角色的菜单ID集合
*
* @param roleId 角色ID
* @returns 角色的菜单ID集合
*/
getRoleMenuIds(roleId: number) {
return request<number[]>({
url: `${ROLE_BASE_URL}/${roleId}/menuIds`,
method: "GET",
});
},
/**
* 分配菜单权限
*
* @param roleId 角色ID
* @param data 菜单ID集合
*/
updateRoleMenus(roleId: number, data: number[]) {
return request({
url: `${ROLE_BASE_URL}/${roleId}/menus`,
method: "PUT",
data: data,
});
},
/**
* 获取角色表单数据
*
* @param id 角色ID
* @returns 角色表单数据
*/
getFormData(id: number) {
return request<RoleForm>({
url: `${ROLE_BASE_URL}/${id}/form`,
method: "GET",
});
},
/** 添加角色 */
add(data: RoleForm) {
return request({
url: `${ROLE_BASE_URL}`,
method: "POST",
data: data,
});
},
/**
* 更新角色
*
* @param id 角色ID
* @param data 角色表单数据
*/
update(id: number, data: RoleForm) {
return request({
url: `${ROLE_BASE_URL}/${id}`,
method: "PUT",
data: data,
});
},
/**
* 批量删除角色,多个以英文逗号(,)分割
*
* @param ids 角色ID字符串多个以英文逗号(,)分割
*/
deleteByIds(ids: string) {
return request({
url: `${ROLE_BASE_URL}/${ids}`,
method: "DELETE",
});
},
};
export default RoleAPI;
/** 角色分页查询参数 */
export interface RolePageQuery extends PageQuery {
/** 搜索关键字 */
keywords?: string;
}
/** 角色分页对象 */
export interface RolePageVO {
/** 角色编码 */
code?: string;
/** 角色ID */
id?: number;
/** 角色名称 */
name?: string;
/** 排序 */
sort?: number;
/** 角色状态 */
status?: number;
/** 创建时间 */
createTime?: Date;
/** 修改时间 */
updateTime?: Date;
}
/** 角色表单对象 */
export interface RoleForm {
/** 角色ID */
id?: number;
/** 角色编码 */
code?: string;
/** 数据权限 */
dataScope?: number;
/** 角色名称 */
name?: string;
/** 排序 */
sort?: number;
/** 角色状态(1-正常0-停用) */
status?: number;
}

View File

@@ -27,6 +27,45 @@ const UserAPI = {
data: queryParams,
});
},
/**
* 添加用户
*
* @param data 用户表单数据
*/
add(data: UserForm) {
return request({
url: `${USER_BASE_URL}`,
method: "POST",
data: data,
});
},
/**
* 获取用户表单详情
*
* @param userId 用户ID
* @returns 用户表单详情
*/
getFormData(userId: number) {
return request<UserForm>({
url: `${USER_BASE_URL}/${userId}/form`,
method: "GET",
});
},
/**
* 修改用户
*
* @param id 用户ID
* @param data 用户表单数据
*/
update(id: number, data: UserForm) {
return request({
url: `${USER_BASE_URL}/${id}`,
method: "PUT",
data: data,
});
},
/** 获取个人中心用户信息 */
getProfile() {
@@ -84,16 +123,16 @@ const UserAPI = {
data: data,
});
},
/**
* 获取用户表单详情
* 批量删除用户,多个以英文逗号(,)分割
*
* @param userId 用户ID
* @returns 用户表单详情
* @param ids 用户ID字符串多个以英文逗号(,)分割
*/
getFormData(userId: number) {
return request<UserForm>({
url: `${USER_BASE_URL}/${userId}/form`,
method: "GET",
deleteByIds(ids: string) {
return request({
url: `${USER_BASE_URL}/${ids}`,
method: "DELETE",
});
},
};
@@ -142,7 +181,7 @@ export interface UserPageVO {
/** 用户头像URL */
avatar?: string;
/** 创建时间 */
createTime?: Date;
createTime?: string;
/** 部门名称 */
deptName?: string;
/** 用户邮箱 */
@@ -150,7 +189,7 @@ export interface UserPageVO {
/** 性别 */
gender?: number;
/** 用户ID */
id?: number;
id: number;
/** 手机号 */
mobile?: string;
/** 用户昵称 */
@@ -263,7 +302,7 @@ export interface UserForm {
/** 昵称 */
nickname?: string;
/** 角色ID集合 */
roleIds?: number[];
roleIds: number[];
/** 用户状态(1:正常;0:禁用) */
status?: number;
/** 用户名 */