53 lines
1.8 KiB
TypeScript
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[]
|
|
}
|