diff --git a/src/api/erf/erf.js b/src/api/erf/erf.js index e421b62..91b9b07 100644 --- a/src/api/erf/erf.js +++ b/src/api/erf/erf.js @@ -60,10 +60,15 @@ export const getPendingApplyList = data => createAPI(`/erf/expApply/getPendingAp // ===================================================== /** - * 查询三方确认列表 + * 查询三方确认列表(按申请单号) */ export const getTriConfirmList = data => createAPI(`/erf/triConfirm/getTriConfirmList`, 'post', data) +/** + * 查询登录人待确认的工序列表 + */ +export const getPendingTriConfirmList = data => createAPI(`/erf/triConfirm/getPendingTriConfirmList`, 'post', data) + /** * 三方确认操作 */ diff --git a/src/views/modules/erf/components/expTriConfirm.vue b/src/views/modules/erf/components/expTriConfirm.vue index 3b53896..e9f6e3b 100644 --- a/src/views/modules/erf/components/expTriConfirm.vue +++ b/src/views/modules/erf/components/expTriConfirm.vue @@ -44,13 +44,12 @@ align="center" header-align="center"> - - ✓ {{ scope.row.prodApproverName }} + + {{ scope.row.prodApproverName }} ✓ - - 待确认 + + {{ scope.row.prodApproverName }} - - @@ -61,13 +60,12 @@ align="center" header-align="center"> - - ✓ {{ scope.row.qaApproverName }} + + {{ scope.row.qaApproverName }} ✓ - - 待确认 + + {{ scope.row.qaApproverName }} - - @@ -78,13 +76,12 @@ align="center" header-align="center"> - - ✓ {{ scope.row.techApproverName }} + + {{ scope.row.techApproverName }} ✓ - - 待确认 + + {{ scope.row.techApproverName }} - - @@ -95,7 +92,7 @@ align="center" header-align="center"> - + 已完成 @@ -321,7 +318,14 @@ + + + @@ -484,8 +488,14 @@ export default { watch: { applyNo: { immediate: true, - handler(val) { - if (val) { + handler(val, oldVal) { + // 只有当 applyNo 真正变化时才重新加载 + if (val && val !== oldVal) { + console.log('📋 applyNo 变化,重新加载工序列表:', oldVal, '->', val) + this.loadProcessList() + } else if (val && !oldVal) { + // 首次加载 + console.log('📋 首次加载工序列表:', val) this.loadProcessList() } } @@ -581,7 +591,7 @@ export default { * 规则:第一道工序直接可确认,其他工序需要上一道完成 */ canConfirmProcess(row) { - if (row.confirmStatus === 'CONFIRMED') { + if (row.confirmStatus === '已确认') { return false // 已完成的不能再确认 } @@ -593,7 +603,7 @@ export default { const previousProcess = this.processList.find(p => p.processSeq === row.processSeq - 1) // 上一道工序必须已完成 - return previousProcess && previousProcess.confirmStatus === 'CONFIRMED' + return previousProcess && previousProcess.confirmStatus === '已确认' }, /** diff --git a/src/views/modules/erf/expApplyList.vue b/src/views/modules/erf/expApplyList.vue index 2d8d8fa..dbdd056 100644 --- a/src/views/modules/erf/expApplyList.vue +++ b/src/views/modules/erf/expApplyList.vue @@ -670,7 +670,7 @@ export default { // ✅ 如果是High Risk,先验证工序 if (row.experimentType === 'High Risk') { console.log('🔍 检测到High Risk申请单,开始验证工序...') - + // 通过API查询工序列表进行验证(不依赖子组件是否已加载) this.validateHighRiskProcessByApi(row.applyNo).then(isValid => { if (!isValid) { @@ -681,7 +681,7 @@ export default { }) return } - + console.log('✅ High Risk验证通过,继续下达流程') // 验证通过后继续下达流程 this.proceedSubmit(row) @@ -698,7 +698,7 @@ export default { /** * 通过API验证High Risk工序 - * + * * @param {String} applyNo 申请单号 * @return {Promise} 验证结果 */ @@ -709,13 +709,13 @@ export default { if (data && data.code === 0) { const processList = data.list || [] console.log('📊 查询到工序数量:', processList.length) - + // 检查是否至少有一条完整的工序 const completeProcesses = processList.filter(process => { - const isComplete = process.prodApproverName && - process.qaApproverName && + const isComplete = process.prodApproverName && + process.qaApproverName && process.techApproverName - + if (isComplete) { console.log('✅ 完整工序:', process.processStep, { 车间: process.prodApproverName, @@ -723,12 +723,12 @@ export default { 技术: process.techApproverName }) } - + return isComplete }) - + console.log(`📈 完整工序数量: ${completeProcesses.length}/${processList.length}`) - + // 至少需要一条完整的工序 resolve(completeProcesses.length > 0) } else { @@ -963,9 +963,18 @@ export default { this.$refs.dataTable.setCurrentRow(row) }) - // 如果当前在审批状态tab,刷新审批状态和日志 + // 根据当前tab刷新对应的数据 if (this.activeName === 'approvalStatus') { + // 刷新审批状态和日志 this.loadFlowStatus() + } else if (this.activeName === 'triConfirm') { + // 刷新三方确认数据 + this.$nextTick(() => { + if (this.$refs.triConfirm && this.$refs.triConfirm.loadProcessList) { + console.log('🔄 行切换,刷新三方确认数据') + this.$refs.triConfirm.loadProcessList() + } + }) } else { // 否则自动切换到项目详情tab this.activeName = 'attachment' @@ -983,6 +992,16 @@ export default { if (tab.name === 'approvalStatus' && this.currentRow.applyNo) { this.loadFlowStatus() } + + // 切换到三方确认tab时刷新数据 + if (tab.name === 'triConfirm' && this.currentRow.applyNo) { + this.$nextTick(() => { + if (this.$refs.triConfirm && this.$refs.triConfirm.loadProcessList) { + console.log('🔄 Tab切换,刷新三方确认数据') + this.$refs.triConfirm.loadProcessList() + } + }) + } }, /** @@ -1080,6 +1099,7 @@ export default { const types = { '下达': 'primary', '批准': 'success', + '确认': 'success', '驳回': 'danger', '撤回': 'warning', '提醒': 'info', diff --git a/src/views/modules/erf/triConfirm.vue b/src/views/modules/erf/triConfirm.vue index 23bef9a..bc00dbb 100644 --- a/src/views/modules/erf/triConfirm.vue +++ b/src/views/modules/erf/triConfirm.vue @@ -1,148 +1,229 @@ - - - - - - - - - 查询 - - - - - - - - - - - - - - - - 已确认 - - {{ getApproverName(scope.row, 'PROD') }} + + + + + + 三方确认 + + High Risk 生产质量技术三方确认管理 + + + + + + + {{ dataList.length }} + 待确认工序 - - 确认 - - - - - - - - 已确认 - - {{ getApproverName(scope.row, 'QA') }} + + + + {{ canConfirmCount }} + 可立即确认 - - 确认 - - - - - - - - 已确认 - - {{ getApproverName(scope.row, 'TECH') }} + + + + {{ waitingCount }} + 等待上道工序 - - 确认 - - - - - - - - {{ isAllConfirmed(scope.row) ? '已完成' : '待确认' }} - - - - + + + + + + + + + + + 筛选条件 + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + {{ item.experimentType }} + + {{ item.applyNo }} + + + {{ getRoleName(item.currentRole) }} + + + + + + + + {{ item.title }} + + + + + + 工序 {{ item.processSeq }} + + {{ item.processStep }} + + + + + + + 项目编号 + + {{ item.projectNo || '-' }} + + + + + + 产品型号 + + {{ item.productType || '-' }} + + + + + + 申请人 + + {{ item.creatorName }} + + + + + + + + 生产 + + + + 质量 + + + + 技术 + + + + + + + + + + + + + 暂无待确认工序 + 您已完成所有三方确认任务 + + + + + + {{ confirmData.applyNo }} + + + {{ confirmData.experimentType }} + + + {{ confirmData.title }} + 第 {{ confirmData.processSeq }} 道 + {{ confirmData.processStep }} + + + + + 确认信息 - - - - {{ confirmData.applyNo }} - - - - - - {{ confirmData.processStep }} - - - - - {{ getRoleName(confirmData.roleType) }} + + {{ getRoleName(confirmData.roleType) }} + @@ -158,21 +239,23 @@ - + - - + :rows="3" + placeholder="请输入确认意见" + maxlength="500" + show-word-limit> + + - - - {{ confirmLoading ? '确认中...' : '确认' }} + + + {{ confirmLoading ? '确认中...' : '确认提交' }} 关闭 @@ -181,54 +264,86 @@
High Risk 生产质量技术三方确认管理
暂无待确认工序
您已完成所有三方确认任务