fix: 修复3个紧急问题
1. 修复抄送人重新选择后接收不到通知的问题 - BusinessTripService: 添加 $detailUrl 变量定义,确保抄送通知包含详情链接 2. 修复多人审批报错的问题 - ApprovalService: isNodeCompleted() 方法改为从 $node->approvers 获取审批人列表 - 之前从 form_data['approvers'] 获取会因重新选择审批人而导致数据不一致 3. 确保所有角色的通知消息都能点击进入详情 - 飞书卡片通知已包含"查看详情"按钮,问题1的修复确保了抄送人也能正常跳转 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -331,10 +331,8 @@ class ApprovalService
|
||||
->where('action', 'approve')
|
||||
->get();
|
||||
|
||||
// 从 form_data 获取审批人列表
|
||||
$order = ApprovalOrder::find($orderId);
|
||||
$formData = $order->form_data ?? [];
|
||||
$approvers = $formData['approvers'] ?? [];
|
||||
// 从节点的 approvers 字段获取审批人列表
|
||||
$approvers = $node->approvers ?? [];
|
||||
|
||||
// 兼容两种格式:[{id:1, name:'...'}] 或 [1]
|
||||
if (!empty($approvers) && is_array($approvers[0] ?? null) && isset($approvers[0]['id'])) {
|
||||
|
||||
@@ -297,6 +297,7 @@ class BusinessTripService
|
||||
|
||||
// 构建审批链接(统一使用审批详情页)
|
||||
$approvalUrl = "https://uniservice-mobile.hnxinyouhe.com/approval/detail/{$approvalOrder->id}";
|
||||
$detailUrl = $approvalUrl; // 用于抄送人和其他通知
|
||||
|
||||
// 构建内容
|
||||
$content = "**出差原因**: {$businessTrip->reason}\n";
|
||||
|
||||
Reference in New Issue
Block a user