fix: 修复部门多级下拉菜单回显错误问题
Former-commit-id: 66e0a0c5a7afd8b0531707b52c2107e511eafc32
This commit is contained in:
187
src/types/api/system/user.d.ts
vendored
187
src/types/api/system/user.d.ts
vendored
@@ -1,67 +1,160 @@
|
|||||||
import { PageQueryParam, PageResult } from '../base';
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import {
|
||||||
|
UserFormData,
|
||||||
|
UserInfo,
|
||||||
|
UserPageResult,
|
||||||
|
UserQueryParam
|
||||||
|
} from '@/types/api/system/user';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录用户类型声明
|
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
|
||||||
*/
|
*/
|
||||||
export interface UserInfo {
|
export function getUserInfo(): AxiosPromise<UserInfo> {
|
||||||
nickname: string;
|
return request({
|
||||||
avatar: string;
|
url: '/youlai-admin/api/v1/users/me',
|
||||||
roles: string[];
|
method: 'get'
|
||||||
perms: string[];
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户查询参数类型声明
|
* 获取用户分页列表
|
||||||
|
*
|
||||||
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export interface UserQueryParam extends PageQueryParam {
|
export function listUserPages(
|
||||||
keywords: string;
|
queryParams: UserQueryParam
|
||||||
status: number;
|
): AxiosPromise<UserPageResult> {
|
||||||
deptId: number;
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/pages',
|
||||||
|
method: 'get',
|
||||||
|
params: queryParams
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户分页列表项声明
|
* 获取用户表单详情
|
||||||
|
*
|
||||||
|
* @param userId
|
||||||
*/
|
*/
|
||||||
export interface UserItem {
|
export function getUserFormData(userId: number): AxiosPromise<UserFormData> {
|
||||||
id: string;
|
return request({
|
||||||
username: string;
|
url: '/youlai-admin/api/v1/users/' + userId + '/form_data',
|
||||||
nickname: string;
|
method: 'get'
|
||||||
mobile: string;
|
});
|
||||||
gender: number;
|
|
||||||
avatar: string;
|
|
||||||
email: string;
|
|
||||||
status: number;
|
|
||||||
deptName: string;
|
|
||||||
roleNames: string;
|
|
||||||
createTime: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户分页项类型声明
|
* 添加用户
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
*/
|
*/
|
||||||
export type UserPageResult = PageResult<UserItem[]>;
|
export function addUser(data: any) {
|
||||||
|
return request({
|
||||||
/**
|
url: '/youlai-admin/api/v1/users',
|
||||||
* 用户表单类型声明
|
method: 'post',
|
||||||
*/
|
data: data
|
||||||
export interface UserFormData {
|
});
|
||||||
id: number | undefined;
|
|
||||||
deptId: number;
|
|
||||||
username: string;
|
|
||||||
nickname: string;
|
|
||||||
password: string;
|
|
||||||
mobile: string;
|
|
||||||
email: string;
|
|
||||||
gender: number;
|
|
||||||
status: number;
|
|
||||||
remark: string;
|
|
||||||
roleIds: number[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户导入表单类型声明
|
* 修改用户
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param data
|
||||||
*/
|
*/
|
||||||
export interface UserImportFormData {
|
export function updateUser(id: number, data: UserFormData) {
|
||||||
deptId: number;
|
return request({
|
||||||
roleIds: number[];
|
url: '/youlai-admin/api/v1/users/' + id,
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户状态
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param status
|
||||||
|
*/
|
||||||
|
export function updateUserStatus(id: number, status: number) {
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/' + id + '/status',
|
||||||
|
method: 'patch',
|
||||||
|
params: { status: status }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户密码
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param password
|
||||||
|
*/
|
||||||
|
export function updateUserPassword(id: number, password: string) {
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/' + id + '/password',
|
||||||
|
method: 'patch',
|
||||||
|
params: { password: password }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
*/
|
||||||
|
export function deleteUsers(ids: string) {
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/' + ids,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载用户导入模板
|
||||||
|
*
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function downloadTemplate() {
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/template',
|
||||||
|
method: 'get',
|
||||||
|
responseType: 'arraybuffer'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出用户
|
||||||
|
*
|
||||||
|
* @param queryParams
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function exportUser(queryParams: UserQueryParam) {
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/_export',
|
||||||
|
method: 'get',
|
||||||
|
params: queryParams,
|
||||||
|
responseType: 'arraybuffer'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入用户
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
*/
|
||||||
|
export function importUser(deptId: number, roleIds: string, file: File) {
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append('file', file);
|
||||||
|
formData.append('deptId', deptId.toString());
|
||||||
|
formData.append('roleIds', roleIds);
|
||||||
|
return request({
|
||||||
|
url: '/youlai-admin/api/v1/users/_import',
|
||||||
|
method: 'post',
|
||||||
|
data: formData,
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
// 导入API
|
// 导入API
|
||||||
import {
|
import {
|
||||||
listUserPages,
|
listUserPages,
|
||||||
getUserFormData,
|
getUserDetail,
|
||||||
deleteUsers,
|
deleteUsers,
|
||||||
addUser,
|
addUser,
|
||||||
updateUser,
|
updateUser,
|
||||||
@@ -272,27 +272,28 @@ function resetPassword(row: { [key: string]: any }) {
|
|||||||
* 添加用户
|
* 添加用户
|
||||||
**/
|
**/
|
||||||
async function handleAdd() {
|
async function handleAdd() {
|
||||||
await loadDeptOptions();
|
|
||||||
await loadRoleOptions();
|
|
||||||
state.dialog = {
|
state.dialog = {
|
||||||
title: '添加用户',
|
title: '添加用户',
|
||||||
visible: true
|
visible: true
|
||||||
};
|
};
|
||||||
|
await loadDeptOptions();
|
||||||
|
await loadRoleOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改用户
|
* 修改用户
|
||||||
**/
|
**/
|
||||||
async function handleUpdate(row: { [key: string]: any }) {
|
async function handleUpdate(row: { [key: string]: any }) {
|
||||||
const userId = row.id || state.ids;
|
|
||||||
await loadDeptOptions();
|
|
||||||
await loadRoleOptions();
|
|
||||||
state.dialog = {
|
state.dialog = {
|
||||||
title: '修改用户',
|
title: '修改用户',
|
||||||
visible: true
|
visible: true
|
||||||
};
|
};
|
||||||
getUserFormData(userId).then(({ data }) => {
|
|
||||||
state.formData = data;
|
const userId = row.id || state.ids;
|
||||||
|
await loadDeptOptions();
|
||||||
|
await loadRoleOptions();
|
||||||
|
getUserDetail(userId).then(({ data }) => {
|
||||||
|
formData.value = data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,7 +399,7 @@ function handleDownloadTemplate() {
|
|||||||
async function showImportDialog() {
|
async function showImportDialog() {
|
||||||
await loadDeptOptions();
|
await loadDeptOptions();
|
||||||
await loadRoleOptions();
|
await loadRoleOptions();
|
||||||
state.importDialog.visible = true;
|
importDialog.value.visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -714,6 +715,7 @@ onMounted(() => {
|
|||||||
:data="deptOptions"
|
:data="deptOptions"
|
||||||
filterable
|
filterable
|
||||||
check-strictly
|
check-strictly
|
||||||
|
:render-after-expand="false"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user