baseCRUD() ->filterTogglable(false) ->columnsTogglable(false) ->headerToolbar([]) ->footerToolbar([]) ->loadDataOnce() ->initFetch(false) ->filter($this->baseFilter()->actions()->body([ amisMake()->SelectControl()->name('sn')->label(__('user_rank.sn'))->options($this->getSnOptions())->size('md'), amisMake()->Component()->setType('submit')->label(__('admin.search'))->level('primary'), ])) ->columns([ amisMake()->TableColumn()->name('cate.name')->label(__('user_rank.cate_id')), amisMake()->TableColumn()->name('sort')->label(__('user_rank.sort'))->set('type', 'tpl')->tpl('${(start - 1) * size + index + 1}'), amisMake()->TableColumn()->name('score')->label(__('user_rank.score')), ]); return $this->baseList($crud); } public function getSnOptions() { if (!$this->snOptions) { $this->snOptions = CateRank::select('sn')->groupBy('sn')->orderBy('sn', 'desc')->pluck('sn'); } return $this->snOptions; } }