WxPetsAdoptionController.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. namespace App\Admin\Controllers\Pets;
  3. use App\Admin\Actions\Grid\PetsAdoptionPassAction;
  4. use App\Admin\Repositories\Pets\WxPetsAdoption;
  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 WxPetsAdoptionController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new WxPetsAdoption(), function (Grid $grid) {
  21. $grid->quickSearch(['id', 'user_id', 'name'])->placeholder('搜索id,用户id,宠物名字...')->width(35);
  22. $grid->model()->orderBy('id','desc');
  23. $grid->column('id')->sortable();
  24. $grid->column('users', '头像')->display(function ($v) {
  25. return '<img src="' . ($this->ower['user_avatar'] ?? Settings::get('img_default', 'https://img.mini.minisns.cn/icons/dafault.png')) . '" style="border-radius:50px;width:30px;" />';
  26. })->width('50px');
  27. $grid->column('ower')->display(function ($v) {
  28. if($v && $v['user_name']){
  29. return '<a target="_blank" href="'.admin_url('users?id='.$v['id']).'">'.$v['user_name'].'</a>' ?? '用户已删除';
  30. }
  31. return '用户已删除';
  32. })->width('100px');
  33. $grid->column('success_user_id');
  34. $grid->column('name');
  35. $grid->column('pictures')->display(function ($v){
  36. $pics = json_decode($v, true);
  37. if($pics){
  38. return $pics[0]['url'] . '?imageMogr2/thumbnail/500x/crop/500x500/gravity/center/format/webp/interlace/0/quality/100';
  39. }
  40. return '';
  41. })->image('', 100, 100);
  42. $grid->column('species');
  43. $grid->column('pet_breed');
  44. $grid->column('is_free');
  45. $grid->column('cost');
  46. $grid->column('pet_gender');
  47. $grid->column('pet_age');
  48. // $grid->column('is_vaccine');
  49. // $grid->column('is_sterilization');
  50. // $grid->column('is_repellent');
  51. $grid->column('pet_introduce')->limit(20);
  52. // $grid->column('condition');
  53. // $grid->column('province');
  54. // $grid->column('city');
  55. // $grid->column('district');
  56. // $grid->column('address');
  57. // $grid->column('adopter_name');
  58. // $grid->column('adopter_mobile');
  59. // $grid->column('adopter_wechatId');
  60. // $grid->column('adopter_ip');
  61. $grid->column('adopt_status')->using([0=>'推送中', 1=>'已领养', 2=>'废弃', 3 =>'审核中'])->label([
  62. 0 => 'primary',
  63. 1 => 'grey',
  64. 2 => 'default',
  65. 3 => 'red'
  66. ]);
  67. $grid->column('created_at')->sortable();
  68. $grid->column('updated_at')->sortable();
  69. $grid->filter(function (Grid\Filter $filter) {
  70. $filter->equal('id');
  71. });
  72. $grid->disableCreateButton();
  73. $grid->disableActions();
  74. // $grid->disableBatchActions();
  75. $grid->batchActions(function ($batch) {
  76. $batch->add(new PetsAdoptionPassAction());
  77. });
  78. });
  79. }
  80. /**
  81. * Make a show builder.
  82. *
  83. * @param mixed $id
  84. *
  85. * @return Show
  86. */
  87. protected function detail($id)
  88. {
  89. return Show::make($id, new WxPetsAdoption(), function (Show $show) {
  90. $show->field('id');
  91. $show->field('user_id');
  92. $show->field('success_user_id');
  93. $show->field('name');
  94. $show->field('pictures');
  95. $show->field('species');
  96. $show->field('pet_breed');
  97. $show->field('is_free');
  98. $show->field('cost');
  99. $show->field('pet_gender');
  100. $show->field('pet_age');
  101. $show->field('is_vaccine');
  102. $show->field('is_sterilization');
  103. $show->field('is_repellent');
  104. $show->field('pet_introduce');
  105. $show->field('condition');
  106. $show->field('province');
  107. $show->field('city');
  108. $show->field('district');
  109. $show->field('address');
  110. $show->field('adopter_name');
  111. $show->field('adopter_mobile');
  112. $show->field('adopter_wechatId');
  113. $show->field('adopter_ip');
  114. $show->field('adopt_status');
  115. $show->field('created_at');
  116. $show->field('updated_at');
  117. });
  118. }
  119. /**
  120. * Make a form builder.
  121. *
  122. * @return Form
  123. */
  124. protected function form()
  125. {
  126. return Form::make(new WxPetsAdoption(), function (Form $form) {
  127. $form->display('id');
  128. $form->text('user_id');
  129. // $form->text('success_user_id');
  130. $form->text('name');
  131. $form->text('pictures');
  132. $form->text('species');
  133. $form->text('pet_breed');
  134. $form->text('is_free');
  135. $form->text('cost');
  136. $form->text('pet_gender');
  137. $form->text('pet_age');
  138. $form->text('is_vaccine');
  139. $form->text('is_sterilization');
  140. $form->text('is_repellent');
  141. $form->text('pet_introduce');
  142. $form->text('condition');
  143. $form->text('province');
  144. $form->text('city');
  145. $form->text('district');
  146. $form->text('address');
  147. $form->text('adopter_name');
  148. $form->text('adopter_mobile');
  149. $form->text('adopter_wechatId');
  150. $form->text('adopter_ip');
  151. $form->text('adopt_status');
  152. $form->display('created_at');
  153. $form->display('updated_at');
  154. $form->deleting(function (Form $form){
  155. global $__MINI_GLOBAL_TENANT_ID__;
  156. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  157. return $form->response()->error('权限不足,不可以删除其他分站对象');
  158. }
  159. });
  160. });
  161. }
  162. }