model()->orderBy('created_at', 'desc'); $grid->column('id'); $grid->column('store_id')->display(fn() => data_get($this->store, 'title')); $grid->column('name'); // $grid->column('status')->switch(); $grid->column('wxcode')->image('', 100, 100); $grid->column('remarks')->editable(); $user = Admin::user(); $grid->showViewButton($user->can('dcat.admin.store.desk.show')); $grid->showCreateButton($user->can('dcat.admin.store.desk.create')); $grid->showEditButton($user->can('dcat.admin.store.desk.edit')); $grid->showDeleteButton($user->can('dcat.admin.store.desk.destroy')); $grid->filter(function (Grid\Filter $filter) { $filter->panel(); $filter->equal('store_id')->select('api/store')->width(3); $filter->like('name')->width(3); }); $grid->actions(new \App\Admin\Actions\Store\RowDeskWxCode()); }); } protected function form() { return Form::make(new Desk(), function (Form $form) { $form->select('store_id')->options(Store::pluck('title', 'id'))->required(); $form->text('name')->required(); // $form->switch('status')->default(1); $form->text('remarks'); $form->embeds('extra', function (Form\EmbeddedForm $form) { $form->select('category_id')->options(ProductCategory::selectOptions()); }); $form->disableCreatingCheck(); $form->disableEditingCheck(); $form->disableDeleteButton(); $form->disableResetButton(); $form->saved(function (Form $form, $result) { // 新增桌号, 生成小程序码 if ($form->isCreating()) { } }); }); } protected function detail($id) { return Show::make($id, Desk::with(['store']), function (Show $show) { $show->field('id'); $show->field('store_id')->as(fn() => data_get($this->store, 'name')); $show->field('name'); // $show->field('status')->bool(); $show->field('wxcode'); $show->field('remarks'); $model = $show->model(); $category_id = data_get($model->extra, 'category_id'); if ($category_id) { $category = ProductCategory::find($category_id); $show->field('category_id')->as(fn() => $category ? $category->name : $category_id); } $show->disableEditButton(); $show->disableDeleteButton(); }); } }