column('id', 'ID')->sortable(); $grid->column('user_id', '用户ID')->sortable(); $grid->column('position', '位置')->sortable(); $grid->column('land_type', '土地类型')->display(function ($value) { return LAND_TYPE::getName($value); })->sortable(); $grid->column('status', '状态')->display(function ($value) { return LAND_STATUS::getName($value); })->sortable(); $grid->column('created_at', '创建时间')->sortable(); $grid->column('updated_at', '更新时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id', 'ID'); $filter->equal('user_id', '用户ID'); $filter->equal('position', '位置'); $filter->equal('land_type', '土地类型')->select([ LAND_TYPE::NORMAL => LAND_TYPE::getName(LAND_TYPE::NORMAL), LAND_TYPE::RED => LAND_TYPE::getName(LAND_TYPE::RED), LAND_TYPE::BLACK => LAND_TYPE::getName(LAND_TYPE::BLACK), LAND_TYPE::GOLD => LAND_TYPE::getName(LAND_TYPE::GOLD), LAND_TYPE::BLUE => LAND_TYPE::getName(LAND_TYPE::BLUE), LAND_TYPE::PURPLE => LAND_TYPE::getName(LAND_TYPE::PURPLE), ]); $filter->equal('status', '状态')->select([ LAND_STATUS::IDLE => LAND_STATUS::getName(LAND_STATUS::IDLE), LAND_STATUS::PLANTING => LAND_STATUS::getName(LAND_STATUS::PLANTING), LAND_STATUS::DISASTER => LAND_STATUS::getName(LAND_STATUS::DISASTER), LAND_STATUS::HARVESTABLE => LAND_STATUS::getName(LAND_STATUS::HARVESTABLE), LAND_STATUS::WITHERED => LAND_STATUS::getName(LAND_STATUS::WITHERED), ]); $filter->between('created_at', '创建时间')->datetime(); }); }); } /** * 构建详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new FarmLandRepository(), function (Show $show) { $show->field('id', 'ID'); $show->field('user_id', '用户ID'); $show->field('position', '位置'); $show->field('land_type', '土地类型')->as(function ($value) { return LAND_TYPE::getName($value); }); $show->field('status', '状态')->as(function ($value) { return LAND_STATUS::getName($value); }); $show->field('created_at', '创建时间'); $show->field('updated_at', '更新时间'); }); } /** * 构建表单 * * @return Form */ protected function form() { return Form::make(new FarmLandRepository(), function (Form $form) { $form->display('id', 'ID'); $form->text('user_id', '用户ID')->required()->rules('required|integer'); $form->number('position', '位置')->min(1)->max(20)->required(); $form->select('land_type', '土地类型')->options([ LAND_TYPE::NORMAL => LAND_TYPE::getName(LAND_TYPE::NORMAL), LAND_TYPE::RED => LAND_TYPE::getName(LAND_TYPE::RED), LAND_TYPE::BLACK => LAND_TYPE::getName(LAND_TYPE::BLACK), LAND_TYPE::GOLD => LAND_TYPE::getName(LAND_TYPE::GOLD), LAND_TYPE::BLUE => LAND_TYPE::getName(LAND_TYPE::BLUE), LAND_TYPE::PURPLE => LAND_TYPE::getName(LAND_TYPE::PURPLE), ])->required(); $form->select('status', '状态')->options([ LAND_STATUS::IDLE => LAND_STATUS::getName(LAND_STATUS::IDLE), LAND_STATUS::PLANTING => LAND_STATUS::getName(LAND_STATUS::PLANTING), LAND_STATUS::DISASTER => LAND_STATUS::getName(LAND_STATUS::DISASTER), LAND_STATUS::HARVESTABLE => LAND_STATUS::getName(LAND_STATUS::HARVESTABLE), LAND_STATUS::WITHERED => LAND_STATUS::getName(LAND_STATUS::WITHERED), ])->required(); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }