baseCRUD() ->filterTogglable(false) ->headerToolbar([ $this->createButton(true), ...$this->baseHeaderToolBar(), ]) ->quickSaveItemApi(admin_url('quick-edit/banner-places/$id')) ->filter($this->baseFilter()->actions([])->body([ TextControl::make()->name('key')->label(__('banner-place.key'))->size('md'), TextControl::make()->name('name')->label(__('banner-place.name'))->size('md'), Button::make()->label(__('admin.reset'))->actionType('clear-and-submit'), Component::make()->setType('submit')->label(__('admin.search'))->level('primary'), ])) ->columns([ TableColumn::make()->name('id')->label(__('banner-place.id')), TableColumn::make()->name('key')->label(__('banner-place.key')), TableColumn::make()->name('name')->label(__('banner-place.name')), TableColumn::make()->name('is_enable')->type('switch')->label(__('banner-place.is_enable'))->quickEdit(SwitchControl::make()->saveImmediately(true)->mode('inline')), TableColumn::make()->name('remark')->label(__('banner-place.remark'))->quickEdit(TextControl::make()->saveImmediately(true)), $this->rowActions(true), ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->title('')->body([ TextControl::make()->name('key')->label('KEY')->required(true), TextControl::make()->name('name')->label('名称')->required(true), NumberControl::make()->name('width')->label(__('banner-place.width'))->step(1)->min(0), NumberControl::make()->name('height')->label(__('banner-place.height'))->step(1)->min(0), SwitchControl::make()->name('is_enable')->label(__('banner-place.is_enable'))->value(true), TextControl::make()->name('remark')->label('备注'), ]); } public function detail(): Form { return $this->baseDetail()->body([ TextControl::make()->static(true)->name('id')->label(__('banner-place.id')), TextControl::make()->static(true)->name('name')->label(__('banner-place.name')), TextControl::make()->static(true)->name('width')->label(__('banner-place.width')), TextControl::make()->static(true)->name('height')->label(__('banner-place.height')), TextControl::make()->name('is_enable')->label(__('banner-place.is_enable'))->static(true)->staticSchema(Status::make()->source([ ['label' => '不显示', 'icon' => 'fa fa-close', 'color' => '#cc292e'], ['label' => '显示', 'icon' => 'fa fa-check', 'color' => '#30bf13'], ])), TextControl::make()->static(true)->name('remark')->label(__('banner-place.remark')), TextControl::make()->static(true)->name('created_at')->label(__('banner-place.created_at')), ]); } public function options() { $list = $this->service->listQuery()->select(['id as value', 'name as label'])->get(); return $this->response()->success($list); } }