diff --git a/backend/app/service/BusinessTripService.php b/backend/app/service/BusinessTripService.php index 149ce17..ae7fca8 100644 --- a/backend/app/service/BusinessTripService.php +++ b/backend/app/service/BusinessTripService.php @@ -6,6 +6,7 @@ use app\model\BusinessTrip; use app\model\BusinessTripItinerary; use app\model\ApprovalOrder; use app\model\ApprovalFlow; +use app\model\ApprovalNode; use app\model\ApprovalRecord; use app\model\User; use support\Db; @@ -160,7 +161,7 @@ class BusinessTripService */ public function getList(int $userId, string $type = 'my', int $page = 1, int $pageSize = 20): array { - $query = BusinessTrip::with(['user', 'itineraries']); + $query = BusinessTrip::with(['user', 'itineraries', 'approvalOrder']); switch ($type) { case 'my': @@ -397,7 +398,7 @@ class BusinessTripService $isApprover = false; foreach ($currentNodes as $nodeId) { - $node = ApprovalNode::where('order_id', $approvalOrder->id) + $node = ApprovalNode::where('flow_id', $approvalOrder->flow_id) ->where('id', $nodeId) ->first(); @@ -405,13 +406,11 @@ class BusinessTripService continue; } - // 检查是否是单人审批节点 - if ($node->node_type === 'single_approve') { - $approvers = $node->approvers ?? []; - if (in_array($userId, $approvers)) { - $isApprover = true; - break; - } + // 检查用户是否在审批人列表中 + $approvers = $node->approvers ?? []; + if (in_array($userId, $approvers)) { + $isApprover = true; + break; } } @@ -433,7 +432,7 @@ class BusinessTripService ApprovalRecord::create([ 'order_id' => $approvalOrder->id, 'node_id' => $currentNodes[0] ?? 1, - 'node_type' => 'single_approve', + 'node_type' => 'approver', 'approver_id' => $userId, 'action' => $action, 'comment' => $comment,