UsersController.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-04-15
  6. * Time: 17:28
  7. */
  8. namespace Modules\Admin\Http\Controllers;
  9. use App\User;
  10. use Illuminate\Http\Request;
  11. use Modules\Admin\Auxiliary\View\FromAuxiliary;
  12. use Modules\Admin\Auxiliary\View\TableAuxiliary;
  13. use Modules\Admin\Enum\UserEnum;
  14. use Modules\Admin\Services\UsersService;
  15. use Spatie\Permission\Models\Permission;
  16. class UsersController extends BaseController
  17. {
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. $this->menusActive[0] = 'adminUsers';
  22. $this->menusActive[1] = 'adminUserslist';
  23. }
  24. //用户列表
  25. public function index(Request $request)
  26. {
  27. $query = User::where('id', '>', 0);
  28. if ($request->has('name_staffNum_mobile')) {
  29. $query = $query->where('staff_num', 'like', '%' . $request->input('name_staffNum_mobile') . '%')
  30. ->orWhere('mobile', 'like', '%' . $request->input('name_staffNum_mobile') . '%')
  31. ->orWhere('name', 'like', '%' . $request->input('name_staffNum_mobile') . '%');
  32. }
  33. $users = $query->get();
  34. $tableObj = new TableAuxiliary('users/list', $users);
  35. $tableObj->primaryKey = 'staff_num';
  36. // $tableObj->topActions = ['add', 'export', 'import', 'importTemplate'];
  37. $tableObj->topActions = ['add'];
  38. $tableObj->displayActionOthers = [
  39. [
  40. 'name' => '更改权限',
  41. 'path' => 'staff/roles/change',
  42. 'class' => 'layui-btn-warm',
  43. 'isShow' => function ($item) {
  44. return true;
  45. },
  46. 'isJump' => 1,
  47. ],
  48. [
  49. 'name' => '重置密码',
  50. 'path' => 'users/list/resetpassword',
  51. 'class' => 'layui-btn-warm',
  52. 'isShow' => function ($item) {
  53. return true;
  54. },
  55. 'isJump' => 'confirm',
  56. ]
  57. ];
  58. $tableObj->search('input', 'name_staffNum_mobile', '姓名、编号或手机号');
  59. $tableObj->column('name', '姓名')
  60. ->column('staff_num', '用户编码')
  61. ->column('mobile', '手机号');
  62. return $this->tableList($tableObj);
  63. }
  64. //查看用户详情
  65. public function detail(Request $request)
  66. {
  67. $staff_num = $request->input('staff_num');
  68. if (empty($staff_num)) {
  69. return redirect('/users/list/view');
  70. }
  71. $user = User::where('staff_num', $staff_num)->first();
  72. $tableObj = new TableAuxiliary('', $user);
  73. $tableObj->column("name", "姓名")
  74. ->column("mobile", "手机号")
  75. ->column("staff_num", "员工编码");
  76. $tableObj->title = '用户详情';
  77. return $this->tableView($tableObj);
  78. }
  79. //添加用户
  80. public function add(Request $request)
  81. {
  82. $fromObj = new FromAuxiliary('users/list/add');
  83. $fromObj->input("name", "姓名")
  84. ->input("mobile", "手机号")
  85. ->input("staff_num", "用户编码");
  86. $fromObj->title = '添加职员';
  87. return $this->from($fromObj);
  88. }
  89. //添加用户操作
  90. public function addPost(Request $request)
  91. {
  92. if (!$request->has('staff_num') || $request->input('staff_num') == 'admin' || empty($request->input('staff_num'))) {
  93. return $this->error(1, '用户编码错误');
  94. }
  95. if (!$request->has('name') || empty($request->input('name'))) {
  96. return $this->error(1, '姓名不能为空');
  97. }
  98. $result = UsersService::addAdminUser($request->all());
  99. if (!$result['status']) {
  100. return $this->error(1, $result['msg']);
  101. }
  102. return redirect('/admin/users/list');
  103. }
  104. //编辑用户
  105. public function edit(Request $request)
  106. {
  107. $staff_num = $request->input('staff_num');
  108. if (empty($staff_num)) {
  109. return redirect('/admin/users/list');
  110. }
  111. $user = User::where('staff_num', $staff_num)->first();
  112. $fromObj = new FromAuxiliary('users/list/edit', $user);
  113. $fromObj->input("name", "姓名")
  114. ->input("mobile", "手机号")
  115. ->input("staff_num", "用户编码");
  116. $fromObj->title = '修改用户信息';
  117. $fromObj->primaryKey = 'staff_num';
  118. return $this->from($fromObj);
  119. }
  120. //编辑用户操作
  121. public function editPost(Request $request)
  122. {
  123. if (!$request->has('staff_num') || $request->input('staff_num') == 'admin' || empty($request->input('staff_num'))) {
  124. return $this->error(1, '用户编码错误');
  125. }
  126. if (!$request->has('name') || empty($request->input('name'))) {
  127. return $this->error(1, '姓名不能为空');
  128. }
  129. $result = UsersService::editAdminUser($request->all());
  130. if (!$result['status']) {
  131. return $this->error(1, $result['msg']);
  132. }
  133. return redirect('/admin/users/list');
  134. }
  135. //删除用户
  136. public function delPost(Request $request)
  137. {
  138. if (!$request->has('staff_num')) {
  139. return $this->error(1, '缺少必要参数');
  140. }
  141. if ($request->input('staff_num') == 'admin') {
  142. return $this->error(1, '员工编码错误');
  143. }
  144. if ($request->input('staff_num') == $request->user()['staff_num']) {
  145. return $this->error(1, '不能删除自己');
  146. }
  147. $result = UsersService::delAdminUser($request->all());
  148. if (!$result['status']) {
  149. return $this->error(1, $result['msg']);
  150. }
  151. return $this->success();
  152. }
  153. //重置用户密码
  154. public function resetPassword(Request $request)
  155. {
  156. if (!$request->has('staff_num')) {
  157. return $this->error(1, '缺少必要参数');
  158. }
  159. $result = UsersService::resetPassword($request->all());
  160. if (!$result['status']) {
  161. return $this->error(1, $result['msg']);
  162. }
  163. return $this->success();
  164. }
  165. }