BaseVideoCategoryController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\BaseProductCategory;
  4. use App\Admin\Repositories\BaseVideoCategory;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. use Dcat\Admin\Layout\Content;
  10. use Dcat\Admin\Admin;
  11. class BaseVideoCategoryController extends AdminController
  12. {
  13. public function title()
  14. {
  15. return admin_trans( 'admin.video_category');
  16. }
  17. /**
  18. * page index
  19. */
  20. public function index(Content $content)
  21. {
  22. return $content
  23. ->header($this->title())
  24. ->description('')
  25. ->breadcrumb(['text'=>'list','url'=>''])
  26. ->body($this->grid());
  27. }
  28. /**
  29. * Make a grid builder.
  30. *
  31. * @return Grid
  32. */
  33. protected function grid()
  34. {
  35. return Grid::make(new BaseVideoCategory(), function (Grid $grid) {
  36. //默认分页条数
  37. $grid->paginate(config('admin.per_page'));
  38. $grid->column('id')->display(function () {
  39. return $this->_index+1;
  40. });
  41. $grid->column('name');
  42. //$grid->column('parent_id');
  43. $grid->column('order');
  44. $grid->column('enabled')->switch();
  45. $grid->column('created_at');
  46. $grid->column('updated_at')->sortable();
  47. //$grid->quickSearch('name');
  48. // 允许筛选
  49. $grid->filter(function (Grid\Filter $filter) {
  50. $filter->panel();
  51. $filter->expand();
  52. $filter->equal('name')->width(2);
  53. $filter->equal('enabled', admin_trans_label('enabled'))->select(admin_trans_array(config('dictionary.enabled')))->width(2);
  54. });
  55. //按钮
  56. $grid->disableViewButton();
  57. $grid->showQuickEditButton();
  58. $grid->enableDialogCreate();
  59. $grid->disableEditButton();
  60. //排序
  61. $grid->model()->orderBy('order', 'desc')->orderBy('id','desc');
  62. });
  63. }
  64. /**
  65. * Make a form builder.
  66. *
  67. * @return Form
  68. */
  69. protected function form()
  70. {
  71. return Form::make(new BaseVideoCategory(), function (Form $form) {
  72. //$form->display('id');
  73. $form->text('name');
  74. $form->number('order')
  75. ->default(0)
  76. ->rules('numeric');
  77. $form->switch('enabled')->default(1);
  78. });
  79. }
  80. }