liu
3 天以前 91eff4781fa4142d1f62d30a0fa1de5cae424eaf
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import type { PageParam, PageResult } from '#/packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace MesPdProjectApi {
  /** 产品设计项目 */
  export interface Project {
    id?: number;
    /** 任务编码 */
    taskCode?: string;
    /** 任务名称 */
    taskName?: string;
    /** 产品编码 */
    productCode?: string;
    /** 产品名称 */
    productName?: string;
    /** 版本号 */
    version?: string;
    /** 状态 */
    status?: number;
    /** 主设计师(用户ID) */
    chiefDesigner?: number;
    /** 主设计师名称 */
    chiefDesignerNickname?: string;
    /** 审核人(用户ID) */
    reviewer?: number;
    /** 审核人名称 */
    reviewerNickname?: string;
    /** 计划完成时间 */
    planFinishTime?: number;
    /** 备注 */
    remark?: string;
    /** 创建时间 */
    createTime?: number;
    /** 审核人用户编号(审核通过后写入实际审核人) */
    reviewerId?: number;
    /** 审核人姓名 */
    reviewerName?: string;
    /** 审核时间 */
    reviewTime?: number;
    /** 审核意见(通过时的意见 / 不通过时的原因) */
    reviewRemark?: string;
  }
 
  export interface PageParams extends PageParam {
    taskCode?: string;
    taskName?: string;
    productCode?: string;
    productName?: string;
    status?: number;
    planFinishTime?: number[];
  }
}
 
export function getPdProjectPage(params: MesPdProjectApi.PageParams) {
  return requestClient.get<PageResult<MesPdProjectApi.Project>>(
    '/mes/pd/project/page',
    { params },
  );
}
 
export function getPdProject(id: number) {
  return requestClient.get<MesPdProjectApi.Project>(
    `/mes/pd/project/get?id=${id}`,
  );
}
 
export function createPdProject(data: MesPdProjectApi.Project) {
  return requestClient.post<number>('/mes/pd/project/create', data);
}
 
export function updatePdProject(data: MesPdProjectApi.Project) {
  return requestClient.put('/mes/pd/project/update', data);
}
 
export function deletePdProject(id: number) {
  return requestClient.delete(`/mes/pd/project/delete?id=${id}`);
}
 
export function exportPdProject(params: MesPdProjectApi.PageParams) {
  return requestClient.download('/mes/pd/project/export-excel', { params });
}
 
/** 发布(待发布→待上传) */
export function publishPdProject(id: number) {
  return requestClient.put('/mes/pd/project/publish', undefined, {
    params: { id },
  });
}
 
/** 上传资料(待上传→待审核),后端自动创建资料审核记录 */
export function uploadPdProject(id: number) {
  return requestClient.put('/mes/pd/project/upload', undefined, {
    params: { id },
  });
}
 
/**
 * 提交审批(待审核→审批中)
 *
 * 审核人由「系统管理 - 审批配置」按业务类型统一配置,提交时无需指定;
 * 未启用审批或未配置有效审核人时后端会抛出业务异常。
 */
export function submitPdProjectApproval(id: number) {
  return requestClient.put('/mes/pd/project/submit-approval', undefined, {
    params: { id },
  });
}
 
/**
 * 获得设计项目的审核人编号集合
 *
 * 供列表页判断当前登录用户是否应展示「审核 / 审核不通过」按钮;未配置时返回空数组。
 */
export function getPdProjectApproverIds() {
  return requestClient.get<number[]>('/mes/pd/project/approver-ids');
}
 
/**
 * 审核设计项目(审批中→待归档/待审核)
 *
 * 仅审批配置中的审核人可调用(多人时或签);pass=false 时 reviewRemark(不通过原因)必填。
 */
export function auditPdProject(
  id: number,
  pass: boolean,
  reviewRemark?: string,
) {
  return requestClient.put('/mes/pd/project/audit', {
    id,
    pass,
    reviewRemark,
  });
}
 
/** 归档(待归档→已归档),后端自动创建归档台账记录 */
export function archivePdProject(id: number) {
  return requestClient.put('/mes/pd/project/archive', undefined, {
    params: { id },
  });
}