From bb609a33a6e2248e423d91214ec713529d10baeb Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 15 Jul 2026 14:21:05 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-15=20=E5=BC=82=E5=B8=B8=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/yieldReport/com_separate_roll.js | 6 + .../yieldReport/com_produce_report_normal.vue | 53 ++++- .../modules/yieldReport/com_separate_roll.vue | 222 ++++++++++++++---- 3 files changed, 225 insertions(+), 56 deletions(-) diff --git a/src/api/yieldReport/com_separate_roll.js b/src/api/yieldReport/com_separate_roll.js index 6a5adcf..c698a5e 100644 --- a/src/api/yieldReport/com_separate_roll.js +++ b/src/api/yieldReport/com_separate_roll.js @@ -6,6 +6,12 @@ export const checkCreateSplitSfdcRoll = data => createAPI('schedule/checkCreateS // 创建分卷前异常规则校验 export const checkSplitRollExceptionRule = data => createAPI('schedule/checkSplitRollExceptionRule', 'POST', data) +// 查询创建分卷异常规则锁定状态 +export const getSplitRuleLockStatus = data => createAPI('schedule/getSplitRuleLockStatus', 'POST', data) + +// 创建分卷放行后回写操作标识 +export const completeSplitRuleTodoOperation = data => createAPI('schedule/completeSplitRuleTodoOperation', 'POST', data) + // 执行创建分卷的操作 export const createSplitSfdcRoll = data => createAPI('schedule/createSplitSfdcRoll', 'POST', data) diff --git a/src/views/modules/yieldReport/com_produce_report_normal.vue b/src/views/modules/yieldReport/com_produce_report_normal.vue index f4a1e9d..afe03a2 100644 --- a/src/views/modules/yieldReport/com_produce_report_normal.vue +++ b/src/views/modules/yieldReport/com_produce_report_normal.vue @@ -700,7 +700,8 @@ @refreshPageData="refreshPageData" @openDefectByExceptionRule="onSeparateRuleOpenDefect" @openDownTimeByExceptionRule="onSeparateRuleOpenDownTime" - @lockPageByExceptionRule="onSeparateRuleLockPage"> + @lockPageByExceptionRule="onSeparateRuleLockPage" + @unlockPageByExceptionRule="onSeparateRuleUnlockPage"> @@ -1011,6 +1012,9 @@ import { import { getUserSpecialSecurity, } from '@/api/yieldReport/produce_order.js' +import { + getSplitRuleLockStatus +} from '@/api/yieldReport/com_separate_roll.js' import { sopListSearch, downloadSopFile } from '@/api/qc/qc.js' /*打印标签专用的js*/ import { @@ -4656,6 +4660,7 @@ export default { //刷新当前页面的菜单 async refreshPageButtons() { + await this.syncSeparateRuleForceLockStatus() if (this.exceptionRuleForceLock) { this.lockWorkbenchButtonsByRule() return @@ -4783,6 +4788,32 @@ export default { this.checkProcessInspectionPendingCount(); }, + async syncSeparateRuleForceLockStatus () { + if (!this.scheduleData.site || !this.scheduleData.buNo || !this.scheduleData.orderNo || !this.scheduleData.seqNo) { + this.exceptionRuleForceLock = false + return + } + try { + const { data } = await getSplitRuleLockStatus({ + site: this.scheduleData.site, + buNo: this.scheduleData.buNo, + orderNo: this.scheduleData.orderNo, + seqNo: this.scheduleData.seqNo + }) + if (!data || data.code === 500) { + return + } + const resultMap = data.resultMap || {} + const wasLocked = this.exceptionRuleForceLock + this.exceptionRuleForceLock = !!resultMap.locked + if (wasLocked && !this.exceptionRuleForceLock && resultMap.bypassByAudit) { + this.$message.success('QC已审核,已解除锁定,可继续操作。') + } + } catch (error) { + console.error('同步创建分卷规则锁定状态失败:', error) + } + }, + //设置参数 initOperatorData(operatorData) { this.showOperatorFlag = false; @@ -4901,13 +4932,23 @@ export default { }, onSeparateRuleLockPage (resultMap) { - this.showSeparateFlag = false + const wasLocked = this.exceptionRuleForceLock this.exceptionRuleForceLock = true this.lockWorkbenchButtonsByRule() - this.$alert((resultMap && resultMap.message) || '触发强制异常规则,当前页面已锁定。', '提示', { - confirmButtonText: '确定', - type: 'warning' - }) + if (!wasLocked) { + this.$alert((resultMap && resultMap.message) || '触发强制异常规则,当前页面已锁定。', '提示', { + confirmButtonText: '确定', + type: 'warning' + }) + } + }, + + onSeparateRuleUnlockPage () { + if (!this.exceptionRuleForceLock) { + return + } + this.exceptionRuleForceLock = false + this.refreshPageButtons() }, /*创建分卷的modal调用*/ diff --git a/src/views/modules/yieldReport/com_separate_roll.vue b/src/views/modules/yieldReport/com_separate_roll.vue index 4e808de..2263e33 100644 --- a/src/views/modules/yieldReport/com_separate_roll.vue +++ b/src/views/modules/yieldReport/com_separate_roll.vue @@ -1,6 +1,6 @@