columnId(); $helper->columnUserId(); $grid->column('task.name', '任务名称'); $grid->column('achievementCondition.condition.name', '条件名称'); $grid->column('current_value', '当前值'); $grid->column('target_value', '目标值'); $helper->columnCalculatedProgress(); $grid->column('created_at', '创建时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filterHelper = new FilterHelper($filter, $this); $filterHelper->equal(); $filterHelper->equalUserId(); $filterHelper->equalTaskId(); $filterHelper->equal('achievement_condition_id', '达成条件ID'); }); }); } /** * 详情页构建 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make(TaskUserProgress::findOrFail($id), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->fieldId(); $show->field('user_id', '用户ID'); $show->field('task.name', '任务名称'); $show->field('achievementCondition.condition.name', '条件名称'); $show->field('current_value', '当前值'); $show->field('target_value', '目标值'); $helper->fieldCalculatedProgress(); $helper->fieldCreatedAt(); $helper->fieldUpdatedAt(); }); } /** * 表单构建 * * @return Form */ protected function form() { return Form::make(new TaskUserProgressRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); $form->number('user_id', '用户ID')->required(); $helper->selectTask(); $form->select('achievement_condition_id', '达成条件ID')->options(function () { return \App\Module\Task\Models\TaskCondition::pluck('name', 'id'); })->required(); $form->number('current_value', '当前值')->default(0)->min(0); $form->number('target_value', '目标值')->default(1)->min(1); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }