generated from liutk/owl-admin-base
Update
parent
d023d07127
commit
9b9d3813f6
|
|
@ -209,7 +209,7 @@ class PlanController extends AdminController
|
||||||
amis()->TableColumn('completed_at', __('plan.task.completed_at')),
|
amis()->TableColumn('completed_at', __('plan.task.completed_at')),
|
||||||
amis()->TableColumn('created_at', __('plan.task.created_at')),
|
amis()->TableColumn('created_at', __('plan.task.created_at')),
|
||||||
])
|
])
|
||||||
->visibleOn('${plan_status == '.PlanStatus::Published->value.' and planable_type == "'.$planableTypeLedger.'"}'),
|
->visibleOn('${plan_status == '.PlanStatus::Published->value.' && planable_type == "'.$planableTypeLedger.'"}'),
|
||||||
|
|
||||||
// 业绩指标
|
// 业绩指标
|
||||||
amis()->CRUDTable()
|
amis()->CRUDTable()
|
||||||
|
|
@ -236,7 +236,7 @@ class PlanController extends AdminController
|
||||||
->visible(Admin::user()->can('admin.plan.plans.task_delete')),
|
->visible(Admin::user()->can('admin.plan.plans.task_delete')),
|
||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
->visibleOn('${plan_status == '.PlanStatus::Published->value.' and planable_type == "'.$planableTypePerformance.'"}'),
|
->visibleOn('${plan_status == '.PlanStatus::Published->value.' && planable_type == "'.$planableTypePerformance.'"}'),
|
||||||
|
|
||||||
// 清洁卫生
|
// 清洁卫生
|
||||||
amis()->CRUDTable()
|
amis()->CRUDTable()
|
||||||
|
|
@ -261,7 +261,7 @@ class PlanController extends AdminController
|
||||||
->visible(Admin::user()->can('admin.plan.plans.task_delete')),
|
->visible(Admin::user()->can('admin.plan.plans.task_delete')),
|
||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
->visibleOn('${plan_status == '.PlanStatus::Published->value.' and planable_type == "'.$planableTypeHygiene.'"}'),
|
->visibleOn('${plan_status == '.PlanStatus::Published->value.' && planable_type == "'.$planableTypeHygiene.'"}'),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,21 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Api;
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
use Illuminate\Http\{Request, Response};
|
|
||||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
|
||||||
use App\Http\Resources\WorkflowLogResource;
|
|
||||||
use App\Enums\CheckStatus;
|
|
||||||
use App\Models\WorkflowCheck;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Validation\Rule;
|
|
||||||
use App\Admin\Services\WorkFlowService;
|
use App\Admin\Services\WorkFlowService;
|
||||||
|
use App\Enums\CheckStatus;
|
||||||
use App\Exceptions\RuntimeException;
|
use App\Exceptions\RuntimeException;
|
||||||
use App\Http\Resources\TaskResource;
|
use App\Http\Resources\TaskResource;
|
||||||
|
use App\Http\Resources\WorkflowLogResource;
|
||||||
|
use App\Models\Task;
|
||||||
use App\Models\TaskHygiene;
|
use App\Models\TaskHygiene;
|
||||||
|
use App\Models\TaskLedger;
|
||||||
|
use App\Models\WorkflowCheck;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||||
|
use Illuminate\Http\{Request, Response};
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class WorkflowController extends Controller
|
class WorkflowController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -34,7 +38,7 @@ class WorkflowController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = $model::query()->with($include)
|
$query = $model::query()->with($include)
|
||||||
->whereHas('workflow', fn($q) => $q->where('check_status', CheckStatus::Processing))
|
// ->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))
|
||||||
->orderBy('created_at', 'desc');
|
->orderBy('created_at', 'desc');
|
||||||
|
|
||||||
|
|
@ -57,6 +61,9 @@ class WorkflowController extends Controller
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'subject_type' => 'required',
|
'subject_type' => 'required',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$user = $request->user();
|
||||||
|
|
||||||
$subjectType = $request->input('subject_type');
|
$subjectType = $request->input('subject_type');
|
||||||
$model = Relation::getMorphedModel($subjectType);
|
$model = Relation::getMorphedModel($subjectType);
|
||||||
$resource = $this->mapResource($model);
|
$resource = $this->mapResource($model);
|
||||||
|
|
@ -66,11 +73,37 @@ class WorkflowController extends Controller
|
||||||
$explodes = explode(',', $request->input('include'));
|
$explodes = explode(',', $request->input('include'));
|
||||||
$include = array_merge($include, $explodes);
|
$include = array_merge($include, $explodes);
|
||||||
}
|
}
|
||||||
$info = $model::query()->with($include)->findOrFail($id);
|
|
||||||
|
|
||||||
switch ($model) {
|
switch ($model) {
|
||||||
case TaskHygiene::class:
|
case TaskHygiene::class:
|
||||||
$info = tap($info->task)->setRelation('taskable', $info->unsetRelation('task'));
|
$info = Task::with([
|
||||||
|
'taskable' => function (MorphTo $morphTo) {
|
||||||
|
$morphTo->morphWith([
|
||||||
|
TaskHygiene::class => ['workflow', 'store'],
|
||||||
|
TaskLedger::class => ['store'],
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
])->whereHasMorph(
|
||||||
|
'taskable',
|
||||||
|
[TaskHygiene::class, TaskLedger::class],
|
||||||
|
function (Builder $query, string $type) use ($user) {
|
||||||
|
switch ($type) {
|
||||||
|
case TaskLedger::class:
|
||||||
|
case TaskHygiene::class:
|
||||||
|
if ($user->isStoreMaster()) {
|
||||||
|
$query->where('store_id', $user->store_id);
|
||||||
|
} else {
|
||||||
|
$query->whereRaw('1!=1');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)->findOrFail($id);
|
||||||
|
$info->taskable->setRelation('task', $info->withoutRelations());
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$info = $model::query()->with($include)->findOrFail($id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue