SiteUserController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\SiteUser;
  4. use App\Models\SiteAlbumFolder as SiteAlbumFolderModel;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. use Dcat\Admin\Layout\Content;
  10. use Dcat\Admin\Admin;
  11. class SiteUserController extends AdminController
  12. {
  13. /**
  14. * page index
  15. */
  16. public function index(Content $content)
  17. {
  18. return $content
  19. ->header('列表')
  20. ->description('全部')
  21. ->breadcrumb(['text'=>'列表','url'=>''])
  22. ->body($this->grid());
  23. }
  24. /**
  25. * Make a grid builder.
  26. *
  27. * @return Grid
  28. */
  29. protected function grid()
  30. {
  31. return Grid::make(new SiteUser(), function (Grid $grid) {
  32. $grid->column('id')->sortable();
  33. $grid->column('username');
  34. $grid->column('nick_name');
  35. $grid->column('created_at');
  36. $grid->column('updated_at')->sortable();
  37. $grid->filter(function (Grid\Filter $filter) {
  38. $filter->equal('id');
  39. });
  40. $grid->model()->orderBy('id', 'desc');
  41. $grid->disableViewButton();
  42. });
  43. }
  44. /**
  45. * Make a form builder.
  46. *
  47. * @return Form
  48. */
  49. protected function form()
  50. {
  51. return Form::make(new SiteUser(), function (Form $form) {
  52. $password = $form->model()->password;
  53. $form->model()->password = '';
  54. $form->text('username')->required();
  55. $form->text('nick_name')->required();
  56. $form->text('password');
  57. $folderModel = new SiteAlbumFolderModel();
  58. $folderTree = $folderModel->allNodes();
  59. $form->tree('permission', 'permission')
  60. ->setTitleColumn('title')
  61. ->exceptParentNode(false)
  62. ->nodes($folderTree)
  63. ->saving(function ($value) {
  64. return json_encode($value);
  65. });
  66. $form->saving(function (Form $form) use ($password) {
  67. if ($form->password) {
  68. $form->password = bcrypt($form->password);
  69. } else {
  70. $form->password = $password;
  71. }
  72. });
  73. $form->disableViewButton();
  74. $form->disableViewCheck();
  75. });
  76. }
  77. }