feat: 审批功能优化和拒绝原因弹窗
后端改动: - ApprovalService: 添加调试日志,简化详情页 URL 生成逻辑 - BusinessTripService: 优化出差审批详情展示 前端改动: - approval/detail: 审批详情页优化,支持查看完整审批流程 - approval/reject: 新增拒绝原因弹窗组件 - business-trip/detail: 出差详情页增强,展示审批状态和操作 功能特性: - 审批详情页显示完整审批流程和记录 - 拒绝操作支持填写拒绝原因 - 出差申请详情页优化展示 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -295,12 +295,9 @@ class BusinessTripService
|
||||
return;
|
||||
}
|
||||
|
||||
// 构建审批链接(使用 approval_order 的 ID)
|
||||
// 构建审批链接(统一使用审批详情页)
|
||||
$approvalUrl = "https://xsm.dev.hnxinyouhe.com/approval/detail/{$approvalOrder->id}";
|
||||
|
||||
// 构建业务详情链接(用于查看详情按钮)
|
||||
$detailUrl = "https://xsm.dev.hnxinyouhe.com/business-trip/detail/{$businessTrip->id}";
|
||||
|
||||
// 构建内容
|
||||
$content = "**出差原因**: {$businessTrip->reason}\n";
|
||||
$content .= "**目的地**: {$businessTrip->destination}\n";
|
||||
@@ -317,7 +314,7 @@ class BusinessTripService
|
||||
'applicant' => $businessTrip->user->name,
|
||||
'type' => '出差申请',
|
||||
'content' => $content,
|
||||
'url' => $detailUrl,
|
||||
'url' => $approvalUrl,
|
||||
'order_id' => $approvalOrder->id, // 添加 order_id 以显示审批按钮
|
||||
]);
|
||||
error_log("✅ 审批人通知成功: approver_id={$approverId}");
|
||||
@@ -356,7 +353,16 @@ class BusinessTripService
|
||||
{
|
||||
try {
|
||||
$notificationService = new \app\service\FeishuNotificationService();
|
||||
$detailUrl = "https://xsm.dev.hnxinyouhe.com/business-trip/detail/{$businessTrip->id}";
|
||||
|
||||
// 获取关联的审批订单
|
||||
$approvalOrder = \app\model\ApprovalOrder::where('business_id', $businessTrip->id)
|
||||
->where('business_type', 'business_trip')
|
||||
->first();
|
||||
|
||||
// 统一使用审批详情页
|
||||
$detailUrl = $approvalOrder
|
||||
? "https://xsm.dev.hnxinyouhe.com/approval/detail/{$approvalOrder->id}"
|
||||
: "https://xsm.dev.hnxinyouhe.com/approval/list";
|
||||
|
||||
if ($action === 'approve') {
|
||||
$title = '出差申请已通过';
|
||||
@@ -642,7 +648,9 @@ class BusinessTripService
|
||||
{
|
||||
try {
|
||||
$notificationService = new \app\service\FeishuNotificationService();
|
||||
$detailUrl = "https://xsm.dev.hnxinyouhe.com/business-trip/detail/{$businessTrip->id}";
|
||||
|
||||
// 统一使用审批详情页
|
||||
$detailUrl = "https://xsm.dev.hnxinyouhe.com/approval/detail/{$approvalOrder->id}";
|
||||
|
||||
// 获取审批人和抄送人
|
||||
$formData = $approvalOrder->form_data ?? [];
|
||||
|
||||
Reference in New Issue
Block a user