SetmealIncrementController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?php
  2. namespace App\Admin\Controllers\Company;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\SetmealIncrement;
  5. use Encore\Admin\Auth\Permission;
  6. use Encore\Admin\Controllers\HasResourceActions;
  7. use Encore\Admin\Facades\Admin;
  8. use Encore\Admin\Form;
  9. use Encore\Admin\Grid;
  10. use Encore\Admin\Layout\Content;
  11. use Encore\Admin\Show;
  12. class SetmealIncrementController extends Controller
  13. {
  14. use HasResourceActions;
  15. /**
  16. * Index interface.
  17. *
  18. * @param Content $content
  19. * @return Content
  20. */
  21. public function index(Content $content)
  22. {
  23. Permission::check('increment_manager_setcompany');
  24. return $content
  25. ->header('增值分类')
  26. ->description('列表')
  27. ->body($this->grid());
  28. }
  29. /**
  30. * Show interface.
  31. *
  32. * @param mixed $id
  33. * @param Content $content
  34. * @return Content
  35. */
  36. public function show($id, Content $content)
  37. {
  38. return $content
  39. ->header('详情')
  40. ->description('description')
  41. ->body($this->detail($id));
  42. }
  43. /**
  44. * Edit interface.
  45. *
  46. * @param mixed $id
  47. * @param Content $content
  48. * @return Content
  49. */
  50. public function edit($id, Content $content)
  51. {
  52. return $content
  53. ->header('增值分类')
  54. ->description('编辑')
  55. ->body($this->form()->edit($id));
  56. }
  57. /**
  58. * Create interface.
  59. *
  60. * @param Content $content
  61. * @return Content
  62. */
  63. public function create(Content $content)
  64. {
  65. return $content
  66. ->header('增值分类')
  67. ->description('新增')
  68. ->body($this->form());
  69. }
  70. /**
  71. * Make a grid builder.
  72. *
  73. * @return Grid
  74. */
  75. protected function grid()
  76. {
  77. Permission::check('increment_manager_setcompany');
  78. $grid = new Grid(new SetmealIncrement);
  79. $grid->id('id');
  80. $grid->name('名称');
  81. $grid->cat('类型')->display(function ($cat) {
  82. switch ($cat) {
  83. case 'download_resume':
  84. return '简历增值包';
  85. break;
  86. case 'sms':
  87. return '短信增值包';
  88. break;
  89. case 'jobs':
  90. return '职位增值包';
  91. break;
  92. case 'jobfair_num':
  93. return '招聘会场次增值包';
  94. break;
  95. case 'stick':
  96. return '职位置顶';
  97. break;
  98. case 'emergency':
  99. return '职位紧急';
  100. break;
  101. case 'auto_refresh_jobs':
  102. return '职位智能刷新';
  103. break;
  104. }
  105. });
  106. $grid->value('服务条数');
  107. $grid->price('服务价格');
  108. $grid->sort('排序')->editable();
  109. $grid->disableFilter();
  110. if (Admin::user()->can('increment_manager_setcompany_increment_add')) {
  111. $grid->disableCreateButton(false);
  112. }
  113. $grid->actions(function ($actions) {
  114. if (Admin::user()->can('increment_manager_setcompany_increment_edit')) {
  115. $actions->disableEdit(false);
  116. }
  117. if (Admin::user()->can('increment_manager_setcompany_increment_delete')) {
  118. $actions->disableDelete(false);
  119. }
  120. });
  121. return $grid;
  122. }
  123. /**
  124. * Make a show builder.
  125. *
  126. * @param mixed $id
  127. * @return Show
  128. */
  129. protected function detail($id)
  130. {
  131. $show = new Show(SetmealIncrement::findOrFail($id));
  132. $show->name('名称');
  133. $show->cat('名称')->as(function ($cat) {
  134. switch ($cat) {
  135. case 'download_resume':
  136. return '简历增值包';
  137. break;
  138. case 'sms':
  139. return '短信增值包';
  140. break;
  141. case 'jobs':
  142. return '职位增值包';
  143. break;
  144. case 'jobfair_num':
  145. return '招聘会场次增值包';
  146. break;
  147. case 'stick':
  148. return '职位置顶';
  149. break;
  150. case 'emergency':
  151. return '职位紧急';
  152. break;
  153. case 'auto_refresh_jobs':
  154. return '职位智能刷新';
  155. break;
  156. }
  157. });
  158. $show->value('服务条数');
  159. $show->price('服务价格');
  160. return $show;
  161. }
  162. /**
  163. * Make a form builder.
  164. *
  165. * @return Form
  166. */
  167. protected function form()
  168. {
  169. Permission::check('increment_manager_setcompany_increment_edit');
  170. $form = new Form(new SetmealIncrement);
  171. $form->display('id');
  172. $form->text('name', '名称');
  173. $options =[
  174. 'download_resume' => '简历增值包', 'sms' => '短信增值包','jobs'=>'职位增值包','jobfair_num'=>'招聘会场次增值包', 'stick' => '职位置顶', 'emergency' => '职位紧急', 'auto_refresh_jobs' => '职位智能刷新'
  175. ];
  176. $form->radio('cat', '类型')->options($options);
  177. $form->number('value', '服务条数')->min(0)->max(1000);
  178. $form->number('price', '服务价格')->min(0)->max(1000);
  179. $form->number('sort', '排序')->min(0);
  180. return $form;
  181. }
  182. }