baseCRUD()->tableLayout('fixed') ->headerToolbar([ // $this->createTypeButton('drawer', 'md'), ...$this->baseHeaderToolBar(), ]) ->filter($this->baseFilter()->body([ amis()->GroupControl()->mode('horizontal')->body([ amis()->TextControl('name', __('admin.contacts.name'))->columnRatio(3) ->placeholder(__('admin.contacts.name')), amis()->TextControl('phone', __('admin.contacts.phone'))->columnRatio(3) ->placeholder(__('admin.contacts.phone')), amis()->selectControl('type', __('admin.contacts.type'))->options(Keyword::allChildrenOfKey('contact_types')->pluck('name', 'id')) ->placeholder(__('admin.contacts.type'))->columnRatio(3), ]), ])) ->columns([ // amis()->TableColumn('id', __('admin.id'))->sortable(true)->width('50px'), amis()->TableColumn('name', __('admin.contacts.name'))->width('300px'), amis()->TableColumn('phone', __('admin.contacts.phone'))->width('300px'), amis()->TableColumn('type', __('admin.contacts.type'))->type('mapping') ->map(Keyword::allChildrenOfKey('contact_types')->pluck('name', 'id')->toArray()) ->itemSchema(amis()->Tag()->label('${item}')->color(Admin::setting()->get('system_theme_setting')['theme_color'] ?? '#1677ff')), // amis()->TableColumn('phone', __('admin.contacts.phone'))->width('300px'), amis()->TableColumn('is_handle', __('admin.contacts.is_handle'))->type('switch'), amis()->TableColumn('created_at', __('admin.created_at'))->type('datetime')->sortable(true), amis()->TableColumn('updated_at', __('admin.updated_at'))->type('datetime')->sortable(true), amis()->Operation()->label(__('admin.actions'))->buttons([ $this->rowShowTypeButton('drawer', 'md'), ]) ]); return $this->baseList($crud); } public function form($isEdit = false): Form { return $this->baseForm()->panelClassName('px-0')->body([ amis()->Grid()->columns([ amis()->Wrapper()->body([ amis()->TextControl('name', __('admin.project_articles.name'))->required(true), amis()->TextareaControl('description', __('admin.project_articles.description')), // amis()->selectControl('cate', __('admin.project_articles.cate'))->options(ProjectCate::get()->pluck('title', 'id'))->required(true), Components::make()->keywordsTagControl('t_ids', __('admin.articles.tags'), 'case_study_tag')->required(true), Components::make()->cropImageControl('cover', __('admin.project_articles.cover'), 0.775)->required(true), Components::make()->sortControl('sort', __('admin.project_articles.sort')), // amis()->DateTimeControl('published_at', __('admin.project_articles.published_at'))->format('YYYY-MM-DD HH:mm:ss')->description(__('admin.project_articles.published_at_remark')), amis()->SwitchControl('is_handle', __('admin.project_articles.is_handle'))->value(false), // amis()->SwitchControl('is_recommend', __('admin.project_articles.is_recommend'))->value(false), // Components::make()->fileControl('appendixes', __('admin.articles.appendixes'), '.xsl,.xlsx,.txt,.doc,.docx,.pdf,.pptx'), ])->md(4), amis()->Wrapper()->body([ Components::make()->fuEditorControl('content', __('admin.project_articles.content'))->required(true), ])->md(8) ]), ]); } public function detail(): Form { return $this->baseDetail()->panelClassName('px-0')->body([ amis()->TextControl('name', __('admin.contacts.name'))->disabled(true), amis()->TextControl('phone', __('admin.contacts.phone'))->disabled(true), amis()->TextControl('company', __('admin.contacts.company'))->disabled(true), amis()->selectControl('type', __('admin.contacts.type'))->options(Keyword::allChildrenOfKey('contact_types')->pluck('name', 'id'))->disabled(true), amis()->TextareaControl('content', __('admin.contacts.content'))->disabled(true), amis()->DateTimeControl('created_at', __('admin.contacts.created_at'))->format('YYYY-MM-DD HH:mm:ss')->disabled(true), amis()->SwitchControl('is_handle', __('admin.contacts.is_handle'))->disabled(true), ]); } }