| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- namespace App\Module\Article\AdminControllers;
- use App\Module\Article\Enums\STATUS;
- use App\Module\Article\Models\Article;
- use App\Module\Article\Models\ArticleCate;
- use App\Module\Article\Repositories\ArticleRepositories;
- use Dcat\Admin\Admin;
- use Dcat\Admin\Form;
- use Dcat\Admin\Grid;
- use Dcat\Admin\Http\Controllers\AdminController;
- use Spatie\RouteAttributes\Attributes\Resource;
- #[Resource('article')]
- class ArticleController extends AdminController
- {
- /**
- * 创建 Repository 实例
- *
- * @return ArticleRepositories
- */
- protected function repository()
- {
- return new ArticleRepositories();
- }
- /**
- * @return Grid
- */
- protected function grid()
- {
- return Grid::make($this->repository(), function (Grid $grid) {
- $grid->column('id')->sortable();
- $grid->column('title')->limit(30);
- $grid->column('category_id', '分类')->using(ArticleCate::getCate());
- $grid->column('status', '状态')->using(STATUS::getValueDescription());
- $grid->column('created_at')->sortable();
- $grid->column('updated_at')->sortable();
- $grid->filter(function (Grid\Filter $filter) {
- $filter->like('title', '标题');
- $filter->equal('category_id', '分类')->select(ArticleCate::getCate());
- $filter->equal('status', '状态')->select(STATUS::getValueDescription());
- });
- $grid->actions(function (Grid\Displayers\Actions $actions) {
- $actions->disableView();
- });
- });
- }
- /**
- * @return Form
- */
- protected function form()
- {
- return Form::make(Article::class, function (Form $form) {
- $form->text('title', '标题')->required();
- $form->radio('category_id', '分类')->options(ArticleCate::getCate())->required();
- $form->radio('status')->options(STATUS::getValueDescription());
- $form->editor('content', '内容')->required();
- $form->hidden('created_by')->value(Admin::user()->getOriginal('id'));
- });
- }
- }
|