import type { PageParam, PageResult } from '#/packages/effects/request/src';
|
|
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;
|
productCode?: string;
|
productName?: string;
|
version?: string;
|
status?: number;
|
designerId?: number;
|
designerName?: string;
|
reviewerId?: number;
|
reviewerName?: string;
|
planStartDate?: number;
|
planEndDate?: number;
|
actualFinishDate?: number;
|
remark?: string;
|
createTime?: number;
|
}
|
|
export interface PageParams extends PageParam {
|
code?: string;
|
name?: string;
|
productCode?: string;
|
status?: number;
|
designerId?: 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, {
|
params: { id },
|
});
|
}
|
|
export function archivePdProject(id: number) {
|
if (isPdMockEnabled()) {
|
return pdMockStore.archiveProject(id);
|
}
|
return requestClient.put('/mes/pd/project/archive', undefined, {
|
params: { id },
|
});
|
}
|