From 282b7aa4a25f121ced57d35877f8e38c9577b175 Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Wed, 9 Sep 2026 11:03:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(qc):=20=E4=BC=98=E5=8C=96=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E7=BB=93=E6=9E=9C=E8=87=AA=E5=8A=A8=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在FQC和IPQC结果录入页面增加自动判定功能 - 根据数值型项目及上下限配置判断是否支持自动判定 - 自动判定项目根据子明细数据推导结论:有不合格为N,全部合格为Y - 统一两个页面的自动判定实现逻辑 - 修复原有逻辑中未区分自动判定与手动判定的问题 - 保持与后端判定规则的一致性 --- src/views/modules/qc/FQCResultEntry.vue | 19 +++++++++++++++---- src/views/modules/qc/IPQCResultEntry.vue | 19 +++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/views/modules/qc/FQCResultEntry.vue b/src/views/modules/qc/FQCResultEntry.vue index e276bb3..16d10b5 100644 --- a/src/views/modules/qc/FQCResultEntry.vue +++ b/src/views/modules/qc/FQCResultEntry.vue @@ -4125,12 +4125,23 @@ export default { saveFQCSubDetailed(this.subDetailData) .then(({ data }) => { if (data && data.code === 0) { - if (data.count > 0) { - this.subDetailData.itemResult = 'N' - this.subDetailData.unqualifiedQuantity = data.count - } + // 该项目是否可自动判定合格(数值型且维护了上下限),与后端保持一致 + const canAutoJudge = + this.subDetailData.valueTypeDb === 'N' && + (this.subDetailData.maxValue != null || + this.subDetailData.minValue != null) if (this.subDetailData.subDetailValues.length > 0) { this.subDetailData.subDetailRecordNum = 1 + // 可自动判定的项目,结论完全由子明细推导:有不合格为N,全部合格为Y + if (canAutoJudge) { + if (data.count > 0) { + this.subDetailData.itemResult = 'N' + this.subDetailData.unqualifiedQuantity = data.count + } else { + this.subDetailData.itemResult = 'Y' + this.subDetailData.unqualifiedQuantity = 0 + } + } } else { this.subDetailData.subDetailRecordNum = -1 this.subDetailData.unqualifiedQuantity = 0 diff --git a/src/views/modules/qc/IPQCResultEntry.vue b/src/views/modules/qc/IPQCResultEntry.vue index a714351..3552853 100644 --- a/src/views/modules/qc/IPQCResultEntry.vue +++ b/src/views/modules/qc/IPQCResultEntry.vue @@ -4200,12 +4200,23 @@ this.subDetailVisiable = true saveIPQCSubDetailed(this.subDetailData).then(({data}) => { if (data && data.code === 0) { - if (data.count > 0) { - this.subDetailData.itemResult = 'N' - this.subDetailData.unqualifiedQuantity = data.count - } + // 该项目是否可自动判定合格(数值型且维护了上下限),与后端保持一致 + const canAutoJudge = + this.subDetailData.valueTypeDb === 'N' && + (this.subDetailData.maxValue != null || + this.subDetailData.minValue != null) if (this.subDetailData.subDetailValues.length > 0) { this.subDetailData.subDetailRecordNum = 1 + // 可自动判定的项目,结论完全由子明细推导:有不合格为N,全部合格为Y + if (canAutoJudge) { + if (data.count > 0) { + this.subDetailData.itemResult = 'N' + this.subDetailData.unqualifiedQuantity = data.count + } else { + this.subDetailData.itemResult = 'Y' + this.subDetailData.unqualifiedQuantity = 0 + } + } } else { this.subDetailData.subDetailRecordNum = -1 this.subDetailData.unqualifiedQuantity = 0