ResourceController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\Resource;
  4. use App\Repositories\Enums\ModelStatusEnum;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class ResourceController extends AdminController
  9. {
  10. protected $title = '资源管理';
  11. protected function grid()
  12. {
  13. return Grid::make(new Resource(), function (Grid $grid) {
  14. // 这里的字段会自动使用翻译文件
  15. $grid->model()->orderByDesc('id');
  16. $grid->column('id')->sortable();
  17. $grid->column('title', '标题');
  18. $grid->column('view_num', '观看量');
  19. $grid->actions(function (Grid\Displayers\Actions $action) {
  20. $action->disableView();
  21. });
  22. $grid->filter(function (Grid\Filter $filter) {
  23. $filter->equal('id');
  24. $filter->like('title', '标题');
  25. });
  26. });
  27. }
  28. protected function form()
  29. {
  30. return Form::make(new Resource(), function (Form $form) {
  31. $form->display('id');
  32. $form->text('title', '标题')->required();
  33. // $form->image('cover', '封面')->accept('jpg,png,gif,jpeg')->move("covers")->uniqueName()->autoUpload()->required();
  34. $form->image('cover', '图片')->autoUpload()->uniqueName()->move("covers")->retainable()->required();
  35. $form->file('video', '视频')->maxSize(1024 * 1024)->autoUpload()->uniqueName()->move("videos")->accept('mp4')->retainable();
  36. $form->editor('body', '详情')->height('600');
  37. $form->select('status', '状态')->options(ModelStatusEnum::toSelectArray())->default(ModelStatusEnum::OK);
  38. $form->display('created_at');
  39. $form->display('updated_at');
  40. });
  41. }
  42. }