column('id', 'ID')->sortable(); $grid->column('level', '等级')->sortable(); $grid->column('output_bonus', '产出加成')->display(function ($value) { return ($value * 100) . '%'; })->sortable(); $grid->column('special_land_limit', '特殊土地上限')->sortable(); $grid->column('downgrade_days', '降级天数')->sortable(); $grid->column('created_at', '创建时间')->sortable(); $grid->column('updated_at', '更新时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id', 'ID'); $filter->equal('level', '等级'); $filter->between('created_at', '创建时间')->datetime(); }); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); }); }); } /** * 构建详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new FarmHouseConfigRepository(), function (Show $show) { $show->field('id', 'ID'); $show->field('level', '等级'); $show->field('output_bonus', '产出加成')->as(function ($value) { return ($value * 100) . '%'; }); $show->field('special_land_limit', '特殊土地上限'); $show->field('upgrade_materials', '升级所需材料')->json(); $show->field('downgrade_days', '降级天数'); $show->field('created_at', '创建时间'); $show->field('updated_at', '更新时间'); }); } /** * 构建表单 * * @return Form */ protected function form() { return Form::make(new FarmHouseConfigRepository(), function (Form $form) { $form->display('id', 'ID'); $form->number('level', '等级')->min(1)->max(12)->required(); $form->rate('output_bonus', '产出加成')->max(1)->step(0.05)->required(); $form->number('special_land_limit', '特殊土地上限')->min(0)->default(0)->required(); $form->textarea('upgrade_materials', '升级所需材料')->json()->required(); $form->number('downgrade_days', '降级天数')->min(1)->help('留空表示不降级'); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }