diff --git a/frontend/dist.tar.gz b/frontend/dist.tar.gz index 93c5fdc..d552def 100644 Binary files a/frontend/dist.tar.gz and b/frontend/dist.tar.gz differ diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 2fb9d46..50b60cd 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -3958,13 +3958,21 @@ const handleRejectTwoLevelTask = async (task: Task) => { try { approvalLoading.value = true - // 根据当前审核角色调用不同的API - if (task.currentApproverRole === 'demand_leader') { + // 优先检查是否为一级需求部门任务(pending_primary_approval状态) + if (task.approvalStatus === 'pending_primary_approval') { + await taskApi.rejectPrimaryTask(task.id!, rejectReason.trim()) + message.success('一级需求任务已驳回,任务已退回给发起人') + } else if (task.currentApproverRole === 'demand_leader') { + // 需求部门负责人驳回(pending_demand_approval状态) await taskApi.rejectByDemandLeader(task.id!, rejectReason.trim()) message.success('已驳回,任务已退回给发起人') } else if (task.currentApproverRole === 'receiving_leader') { + // 接单部门负责人驳回(pending_receiving_approval状态) await taskApi.rejectByReceivingLeader(task.id!, rejectReason.trim()) message.success('已驳回,任务已退回给需求部门负责人') + } else { + message.error('无法确定审核角色') + return Promise.reject() } // 刷新列表和数量 @@ -5537,11 +5545,16 @@ const handleRejectTask = (task: Task) => { } try { - // 根据当前审核角色调用不同的API - if (task.currentApproverRole === 'demand_leader') { + // 优先检查是否为一级需求部门任务(pending_primary_approval状态) + if (task.approvalStatus === 'pending_primary_approval') { + await taskApi.rejectPrimaryTask(task.id!, reason) + message.success('一级需求任务已驳回') + } else if (task.currentApproverRole === 'demand_leader') { + // 需求部门负责人驳回(pending_demand_approval状态) await taskApi.rejectByDemandLeader(task.id!, reason) message.success('需求部门已驳回') } else if (task.currentApproverRole === 'receiving_leader') { + // 接单部门负责人驳回(pending_receiving_approval状态) await taskApi.rejectByReceivingLeader(task.id!, reason) message.success('接单部门已驳回') } else {