WxActivityController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\WxActivity;
  4. use App\Wen\Utils\FieldUtils;
  5. use App\Wen\Utils\Settings;
  6. use Dcat\Admin\Actions\Action;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Show;
  10. use Dcat\Admin\Http\Controllers\AdminController;
  11. class WxActivityController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new WxActivity(), function (Grid $grid) {
  21. $grid->model()->orderBy('id', 'desc');
  22. $grid->quickSearch(['id', 'title', 'intro'])->placeholder('搜索活动id,标题,介绍...')->width(35);
  23. $grid->column('id')->sortable();
  24. $grid->column('title');
  25. $grid->column('intro');
  26. $grid->column('pic')->image('',80);
  27. $grid->column('target_type')->using(FieldUtils::getUrlTypes());
  28. $grid->column('target_id');
  29. $grid->column('status')->using([0=>'正常',1=>'活动结束'])->label([
  30. 0 => 'success',
  31. 1 => 'red',
  32. ]);
  33. $grid->column('updated_at')->sortable();
  34. $grid->filter(function (Grid\Filter $filter) {
  35. $filter->equal('id');
  36. });
  37. });
  38. }
  39. /**
  40. * Make a show builder.
  41. *
  42. * @param mixed $id
  43. *
  44. * @return Show
  45. */
  46. protected function detail($id)
  47. {
  48. return Show::make($id, new WxActivity(), function (Show $show) {
  49. $show->field('id');
  50. $show->field('title');
  51. $show->field('intro');
  52. $show->field('pic');
  53. $show->field('target_type');
  54. $show->field('target_id');
  55. $show->field('status');
  56. $show->field('created_at');
  57. $show->field('updated_at');
  58. });
  59. }
  60. /**
  61. * Make a form builder.
  62. *
  63. * @return Form
  64. */
  65. protected function form()
  66. {
  67. return Form::make(new WxActivity(), function (Form $form) {
  68. $form->display('id');
  69. $form->text('title');
  70. $form->textarea('intro');
  71. $form->image('pic')->url('files/uploads')->uniqueName()->autoUpload();
  72. $form->radio('target_type')->options(FieldUtils::getUrlTypes())->default(0)->required();
  73. $form->text('target_id', '跳转id')->help('<a href="https://doc.minisns.cn/doc/44/" target="_blank">路径大全</a>');
  74. $form->radio('status')->options([0=>'正常',1=>'活动结束'])->default(0);
  75. $form->display('created_at');
  76. $form->display('updated_at');
  77. $form->deleting(function (Form $form){
  78. global $__MINI_GLOBAL_TENANT_ID__;
  79. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  80. return $form->response()->error('权限不足,不可以删除其他分站对象');
  81. }
  82. });
  83. });
  84. }
  85. }