| | |
| | | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | | import { isPdMockEnabled } from '../mock/enabled'; |
| | | import { pdMockStore } from '../mock/store'; |
| | | |
| | | export namespace MesPdProjectApi { |
| | | /** 产品设计项目 */ |
| | | export interface Project { |
| | | id?: number; |
| | | code?: string; |
| | | name?: string; |
| | | /** 任务编码 */ |
| | | taskCode?: string; |
| | | /** 任务名称 */ |
| | | taskName?: string; |
| | | /** 产品编码 */ |
| | | productCode?: string; |
| | | /** 产品名称 */ |
| | | productName?: string; |
| | | /** 版本号 */ |
| | | version?: string; |
| | | /** 状态 */ |
| | | status?: number; |
| | | designerId?: number; |
| | | designerName?: string; |
| | | reviewerId?: number; |
| | | reviewerName?: string; |
| | | planStartDate?: number; |
| | | planEndDate?: number; |
| | | actualFinishDate?: number; |
| | | /** 主设计师(用户ID) */ |
| | | chiefDesigner?: number; |
| | | /** 主设计师名称 */ |
| | | chiefDesignerNickname?: string; |
| | | /** 审核人(用户ID) */ |
| | | reviewer?: number; |
| | | /** 审核人名称 */ |
| | | reviewerNickname?: string; |
| | | /** 计划完成时间 */ |
| | | planFinishTime?: number; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 创建时间 */ |
| | | createTime?: number; |
| | | } |
| | | |
| | | export interface PageParams extends PageParam { |
| | | code?: string; |
| | | name?: string; |
| | | taskCode?: string; |
| | | taskName?: string; |
| | | productCode?: string; |
| | | productName?: string; |
| | | status?: number; |
| | | designerId?: number; |
| | | planFinishTime?: number[]; |
| | | } |
| | | } |
| | | |
| | | export function getPdProjectPage(params: MesPdProjectApi.PageParams) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.getProjectPage(params); |
| | | } |
| | | return requestClient.get<PageResult<MesPdProjectApi.Project>>( |
| | | '/mes/pd/project/page', |
| | | { params }, |
| | |
| | | } |
| | | |
| | | export function getPdProject(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.getProject(id); |
| | | } |
| | | return requestClient.get<MesPdProjectApi.Project>( |
| | | `/mes/pd/project/get?id=${id}`, |
| | | ); |
| | | } |
| | | |
| | | export function createPdProject(data: MesPdProjectApi.Project) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.createProject(data); |
| | | } |
| | | return requestClient.post<number>('/mes/pd/project/create', data); |
| | | } |
| | | |
| | | export function updatePdProject(data: MesPdProjectApi.Project) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.updateProject(data); |
| | | } |
| | | return requestClient.put('/mes/pd/project/update', data); |
| | | } |
| | | |
| | | export function deletePdProject(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.deleteProject(id); |
| | | } |
| | | return requestClient.delete(`/mes/pd/project/delete?id=${id}`); |
| | | } |
| | | |
| | | export function exportPdProject(params: MesPdProjectApi.PageParams) { |
| | | if (isPdMockEnabled()) { |
| | | return Promise.resolve(new Blob()); |
| | | } |
| | | return requestClient.download('/mes/pd/project/export-excel', { params }); |
| | | } |
| | | |
| | | export function submitPdProjectReview(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.submitProjectReview(id); |
| | | } |
| | | return requestClient.put('/mes/pd/project/submit-review', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** 发布(待发布→待上传) */ |
| | | export function publishPdProject(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.publishProject(id); |
| | | } |
| | | return requestClient.put('/mes/pd/project/publish', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | export function approvePdProject(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.approveProject(id); |
| | | } |
| | | return requestClient.put('/mes/pd/project/approve', undefined, { |
| | | /** 上传资料(待上传→待审核),后端自动创建资料审核记录 */ |
| | | export function uploadPdProject(id: number) { |
| | | return requestClient.put('/mes/pd/project/upload', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** 审核(待审核→待归档) */ |
| | | export function auditPdProject(id: number) { |
| | | return requestClient.put('/mes/pd/project/audit', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** 归档(待归档→已归档),后端自动创建归档台账记录 */ |
| | | export function archivePdProject(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.archiveProject(id); |
| | | } |
| | | return requestClient.put('/mes/pd/project/archive', undefined, { |
| | | params: { id }, |
| | | }); |