columnId(); $grid->column('task.name', '任务名称'); $helper->columnRewardType(); $grid->column('reward_param1', '奖励参数1'); $grid->column('reward_param2', '奖励参数2'); $grid->column('quantity', '奖励数量'); $grid->column('extra_data', '额外数据')->json(); $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->equal('reward_type', '奖励类型'); $filterHelper->equal('reward_param1', '奖励参数1'); $filterHelper->equal('reward_param2', '奖励参数2'); }); }); } /** * 详情页构建 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make(TaskReward::findOrFail($id), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->fieldId(); $show->field('task.name', '任务名称'); $helper->fieldRewardType(); $show->field('reward_param1', '奖励参数1'); $show->field('reward_param2', '奖励参数2'); $show->field('quantity', '奖励数量'); $helper->fieldJson('extra_data', '额外数据'); $helper->fieldSortOrder(); $helper->fieldCreatedAt(); $helper->fieldUpdatedAt(); }); } /** * 表单构建 * * @return Form */ protected function form() { return Form::make(new TaskRewardRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); $helper->selectTask(); $helper->selectRewardType(); $form->text('reward_param1', '奖励参数1')->required()->help('如物品类型、货币类型等'); $form->text('reward_param2', '奖励参数2')->required()->help('如物品ID、货币ID等'); $helper->numberQuantity(); $helper->json('extra_data', '额外数据'); $helper->numberSortOrder(); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }