columnId(); $grid->column('task.name', '任务名称'); $grid->column('condition.name', '条件名称'); $grid->column('condition_type', '条件类型')->display(function ($type) { return $type == 'prerequisite' ? '前置条件' : '进度条件'; }); $grid->column('condition_params', '条件参数')->json(); $grid->column('target_value', '目标值'); $grid->column('is_required', '是否必要条件')->switch(); $grid->column('sort_order', '排序权重')->sortable(); $grid->column('created_at', '创建时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filterHelper = new FilterHelper($filter, $this); $filterHelper->equal(); $filterHelper->equalTaskId(); $filterHelper->equalConditionId('condition_id', '条件ID'); $filterHelper->equalConditionType(); $filterHelper->equalIsRequired(); }); }); } /** * 详情页构建 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make(TaskAchievementCondition::findOrFail($id), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->fieldId(); $show->field('task.name', '任务名称'); $show->field('condition.name', '条件名称'); $helper->fieldConditionType(); $helper->fieldJson('condition_params', '条件参数'); $show->field('target_value', '目标值'); $helper->fieldIsRequired(); $helper->fieldSortOrder(); $helper->fieldCreatedAt(); $helper->fieldUpdatedAt(); }); } /** * 表单构建 * * @return Form */ protected function form() { return Form::make(new TaskAchievementConditionRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); $helper->selectTask(); $helper->selectCondition(); $helper->selectConditionType(); $helper->json('condition_params', '条件参数'); $helper->numberTargetValue(); $helper->switchIsRequired(); $helper->numberSortOrder(); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }