blob: da997bf2a348df12f0889133407d81b126481ccf [file] [log] [blame]
86133aaa3f5d2025-04-20 21:33:29 +08001import { formatTreeData } from '@/utils/tree';
2import { request } from '@umijs/max';
3import { DataNode } from 'antd/es/tree';
4import { downLoadXlsx } from '@/utils/downloadfile';
5
6// 查询用户信息列表
7export async function getUserList(params?: API.System.UserListParams, options?: { [key: string]: any }) {
8 return request<API.System.UserPageResult>('/api/system/user/list', {
9 method: 'GET',
10 headers: {
11 'Content-Type': 'application/json;charset=UTF-8',
12 },
13 params,
14 ...(options || {})
15 });
16}
17
18// 查询用户信息详细
19export function getUser(userId: number, options?: { [key: string]: any }) {
20 return request<API.System.UserInfoResult>(`/api/system/user/${userId}`, {
21 method: 'GET',
22 ...(options || {})
23 });
24}
25
26// 新增用户信息
27export async function addUser(params: API.System.User, options?: { [key: string]: any }) {
28 return request<API.Result>('/api/system/user', {
29 method: 'POST',
30 headers: {
31 'Content-Type': 'application/json;charset=UTF-8',
32 },
33 data: params,
34 ...(options || {})
35 });
36}
37
38// 修改用户信息
39export async function updateUser(params: API.System.User, options?: { [key: string]: any }) {
40 return request<API.Result>('/api/system/user', {
41 method: 'PUT',
42 headers: {
43 'Content-Type': 'application/json;charset=UTF-8',
44 },
45 data: params,
46 ...(options || {})
47 });
48}
49
50// 删除用户信息
51export async function removeUser(ids: string, options?: { [key: string]: any }) {
52 return request<API.Result>(`/api/system/user/${ids}`, {
53 method: 'DELETE',
54 ...(options || {})
55 });
56}
57
58// 导出用户信息
59export function exportUser(params?: API.System.UserListParams, options?: { [key: string]: any }) {
60 return downLoadXlsx(`/api/system/user/export`, { params }, `user_${new Date().getTime()}.xlsx`);
61}
62
63// 用户状态修改
64export function changeUserStatus(userId: number, status: string) {
65 const data = {
66 userId,
67 status
68 }
69 return request<API.Result>('/api/system/user/changeStatus', {
70 method: 'put',
71 data: data
72 })
73}
74
75// 查询用户个人信息
76export function getUserProfile() {
77 return request('/api/system/user/profile', {
78 method: 'get'
79 })
80}
81
82export function updateUserProfile(data: API.CurrentUser) {
83 return request<API.Result>('/api/system/user/profile', {
84 method: 'put',
85 data: data
86 })
87}
88
89// 用户密码重置
90export function resetUserPwd(userId: number, password: string) {
91 const data = {
92 userId,
93 password
94 }
95 return request<API.Result>('/api/system/user/resetPwd', {
96 method: 'put',
97 data: data
98 })
99}
100
101// 用户t个人密码重置
102export function updateUserPwd(oldPassword: string, newPassword: string) {
103 const data = {
104 oldPassword,
105 newPassword
106 }
107 return request<API.Result>('/api/system/user/profile/updatePwd', {
108 method: 'put',
109 params: data
110 })
111}
112
113// 用户头像上传
114export function uploadAvatar(data: any) {
115 return request('/api/system/user/profile/avatar', {
116 method: 'post',
117 data: data
118 })
119}
120
121
122// 查询授权角色
123export function getAuthRole(userId: number) {
124 return request('/system/user/authRole/' + userId, {
125 method: 'get'
126 })
127}
128
129// 保存授权角色
130export function updateAuthRole(data: Record<string, any>) {
131 return request('/system/user/authRole', {
132 method: 'put',
133 params: data
134 })
135}
136
137// 获取数据列表
138export function getDeptTree(params: any): Promise<DataNode[]> {
139 return new Promise((resolve) => {
140 request(`/api/system/user/deptTree`, {
141 method: 'get',
142 params,
143 }).then((res: any) => {
144 if (res && res.code === 200) {
145 const treeData = formatTreeData(res.data);
146 resolve(treeData);
147 } else {
148 resolve([]);
149 }
150 });
151 });
152}