import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace MesPdTechConfirmApi {
|
/** 产品技术确认函 */
|
export interface TechConfirm {
|
id?: number; // 编号
|
confirmNo?: string; // 确认函编号
|
customerId?: number; // 客户ID
|
customerName?: string; // 客户名称
|
productName?: string; // 产品名称
|
specification?: string; // 规格型号
|
techParams?: string; // 技术参数 JSON
|
templateType?: string; // 模板类型
|
// 以下为流程派生字段,由后端自动记录,前端只读展示
|
drafterId?: number; // 编制人ID
|
drafterName?: string; // 编制人姓名
|
draftTime?: Date; // 编制时间
|
reviewerId?: number; // 审核人ID(实际执行审核的用户,由后端在审核时写入)
|
reviewerName?: string; // 审核人姓名(审核时冗余记录)
|
reviewTime?: Date; // 审核时间
|
reviewRemark?: string; // 审核意见(审核通过时的意见 / 审核不通过时的原因)
|
customerConfirmUser?: string; // 客户确认人
|
customerConfirmTime?: Date; // 客户确认时间
|
status?: number; // 状态(0=草稿,1=待审核,2=已审核,3=客户已确认,4=审核不通过)
|
remark?: string; // 备注
|
createTime?: Date; // 创建时间
|
}
|
}
|
|
/** 查询产品技术确认函分页 */
|
export function getTechConfirmPage(params: PageParam) {
|
return requestClient.get<PageResult<MesPdTechConfirmApi.TechConfirm>>(
|
'/mes/pd/tech-confirm/page',
|
{ params },
|
);
|
}
|
|
/** 查询产品技术确认函详情 */
|
export function getTechConfirm(id: number) {
|
return requestClient.get<MesPdTechConfirmApi.TechConfirm>(
|
`/mes/pd/tech-confirm/get?id=${id}`,
|
);
|
}
|
|
/**
|
* 新增产品技术确认函
|
*
|
* 状态由后端固定为草稿,编制人与编制时间由后端自动记录,均无需前端传参。
|
*/
|
export function createTechConfirm(data: MesPdTechConfirmApi.TechConfirm) {
|
return requestClient.post('/mes/pd/tech-confirm/create', data);
|
}
|
|
/**
|
* 修改产品技术确认函
|
*
|
* 仅草稿状态可修改,且状态与流程派生字段不参与提交。
|
*/
|
export function updateTechConfirm(data: MesPdTechConfirmApi.TechConfirm) {
|
return requestClient.put('/mes/pd/tech-confirm/update', data);
|
}
|
|
/** 删除产品技术确认函(仅草稿 / 审核不通过状态可删除) */
|
export function deleteTechConfirm(id: number) {
|
return requestClient.delete(`/mes/pd/tech-confirm/delete?id=${id}`);
|
}
|
|
/**
|
* 提交技术确认函审核(草稿/审核不通过→待审核)
|
*
|
* 审核人由「系统管理 - 审批配置」按业务类型统一配置,提交时无需指定;
|
* 未启用审批或未配置有效审核人时后端会抛出业务异常。
|
*/
|
export function submitTechConfirmAudit(id: number) {
|
return requestClient.put('/mes/pd/tech-confirm/submit-approval', undefined, {
|
params: { id },
|
});
|
}
|
|
/**
|
* 获得技术确认函的审核人编号集合
|
*
|
* 供列表页判断当前登录用户是否应展示「审核 / 审核不通过」按钮;未配置时返回空数组。
|
*/
|
export function getTechConfirmApproverIds() {
|
return requestClient.get<number[]>('/mes/pd/tech-confirm/approver-ids');
|
}
|
|
/**
|
* 审核技术确认函(待审核→已审核/审核不通过)
|
*
|
* 仅审批配置中的审核人可调用(多人时或签);pass=false 时 reviewRemark(不通过原因)必填。
|
*/
|
export function auditTechConfirm(
|
id: number,
|
pass: boolean,
|
reviewRemark?: string,
|
) {
|
return requestClient.put('/mes/pd/tech-confirm/audit', {
|
id,
|
pass,
|
reviewRemark,
|
});
|
}
|
|
/** 客户确认(已审核→客户已确认) */
|
export function confirmTechConfirmByCustomer(
|
id: number,
|
customerConfirmUser: string,
|
) {
|
return requestClient.put('/mes/pd/tech-confirm/customer-confirm', undefined, {
|
params: { id, customerConfirmUser },
|
});
|
}
|
|
/** 导出产品技术确认函 */
|
export function exportTechConfirm(params: any) {
|
return requestClient.download('/mes/pd/tech-confirm/export-excel', { params });
|
}
|