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;
}
}