diff --git a/app/Admin/Controllers/Plan/PlanController.php b/app/Admin/Controllers/Plan/PlanController.php index a91dd1c..112f3bb 100644 --- a/app/Admin/Controllers/Plan/PlanController.php +++ b/app/Admin/Controllers/Plan/PlanController.php @@ -209,7 +209,7 @@ class PlanController extends AdminController amis()->TableColumn('completed_at', __('plan.task.completed_at')), amis()->TableColumn('created_at', __('plan.task.created_at')), ]) - ->visibleOn('${planable_type == "'.$planableTypeLedger.'"}'), + ->visibleOn('${plan_status == '.PlanStatus::Pending->value.' and planable_type == "'.$planableTypeLedger.'"}'), // 业绩指标 amis()->CRUDTable() @@ -236,7 +236,7 @@ class PlanController extends AdminController ->visible(Admin::user()->can('admin.plan.plans.task_delete')), ]), ]) - ->visibleOn('${planable_type == "'.$planableTypePerformance.'"}'), + ->visibleOn('${plan_status == '.PlanStatus::Pending->value.' and planable_type == "'.$planableTypePerformance.'"}'), // 清洁卫生 amis()->CRUDTable() @@ -261,7 +261,7 @@ class PlanController extends AdminController ->visible(Admin::user()->can('admin.plan.plans.task_delete')), ]), ]) - ->visibleOn('${planable_type == "'.$planableTypeHygiene.'"}'), + ->visibleOn('${plan_status == '.PlanStatus::Pending->value.' and planable_type == "'.$planableTypeHygiene.'"}'), ]); } diff --git a/app/Admin/Services/Plan/TaskService.php b/app/Admin/Services/Plan/TaskService.php index dcfa924..2bc5ea5 100644 --- a/app/Admin/Services/Plan/TaskService.php +++ b/app/Admin/Services/Plan/TaskService.php @@ -44,8 +44,13 @@ class TaskService extends BaseService admin_abort('任务计划未找到'); } + /** @var \App\Models\Plan */ $plan = Plan::findOrFail($data['plan_id']); + if (! $plan->isPublished()) { + admin_abort('任务计划未发布'); + } + switch (get_class($planable = $plan->planable)) { // 业绩指标 case PlanPerformance::class: