WxOnceTaskController.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\WxTask;
  4. use App\Wen\Utils\FieldUtils;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. class WxOnceTaskController extends AdminController
  10. {
  11. /**
  12. * Make a grid builder.
  13. *
  14. * @return Grid
  15. */
  16. protected function grid()
  17. {
  18. return Grid::make(new WxTask(), function (Grid $grid) {
  19. $grid->model()->where('type', '=', 1);
  20. $grid->quickSearch(['id','name'])->placeholder('搜索任务ID,名字...');
  21. $grid->model()->orderBy('id', 'desc');
  22. $grid->column('id')->sortable();
  23. $grid->column('name', '名字');
  24. $grid->column('type', '类型');
  25. $grid->column('condition_type_1', '条件类型')->using(FieldUtils::getOnceTaskTypes());
  26. $grid->column('condition_num', '条件数量');
  27. $grid->column('reward_type', '奖励类型')->using(FieldUtils::getGiftTypes());
  28. $grid->column('reward_num', '奖励数量');
  29. $grid->column('target_type', '跳转类型')->using(FieldUtils::getUrlTypes());
  30. $grid->column('target_id', '跳转ID');
  31. // $grid->column('created_at');
  32. $grid->column('updated_at')->sortable();
  33. $grid->filter(function (Grid\Filter $filter) {
  34. $filter->equal('id');
  35. });
  36. });
  37. }
  38. /**
  39. * Make a show builder.
  40. *
  41. * @param mixed $id
  42. *
  43. * @return Show
  44. */
  45. protected function detail($id)
  46. {
  47. return Show::make($id, new WxTask(), function (Show $show) {
  48. $show->field('id');
  49. $show->field('name');
  50. $show->field('type');
  51. $show->field('condition_type_0');
  52. $show->field('condition_type_1');
  53. $show->field('condition_num');
  54. $show->field('reward_type');
  55. $show->field('reward_num');
  56. $show->field('target_type');
  57. $show->field('target_id');
  58. $show->field('created_at');
  59. $show->field('updated_at');
  60. });
  61. }
  62. /**
  63. * Make a form builder.
  64. *
  65. * @return Form
  66. */
  67. protected function form()
  68. {
  69. return Form::make(new WxTask(), function (Form $form) {
  70. $form->display('id');
  71. $form->text('name', '名字')->required();
  72. $form->radio('type', '类型')->options([1=>'成长任务'])->default(1)->required();
  73. $form->select('condition_type_1', '条件类型')->options(FieldUtils::getOnceTaskTypes())->default(0)->required();
  74. $form->number('condition_num', '条件数量')->required();
  75. $form->select('reward_type', '奖励类型')->options(FieldUtils::getGiftTypes())->required();
  76. $form->number('reward_num', '奖励数量')->required();
  77. $form->radio('target_type', '跳转类型')->options(FieldUtils::getUrlTypes())->default(0);
  78. $form->text('target_id', '跳转ID')->help('<a href="https://doc.minisns.cn/doc/44/" target="_blank">路径大全</a>');
  79. $form->display('created_at');
  80. $form->display('updated_at');
  81. $form->deleting(function (Form $form){
  82. global $__MINI_GLOBAL_TENANT_ID__;
  83. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  84. return $form->response()->error('权限不足,不可以删除其他分站对象');
  85. }
  86. });
  87. });
  88. }
  89. }