import { DeptVO } from './../dept/types'; import { RoleVO } from '@/api/system/role/types'; import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { UserForm, UserQuery, UserVO, UserInfoVO } from './types'; import { parseStrEmpty } from '@/utils/ruoyi'; /** * 查询用户列表 * @param query */ export function listUser(query: UserQuery): AxiosPromise { return request({ url: '/system/user/list', method: 'get', params: query }); } /** * 获取用户详情 * @param userId */ export function getUser(userId?: string | number): AxiosPromise { return request({ url: '/system/user/' + parseStrEmpty(userId), method: 'get' }); } /** * 新增用户 */ export function addUser(data: UserForm) { return request({ url: '/system/user', method: 'post', data: data }); } /** * 修改用户 */ export function updateUser(data: UserForm) { return request({ url: '/system/user', method: 'put', data: data }); } /** * 删除用户 * @param userId 用户ID */ export function delUser(userId: Array | string | number) { return request({ url: '/system/user/' + userId, method: 'delete' }); } /** * 用户密码重置 * @param userId 用户ID * @param password 密码 */ export function resetUserPwd(userId: string | number, password: string) { const data = { userId, password }; return request({ url: '/system/user/resetPwd', method: 'put', data: data }); } /** * 用户状态修改 * @param userId 用户ID * @param status 用户状态 */ export function changeUserStatus(userId: number | string, status: string) { const data = { userId, status }; return request({ url: '/system/user/changeStatus', method: 'put', data: data }); } /** * 查询用户个人信息 */ export function getUserProfile(): AxiosPromise { return request({ url: '/system/user/profile', method: 'get' }); } /** * 修改用户个人信息 * @param data 用户信息 */ export function updateUserProfile(data: UserForm) { return request({ url: '/system/user/profile', method: 'put', data: data }); } /** * 用户密码重置 * @param oldPassword 旧密码 * @param newPassword 新密码 */ export function updateUserPwd(oldPassword: string, newPassword: string) { const data = { oldPassword, newPassword }; return request({ url: '/system/user/profile/updatePwd', method: 'put', params: data }); } /** * 用户头像上传 * @param data 头像文件 */ export function uploadAvatar(data: FormData) { return request({ url: '/system/user/profile/avatar', method: 'post', data: data }); } /** * 查询授权角色 * @param userId 用户ID */ export function getAuthRole(userId: string | number): AxiosPromise<{ user: UserVO; roles: RoleVO[] }> { return request({ url: '/system/user/authRole/' + userId, method: 'get' }); } /** * 保存授权角色 * @param data 用户ID */ export function updateAuthRole(data: { userId: string; roleIds: string }) { return request({ url: '/system/user/authRole', method: 'put', params: data }); } /** * 查询部门下拉树结构 */ export function deptTreeSelect(): AxiosPromise { return request({ url: '/system/user/deptTree', method: 'get' }); }