|
|
@@ -226,7 +226,9 @@
|
|
|
activeComp: 'main',
|
|
|
// 质检报告数据
|
|
|
template: '',
|
|
|
- fileUrl: ''
|
|
|
+ fileUrl: '',
|
|
|
+ // 不良品处置台账未关联质检工单(手工新增等):此时不加载检测报告,只渲染不合格品处置单
|
|
|
+ isUnqualifiedDisposalNoOrder: false
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -255,12 +257,26 @@
|
|
|
pageNum: 1,
|
|
|
size: 200
|
|
|
});
|
|
|
- detail = await api(data.qualityWorkOrderId);
|
|
|
- detail.data.templateList.forEach((item) => {
|
|
|
- if (item.inspectImage) {
|
|
|
- inspectImage.push(...item.inspectImage);
|
|
|
- }
|
|
|
- });
|
|
|
+ if (data.qualityWorkOrderId) {
|
|
|
+ detail = await api(data.qualityWorkOrderId);
|
|
|
+ detail.data.templateList?.forEach((item) => {
|
|
|
+ if (item.inspectImage) {
|
|
|
+ inspectImage.push(...item.inspectImage);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 台账未关联质检工单(如手工新增):空工单ID不能拼进URL,否则后端 Long 参数会抛
|
|
|
+ // NumberFormatException: For input string: "null";这里用台账数据兜底,
|
|
|
+ // 只渲染不合格品处置单,不加载质检报告
|
|
|
+ this.isUnqualifiedDisposalNoOrder = true;
|
|
|
+ detail = {
|
|
|
+ data: {
|
|
|
+ ...data,
|
|
|
+ id: '',
|
|
|
+ code: data.sourceCode || ''
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
|
|
|
// feedbackDepartment: '',
|
|
|
// feedbackPerson: '',
|
|
|
@@ -345,8 +361,11 @@
|
|
|
// this.loadReportData();
|
|
|
// this.loadListDetail();
|
|
|
|
|
|
- let url = await getJmPrintViewUrl('qmsqualityinspectionprint');
|
|
|
- this.fileUrl = `${url}?token=${getToken()}&id=${this.businessId}`;
|
|
|
+ // 台账未关联质检工单时没有检测报告可打印,跳过,避免用台账ID请求报告页
|
|
|
+ if (!this.isUnqualifiedDisposalNoOrder) {
|
|
|
+ let url = await getJmPrintViewUrl('qmsqualityinspectionprint');
|
|
|
+ this.fileUrl = `${url}?token=${getToken()}&id=${this.businessId}`;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
setLossNumber({
|
|
|
@@ -373,22 +392,32 @@
|
|
|
);
|
|
|
},
|
|
|
async initUnqualifiedProduct() {
|
|
|
- const data = await getList({
|
|
|
- sourceCode: this.form.code
|
|
|
- });
|
|
|
- if (data.list[0]) {
|
|
|
- this.unqualifiedProducts = data.list[0];
|
|
|
+ let unqualified = null;
|
|
|
+ if (this.businessType?.includes('不良品处置')) {
|
|
|
+ // 处置审批的台账主键就是审批业务ID,直接用它加载明细;
|
|
|
+ // 不走 sourceCode 查询,避免台账未关联质检工单(sourceCode 为空)时查不到台账、明细丢失
|
|
|
+ unqualified = { id: this.businessId };
|
|
|
+ } else {
|
|
|
+ const data = await getList({
|
|
|
+ sourceCode: this.form.code
|
|
|
+ });
|
|
|
+ unqualified = data.list?.[0];
|
|
|
+ }
|
|
|
+ if (unqualified) {
|
|
|
+ this.unqualifiedProducts = unqualified;
|
|
|
}
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.unqualifiedProductRef.init({
|
|
|
- id: this.unqualifiedProducts?.id,
|
|
|
+ id: unqualified?.id,
|
|
|
qualityType:
|
|
|
this.basicInfoData.qualityType || this.form.qualityType,
|
|
|
workOrderCode: this.basicInfoData.code || this.form.code,
|
|
|
- qualityWorkerId: this.basicInfoData.qualityWorkerId || this.form.id,
|
|
|
+ // 兜底场景 form.id 已被置空,避免把台账ID误当作质检工单ID写入明细
|
|
|
+ qualityWorkerId:
|
|
|
+ this.basicInfoData.qualityWorkerId || this.form.id || null,
|
|
|
workOrderId:
|
|
|
- this.basicInfoData.workOrderId || this.form.workOrderId,
|
|
|
+ this.basicInfoData.workOrderId || this.form.workOrderId || null,
|
|
|
qualityResults:
|
|
|
this.basicInfoData.qualityResults || this.form.qualityResults
|
|
|
});
|