diff --git a/src/views/mtm/process_form.vue b/src/views/mtm/process_form.vue index 0b4cef92..1a1502e3 100644 --- a/src/views/mtm/process_form.vue +++ b/src/views/mtm/process_form.vue @@ -103,7 +103,7 @@ - + diff --git a/src/views/wpm_bx/handover_form.vue b/src/views/wpm_bx/handover_form.vue index ca354ad3..05250c9c 100644 --- a/src/views/wpm_bx/handover_form.vue +++ b/src/views/wpm_bx/handover_form.vue @@ -228,10 +228,10 @@ 请手动录入新批次号,不要用已有批次! - - + + - 源批次缺陷不一致,勾选后合并批次将清除缺陷标记 + {{ clearBatchDefectHint }} @@ -469,19 +469,30 @@ export default { if (!this.form.handoverb || this.form.handoverb.length === 0) return 0; return this.form.handoverb.reduce((sum, item) => sum + Number(item.count || 0), 0); }, - // 合批时源批次 state 均为 OK(10) 且 defect 不一致,才显示"清除缺陷"勾选 - defectMismatch() { + canClearBatchDefect() { if (this.mtype !== 30) return false; if (this.new_wm) return false; const items = this.form.handoverb || []; if (items.length < 2) return false; - if (!items.every(i => Number(i.state) === 10)) return false; - const defectIds = new Set(items.map(i => i.defect == null ? null : i.defect)); - return defectIds.size > 1; + const states = new Set(items.map(i => Number(i.state))); + if (states.size !== 1) return false; + const tracking = Number(items[0].tracking); + if (tracking === 20) return true; + return items.every(i => + Number(i.state) === 10 && + i.defect != null && + Number(i.defect_okcate) === 20 + ); + }, + clearBatchDefectHint() { + const items = this.form.handoverb || []; + return Number(items[0] && items[0].tracking) === 20 + ? "仅清除合批后批次的缺陷归类,单件缺陷记录保持不变" + : "将合格B类合并为无缺陷批次"; } }, watch: { - defectMismatch(val) { + canClearBatchDefect(val) { if (!val) { this.form.clear_defect = false; } @@ -538,7 +549,7 @@ export default { let that = this; var req = { page: 0, - state__in:'10,34', + state__in: this.mtype === 30 ? '10,20,34' : '10,34', tag:that.tag, mgroupx:that.mgroupId }; diff --git a/src/views/wpm_bx/mlog_detail.vue b/src/views/wpm_bx/mlog_detail.vue index 2d7cb3ef..ac267a9d 100644 --- a/src/views/wpm_bx/mlog_detail.vue +++ b/src/views/wpm_bx/mlog_detail.vue @@ -60,7 +60,7 @@
- 合格B类记为合格 + 将合格B类计入合格品
- - + + - 源批次缺陷不一致,勾选后合并批次将清除缺陷标记 + {{ clearBatchDefectHint }} @@ -479,14 +479,25 @@ export default { that.getTid(); }, computed: { - // 合批时源批次 state 均为 OK(10) 且 defect 不一致,才显示"清除缺陷"勾选 - defectMismatch() { + canClearBatchDefect() { if (this.mtype !== 30) return false; const items = this.form.handoverb || []; if (items.length < 2) return false; - if (!items.every(i => Number(i.state) === 10)) return false; - const defectIds = new Set(items.map(i => i.defect == null ? null : i.defect)); - return defectIds.size > 1; + const states = new Set(items.map(i => Number(i.state))); + if (states.size !== 1) return false; + const tracking = Number(items[0].tracking); + if (tracking === 20) return true; + return items.every(i => + Number(i.state) === 10 && + i.defect != null && + Number(i.defect_okcate) === 20 + ); + }, + clearBatchDefectHint() { + const items = this.form.handoverb || []; + return Number(items[0] && items[0].tracking) === 20 + ? "仅清除合批后批次的缺陷归类,单件缺陷记录保持不变" + : "将合格B类合并为无缺陷批次"; } }, watch: { @@ -496,7 +507,7 @@ export default { console.log('batchList',v) } }, - defectMismatch(val) { + canClearBatchDefect(val) { if (!val) { this.form.clear_defect = false; } @@ -661,6 +672,13 @@ export default { this.mode = mode; this.mtype = mtype; this.form.clear_defect = false; + if (mtype === 30) { + this.paramsM = { + ...this.paramsM, + state__in: '10,20,34' + }; + delete this.paramsM.state; + } if(data!==''&&data!==null&&data!==undefined){ console.log(typeof(data)=='string') if(typeof(data)=='string'){ @@ -675,6 +693,8 @@ export default { obj.label = item.label; obj.batch = item.batch; obj.defect = item.defect; + obj.defect_okcate = item.defect_okcate; + obj.tracking = item.tracking || (item.material_ && item.material_.tracking); obj.material = item.material; obj.count_cando = item.count_canhandover; obj.count = item.count_canhandover; @@ -704,6 +724,8 @@ export default { obj.count = item.count_canhandover; obj.defect = item.defect; obj.defect_name = item.defect_name; + obj.defect_okcate = item.defect_okcate; + obj.tracking = item.material_ && item.material_.tracking; obj.count_cando = item.count_canhandover; obj.material = item.material; if(that.type==50){ diff --git a/src/views/wpm_gx/mlog_detail.vue b/src/views/wpm_gx/mlog_detail.vue index 5ce38bb7..aa8f0549 100644 --- a/src/views/wpm_gx/mlog_detail.vue +++ b/src/views/wpm_gx/mlog_detail.vue @@ -64,7 +64,7 @@
- 合格B类记为合格 + 将合格B类计入合格品