ProductCategoryController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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('level')->using(config('global.cat_level'));
  22. $grid->column('is_opened')->switch();
  23. $grid->column('sort')->editable();
  24. $grid->column('created_at');
  25. $grid->disableViewButton();
  26. });
  27. }
  28. /**
  29. * Make a form builder.
  30. *
  31. * @return Form
  32. */
  33. protected function form()
  34. {
  35. return Form::make(new ProductCategory(), function (Form $form) {
  36. $form->display('id');
  37. $form->radio('level')
  38. ->when(2, function (Form $form){
  39. $options = ProductCategory::select(['id','name'])
  40. ->where('level',1)
  41. ->get()
  42. ->pluck('name', 'id');
  43. $form->select('pid')->options($options);
  44. })
  45. ->options(config('global.cat_level'))
  46. ->default(1);
  47. $form->text('name')->required();
  48. $form->radio('is_opened')
  49. ->options(config('global.bool_status'))
  50. ->default(1);
  51. $form->number('sort');
  52. $form->disableViewButton();
  53. $form->disableDeleteButton();
  54. $form->disableListButton();
  55. $form->disableEditingCheck();
  56. $form->disableViewCheck();
  57. $form->disableCreatingCheck();
  58. });
  59. }
  60. }