column('id')->sortable(); $grid->column('name'); $grid->column('icon')->image(null, 80, 80); $grid->column('type', '类型')->display(function ($type) { return $type->label(); }); $grid->column('amount')->display(function ($v) { return trim_trailing_zeros($v); }); $grid->column('created_at'); $grid->column('updated_at'); $grid->model()->orderBy('id', 'asc'); if (Admin::user()->can('dcat.admin.draw_prizes.create')) { $grid->enableDialogCreate(); $grid->showCreateButton(); } if (Admin::user()->can('dcat.admin.draw_prizes.edit')) { $grid->showQuickEditButton(); } if (Admin::user()->can('dcat.admin.draw_prizes.destroy')) { $grid->showDeleteButton(); } $grid->filter(function (Grid\Filter $filter) { $filter->panel(false); $filter->like('name')->width(3); $filter->equal('type')->select(DrawPrizeType::options())->width(3); }); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new DrawPrizeRepository(), function (Form $form) { $form->display('id'); $form->text('name') ->rules(['bail', 'required', 'string', 'max:255']) ->setLabelClass(['asterisk']) ->attribute('required', true); $form->image('icon') ->move('draw/prizes') ->uniqueName() ->saveFullUrl() ->removable(false) ->autoUpload() ->retainable() ->setLabelClass(['asterisk']) ->rules(['bail', 'required']) ->attribute('required', true); $form->select('type') ->options(DrawPrizeType::options()) ->rules(['bail', 'required', Rule::in(array_keys(DrawPrizeType::options()))]) ->setLabelClass(['asterisk']) ->attribute('required', true); $form->text('amount') ->rules(['bail', 'required', 'min:0', 'regex:/^([1-9]\d*|0)(\.\d{1,2})?$/']) ->setLabelClass(['asterisk']) ->attribute('required', true) ->help('最多保留2位小数'); }); } }