isAjax()){ $param = input('param.'); // $limit = $param['pageSize']; // $offset = ($param['pageNumber'] - 1) * $limit; $where = []; if (!empty($param['searchText'])) { $where['user_name'] = ['like', '%' . $param['searchText'] . '%']; } $result = db('admins') ->where($where) // ->limit($offset, $limit) ->select(); foreach($result as $key=>$vo){ // 优化显示状态 if(1 == $vo['status']){ $result[$key]['status'] = '启用'; }else{ $result[$key]['status'] = '禁用'; } // 获取权限名称 $role = db('admin_role') ->alias('a') ->where('admin_id', $vo['id']) ->join('role r',"r.id=a.role_id") ->field('name') ->find(); $result[$key]['role_name'] = $role ? $role['name'] : '暂无角色'; // 查找平台 $platform = db('groups')->where('admin_id', $vo['id'])->find(); $result[$key]['platform_name'] = $platform ? $platform['name'] : '暂无'; if ($role['name'] == '组长') { unset($result[$key]);continue; $platform = db('organize')->where('admin_id', $vo['id'])->find(); if ($platform) { $platform = db('groups')->where('id', $platform['group_id'])->find(); } $result[$key]['platform_name'] = $platform ? $platform['name'] : '暂无'; } // 上次登录时间 $result[$key]['last_login_time'] = empty($vo['last_login_time']) ? '' : date('Y-m-d H:i:s', $vo['last_login_time']); // 生成操作按钮 if(1 != $vo['id']){ $result[$key]['operate'] = $this->makeBtn($vo['id']); } } $return['total'] = db('admins')->where($where)->count(); //总数据 $return['rows'] = array_values($result); return json($return); } return $this->fetch(); } // // 添加管理员 // public function addAdmin() // { // if(request()->isPost()){ // $param = input('post.'); // $rule = "/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/"; // if (!preg_match($rule, $param['password'])) { // return json(['code' => -2, 'data' => '', 'msg' => '密码必须是8-16位的字母和数字组成!']); // }; // $has = db('admins')->field('id')->where('user_name', $param['user_name'])->find(); // if(!empty($has)){ // return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']); // } // $param['password'] = password_hash($param['password'], PASSWORD_DEFAULT); // if (!$param['role']) return json(['code' => -3, 'data' => '', 'msg' => '角色不能为空']); // try{ // $role_id = $param['role']; // unset($param['role']); // $admin_id = db('admins')->insertGetId($param); // db('admin_role')->insertGetId(['role_id' => $role_id, 'admin_id' => $admin_id]); // }catch(\Exception $e){ // return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); // } // LogRepository::write('系统管理', '添加管理员成功'); // return json(['code' => 1, 'data' => '', 'msg' => '添加管理员成功']); // } // // 角色 // $role = db('role')->where('status', 1)->select(); // $this->assign([ // 'status' => config('kf_status'), // 'role' => $role, // ]); // return $this->fetch('addadmin'); // } // 编辑管理员 public function editAdmin() { if(request()->isAjax()){ $param = input('post.'); $param['user_name'] = htmlentities($param['user_name']); // 检测用户修改的管理员是否重复 $has = db('admins')->where('user_name', $param['user_name'])->where('id', '<>', $param['id'])->find(); if(!empty($has)){ return json(['code' => -1, 'data' => '', 'msg' => '该管理员已经存在']); } // 修改用户密码 if(empty($param['password'])){ unset($param['password']); }else{ $rule = "/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/"; if (!preg_match($rule, $param['password'])) { return json(['code' => -2, 'data' => '', 'msg' => '密码必须是8-16位的字母和数字组成!']); } $param['password'] = password_hash($param['password'], PASSWORD_DEFAULT); } // $param['password'] = password_hash($param['password'], PASSWORD_DEFAULT); // if (!$param['role']) return json(['code' => -3, 'data' => '', 'msg' => '角色不能为空']); try{ // $role_id = $param['role']; // unset($param['role']); db('admins')->where('id', $param['id'])->update($param); // // 角色 // $role_info = db('admin_role')->where('admin_id', $param['id'])->find(); // if ($role_info) { // db('admin_role')->where('admin_id', $param['id'])->update(['role_id' => $role_id]); // } else { // db('admin_role')->insertGetId(['role_id' => $role_id, 'admin_id' => $param['id']]); // } }catch(\Exception $e){ return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]); } LogRepository::write('系统管理', '编辑管理员成功'); return json(['code' => 1, 'data' => '', 'msg' => '编辑管理员成功']); } $id = input('param.id/d'); $info = db('admins')->where('id', $id)->find(); // 角色 $role_info = db('admin_role')->where('admin_id', $id)->find(); $role = db('role')->where('status', 1)->select(); $this->assign([ 'info' => $info, 'status' => config('kf_status'), 'role' => $role, 'role_info' => $role_info, ]); return $this->fetch('editadmin'); } // // 删除管理员 // public function delAdmin() // { // if(request()->isAjax()){ // $id = input('param.id/d'); // try{ // db('admins')->where('id', $id)->delete(); // }catch(\Exception $e){ // return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]); // } // LogRepository::write('系统管理', '删除成功'); // return json(['code' => 1, 'data' => '', 'msg' => '删除成功']); // } // } // 生成按钮 private function makeBtn($id) { $operate = ''; $operate .= ' '; return $operate; } }