spring
2026-07-03 081f242ea3c019f4eddd0fe342c5cf6189da1468
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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 },
  });
}