UserController.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use Illuminate\Support\Facades\Log;
  4. use App\Models\User;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. class UserController extends AdminController
  10. {
  11. /**
  12. * Make a grid builder.
  13. *
  14. * @return Grid
  15. */
  16. protected function grid()
  17. {
  18. return Grid::make(new User(), function (Grid $grid) {
  19. $grid->model()->withCount('creation')->orderByDesc('id');
  20. $grid->column('id')->sortable();
  21. $grid->column('name');
  22. // $grid->column('open_id');
  23. $grid->column('avatar')->image('',80,80);
  24. $grid->column('mobile');
  25. // $grid->column('status')->switch();
  26. $grid->column('online','是否在线')->switch();
  27. $grid->column('last_login_ip','最后登录IP');
  28. // $grid->column('register_ip');
  29. $grid->column('last_login_time','最后登录时间');
  30. $grid->column('is_black','是否拉黑')->switch();
  31. // $grid->column('sessionKey');
  32. $grid->column('diamond','剩余次数');
  33. $grid->column('is_share','是否分销商')->using([0 => '不是分销商', 1 => '是分销商'])
  34. ->dot(
  35. [
  36. 0 => 'danger',
  37. 1 => 'success',
  38. ],
  39. 'danger' // 第二个参数为默认值
  40. );
  41. // $grid->column('share_name');
  42. // $grid->column('share_phone');
  43. $grid->column('share_pid','上级邀请用户Id')->display(function($item){
  44. return $item ? $item : '没有上级邀请';
  45. });
  46. // $grid->column('share_date');
  47. $grid->column('income','可提现佣金');
  48. $grid->column('creation_count','创作次数');
  49. $grid->column('qr_code','邀请二维码')->image();
  50. $grid->column('created_at');
  51. $grid->column('updated_at')->sortable();
  52. $grid->quickSearch(['name', 'id', 'mobile'])->placeholder('搜索...');
  53. $grid->filter(function (Grid\Filter $filter) {
  54. $filter->panel();
  55. $filter->equal('id');
  56. $filter->like('mobile');
  57. $filter->between('created_at')->datetime();
  58. });
  59. $grid->disableCreateButton();
  60. $grid->disableDeleteButton();
  61. });
  62. }
  63. /**
  64. * Make a show builder.
  65. *
  66. * @param mixed $id
  67. *
  68. * @return Show
  69. */
  70. protected function detail($id)
  71. {
  72. return Show::make($id, new User(), function (Show $show) {
  73. $show->model()->with('userShare');
  74. $show->field('id');
  75. $show->field('name');
  76. $show->field('open_id','微信openid');
  77. $show->field('avatar')->image();
  78. $show->field('mobile');
  79. $show->field('online');
  80. $show->field('last_login_ip');
  81. $show->field('last_login_time');
  82. $show->field('is_black')->as(function ($item){
  83. return $item ? '拉黑' : '正常';
  84. });
  85. $show->field('diamond');
  86. $show->field('is_share')->as(function ($item){
  87. return $item ? '是推广人' : '不是推广人';
  88. });
  89. $show->field('share_name');
  90. $show->field('share_phone');
  91. $show->field('userShare.name','推广人昵称(被)');
  92. $show->field('share_date');
  93. $show->field('income');
  94. $show->field('qr_code')->image();
  95. $show->field('created_at');
  96. $show->field('updated_at');
  97. $show->disableDeleteButton();
  98. });
  99. }
  100. /**
  101. * Make a form builder.
  102. *
  103. * @return Form
  104. */
  105. protected function form()
  106. {
  107. return Form::make(new User(), function (Form $form) {
  108. $form->display('id');
  109. $form->text('name');
  110. // $form->text('open_id');
  111. $form->image('avatar')->disk('oss')->autoUpload()->saving(function ($res) {
  112. return $res;
  113. });
  114. $form->text('mobile');
  115. // $form->text('status');
  116. // $form->text('online');
  117. // $form->text('last_login_ip');
  118. // $form->text('register_ip');
  119. // $form->text('last_login_time');
  120. $form->switch('is_black');
  121. // $form->text('sessionKey');
  122. $form->number('diamond')->saving(function ($item) use(&$form){
  123. Log::warning("用户次数后台变动:用户id:{$form->model()->id}变动前:{$form->model()->diamond} 变动后:{$item}");
  124. return $item;
  125. });
  126. $form->switch('is_share');
  127. $form->text('share_name');
  128. $form->text('share_phone');
  129. // $form->text('share_pid');
  130. // $form->text('share_date');
  131. $form->text('income');
  132. // $form->text('qr_code');
  133. //
  134. // $form->display('created_at');
  135. // $form->display('updated_at');
  136. $form->disableDeleteButton();
  137. });
  138. }
  139. }