baseCRUD() ->filterTogglable(false) ->columnsTogglable(false) ->headerToolbar([ $this->createButton(true), ]) ->filter($this->baseFilter()->actions([])->body([ amisMake()->TextControl()->name('name')->label(__('party_cate.name'))->size('md')->clearable(), amisMake()->Component()->setType('submit')->label(__('admin.search'))->level('primary'), ])) ->columns([ amisMake()->TableColumn()->name('id')->label(__('party_cate.id')), amisMake()->TableColumn()->name('name')->label(__('party_cate.name')), amisMake()->TableColumn()->name('master.name')->label(__('party_cate.master_id')), amisMake()->TableColumn()->name('plan.name')->label(__('party_cate.plan_id')), amisMake()->TableColumn()->name('score')->label(__('party_cate.score')), amisMake()->TableColumn()->name('remarks')->label(__('party_cate.remarks')), $this->rowActions([ $this->rowShowButton(), $this->rowEditButton(true), $this->rowDeleteButton(), ]), ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->title('')->body([ amisMake()->TextControl()->name('name')->label(__('party_cate.name'))->required(), amisMake()->SelectControl()->name('master_id')->label(__('party_cate.master_id'))->options($this->getUserOptions()), amisMake()->SelectControl()->name('plan_id')->label(__('party_cate.plan_id'))->options($this->getUserOptions()), amisMake()->TextControl()->name('remarks')->label(__('party_cate.remarks')), ]); } public function detail(): Form { return $this->baseDetail()->title('')->body([ amisMake()->TextControl()->name('id')->label(__('party_cate.id'))->static(), amisMake()->TextControl()->name('name')->label(__('party_cate.name'))->static(), amisMake()->TextControl()->name('master.name')->label(__('party_cate.master_id'))->static(), amisMake()->TextControl()->name('plan.name')->label(__('party_cate.plan_id'))->static(), amisMake()->TextControl()->name('remarks')->label(__('party_cate.remarks'))->static(), amisMake()->TextControl()->name('score')->label(__('party_cate.score'))->static(), amisMake()->TextControl()->name('scores')->label(__('party_cate.scores'))->static()->staticSchema(amisMake()->Json()), amisMake()->TextControl()->name('created_at')->label(__('party_cate.created_at'))->static(), ]); } public function getUserOptions() { if (!$this->userOptions) { $this->userOptions = PartyUser::select(['id as value', 'name as label'])->get(); } return $this->userOptions; } }