get('parent_name', ''); if(!empty($parentName)){ $parentId = Keyword::where('key', $parentName)->value('id'); } if($parentId > 0 && in_array($parentName, $this->menuData)){ $columnsArr [] = TableColumn::make()->name('name')->label('名称'); if($parentName == 'department'){ $columnsArr [] = TableColumn::make()->name('value')->label('类型')->type('mapping')->map([ 1=>"发文部门", 2=>"收文部门", ])->className('text-primary'); } }else{ $columnsArr [] = TableColumn::make()->name('name')->label('名称'); $columnsArr [] = TableColumn::make()->name('key')->label('KEY')->copyable(true); $columnsArr [] = TableColumn::make()->name('value')->label('值'); } $crud = $this->baseCRUD() // //去掉分页-start ->loadDataOnce(false) ->footerToolbar([]) // //去掉分页-end ->headerToolbar([ $this->createTypeButton('drawer', 'md'), amis('reload')->align('right'), amis('filter-toggler')->align('right'), ]) ->filter($this->baseFilter()->body([ amis()->TextControl('name', __('admin.keyword')) ->size('md') ->placeholder(__('admin.keywords.search_name')), // amis()->TextControl('parent_name', __('admin.keywords.parent_keyword')) // ->size('md') // ->placeholder(__('admin.keywords.search_name')) ] )) ->columns(array_merge($columnsArr, [ // TableColumn::make()->name('id')->label('ID')->sortable(true), TableColumn::make()->name('sort')->label('排序'), TableColumn::make()->name('created_at')->label('创建时间')->type('datetime')->sortable(true), amisMake()->Operation()->label(__('admin.actions'))->buttons([ $this->rowEditTypeButton('drawer', 'md'), $this->rowDeleteButton(), ]), ])); return $this->baseList($crud); } public function form(): Form { //区分特殊管理和通用管理 $parentName = request()->get('parent_name', ''); $parentId = 0; if(!empty($parentName)){ $parentId = Keyword::where('key', $parentName)->value('id'); } $formBody = [ TextControl::make()->name('name')->label('名称')->required(true), ]; if($parentId > 0 && in_array($parentName, $this->menuData)){ $formBody[] = Components::make()->sortControl('parent_id')->value($parentId)->hidden(true)->readOnly(true); if($parentName == 'department'){ $formBody[] = amisMake()->RadiosControl('value', '类型')->options([ '1'=> '发文部门', '2'=>'收文部门', ])->required(true); } }else{ $formBody[] = Components::make()->parentControl(admin_url('api/keywords/tree-list')); $formBody[] = TextControl::make()->name('key')->label('KEY')->required(true); $formBody[] = TextControl::make()->name('value')->label('值'); } $form = $this->baseForm()->body(array_merge($formBody, [ amisMake()->NumberControl()->name('sort')->value(0)->min()->label('排序'), ])); return $form; } public function getTreeList(Request $request){ return $this->service->getTree(); } }