From 82930c1cf5b48a6a1cc607a2cd802f2b19b6440c Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Fri, 26 Apr 2024 10:03:04 +0800 Subject: [PATCH] workflow --- app/Http/Controllers/Api/WorkflowController.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/WorkflowController.php b/app/Http/Controllers/Api/WorkflowController.php index 92eebf3..4627494 100644 --- a/app/Http/Controllers/Api/WorkflowController.php +++ b/app/Http/Controllers/Api/WorkflowController.php @@ -39,7 +39,7 @@ class WorkflowController extends Controller $query = $model::query()->with($include) // ->whereHas('workflow', fn($q) => $q->where('check_status', CheckStatus::Processing)) - ->whereHas('workflow.logs', fn($q) => $q->own($user)) + ->whereHas('workflow.logs', fn($q) => $q->own($user)->where('check_status', '>', CheckStatus::None->value)) ->orderBy('created_at', 'desc'); $list = $query->paginate($request->input('per_page')); @@ -66,8 +66,12 @@ class WorkflowController extends Controller $subjectType = $request->input('subject_type'); $model = Relation::getMorphedModel($subjectType); + $resource = $this->mapResource($model); + // 当前用户是否可以审核 + $checkable = false; + $include = ['workflow']; if ($request->input('include')) { $explodes = explode(',', $request->input('include')); @@ -85,14 +89,18 @@ class WorkflowController extends Controller }, ])->findOrFail($id); $info->taskable->setRelation('task', $info->withoutRelations()); + $checkable = $info->taskable->workflow->logs()->own($user)->where('check_status', CheckStatus::Processing)->exists(); break; default: $info = $model::query()->with($include)->findOrFail($id); + $checkable = $info->workflow->logs()->own($user)->where('check_status', CheckStatus::Processing)->exists(); break; } - return $resource::make($info); + $data = $resource::make($info)->toArray($request); + $data['checkable'] = $checkable; + return $data; } public function logs($id, Request $request)