ether-admin/src/api/userManagement.ts

53 lines
1.8 KiB
TypeScript

import request from '@/utils/request'
import type { User, ApiResponse, PageResponse } from '@/types'
// 获取企业员工列表(用于项目管理添加成员)
export const getEnterpriseUsers = (params?: { keyword?: string }) => {
return request.get<ApiResponse<User[]>>('/api/auth/users/enterprise', { params })
}
// 获取项目成员列表
export const getProjectMembers = (projectId: string, params?: { page?: number; size?: number }) => {
return request.get<ApiResponse<PageResponse<User>>>(`/api/auth/projects/${projectId}/members`, { params })
}
// 获取可添加的成员列表(排除已添加的)
export const getAvailableMembers = (projectId: string) => {
return request.get<ApiResponse<User[]>>(`/api/auth/projects/${projectId}/available-members`)
}
// 添加项目成员
export const addProjectMember = (projectId: string, data: { userId: string; staffType: string; roleIds?: string[] }) => {
return request.post(`/api/auth/projects/${projectId}/members`, data)
}
// 移除项目成员
export const removeProjectMember = (projectId: string, userId: string) => {
return request.delete(`/api/auth/projects/${projectId}/members/${userId}`)
}
// 获取部门树
export const getDeptTree = () => {
return request.get<ApiResponse<DeptTreeNode[]>>('/api/auth/depts/tree')
}
// 创建部门
export const createDept = (data: { deptName: string; deptCode?: string; parentId?: string; leaderId?: string }) => {
return request.post('/api/auth/depts', data)
}
// 获取部门成员
export const getDeptMembers = (deptId: string) => {
return request.get<ApiResponse<User[]>>(`/api/auth/depts/${deptId}/members`)
}
export interface DeptTreeNode {
id: string
parentId: string | null
deptName: string
deptCode: string
leaderId: string
sortOrder: number
children?: DeptTreeNode[]
}