Admins.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. if(request()->isAjax()){
  14. $param = input('param.');
  15. $limit = $param['pageSize'];
  16. $offset = ($param['pageNumber'] - 1) * $limit;
  17. $where = [];
  18. if (!empty($param['searchText'])) {
  19. $where['user_name'] = ['like', '%' . $param['searchText'] . '%'];
  20. }
  21. $result = db('admins')->where($where)->limit($offset, $limit)->select();
  22. foreach($result as $key=>$vo){
  23. // 优化显示状态
  24. if(1 == $vo['status']){
  25. $result[$key]['status'] = '<span class="label label-primary">启用</span>';
  26. }else{
  27. $result[$key]['status'] = '<span class="label label-danger">禁用</span>';
  28. }
  29. // 上次登录时间
  30. $result[$key]['last_login_time'] = empty($vo['last_login_time']) ? '' : date('Y-m-d H:i:s', $vo['last_login_time']);
  31. // 生成操作按钮
  32. if(1 != $vo['id']){
  33. $result[$key]['operate'] = $this->makeBtn($vo['id']);
  34. }
  35. }
  36. $return['total'] = db('admins')->where($where)->count(); //总数据
  37. $return['rows'] = $result;
  38. return json($return);
  39. }
  40. return $this->fetch();
  41. }
  42. // 添加管理员
  43. public function addAdmin()
  44. {
  45. if(request()->isPost()){
  46. $param = input('post.');
  47. $has = db('admins')->field('id')->where('user_name', $param['user_name'])->find();
  48. if(!empty($has)){
  49. return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']);
  50. }
  51. $param['password'] = md5($param['password'] . config('salt'));
  52. try{
  53. db('admins')->insert($param);
  54. }catch(\Exception $e){
  55. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  56. }
  57. return json(['code' => 1, 'data' => '', 'msg' => '添加管理员成功']);
  58. }
  59. $this->assign([
  60. 'status' => config('kf_status')
  61. ]);
  62. return $this->fetch();
  63. }
  64. // 编辑管理员
  65. public function editAdmin()
  66. {
  67. if(request()->isAjax()){
  68. $param = input('post.');
  69. // 检测用户修改的管理员是否重复
  70. $has = db('admins')->where('user_name', $param['user_name'])->where('id', '<>', $param['id'])->find();
  71. if(!empty($has)){
  72. return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']);
  73. }
  74. // 修改用户密码
  75. if(empty($param['password'])){
  76. unset($param['password']);
  77. }else{
  78. $param['password'] = md5($param['password'] . config('salt'));
  79. }
  80. try{
  81. db('admins')->where('id', $param['id'])->update($param);
  82. }catch(\Exception $e){
  83. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  84. }
  85. return json(['code' => 1, 'data' => '', 'msg' => '编辑管理员成功']);
  86. }
  87. $id = input('param.id/d');
  88. $info = db('admins')->where('id', $id)->find();
  89. $this->assign([
  90. 'info' => $info,
  91. 'status' => config('kf_status')
  92. ]);
  93. return $this->fetch();
  94. }
  95. // 删除管理员
  96. public function delAdmin()
  97. {
  98. if(request()->isAjax()){
  99. $id = input('param.id/d');
  100. try{
  101. db('admins')->where('id', $id)->delete();
  102. }catch(\Exception $e){
  103. return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
  104. }
  105. return json(['code' => 1, 'data' => '', 'msg' => '删除客服成功']);
  106. }
  107. }
  108. // 生成按钮
  109. private function makeBtn($id)
  110. {
  111. $operate = '<a href="' . url('admins/editadmin', ['id' => $id]) . '">';
  112. $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  113. $operate .= '<a href="javascript:userDel(' . $id . ')"><button type="button" class="btn btn-danger btn-sm">';
  114. $operate .= '<i class="fa fa-trash-o"></i> 删除</button></a> ';
  115. return $operate;
  116. }
  117. }