WxShopCartController.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Admin\Controllers\Shop;
  3. use App\Admin\Repositories\Shop\WxShopCart;
  4. use App\Wen\Utils\FieldUtils;
  5. use App\Wen\Utils\Settings;
  6. use Dcat\Admin\Admin;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Show;
  10. use Dcat\Admin\Http\Controllers\AdminController;
  11. class WxShopCartController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. $admin_user = Admin::user();
  21. $app_coin_name = Settings::get('app_coin_name', '硬币');
  22. return Grid::make(new WxShopCart(['user']), function (Grid $grid) use ($app_coin_name, $admin_user){
  23. if(!$admin_user->isAdministrator()){
  24. if(_empty_($admin_user->uid)){
  25. $grid->model()->where('id', '<', -1);
  26. }else{
  27. $grid->model()->where('seller_user_id', $admin_user->uid);
  28. }
  29. }
  30. $grid->simplePaginate();
  31. $grid->model()->whereIn('goods_type', FieldUtils::getShopGoodTypes())->orderBy('id', 'desc');
  32. $grid->column('id')->sortable();
  33. $grid->column('user.user_avatar','头像')->image('',30,30);
  34. $grid->column('user.user_name','用户');
  35. $grid->column('goods_pic')->image('',50);
  36. $grid->column('goods_name');
  37. $grid->column('goods_product');
  38. $grid->column('vip_price')->display(function ($v) use ($app_coin_name){
  39. if($this->credit_type == 1){
  40. return '¥'.$v;
  41. }else{
  42. return $v.$app_coin_name;
  43. }
  44. })->sortable();
  45. $grid->column('price')->display(function ($v) use ($app_coin_name){
  46. if($this->credit_type == 1){
  47. return '¥'.$v;
  48. }else{
  49. return $v.$app_coin_name;
  50. }
  51. })->sortable();
  52. $grid->column('num');
  53. // $grid->column('user_id');
  54. // $grid->column('goods_id');
  55. // $grid->column('product_id');
  56. $grid->column('is_check')->using([0=>'否',1=>'是'])->label([
  57. 0=>'red',
  58. 1=>'green'
  59. ]);
  60. $grid->column('state')->using([0 => '正常', 1 => '用户删除', 2 => '已下单', 3 => '商品下架'])->label([
  61. 0 => 'blue',
  62. 1 => 'primary',
  63. 2 => 'green',
  64. 3 => 'orange2'
  65. ]);
  66. $grid->column('created_at');
  67. // $grid->column('updated_at')->sortable();
  68. $grid->filter(function (Grid\Filter $filter) {
  69. $filter->equal('id');
  70. });
  71. $grid->disableCreateButton();
  72. $grid->disableActions();
  73. $grid->disableBatchDelete();
  74. });
  75. }
  76. /**
  77. * Make a show builder.
  78. *
  79. * @param mixed $id
  80. *
  81. * @return Show
  82. */
  83. protected function detail($id)
  84. {
  85. return Show::make($id, new WxShopCart(), function (Show $show) {
  86. $show->field('id');
  87. $show->field('goods_pic');
  88. $show->field('goods_name');
  89. $show->field('goods_product');
  90. $show->field('vip_price');
  91. $show->field('price');
  92. $show->field('num');
  93. $show->field('user_id');
  94. $show->field('goods_id');
  95. $show->field('product_id');
  96. $show->field('is_check');
  97. $show->field('state');
  98. $show->field('created_at');
  99. $show->field('updated_at');
  100. });
  101. }
  102. /**
  103. * Make a form builder.
  104. *
  105. * @return Form
  106. */
  107. protected function form()
  108. {
  109. return Form::make(new WxShopCart(), function (Form $form) {
  110. $form->display('id');
  111. $form->text('goods_pic');
  112. $form->text('goods_name');
  113. $form->text('goods_product');
  114. $form->text('vip_price');
  115. $form->text('price');
  116. $form->text('num');
  117. $form->text('user_id');
  118. $form->text('goods_id');
  119. $form->text('product_id');
  120. $form->text('is_check');
  121. $form->text('state');
  122. $form->deleting(function (Form $form){
  123. global $__MINI_GLOBAL_TENANT_ID__;
  124. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  125. return $form->response()->error('权限不足,不可以删除其他分站对象');
  126. }
  127. });
  128. });
  129. }
  130. }