Admins.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?php
  2. /**
  3. * User: nickbai
  4. * Date: 2017/10/23 13:33
  5. * Email: 1902822973@qq.com
  6. */
  7. namespace app\admin\controller;
  8. class Admins extends Base
  9. {
  10. // 管理员列表
  11. public function index()
  12. {
  13. // $token = 'NzgyNTUwIyRAJSFeKi8xNTYxNTQwMzQzLzE=';
  14. // $res = model('Admins')->checktoken($token);
  15. // if($res == -1){
  16. // return $res;
  17. // }
  18. // $admin_id = explode('/',base64_decode($token))['2'];
  19. // $adminInfo = db('admins')->where('id', $admin_id)->find();
  20. if(request()->isAjax()){
  21. $param = input('param.');
  22. $limit = $param['pageSize'];
  23. $offset = ($param['pageNumber'] - 1) * $limit;
  24. $where = [];
  25. if (!empty($param['searchText'])) {
  26. $where['user_name'] = ['like', '%' . $param['searchText'] . '%'];
  27. }
  28. $result = db('admins')->where($where)->limit($offset, $limit)->select();
  29. foreach($result as $key=>$vo){
  30. // 优化显示状态
  31. if(1 == $vo['status']){
  32. $result[$key]['status'] = '<span class="label label-primary">启用</span>';
  33. }else{
  34. $result[$key]['status'] = '<span class="label label-danger">禁用</span>';
  35. }
  36. // 上次登录时间
  37. $result[$key]['last_login_time'] = empty($vo['last_login_time']) ? '' : date('Y-m-d H:i:s', $vo['last_login_time']);
  38. // 生成操作按钮
  39. if(1 != $vo['id']){
  40. $result[$key]['operate'] = $this->makeBtn($vo['id']);
  41. }
  42. }
  43. $return['total'] = db('admins')->where($where)->count(); //总数据
  44. $return['rows'] = $result;
  45. return json($return);
  46. }
  47. //
  48. return $this->fetch();
  49. }
  50. // 添加管理员
  51. public function addAdmin()
  52. {
  53. if(request()->isPost()){
  54. $param = input('post.');
  55. $has = db('admins')->field('id')->where('user_name', $param['user_name'])->find();
  56. if(!empty($has)){
  57. return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']);
  58. }
  59. $param['password'] = md5($param['password'] . config('salt'));
  60. try{
  61. db('admins')->insert($param);
  62. }catch(\Exception $e){
  63. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  64. }
  65. return json(['code' => 1, 'data' => '', 'msg' => '添加管理员成功']);
  66. }
  67. $this->assign([
  68. 'status' => config('kf_status')
  69. ]);
  70. return $this->fetch('addadmin');
  71. }
  72. // 编辑管理员
  73. public function editAdmin()
  74. {
  75. if(request()->isAjax()){
  76. $param = input('post.');
  77. // 检测用户修改的管理员是否重复
  78. $has = db('admins')->where('user_name', $param['user_name'])->where('id', '<>', $param['id'])->find();
  79. if(!empty($has)){
  80. return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']);
  81. }
  82. // 修改用户密码
  83. if(empty($param['password'])){
  84. unset($param['password']);
  85. }else{
  86. $param['password'] = md5($param['password'] . config('salt'));
  87. }
  88. try{
  89. db('admins')->where('id', $param['id'])->update($param);
  90. }catch(\Exception $e){
  91. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  92. }
  93. return json(['code' => 1, 'data' => '', 'msg' => '编辑管理员成功']);
  94. }
  95. $id = input('param.id/d');
  96. $info = db('admins')->where('id', $id)->find();
  97. $this->assign([
  98. 'info' => $info,
  99. 'status' => config('kf_status')
  100. ]);
  101. return $this->fetch('editadmin');
  102. }
  103. // 删除管理员
  104. public function delAdmin()
  105. {
  106. if(request()->isAjax()){
  107. $id = input('param.id/d');
  108. //return $id;
  109. try{
  110. db('admins')->where('id', $id)->delete();
  111. }catch(\Exception $e){
  112. return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
  113. }
  114. return json(['code' => 1, 'data' => '', 'msg' => '删除管理员成功']);
  115. }
  116. }
  117. // 权限组
  118. public function power()
  119. {
  120. if(request()->isAjax()){
  121. $param = input('param.');
  122. $limit = $param['pageSize'];
  123. $offset = ($param['pageNumber'] - 1) * $limit;
  124. $result = db('admingroup')->limit($offset, $limit)->select();
  125. foreach($result as $key=>$vo){
  126. // 优化显示状态
  127. if(1 == $vo['status']){
  128. $result[$key]['status'] = '<span class="label label-primary">启用</span>';
  129. }else{
  130. $result[$key]['status'] = '<span class="label label-danger">禁用</span>';
  131. }
  132. // 上次登录时间
  133. $result[$key]['addtime'] = date('Y-m-d H:i:s', $vo['addtime']);
  134. // 生成操作按钮
  135. if(0 != $vo['group_id']){
  136. $result[$key]['operate'] = $this->makeBtnPower($vo['group_id']);
  137. }
  138. }
  139. $return['total'] = db('admingroup')->count(); //总数据
  140. $return['rows'] = $result;
  141. return json($return);
  142. }
  143. return $this->fetch();
  144. }
  145. // 添加权限组
  146. public function addPower()
  147. {
  148. if(request()->isPost()){
  149. $param = input('post.');
  150. $has = db('admingroup')->field('group_id')->where('group_name', $param['group_name'])->find();
  151. if(!empty($has)){
  152. return json(['code' => -1, 'data' => '', 'msg' => '该权限组已经存在']);
  153. }
  154. try{
  155. db('admingroup')->insert($param);
  156. }catch(\Exception $e){
  157. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  158. }
  159. return json(['code' => 1, 'data' => '', 'msg' => '添加权限组成功']);
  160. }
  161. $this->assign([
  162. 'status' => config('kf_status')
  163. ]);
  164. return $this->fetch();
  165. }
  166. // 编辑权限组
  167. public function editPower()
  168. {
  169. if(request()->isAjax()){
  170. $param = input('post.');
  171. //return $param;
  172. // 检测用户修改的权限组是否重复
  173. $has = db('admingroup')->where('group_name', $param['group_name'])->where('group_id', '<>', $param['group_id'])->find();
  174. if(!empty($has)){
  175. return json(['code' => -1, 'data' => '', 'msg' => '该权限组已经存在']);
  176. }
  177. try{
  178. db('admingroup')->where('group_id', $param['group_id'])->update($param);
  179. }catch(\Exception $e){
  180. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  181. }
  182. return json(['code' => 1, 'data' => '', 'msg' => '编辑管理员成功']);
  183. }
  184. $id = input('param.id/d');
  185. $info = db('admingroup')->where('group_id', $id)->find();
  186. $this->assign([
  187. 'info' => $info,
  188. 'status' => config('kf_status')
  189. ]);
  190. return $this->fetch();
  191. }
  192. // 删除权限组
  193. public function delPower()
  194. {
  195. if(request()->isAjax()){
  196. $id = input('param.id/d');
  197. //return $id;
  198. try{
  199. db('admingroup')->where('group_id', $id)->delete();
  200. }catch(\Exception $e){
  201. return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
  202. }
  203. return json(['code' => 1, 'data' => '', 'msg' => '删除权限组成功']);
  204. }
  205. }
  206. // 生成管理员操作按钮
  207. private function makeBtn($id)
  208. {
  209. $operate = '<a href="' . url('admins/editadmin', ['id' => $id]) . '">';
  210. $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  211. $operate .= '<a href="javascript:adminDel(' . $id . ')"><button type="button" class="btn btn-danger btn-sm">';
  212. $operate .= '<i class="fa fa-trash-o"></i> 删除</button></a> ';
  213. return $operate;
  214. }
  215. <<<<<<< HEAD
  216. // 生成权限组操作按钮
  217. private function makeBtnPower($id)
  218. {
  219. $operate = '<a href="' . url('admins/editpower', ['id' => $id]) . '">';
  220. $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  221. $operate .= '<a href="javascript:powerDel(' . $id . ')"><button type="button" class="btn btn-danger btn-sm">';
  222. $operate .= '<i class="fa fa-trash-o"></i> 删除</button></a> ';
  223. return $operate;
  224. }
  225. }
  226. =======
  227. }
  228. >>>>>>> d7221b8b22f990bd668469d6f4bdea47bec592b5