|
|
|
@ -44,13 +44,12 @@ |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.prodApproverName" style="color: #67C23A;"> |
|
|
|
✓ {{ scope.row.prodApproverName }} |
|
|
|
<span v-if="scope.row.prodConfirmed" style="color: #67C23A;"> |
|
|
|
{{ scope.row.prodApproverName }} ✓ |
|
|
|
</span> |
|
|
|
<span v-else-if="canConfirmProcess(scope.row)" style="color: #E6A23C;"> |
|
|
|
待确认 |
|
|
|
<span v-else > |
|
|
|
{{ scope.row.prodApproverName }} |
|
|
|
</span> |
|
|
|
<span v-else style="color: #909399;">-</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
@ -61,13 +60,12 @@ |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.qaApproverName" style="color: #67C23A;"> |
|
|
|
✓ {{ scope.row.qaApproverName }} |
|
|
|
<span v-if="scope.row.qaConfirmed" style="color: #67C23A;"> |
|
|
|
{{ scope.row.qaApproverName }} ✓ |
|
|
|
</span> |
|
|
|
<span v-else-if="canConfirmProcess(scope.row)" style="color: #E6A23C;"> |
|
|
|
待确认 |
|
|
|
<span v-else > |
|
|
|
{{ scope.row.qaApproverName }} |
|
|
|
</span> |
|
|
|
<span v-else style="color: #909399;">-</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
@ -78,13 +76,12 @@ |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.techApproverName" style="color: #67C23A;"> |
|
|
|
✓ {{ scope.row.techApproverName }} |
|
|
|
<span v-if="scope.row.techConfirmed" style="color: #67C23A;"> |
|
|
|
{{ scope.row.techApproverName }} ✓ |
|
|
|
</span> |
|
|
|
<span v-else-if="canConfirmProcess(scope.row)" style="color: #E6A23C;"> |
|
|
|
待确认 |
|
|
|
<span v-else> |
|
|
|
{{ scope.row.techApproverName }} |
|
|
|
</span> |
|
|
|
<span v-else style="color: #909399;">-</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
@ -95,7 +92,7 @@ |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-tag v-if="scope.row.confirmStatus === 'CONFIRMED'" type="success" size="small"> |
|
|
|
<el-tag v-if="scope.row.confirmStatus === '已确认'" type="success" size="small"> |
|
|
|
已完成 |
|
|
|
</el-tag> |
|
|
|
<el-tag v-else-if="canConfirmProcess(scope.row)" type="warning" size="small"> |
|
|
|
@ -321,7 +318,14 @@ |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="userName" |
|
|
|
label="姓名" |
|
|
|
label="用户账号" |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="userDisplay" |
|
|
|
label="用户名" |
|
|
|
align="center" |
|
|
|
header-align="center"> |
|
|
|
</el-table-column> |
|
|
|
@ -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 === '已确认' |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
|