AttireController.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\Attire;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class AttireController extends AdminController
  9. {
  10. public $cates = [
  11. '套装' => '套装',
  12. '皮肤' => '皮肤',
  13. ];
  14. public $levels = [
  15. 'N' => 'N',
  16. 'R' => 'R',
  17. 'SR' => 'SR',
  18. 'SSR' => 'SSR',
  19. ];
  20. /**
  21. * Make a grid builder.
  22. *
  23. * @return Grid
  24. */
  25. protected function grid()
  26. {
  27. return Grid::make(new Attire(), function (Grid $grid) {
  28. $grid->column('id')->sortable();
  29. $grid->column('name');
  30. $grid->column('cate');
  31. $grid->column('level');
  32. $grid->column('img_1')->image(config("filesystems.disks.cosv5.url"), 100, 100);
  33. $grid->column('img_2')->image(config("filesystems.disks.cosv5.url"), 100, 100);
  34. $grid->column('is_default')->using(['','默认'])->label();
  35. // $grid->column('created_at');
  36. // $grid->column('updated_at')->sortable();
  37. $grid->enableDialogCreate();
  38. $grid->setDialogFormDimensions('50%', '60%');
  39. $grid->withBorder();
  40. $grid->actions(function (Grid\Displayers\Actions $actions) {
  41. $actions->quickEdit(true);
  42. $actions->disableEdit();
  43. $actions->disableView();
  44. });
  45. $grid->model()->orderByDesc("id");
  46. //
  47. $grid->filter(function ($filter) {
  48. // 展开过滤器
  49. $filter->panel();
  50. $filter->expand();
  51. $filter->withoutInputBorder();
  52. // 在这里添加字段过滤器
  53. $filter->equal('id')->width(2);
  54. $filter->like('name')->width(3);
  55. $filter->equal('cate')->select($this->cates)->width(2);
  56. $filter->equal('level')->select($this->levels)->width(2);
  57. });
  58. });
  59. }
  60. /**
  61. * Make a show builder.
  62. *
  63. * @param mixed $id
  64. *
  65. * @return Show
  66. */
  67. protected function detail($id)
  68. {
  69. return Show::make($id, new Attire(), function (Show $show) {
  70. $show->field('id');
  71. $show->field('name');
  72. $show->field('cate');
  73. $show->field('img_1');
  74. $show->field('img_2');
  75. $show->field('retrieve_pasters');
  76. $show->field('created_at');
  77. $show->field('updated_at');
  78. });
  79. }
  80. /**
  81. * Make a form builder.
  82. *
  83. * @return Form
  84. */
  85. protected function form()
  86. {
  87. return Form::make(new Attire(['giftBox']), function (Form $form) {
  88. // $form->display('id');
  89. $form->text('name')->required();
  90. $form->radio('cate')->options($this->cates)->required()->default(1);
  91. $form->select('level')->options($this->levels);
  92. $form->image('img_1')->autoUpload()->removable(false)->required();
  93. $form->image('img_2')->autoUpload()->removable(false)->required();
  94. // $form->number('retrieve_pasters');
  95. // $form->display('created_at');
  96. // $form->display('updated_at');
  97. //
  98. // $form->saving(function (Form $form) {
  99. // // 判断是否是新增操作
  100. // if ($form->isCreating()) {
  101. // //
  102. // $obj = new \App\Models\Attire();
  103. // $obj->name = $form->input("name");
  104. // $obj->cate = $form->input("cate");
  105. // $obj->img_1 = $form->input("img_1");
  106. // $obj->img_2 = $form->input("img_2");
  107. // $obj->save();
  108. // //
  109. // if ($form->input("giftBox.level")) {
  110. // $obj2 = new \App\Models\GiftBox();
  111. // $obj2->attire_id = $obj->id;
  112. // $obj2->level = $form->input("giftBox.level");
  113. // $obj2->save();
  114. // }
  115. // //
  116. // return $form->response()->success('创建成功');
  117. // } else {
  118. // $obj = $form->model();
  119. // $obj->name = $form->input("name");
  120. // $obj->cate = $form->input("cate");
  121. // $obj->img_1 = $form->input("img_1");
  122. // $obj->img_2 = $form->input("img_2");
  123. // $obj->save();
  124. // //
  125. // $obj2 = \App\Models\GiftBox::where("attire_id", $obj->id)->first();
  126. // if ($form->input("giftBox.level")) {
  127. // if (!$obj2) {
  128. // $obj2 = new \App\Models\GiftBox();
  129. // $obj2->attire_id = $obj->id;
  130. // $obj2->level = $form->input("giftBox.level");
  131. // $obj2->save();
  132. // } else {
  133. // $obj2->level = $form->input("giftBox.level");
  134. // $obj2->save();
  135. // }
  136. // } else {
  137. // if ($obj2) {
  138. // $obj2->delete();
  139. // }
  140. // }
  141. // //
  142. // return $form->response()->success('更新成功');
  143. // }
  144. // });
  145. //
  146. // $form->deleted(function (Form $form, $result) {
  147. // // 获取待删除行数据,这里获取的是一个二维数组
  148. // $data = $form->model()->toArray();
  149. // // 通过 $result 可以判断数据是否删除成功
  150. // if (!$result) {
  151. // return $form->response()->error('数据删除失败');
  152. // }
  153. // foreach ($data as $k => $v) {
  154. // if (isset($v['gift_box']['id']) && $v['gift_box']['id']) {
  155. // \App\Models\GiftBox::Find($v['gift_box']['id'])->delete();
  156. // }
  157. // }
  158. // // 返回删除成功提醒,此处跳转参数无效
  159. // return $form->response()->success('删除成功');
  160. // });
  161. });
  162. }
  163. }