baseCRUD() ->filterTogglable(false) ->columnsTogglable(false) ->headerToolbar([ $this->createButton(true), ]) ->filter($this->baseFilter()->actions([])->body([ amisMake()->TextControl()->name('name')->label(__('party_user.name'))->size('md')->clearable(), amisMake()->SelectControl()->name('cate_id')->label(__('party_user.cate_id'))->options($this->getCateOptions())->size('md')->clearable(), amisMake()->Component()->setType('submit')->label(__('admin.search'))->level('primary'), ])) ->columns([ amisMake()->TableColumn()->name('id')->label(__('party_user.id')), amisMake()->TableColumn()->name('name')->label(__('party_user.name')), amisMake()->TableColumn()->type('avatar')->src('${avatar}')->name('avatar')->label(__('party_user.avatar')), amisMake()->TableColumn()->name('cate.name')->label(__('party_user.cate_id')), amisMake()->TableColumn()->name('score')->label(__('party_user.score')), $this->rowActions([ $this->rowShowButton(), $this->rowEditButton(true), $this->rowDeleteButton(), ]), ]); return $this->baseList($crud); } public function form($edit): Form { return $this->baseForm()->title('')->body([ amisMake()->SelectControl()->name('cate_id')->label(__('party_user.cate_id'))->options($this->getCateOptions()), amisMake()->TextControl()->name('name')->label(__('party_user.name'))->required(), amisMake()->ImageControl()->name('avatar')->label(__('party_user.avatar')), amisMake()->TextControl()->name('username')->label(__('party_user.username'))->required(), amisMake()->TextControl()->set('type', 'input-password')->name('password')->label(__('party_user.password'))->required(!$edit), amisMake()->TextControl()->name('remarks')->label(__('party_cate.remarks')), ]); } public function detail($id): Form { return $this->baseDetail()->title('')->body([ amisMake()->TextControl()->name('id')->label(__('party_user.id'))->static(), amisMake()->TextControl()->name('cate.name')->label(__('party_user.cate_id'))->static(), amisMake()->TextControl()->name('username')->label(__('party_user.username'))->static(), amisMake()->TextControl()->name('name')->label(__('party_user.name'))->static(), amisMake()->TextControl()->name('avatar')->label(__('party_user.avatar'))->static()->staticSchema(amisMake()->Image()), amisMake()->TextControl()->name('score')->label(__('party_cate.score'))->static(), amisMake()->TextControl()->name('scores')->label(__('party_cate.scores'))->static()->staticSchema(amisMake()->Json()), amisMake()->TextControl()->name('remarks')->label(__('party_cate.remarks'))->static(), amisMake()->TextControl()->name('created_at')->label(__('party_user.created_at'))->static(), ]); } public function getCateOptions() { if (!$this->cateOptions) { $this->cateOptions = PartyCate::select(['id as value', 'name as label'])->get(); } return $this->cateOptions; } }