From 7a9ccedadcd7f6a27d6c2a40b2083a899dae4732 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 11 十二月 2024 15:30:44 +0800
Subject: [PATCH] update 优化 新增编辑用户 过滤禁用的部门

---
 src/api/system/user/index.ts |  261 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 155 insertions(+), 106 deletions(-)

diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts
index d25e16c..0867c48 100644
--- a/src/api/system/user/index.ts
+++ b/src/api/system/user/index.ts
@@ -1,4 +1,4 @@
-import { DeptVO } from './../dept/types';
+import {DeptTreeVO, DeptVO} from './../dept/types';
 import { RoleVO } from '@/api/system/role/types';
 import request from '@/utils/request';
 import { AxiosPromise } from 'axios';
@@ -9,172 +9,221 @@
  * 鏌ヨ鐢ㄦ埛鍒楄〃
  * @param query
  */
-export function listUser(query: UserQuery): AxiosPromise<UserVO[]> {
-	return request({
-		url: '/system/user/list',
-		method: 'get',
-		params: query
-	});
-}
+export const listUser = (query: UserQuery): AxiosPromise<UserVO[]> => {
+  return request({
+    url: '/system/user/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 閫氳繃鐢ㄦ埛ids鏌ヨ鐢ㄦ埛
+ * @param userIds
+ */
+export const optionSelect = (userIds: (number | string)[]): AxiosPromise<UserVO[]> => {
+  return request({
+    url: '/system/user/optionselect?userIds=' + userIds,
+    method: 'get'
+  });
+};
 
 /**
  * 鑾峰彇鐢ㄦ埛璇︽儏
  * @param userId
  */
-export function getUser(userId?: string | number): AxiosPromise<UserInfoVO> {
-	return request({
-		url: '/system/user/' + parseStrEmpty(userId),
-		method: 'get'
-	});
-}
+export const getUser = (userId?: string | number): AxiosPromise<UserInfoVO> => {
+  return request({
+    url: '/system/user/' + parseStrEmpty(userId),
+    method: 'get'
+  });
+};
 
 /**
  * 鏂板鐢ㄦ埛
  */
-export function addUser(data: UserForm) {
-	return request({
-		url: '/system/user',
-		method: 'post',
-		data: data
-	});
-}
+export const 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
-	});
-}
+export const updateUser = (data: UserForm) => {
+  return request({
+    url: '/system/user',
+    method: 'put',
+    data: data
+  });
+};
 
 /**
  * 鍒犻櫎鐢ㄦ埛
  * @param userId 鐢ㄦ埛ID
  */
-export function delUser(userId: Array<string | number> | string | number) {
-	return request({
-		url: '/system/user/' + userId,
-		method: 'delete'
-	});
-}
+export const delUser = (userId: Array<string | number> | 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
-	});
-}
+export const resetUserPwd = (userId: string | number, password: string) => {
+  const data = {
+    userId,
+    password
+  };
+  return request({
+    url: '/system/user/resetPwd',
+    method: 'put',
+    headers: {
+      isEncrypt: true,
+      repeatSubmit: false
+    },
+    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 const changeUserStatus = (userId: number | string, status: string) => {
+  const data = {
+    userId,
+    status
+  };
+  return request({
+    url: '/system/user/changeStatus',
+    method: 'put',
+    data: data
+  });
+};
 
 /**
  * 鏌ヨ鐢ㄦ埛涓汉淇℃伅
  */
-export function getUserProfile(): AxiosPromise<UserInfoVO> {
-	return request({
-		url: '/system/user/profile',
-		method: 'get'
-	});
-}
+export const getUserProfile = (): AxiosPromise<UserInfoVO> => {
+  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
-	});
-}
+export const 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
-	});
-}
+export const updateUserPwd = (oldPassword: string, newPassword: string) => {
+  const data = {
+    oldPassword,
+    newPassword
+  };
+  return request({
+    url: '/system/user/profile/updatePwd',
+    method: 'put',
+    headers: {
+      isEncrypt: true,
+      repeatSubmit: false
+    },
+    data: data
+  });
+};
 
 /**
  * 鐢ㄦ埛澶村儚涓婁紶
  * @param data 澶村儚鏂囦欢
  */
-export function uploadAvatar(data: FormData) {
-	return request({
-		url: '/system/user/profile/avatar',
-		method: 'post',
-		data: data
-	});
-}
+export const 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'
-	});
-}
+export const 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 const updateAuthRole = (data: { userId: string; roleIds: string }) => {
+  return request({
+    url: '/system/user/authRole',
+    method: 'put',
+    params: data
+  });
+};
+
+/**
+ * 鏌ヨ褰撳墠閮ㄩ棬鐨勬墍鏈夌敤鎴蜂俊鎭�
+ * @param deptId
+ */
+export const listUserByDeptId = (deptId: string | number): AxiosPromise<UserVO[]> => {
+  return request({
+    url: '/system/user/list/dept/' + deptId,
+    method: 'get'
+  });
+};
 
 /**
  * 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋�
  */
-export function deptTreeSelect(): AxiosPromise<DeptVO[]> {
-	return request({
-		url: '/system/user/deptTree',
-		method: 'get'
-	});
-}
+export const deptTreeSelect = (): AxiosPromise<DeptTreeVO[]> => {
+  return request({
+    url: '/system/user/deptTree',
+    method: 'get'
+  });
+};
+
+export default {
+  listUser,
+  getUser,
+  optionSelect,
+  addUser,
+  updateUser,
+  delUser,
+  resetUserPwd,
+  changeUserStatus,
+  getUserProfile,
+  updateUserProfile,
+  updateUserPwd,
+  uploadAvatar,
+  getAuthRole,
+  updateAuthRole,
+  deptTreeSelect,
+  listUserByDeptId
+};

--
Gitblit v1.9.3