UserController.php 3.0 KB

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