AdsController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: ring
  5. * Date: 2019/7/22
  6. * Time: 下午5:48
  7. */
  8. namespace App\Admin\Controllers;
  9. use App\Models\AdCategory;
  10. use App\Models\Ads;
  11. use Encore\Admin\Controllers\AdminController;
  12. use Encore\Admin\Form;
  13. use Encore\Admin\Grid;
  14. use Encore\Admin\Layout\Content;
  15. use Illuminate\Support\Facades\Cache;
  16. class AdsController extends AdminController
  17. {
  18. protected $title = '广告管理';
  19. public function index(Content $content)
  20. {
  21. return parent::index($content);
  22. }
  23. protected function grid()
  24. {
  25. $grid = new Grid(new Ads());
  26. $grid->id('ID')->sortable();
  27. $grid->column('name', '广告名');
  28. $grid->column('link','广告链接');
  29. $grid->column('category.category_name','广告分类');
  30. $grid->column('file', '广告图')->image('',100,100);
  31. $grid->column('enabled', '是否开启?')->display(function ($ios) {
  32. return $ios? '开' : '关';
  33. })->sortable();
  34. $grid->column('start', '开始时间');
  35. $grid->column('end', '结束时间');
  36. $grid->filter(function ($filter) {
  37. $filter->disableIdFilter();
  38. $filter->equal('category.category_name','广告分类');
  39. });
  40. $grid->updated_at('修改时间');
  41. $grid->created_at('创建时间');
  42. $grid->disableExport();
  43. $grid->disableRowSelector();
  44. $grid->disableColumnSelector();
  45. $grid->actions(function ($actions) {
  46. $actions->disableView();
  47. });
  48. $grid->model()->orderBy('id', 'desc');
  49. return $grid;
  50. }
  51. protected function form()
  52. {
  53. $form = new Form(new Ads);
  54. $form->text('name', '广告名')->rules('required|min:1');
  55. $form->url('link', '广告链接')->rules('required|min:1');
  56. $cat=AdCategory::select('id','category_name')->get();
  57. $list=[];
  58. foreach ($cat as $k=>$v){
  59. $list[$v->id]=$v->category_name;
  60. }
  61. $form->select('cid', '广告类别')->options($list);
  62. $form->image('file','广告图片')->uniqueName()->help('若上传不成功检查图片大小');
  63. $form->switch('enabled', '开/关');
  64. $form->datetime('start', '开始时间')->format('YYYY-MM-DD HH:mm:ss');
  65. $form->datetime('end', '结束时间')->format('YYYY-MM-DD HH:mm:ss');
  66. $form->footer(function ($footer) {
  67. $footer->disableReset();
  68. $footer->disableViewCheck();
  69. $footer->disableEditingCheck();
  70. $footer->disableCreatingCheck();
  71. });
  72. $form->tools(function (Form\Tools $tools) {
  73. $tools->disableView();
  74. });
  75. $form->saving(function (Form $form) {
  76. $form->start=strtotime($form->start);
  77. $form->end=strtotime($form->end);
  78. return $form;
  79. });
  80. return $form;
  81. }
  82. public function store()
  83. {
  84. Cache::forget('DynamicAds');
  85. return $this->form()->store();
  86. }
  87. public function update($id)
  88. {
  89. Cache::forget('DynamicAds');
  90. return $this->form()->update($id);
  91. }
  92. public function destroy($id)
  93. {
  94. Cache::forget('DynamicAds');
  95. return $this->form()->destroy($id);
  96. }
  97. }