WxDayTaskController.php 3.5 KB

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