UserController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\User;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class UserController extends AdminController
  9. {
  10. /**
  11. * Make a grid builder.
  12. *
  13. * @return Grid
  14. */
  15. protected function grid()
  16. {
  17. return Grid::make(new User(), function (Grid $grid) {
  18. $grid->model()
  19. ->orderBy('id','desc');
  20. $grid->column('id')->sortable()->width('80px');
  21. $grid->column('nickname');
  22. $grid->column('head_img')->image('',80,80);
  23. $grid->column('parent_id','上级用户')->display(function () {
  24. return $this->parent?$this->parent->nickname:'';
  25. });
  26. $grid->column('phone_num');
  27. $grid->column('is_vip')->using([0 => '否', 1 => '是']);
  28. $grid->column('created_at','注册时间');
  29. $grid->showQuickEditButton();
  30. // 禁用删除按钮
  31. $grid->disableDeleteButton();
  32. $grid->disableCreateButton();
  33. // 禁用
  34. $grid->disableBatchActions();
  35. // 禁用
  36. $grid->disableRowSelector();
  37. $grid->filter(function (Grid\Filter $filter) {
  38. $filter->like('nickname','用户姓名');
  39. $filter->equal('phone_num','手机号');
  40. $filter->like('parent.nickname','上级用户');
  41. });
  42. /*$grid->filter(function (Grid\Filter $filter) {
  43. $filter->equal('id');
  44. });*/
  45. $grid->export();
  46. });
  47. }
  48. /**
  49. * Make a show builder.
  50. *
  51. * @param mixed $id
  52. *
  53. * @return Show
  54. */
  55. protected function detail($id)
  56. {
  57. return Show::make($id, new User(), function (Show $show) {
  58. $show->model()->with('parent');
  59. $show->field('id');
  60. $show->field('nickname');
  61. $show->field('head_img','头像')->image();
  62. $show->parent_id()->as(function ($parent_id) {
  63. return $this->parent?$this->parent->nickname:'无';
  64. });
  65. $show->field('phone_num');
  66. $show->field('income');
  67. $show->field('is_vip')->using([0=>'否',1=>'是']);
  68. $show->field('share_qrcode','推广码')->image();
  69. $show->field('become_vip_at');
  70. $show->field('become_child_at');
  71. $show->field('created_at');
  72. $show->field('updated_at');
  73. });
  74. }
  75. /**
  76. * Make a form builder.
  77. *
  78. * @return Form
  79. */
  80. protected function form()
  81. {
  82. return Form::make(new User(), function (Form $form) {
  83. $form->display('id');
  84. $form->display('nickname','昵称');
  85. $form->image('head_img')->disable();
  86. $form->display('phone_num');
  87. $form->display('income');
  88. $form->switch('is_vip', '是否会员?')->default(1);
  89. $form->image('share_qrcode')->disable();
  90. $form->display('become_vip_at');
  91. $form->display('become_child_at');
  92. $form->display('created_at');
  93. $form->display('updated_at');
  94. });
  95. }
  96. }