ProductCategoryController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\ProductCategory;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class ProductCategoryController extends AdminController
  9. {
  10. /**
  11. * Make a grid builder.
  12. *
  13. * @return Grid
  14. */
  15. protected function grid()
  16. {
  17. return Grid::make(new ProductCategory(), function (Grid $grid) {
  18. $grid->model()->orderByDesc('sort');
  19. $grid->column('id')->sortable();
  20. $grid->column('name');
  21. $grid->column('cover_img')->image('',100);
  22. $grid->column('level')->using(config('global.cat_level'));
  23. $grid->column('is_opened')->switch();
  24. $grid->column('sort')->editable();
  25. $grid->column('created_at');
  26. $grid->disableViewButton();
  27. });
  28. }
  29. /**
  30. * Make a form builder.
  31. *
  32. * @return Form
  33. */
  34. protected function form()
  35. {
  36. return Form::make(new ProductCategory(), function (Form $form) {
  37. $form->display('id');
  38. $form->radio('level')
  39. ->when(2, function (Form $form){
  40. $options = ProductCategory::select(['id','name'])
  41. ->where('level',1)
  42. ->get()
  43. ->pluck('name', 'id');
  44. $form->select('pid')->options($options);
  45. })
  46. ->options(config('global.cat_level'))
  47. ->default(1);
  48. $form->text('name')->required();
  49. $form->image('cover_img','封面图(宽高比 1.4:1)')->saveFullUrl()
  50. ->uniqueName()->autoUpload()
  51. ->autoSave(false)
  52. ->removable(false)
  53. ->width(4)->required();
  54. $form->radio('is_opened')
  55. ->options(config('global.bool_status'))
  56. ->default(1);
  57. $form->number('sort');
  58. $form->disableViewButton();
  59. $form->disableDeleteButton();
  60. $form->disableListButton();
  61. $form->disableEditingCheck();
  62. $form->disableViewCheck();
  63. $form->disableCreatingCheck();
  64. });
  65. }
  66. }