user-operate.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. import { http } from '@/utils/http/axios';
  2. import type { PaginationResponse } from '@/types/common/type';
  3. export interface UserType {
  4. userId?: number;
  5. password?: string;
  6. deptId?: number | null;
  7. username?: string;
  8. staffNo?: string;
  9. mobile?: string;
  10. isDisabled?: boolean | number;
  11. realname?: string;
  12. roleIdList?: number[];
  13. passwordRe?: string;
  14. /** 租户id */
  15. tenantId?: number;
  16. }
  17. interface AdminUserType {
  18. /** 昵称 */
  19. nickname: string;
  20. /** 登录用户名 */
  21. username: string;
  22. /** 部门id */
  23. deptId?: number;
  24. /** 员工编号 */
  25. staffNo?: string;
  26. /** 密码 */
  27. password: string;
  28. /** 所属租户id */
  29. tenantId: number;
  30. }
  31. export interface DeptListItem {
  32. children: [];
  33. createdAt: string;
  34. createdBy: string;
  35. deptName: string;
  36. id: number;
  37. isDeleted: number;
  38. isDisabled: number;
  39. orderNum: number;
  40. parentId: string;
  41. tenantId: number;
  42. updatedAt: string;
  43. updatedBy: string;
  44. }
  45. export interface RoleListItem {
  46. createdAt: string;
  47. createdBy: number;
  48. id: number;
  49. isDeleted: number;
  50. roleName: string;
  51. tenantId: number;
  52. updatedAt: string;
  53. updatedBy: null;
  54. }
  55. export interface UserLisItem {
  56. avatar: string;
  57. createdAt: string;
  58. createdBy: null;
  59. deptId: number;
  60. deptList: DeptListItem[];
  61. email: null;
  62. gender: null;
  63. id: number;
  64. isDeleted: number;
  65. isDisabled: number;
  66. mobile: null;
  67. password: string;
  68. realname: string;
  69. remark: null;
  70. roleList: RoleListItem[];
  71. roleType: number;
  72. staffNo: string;
  73. tenantId: number;
  74. updatedAt: string;
  75. updatedBy: null;
  76. username: string;
  77. }
  78. /** root用户给某个租户添加管理员 */
  79. export function addAdminUser(params: AdminUserType) {
  80. return http.request({
  81. url: '/user/adds',
  82. method: 'POST',
  83. params,
  84. });
  85. }
  86. // 添加普通用户-交付管理员
  87. export function addSingleUser(params: UserType) {
  88. return http.request(
  89. {
  90. url: '/admin/user/saveUser',
  91. method: 'POST',
  92. params,
  93. },
  94. {
  95. isTransformResponse: false,
  96. },
  97. );
  98. }
  99. //添加批量用户
  100. export function addMultipleUser(params: File) {
  101. return http.request({
  102. url: '/user/import',
  103. method: 'POST',
  104. params,
  105. });
  106. }
  107. export interface UserTypeDel {
  108. deleteStatus?: string;
  109. deptId?: number;
  110. email?: string;
  111. isEnable?: boolean;
  112. mobile?: string;
  113. nickname?: string;
  114. opertor?: string;
  115. password?: string;
  116. postId?: string;
  117. remark?: string;
  118. roleIds?: string[];
  119. sex?: string;
  120. staffNo?: string;
  121. userId?: number;
  122. username?: string;
  123. updateTime?: string;
  124. createTime?: string;
  125. certify?: string;
  126. }
  127. export interface UserProps {
  128. userId: number;
  129. }
  130. //删除用户
  131. export function delUser(params: UserProps) {
  132. return http.request({
  133. url: '/admin/user/deleteUser',
  134. method: 'POST',
  135. params,
  136. });
  137. }
  138. //修改用户
  139. export function updateUser(params: UserType) {
  140. return http.request(
  141. {
  142. url: '/admin/user/updateUser',
  143. method: 'POST',
  144. params,
  145. },
  146. {
  147. isTransformResponse: false,
  148. },
  149. );
  150. }
  151. //获取单个用户信息
  152. // export function getUser(params: string): Promise<UserType> {
  153. // return http.request({
  154. // url: '/user/info',
  155. // method: 'get',
  156. // params,
  157. // });
  158. // }
  159. export interface UserList {
  160. pageNumber: number;
  161. totalPage: number;
  162. pageSize: number;
  163. page: number;
  164. records: UserTypeDel[];
  165. totalCount: number;
  166. pageNum: number;
  167. }
  168. export interface QueryUser {
  169. staffNo?: string; //工号
  170. realname?: string; //姓名
  171. mobile?: string; //手机号
  172. roleName?: string; //角色
  173. deptName?: string; //组织
  174. pageNumber?: number; //当前页数
  175. pageSize?: number; //每页个数
  176. deptId?: string;
  177. roleId?: string;
  178. userName: string; //登录用户
  179. }
  180. export interface UserPramas {
  181. realname?: string; // 用户姓名
  182. mobile?: string; // 手机号
  183. staffNo?: string; // 工号
  184. deptId?: number; // 部门
  185. roleId?: number; // 角色id
  186. }
  187. export interface QueryUserPramas {
  188. pageNumber: number; //当前页数
  189. pageSize: number; //每页个数
  190. queryParam: UserPramas;
  191. }
  192. //获取单个用户信息
  193. export function getUserList(params: QueryUserPramas | null): Promise<PaginationResponse<UserLisItem>> {
  194. return http.request({
  195. url: '/admin/user/queryUserPage',
  196. method: 'post',
  197. params,
  198. });
  199. }
  200. /* V4: 修改密码参数 */
  201. interface ResetCodeType {
  202. userId: number;
  203. newPwd: string;
  204. }
  205. // V4: 修改密码
  206. export function resetCode(data: ResetCodeType) {
  207. return http.request({
  208. url: '/admin/user/changePassword',
  209. method: 'POST',
  210. data,
  211. });
  212. }
  213. export interface AddTenantAdminProps {
  214. username: string;
  215. realname: string;
  216. roleIdList: number[];
  217. isDisabled: boolean | number;
  218. password: string;
  219. userId?: number;
  220. passwordRe?: string;
  221. }
  222. // V4: 添加租户管理员
  223. export function addTenantAdmin(data: AddTenantAdminProps) {
  224. return http.request({
  225. url: 'admin/user/saveTenantAdmin',
  226. method: 'POST',
  227. data,
  228. });
  229. }
  230. // V4: 删除用户
  231. export function deleteUser(params: UserProps) {
  232. return http.request(
  233. {
  234. url: `admin/user/deleteUser?userId=${params.userId}`,
  235. method: 'DELETE',
  236. },
  237. {
  238. isTransformResponse: false,
  239. },
  240. );
  241. }