审批流修正

This commit is contained in:
syruan 2026-01-06 15:53:40 +08:00
parent 5a40afc09a
commit b3b105c248
4 changed files with 98 additions and 5 deletions

View File

@ -327,11 +327,21 @@ export default {
//
// currentNodeId currentNodeOrder
if (this.processConfig && this.processConfig.nodeList) {
const currentNode = this.processConfig.nodeList.find(
// ID
let currentNode = this.processConfig.nodeList.find(
node => node.id === this.approvalInstance.currentNodeId
)
// ID nodeOrder
if (!currentNode && this.approvalInstance.currentNodeOrder) {
console.log('⚠️ 按 ID 找不到节点,尝试按 nodeOrder 查找...')
currentNode = this.processConfig.nodeList.find(
node => node.nodeOrder === this.approvalInstance.currentNodeOrder
)
}
console.log('当前节点ID:', this.approvalInstance.currentNodeId)
console.log('当前节点顺序:', this.approvalInstance.currentNodeOrder)
console.log('当前节点:', currentNode)
if (currentNode && currentNode.approverIds) {

View File

@ -35,7 +35,7 @@
<el-card>
<el-row :gutter="10" class="mb8" justify="end">
<el-col :span="4">
<span style="font-size: 20px; font-weight: 800">出库审核列表</span>
<span style="font-size: 20px; font-weight: 800">出库审核列表1</span>
</el-col>
</el-row>
@ -262,7 +262,10 @@ export default {
}
},
created() {
console.log('🚀 ~ addAudit.vue created 钩子执行')
this.routerParams = this.$route.query
console.log('路由参数:', this.routerParams)
let title = '审核'
if (this.routerParams.isView) {
title = '查看审核'
@ -270,6 +273,8 @@ export default {
title = '审核详情'
}
this.queryParams.id = this.routerParams.id || ''
console.log('查询参数ID:', this.queryParams.id)
this.getUseProjectList()
this.queryParams.status == '0' ? this.queryParams.useUnit = sessionStorage.getItem('deptName') : ''
this.provinceList = regionData
@ -277,6 +282,7 @@ export default {
this.$tab.updatePage(obj)
this.getList()
//
console.log('准备加载审批信息...')
this.loadApprovalInfo()
},
methods: {
@ -362,39 +368,57 @@ export default {
//
async loadApprovalInfo() {
try {
console.log('🚀 ~ loadApprovalInfo 开始加载审批信息')
const businessId = this.routerParams.id || this.queryParams.id
console.log('业务ID:', businessId)
if (!businessId) {
console.log('❌ 业务ID为空无法加载审批信息')
return
}
console.log('获取审批实例...')
const instanceRes = await getApprovalInstanceByBusiness('EQUIPMENT_OUT', businessId)
console.log('审批实例响应:', instanceRes)
if (!instanceRes || !instanceRes.data) {
console.log('❌ 审批实例不存在')
return
}
const instanceId = instanceRes.data.id
const processId = instanceRes.data.processId
console.log('实例ID:', instanceId, '流程ID:', processId)
if (!instanceId || !processId) {
console.log('❌ 实例ID或流程ID为空')
return
}
//
console.log('获取审批详情...')
const approvalRes = await getApprovalDetail(instanceId)
console.log('审批详情响应:', approvalRes)
if (approvalRes && approvalRes.data) {
this.approvalInstance = approvalRes.data
this.showApprovalProgress = true
this.showApprovalActions = true
console.log('✅ 审批进度和操作已显示')
//
console.log('获取流程配置...')
const processRes = await getProcessConfig(processId)
console.log('流程配置响应:', processRes)
if (processRes && processRes.data) {
this.processConfig = processRes.data
console.log('✅ 流程配置已加载')
}
this.checkCanApprove()
} else {
console.log('❌ 审批详情为空')
}
} catch (error) {
console.error('加载审批信息失败:', error)
@ -403,23 +427,61 @@ export default {
//
checkCanApprove() {
console.log('🚀 ~ checkCanApprove 开始检查')
console.log('approvalInstance:', this.approvalInstance)
console.log('processConfig:', this.processConfig)
// 01
if (this.approvalInstance.status !== '0' && this.approvalInstance.status !== '1') {
console.log('❌ 审批状态不符合status:', this.approvalInstance.status)
this.canApprove = false
return
}
const currentUserId = getCurrentUserId()
console.log('当前用户ID:', currentUserId)
if (this.processConfig && this.processConfig.nodeList) {
const currentNode = this.processConfig.nodeList.find(
console.log('节点列表:', this.processConfig.nodeList)
console.log('节点列表详情:', this.processConfig.nodeList.map(n => ({ id: n.id, nodeName: n.nodeName, approverIds: n.approverIds })))
console.log('当前节点ID:', this.approvalInstance.currentNodeId)
console.log('当前节点ID类型:', typeof this.approvalInstance.currentNodeId)
// nodeOrder
const currentNodeOrder = this.approvalInstance.currentNodeOrder
console.log('当前节点顺序:', currentNodeOrder)
let currentNode = this.processConfig.nodeList.find(
node => node.id === this.approvalInstance.currentNodeId
)
// ID nodeOrder
if (!currentNode && currentNodeOrder) {
console.log('⚠️ 按 ID 找不到节点,尝试按 nodeOrder 查找...')
currentNode = this.processConfig.nodeList.find(
node => node.nodeOrder === currentNodeOrder
)
}
console.log('当前节点:', currentNode)
if (currentNode && currentNode.approverIds) {
const approverIds = currentNode.approverIds.split(',').map(id => parseInt(id))
console.log('审批人ID列表:', approverIds)
this.canApprove = approverIds.includes(parseInt(currentUserId))
console.log('是否可以审批:', this.canApprove)
} else {
console.log('❌ 当前节点不存在或没有配置审批人')
console.log('节点ID对比:')
this.processConfig.nodeList.forEach(node => {
console.log(` 节点 ID=${node.id} (${node.nodeName}): ${node.id === this.approvalInstance.currentNodeId ? '✅ ID匹配' : '❌ ID不匹配'}`)
console.log(` 节点 Order=${node.nodeOrder}: ${node.nodeOrder === currentNodeOrder ? '✅ Order匹配' : '❌ Order不匹配'}`)
})
this.canApprove = false
}
} else {
console.log('❌ 流程配置或节点列表不存在')
this.canApprove = false
}
},

View File

@ -479,12 +479,22 @@ export default {
const currentUserId = getCurrentUserId()
console.log('当前用户ID:', currentUserId)
console.log('当前节点ID:', this.approvalInstance.currentNodeId)
console.log('当前节点顺序:', this.approvalInstance.currentNodeOrder)
if (this.processConfig && this.processConfig.nodeList) {
const currentNode = this.processConfig.nodeList.find(
// ID
let currentNode = this.processConfig.nodeList.find(
node => node.id === this.approvalInstance.currentNodeId
)
// ID nodeOrder
if (!currentNode && this.approvalInstance.currentNodeOrder) {
console.log('⚠️ 按 ID 找不到节点,尝试按 nodeOrder 查找...')
currentNode = this.processConfig.nodeList.find(
node => node.nodeOrder === this.approvalInstance.currentNodeOrder
)
}
console.log('当前节点:', currentNode)
if (currentNode && currentNode.approverIds) {

View File

@ -264,11 +264,22 @@ export default {
console.log('当前用户ID:', currentUserId)
console.log('流程配置:', this.processConfig)
console.log('当前节点ID:', this.approvalInstance.currentNodeId)
console.log('当前节点顺序:', this.approvalInstance.currentNodeOrder)
if (this.processConfig && this.processConfig.nodeList) {
const currentNode = this.processConfig.nodeList.find(
// ID
let currentNode = this.processConfig.nodeList.find(
node => node.id === this.approvalInstance.currentNodeId
)
// ID nodeOrder
if (!currentNode && this.approvalInstance.currentNodeOrder) {
console.log('⚠️ 按 ID 找不到节点,尝试按 nodeOrder 查找...')
currentNode = this.processConfig.nodeList.find(
node => node.nodeOrder === this.approvalInstance.currentNodeOrder
)
}
console.log('当前节点:', currentNode)
if (currentNode && currentNode.approverIds) {