BannerController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Admin\Controllers\Program;
  3. use App\Models\Banner;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. use function Symfony\Component\Translation\t;
  9. class BannerController extends AdminController
  10. {
  11. /**
  12. * Make a grid builder.
  13. *
  14. * @return Grid
  15. */
  16. protected function grid()
  17. {
  18. return Grid::make(new Banner(), function (Grid $grid) {
  19. $grid->column('id')->sortable();
  20. $grid->column('name')->editable();
  21. $grid->column('image')->image();
  22. $grid->column('sort')->editable()->sortable();
  23. $grid->column('status')->switch('',true);
  24. $grid->disableViewButton();
  25. });
  26. }
  27. /**
  28. * Make a show builder.
  29. *
  30. * @param mixed $id
  31. *
  32. * @return Show
  33. */
  34. protected function detail($id)
  35. {
  36. return Show::make($id, new Banner(), function (Show $show) {
  37. $show->field('id');
  38. $show->field('name');
  39. $show->field('image');
  40. $show->field('sort');
  41. $show->field('status');
  42. $show->field('created_at');
  43. $show->field('updated_at');
  44. });
  45. }
  46. /**
  47. * Make a form builder.
  48. *
  49. * @return Form
  50. */
  51. protected function form()
  52. {
  53. return Form::make(new Banner(), function (Form $form) {
  54. $form->display('id');
  55. $form->text('name');
  56. $form->image('image')
  57. ->saveFullUrl()
  58. ->uniqueName()->autoUpload()
  59. ->autoSave(false)
  60. ->removable(false)
  61. ->width(4);
  62. $form->number('sort');
  63. $form->switch('status')->default(true);
  64. $form->disableViewCheck();
  65. $form->disableEditingCheck();
  66. $form->disableCreatingCheck();
  67. });
  68. }
  69. }