76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
import request from '@/config/axios'
|
|
|
|
export interface ProjectRolePersonVO {
|
|
id?: number
|
|
projectId?: number
|
|
roleCode: 'project_manager' | 'engineering_principal'
|
|
roleName?: string
|
|
employeeId?: number
|
|
employeeName?: string
|
|
sortNo?: number
|
|
}
|
|
|
|
export interface ProjectVO {
|
|
id?: number
|
|
projectName: string
|
|
contractSignedFlag: boolean
|
|
contractAmount?: number
|
|
totalConstructionArea?: number
|
|
constructionUnitName?: string
|
|
contactName?: string
|
|
contactPhone?: string
|
|
contractSigningDate?: string
|
|
projectManagerName?: string
|
|
engineeringPrincipalName?: string
|
|
projectType?: string
|
|
projectCategory?: string
|
|
projectStartYear?: number
|
|
projectStatus?: string
|
|
archiveFlag?: boolean
|
|
archiveTime?: string
|
|
pauseReason?: string
|
|
terminateReason?: string
|
|
finalSettlementAmount?: number
|
|
innovationOutputRate?: number
|
|
otherCost?: number
|
|
rolePersons?: ProjectRolePersonVO[]
|
|
createTime?: string
|
|
}
|
|
|
|
export type ProjectSaveVO = Omit<
|
|
ProjectVO,
|
|
'createTime' | 'archiveTime' | 'projectManagerName' | 'engineeringPrincipalName'
|
|
>
|
|
|
|
export interface ProjectPageReqVO extends PageParam {
|
|
projectName?: string
|
|
contractSignedFlag?: boolean
|
|
projectStartYear?: number
|
|
projectStatus?: string
|
|
createTime?: string[]
|
|
}
|
|
|
|
export const getProjectPage = (params: ProjectPageReqVO) => {
|
|
return request.get({ url: '/tjt/project/page', params })
|
|
}
|
|
|
|
export const getProject = (id: number) => {
|
|
return request.get({ url: '/tjt/project/get', params: { id } })
|
|
}
|
|
|
|
export const createProject = (data: ProjectSaveVO) => {
|
|
return request.post({ url: '/tjt/project/create', data })
|
|
}
|
|
|
|
export const updateProject = (data: ProjectSaveVO) => {
|
|
return request.put({ url: '/tjt/project/update', data })
|
|
}
|
|
|
|
export const deleteProject = (id: number) => {
|
|
return request.delete({ url: '/tjt/project/delete', params: { id } })
|
|
}
|
|
|
|
export const deleteProjectList = (ids: number[]) => {
|
|
return request.delete({ url: '/tjt/project/delete-list', params: { ids: ids.join(',') } })
|
|
}
|