UserIdentifyController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Actions\Users\UserAuth;
  4. use App\Admin\Actions\Users\UserChange;
  5. use App\Models\User;
  6. use App\Models\UserIdentify;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Show;
  10. use Dcat\Admin\Http\Controllers\AdminController;
  11. class UserIdentifyController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new UserIdentify(), function (Grid $grid) {
  21. $grid->column('id')->sortable();
  22. $grid->column('user_id');
  23. $grid->column('avatar')->image('',50);
  24. $grid->column('name');
  25. $grid->column('email');
  26. $grid->column('mobile');
  27. $grid->column('sex')->using([
  28. 0=>trans('user.fields.unknown'),
  29. 1=>trans('user.fields.man'),
  30. 2=>trans('user.fields.woman')])->label(['gray','primary','danger']);
  31. $grid->column('bio');
  32. $grid->column('birthday');
  33. $grid->column('action_type')->using([
  34. 0=>trans('user.fields.unknown'),
  35. 1=>trans('user-identify.fields.background_add'),
  36. 2=>trans('user-identify.fields.user_apply')])->label(['gray','primary','blue']);
  37. $grid->column('type')->using([
  38. 0=>trans('user.fields.unknown'),
  39. 1=>trans('user.fields.organization'),
  40. 2=>trans('user.fields.public_figure')])->label(['gray','primary','blue']);
  41. $grid->column('status')->using([
  42. 0=>trans('user.fields.unauthorized'),
  43. 1=>trans('user.fields.authorized')])->label(['gray','success']);
  44. $grid->column('created_at');
  45. $grid->filter(function (Grid\Filter $filter) {
  46. $filter->panel();
  47. $filter->equal('id')->width(3);
  48. $filter->equal('user_id')->width(3);
  49. $filter->like('mobile')->width(3);
  50. $filter->like('email')->width(3);
  51. $filter->like('name')->width(3);
  52. $filter->equal('status')->select(['0'=>trans('user.fields.unauthorized'),'1'=>trans('user.fields.authorized')])->width(3);
  53. });
  54. //操作管理
  55. $grid->actions(function (Grid\Displayers\Actions $actions) {
  56. $actions->disableView();
  57. $actions->disableEdit();
  58. if ($actions->row->status == 0) {
  59. $actions->append(new UserAuth(User::class));
  60. }
  61. });
  62. });
  63. }
  64. /**
  65. * Make a form builder.
  66. *
  67. * @return Form
  68. */
  69. protected function form()
  70. {
  71. return Form::make(new UserIdentify(), function (Form $form) {
  72. $form->display('id');
  73. $form->text('user_id');
  74. $form->text('name');
  75. $form->text('email');
  76. $form->text('mobile');
  77. $form->text('bio');
  78. $form->text('sex');
  79. $form->text('birthday');
  80. $form->text('avatar');
  81. $form->text('action_type');
  82. $form->text('type');
  83. $form->text('status');
  84. $form->display('created_at');
  85. $form->display('updated_at');
  86. $form->footer(function ($footer) {
  87. // 去掉`查看`checkbox
  88. $footer->disableViewCheck();
  89. // 去掉`继续编辑`checkbox
  90. $footer->disableEditingCheck();
  91. // 去掉`继续创建`checkbox
  92. $footer->disableCreatingCheck();
  93. });
  94. });
  95. }
  96. }