157 lines
3.2 KiB
TypeScript
157 lines
3.2 KiB
TypeScript
import type {
|
|
DeptTreeData,
|
|
ResetPwdParam,
|
|
User,
|
|
UserImportParam,
|
|
} from './model';
|
|
|
|
import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
|
|
|
|
import { commonExport, ContentTypeEnum } from '#/api/helper';
|
|
import { requestClient } from '#/api/request';
|
|
|
|
enum Api {
|
|
deptTree = '/dept/tree',
|
|
listDeptUsers = '/user/dept',
|
|
root = '/user',
|
|
userAuthRole = '/user/authRole',
|
|
userExport = '/user/export',
|
|
userImport = '/user/importData',
|
|
userImportTemplate = '/user/importTemplate',
|
|
userResetPassword = '/account/rest-password',
|
|
}
|
|
|
|
/**
|
|
* 获取用户列表
|
|
* @param params
|
|
* @returns User
|
|
*/
|
|
export function userList(params?: PageQuery) {
|
|
return requestClient.get<PageResult<User>>(Api.root, { params });
|
|
}
|
|
|
|
/**
|
|
* 导出excel
|
|
* @param data data
|
|
* @returns blob
|
|
*/
|
|
export function userExport(data: Partial<User>) {
|
|
return commonExport(Api.userExport, data);
|
|
}
|
|
|
|
/**
|
|
* 从excel导入用户
|
|
* @param data
|
|
* @returns void
|
|
*/
|
|
export function userImportData(data: UserImportParam) {
|
|
return requestClient.post<{ code: number; msg: string }>(
|
|
Api.userImport,
|
|
data,
|
|
{
|
|
headers: {
|
|
'Content-Type': ContentTypeEnum.FORM_DATA,
|
|
},
|
|
isTransformResponse: false,
|
|
},
|
|
);
|
|
}
|
|
|
|
/**
|
|
* 下载用户导入模板
|
|
* @returns blob
|
|
*/
|
|
export function downloadImportTemplate() {
|
|
return requestClient.post<Blob>(
|
|
Api.userImportTemplate,
|
|
{},
|
|
{
|
|
isTransformResponse: false,
|
|
responseType: 'blob',
|
|
},
|
|
);
|
|
}
|
|
|
|
/**
|
|
* 可以不传ID 返回部门和角色options 需要获得原始数据
|
|
* 不传ID时一定要带最后的/
|
|
* @param userId 用户ID
|
|
* @returns 用户信息
|
|
*/
|
|
export function findUserInfo(userId: ID) {
|
|
return requestClient.get<User>(`${Api.root}/${userId}`);
|
|
}
|
|
|
|
/**
|
|
* 新增用户
|
|
* @param data data
|
|
* @returns void
|
|
*/
|
|
export function userAdd(data: Partial<User>) {
|
|
return requestClient.postWithMsg<void>(Api.root, data);
|
|
}
|
|
|
|
/**
|
|
* 更新用户
|
|
* @param data data
|
|
* @returns void
|
|
*/
|
|
export function userUpdate(data: Partial<User>) {
|
|
return requestClient.putWithMsg<void>(`${Api.root}/${data.id}`, data);
|
|
}
|
|
|
|
/**
|
|
* 删除用户
|
|
* @param userIds 用户ID数组
|
|
* @returns void
|
|
*/
|
|
export function userRemove(userIds: IDS) {
|
|
return requestClient.deleteWithMsg<void>(Api.root, {
|
|
params: { ids: userIds.join(',') },
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 重置用户密码 需要加密
|
|
* @param data
|
|
* @returns void
|
|
*/
|
|
export function userResetPassword(data: ResetPwdParam) {
|
|
return requestClient.putWithMsg<void>(`${Api.userResetPassword}/${data.id}`, data, {
|
|
encrypt: true,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 这个方法未调用过
|
|
* @param userId
|
|
* @returns void
|
|
*/
|
|
export function getUserAuthRole(userId: ID) {
|
|
return requestClient.get(`${Api.userAuthRole}/${userId}`);
|
|
}
|
|
|
|
/**
|
|
* 这个方法未调用过
|
|
* @param userId
|
|
* @returns void
|
|
*/
|
|
export function userAuthRoleUpdate(userId: ID, roleIds: number[]) {
|
|
return requestClient.putWithMsg(Api.userAuthRole, { roleIds, userId });
|
|
}
|
|
|
|
/**
|
|
* 获取部门树
|
|
* @returns 部门树数组
|
|
*/
|
|
export function getDeptTree() {
|
|
return requestClient.get<DeptTreeData[]>(Api.deptTree);
|
|
}
|
|
|
|
/**
|
|
* 获取部门下的所有用户信息
|
|
*/
|
|
export function listUserByDeptId(deptId: ID) {
|
|
return requestClient.get<User[]>(`${Api.listDeptUsers}/${deptId}`);
|
|
}
|