feat: 新增用户导入导出和导入模板下载功能

This commit is contained in:
郝先瑞
2022-04-13 00:18:08 +08:00
parent 3e30a6eba8
commit c260d39b1c
4 changed files with 301 additions and 215 deletions

View File

@@ -1,6 +1,6 @@
import request from "@/utils/request";
import { AxiosPromise } from "axios";
import { UserFormData, UserInfo, UserPageResult, UserQueryParam } from "@/types";
import { UserFormData, UserImportFormData, UserInfo, UserPageResult, UserQueryParam } from "@/types";
/**
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
@@ -30,9 +30,9 @@ export function listUsersPage(queryParams: UserQueryParam): AxiosPromise<UserPag
*
* @param userId
*/
export function getUserFormDetail(userId: number):AxiosPromise<UserFormData> {
export function getUserDetail(userId: number): AxiosPromise<UserFormData> {
return request({
url: '/youlai-admin/api/v1/users/' + userId + '/form_detail',
url: '/youlai-admin/api/v1/users/' + userId,
method: 'get'
})
}
@@ -80,6 +80,7 @@ export function updateUserPart(id: number, data: any) {
/**
* 删除用户
*
* @param ids
*/
export function deleteUsers(ids: string) {
@@ -88,3 +89,51 @@ export function deleteUsers(ids: string) {
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',
responseType: "arraybuffer"
})
}
/**
* 导入用户
*
* @param file
*/
export function importUser(deptId: number, roleIds: string, file: File) {
let 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'
}
})
}