columnId(); $grid->column('task.name', '任务名称'); $grid->column('cost_type', '消耗类型'); $grid->column('cost_param1', '消耗参数1'); $grid->column('cost_param2', '消耗参数2'); $grid->column('quantity', '消耗数量'); $grid->column('extra_data', '额外数据')->json(); $grid->column('created_at', '创建时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filterHelper = new FilterHelper($filter, $this); $filterHelper->equalId(); $filterHelper->equalTaskId(); $filterHelper->equal('cost_type', '消耗类型'); $filterHelper->equal('cost_param1', '消耗参数1'); $filterHelper->equal('cost_param2', '消耗参数2'); }); }); } /** * 详情页构建 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make(TaskCost::findOrFail($id), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->fieldId(); $show->field('task.name', '任务名称'); $show->field('cost_type', '消耗类型'); $show->field('cost_param1', '消耗参数1'); $show->field('cost_param2', '消耗参数2'); $show->field('quantity', '消耗数量'); $helper->fieldJson('extra_data', '额外数据'); $helper->fieldCreatedAt(); $helper->fieldUpdatedAt(); }); } /** * 表单构建 * * @return Form */ protected function form() { return Form::make(new TaskCostRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->display('id', 'ID'); $helper->selectTask(); $form->text('cost_type', '消耗类型')->required()->help('如物品、货币等'); $form->text('cost_param1', '消耗参数1')->required()->help('如物品类型、货币类型等'); $form->text('cost_param2', '消耗参数2')->required()->help('如物品ID、货币ID等'); $form->number('quantity', '消耗数量')->default(1)->min(1)->required(); $helper->json('extra_data', '额外数据'); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }