diff --git a/app/Admin/Controllers/CaseStudyController.php b/app/Admin/Controllers/CaseStudyController.php new file mode 100644 index 0000000..1b58f60 --- /dev/null +++ b/app/Admin/Controllers/CaseStudyController.php @@ -0,0 +1,90 @@ +baseCRUD()->tableLayout('fixed') + ->headerToolbar([ + $this->createTypeButton('drawer', 'xl'), + ...$this->baseHeaderToolBar(), + ]) + ->filter($this->baseFilter()->body([ + amis()->GroupControl()->mode('horizontal')->body([ + // amis()->TextControl('id', __('admin.project_articles.id'))->columnRatio(3) + // ->placeholder(__('admin.id')), + amis()->TextControl('title', __('admin.project_articles.title'))->columnRatio(3) + ->placeholder(__('admin.project_articles.title')), + // amis()->selectControl('cate', __('admin.project_articles.cate'))->options(ProjectCate::get()->pluck('title', 'id'))->columnRatio(3) + // ->placeholder(__('admin.project_articles.cate')), + Components::make()->keywordsTagControl('t_ids', __('admin.articles.tags'), 'case_study_tag')->columnRatio(3), + ]), + ])) + ->columns([ + // amis()->TableColumn('id', __('admin.id'))->sortable(true)->width('50px'), + amis()->TableColumn('title', __('admin.project_articles.title'))->width('300px'), + // amis()->TableColumn('cate', __('admin.project_articles.cate'))->type('mapping') + // ->map(ProjectCate::get()->pluck('title', 'id')->toArray()) + // ->itemSchema(amis()->Tag()->label('${item}')->color(Admin::setting()->get('system_theme_setting')['theme_color'] ?? '#1677ff')), + amis()->TableColumn('tags', __('admin.project_articles.tags'))->type('mapping')->map(Keyword::tagsMap('case_study_tag')), + amis()->TableColumn('cover_url', __('admin.project_articles.cover'))->type('image')->height('50px')->width('150px')->enlargeAble(true), + // amis()->TableColumn('published_at', __('admin.project_articles.published_at'))->remark(__('admin.project_articles.published_at_remark')), + amis()->TableColumn('is_enable', __('admin.project_articles.is_enable'))->type('switch'), + // amis()->TableColumn('is_recommend', __('admin.articles.is_recommend'))->type('switch'), + amis()->TableColumn('created_at', __('admin.created_at'))->type('datetime')->sortable(true), + amis()->Operation()->label(__('admin.actions'))->buttons([ + $this->rowEditTypeButton('drawer', 'xl'), + $this->rowDeleteButton(), + ]) + ]); + + 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('title', __('admin.project_articles.title'))->required(true), + amis()->TextareaControl('description', __('admin.project_articles.description')), + // amis()->selectControl('cate', __('admin.project_articles.cate'))->options(ProjectCate::get()->pluck('title', 'id'))->required(true), + amis()->TextControl('type', __('admin.project_articles.type'))->value(ProjectArticle::TYPE_CASE_STUDY)->hidden(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_enable', __('admin.project_articles.is_enable'))->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()->body([]); + } +}