import request from '@/config/axios' import { ProjectRecord, ProjectId, SubProject, HandleProjectMemberDTO } from '@/interface/project' /** * 项目详情(无子项目) * @param projectId */ export const getProjectById = async (projectId: ProjectId): Promise => { return await request.get( { url: '/project', params: { id: projectId } }, '/business' ) } /** * 项目详情(包含子项目) * @param projectId */ export const getProjectWithChildrenById = async (projectId: ProjectId): Promise => { return await request.get( { url: '/project-with-children', params: { id: projectId } }, '/business' ) } /** * 发起项目验收、结项、中止 * @param projectId */ export const projectStatusAndProcess = async (params: { projectId: ProjectId sfys: string }): Promise => { return await request.get( { url: '/ProjectStatus/ProjectProcess', params }, '/business' ) } /** * 修改项目信息 * @param data */ export const saveProject = async (data: ProjectRecord) => { return await request.put({ url: '/project', data }, '/business') } /** * 添加子项目 * @param data */ export const postSubProject = async (data: SubProject) => { return await request.post( { url: '/project/child', data }, '/business' ) } /** * 项目类型 */ export const getProjectType = async () => { return await request.get({ url: '/project-type/tree' }, '/business') } /** * 项目成员 * @param projectId */ export const getProjectMember = async (projectId: ProjectId) => { return await request.get( { url: '/project-worker-relation/list', params: { projectId } }, '/business' ) } /** * 删除项目成员 * @param data */ export const deleteMember = async (data: HandleProjectMemberDTO) => { return await request.post( { url: '/project-worker-relation/unbind', data }, '/business' ) } /** * 新增项目成员 * @param data */ export const addMember = async (data: HandleProjectMemberDTO) => { return await request.post( { url: '/project-worker-relation/bind', data }, '/business' ) } /** * 项目里程碑 * @param projectId */ export const getProjectMileStone = async (projectId: ProjectId) => { return await request.get( { url: '/project-milestone/list', params: { projectId } }, '/business' ) } /** * 完成里程碑 * @param id * @param projectId */ export const finishProjectMileStone = async (params: { id: string; projectId: ProjectId }) => { return await request.get( { url: '/project-milestone/finish', params: params }, '/business' ) }