You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
257 lines
7.4 KiB
257 lines
7.4 KiB
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use app\admin\controller\Base;
|
|
use \think\Db;
|
|
|
|
/**
|
|
* 管理员管理
|
|
* @author hardphp@163.com
|
|
*/
|
|
class Admin extends Base
|
|
{
|
|
/**
|
|
* 列表
|
|
*/
|
|
public function index()
|
|
{
|
|
if ($this->request->isPost()) {
|
|
//搜索参数
|
|
$isEnabled = input('isEnabled', -1, 'intval');
|
|
$userName = input('userName', '', 'trim');
|
|
$phone = input('phone', '', 'trim');
|
|
$realName = input('realName', '', 'trim');
|
|
$startTime = input('startTime', '', 'strtotime');
|
|
$endTime = input('endTime', '', 'strtotime');
|
|
$order = input('order/a', 'a.id desc');
|
|
$page = input('page', 1, 'intval');
|
|
$psize = input('psize', 10, 'intval');
|
|
|
|
$lists = model('Admin', 'logic')->getLists($userName, $phone, $realName, $startTime, $endTime, $isEnabled, $order, $page, $psize);
|
|
$result['total'] = model('Admin', 'logic')->getTotal($userName, $phone, $realName, $startTime, $endTime, $isEnabled);
|
|
$result['data'] = $lists;
|
|
ajax_return_ok($result);
|
|
}
|
|
}
|
|
|
|
//获取登录用户信息
|
|
public function getuser()
|
|
{
|
|
$user = $this->user;
|
|
$access = my_model('AuthRule', 'logic', 'admin')->getAuthByGroupIdToTree($user['groupId']);
|
|
$routers = [];
|
|
|
|
foreach ($access as $v) {
|
|
$temp = $this->getdata($v);
|
|
foreach ($v['children'] as $vo) {
|
|
$temp['children'][] = $this->getdata($vo);
|
|
}
|
|
$routers[] = $temp;
|
|
}
|
|
$user['access'] = $routers;
|
|
$group = my_model('AuthGroup', 'logic', 'admin')->getGroupById($user['groupId']);
|
|
$user['group'] = $group['title'];
|
|
ajax_return_ok($user);
|
|
}
|
|
|
|
protected function getdata($data)
|
|
{
|
|
$temp = [];
|
|
$temp['path'] = $data['path'];
|
|
$temp['component'] = $data['component'];
|
|
$temp['name'] = $data['name'];
|
|
if ($data['hidden'] > -1) {
|
|
$temp['hidden'] = (boolean)$data['hidden'];
|
|
}
|
|
if ($data['alwaysShow'] > -1) {
|
|
$temp['alwaysShow'] = (boolean)$data['alwaysShow'];
|
|
}
|
|
if ($data['redirect']) {
|
|
$temp['redirect'] = $data['redirect'];
|
|
}
|
|
$temp['meta']['title'] = $data['title'];
|
|
$temp['meta']['icon'] = $data['icon'];
|
|
if ($data['noCache'] > -1) {
|
|
$temp['meta']['noCache'] = (boolean)$data['noCache'];
|
|
}
|
|
|
|
return $temp;
|
|
}
|
|
|
|
|
|
/** 详情
|
|
* @return mixed
|
|
*/
|
|
public function getinfo()
|
|
{
|
|
$uid = input('id', '0', 'int');
|
|
if ($uid == 0) {
|
|
ajax_return_error('参数有误!');
|
|
}
|
|
$info = model('Admin', 'logic')->getAdminById($uid);
|
|
ajax_return_ok($info);
|
|
}
|
|
|
|
/**
|
|
* 保存
|
|
*/
|
|
public function save()
|
|
{
|
|
$id = input('id', '0', 'int');
|
|
//接收数据
|
|
$data = [
|
|
'groupId' => input('groupId', '', 'trim'),
|
|
'userName' => input('userName', '', 'trim'),
|
|
'realName' => input('realName', '', 'trim'),
|
|
'img' => input('img', '', 'trim'),
|
|
'phone' => input('phone', '', 'trim'),
|
|
'email' => input('email', '', 'trim'),
|
|
'password' => input('password', '', 'trim'),
|
|
'regTime' => input('regTime', 0, 'int'),
|
|
'isEnabled' => input('isEnabled', 0, 'int'),
|
|
];
|
|
$validate = validate('Admin');
|
|
$result = $validate->scene('save')->check($data);
|
|
if (!$result) {
|
|
$error = $validate->getError();
|
|
ajax_return_error($error);
|
|
}
|
|
$res = model('Admin', 'logic')->modify($id, $data);
|
|
if ($res == false) {
|
|
ajax_return_error('保存失败!');
|
|
} else {
|
|
ajax_return_ok(['id' => $res], '保存成功!');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
*/
|
|
public function del()
|
|
{
|
|
$id = input('id', '0', 'int');
|
|
if ($id == 0) {
|
|
ajax_return_error('参数有误!');
|
|
} else {
|
|
if ($id == 1) {
|
|
ajax_return_error('该记录不能删除!');
|
|
}
|
|
if (model('Admin', 'logic')->del($id)) {
|
|
ajax_return_ok([], '删除成功!');
|
|
} else {
|
|
ajax_return_error('删除失败!');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 批量删除
|
|
*/
|
|
public function delall()
|
|
{
|
|
$ids = input('ids', '', 'trim');
|
|
if (empty($ids)) {
|
|
ajax_return_error('参数有误!');
|
|
} else {
|
|
$ids = explode(',', $ids);
|
|
model('Admin', 'logic')->delall($ids);
|
|
ajax_return_ok([], '删除成功!');
|
|
}
|
|
}
|
|
|
|
public function change()
|
|
{
|
|
|
|
$val = input('val', '', 'int');
|
|
$field = input('field', '', 'trim');
|
|
$value = input('value', '', 'int');
|
|
if (empty($field)) {
|
|
ajax_return_error('参数有误!');
|
|
}
|
|
$res = model('Admin', 'logic')->change($val, $field, $value);
|
|
if ($res) {
|
|
ajax_return_ok([], '修改成功!');
|
|
} else {
|
|
ajax_return_error('修改失败!');
|
|
}
|
|
|
|
}
|
|
|
|
public function changeall()
|
|
{
|
|
$val = input('val', '', 'trim');
|
|
$field = input('field', '', 'trim');
|
|
$value = input('value', '', 'int');
|
|
if (empty($val)) {
|
|
ajax_return_error('参数有误!');
|
|
}
|
|
if (empty($field)) {
|
|
ajax_return_error('参数有误!');
|
|
}
|
|
|
|
$ids = explode(',', $val);
|
|
foreach ($ids as $v) {
|
|
$res = model('Admin', 'logic')->change($v, $field, $value);
|
|
}
|
|
|
|
ajax_return_ok([], '修改成功!');
|
|
|
|
}
|
|
|
|
/**
|
|
* 修改密码
|
|
*/
|
|
public function setpwd()
|
|
{
|
|
//接收数据
|
|
$data = [
|
|
'oldPwd' => input('oldPwd', '', 'trim'),
|
|
'newPwd' => input('newPwd', '', 'trim'),
|
|
'newPwd2' => input('newPwd2', '', 'trim')
|
|
];
|
|
//验证输入数据合法性
|
|
$validate = validate('Password');
|
|
$result = $validate->check($data);
|
|
if (!$result) {
|
|
$error = $validate->getError();
|
|
ajax_return_error($error);
|
|
}
|
|
$res = model('Admin', 'logic')->setPwd($this->uid, $data['newPwd'], $data['oldPwd']);
|
|
if ($res) {
|
|
ajax_return_ok([], '修改成功!');
|
|
} else {
|
|
ajax_return_error('修改失败!');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 修改个人资料
|
|
*/
|
|
public function modify()
|
|
{
|
|
$id = $this->uid;
|
|
//接收数据
|
|
$data = [
|
|
'realName' => input('realName', '', 'trim'),
|
|
'img' => input('img', '', 'trim'),
|
|
'phone' => input('phone', '', 'trim'),
|
|
'email' => input('email', '', 'trim'),
|
|
'password' => input('password', '', 'trim'),
|
|
];
|
|
$validate = validate('Admin');
|
|
$result = $validate->scene('modify')->check($data);
|
|
if (!$result) {
|
|
$error = $validate->getError();
|
|
ajax_return_error($error);
|
|
}
|
|
$res = model('Admin', 'logic')->modify($id, $data);
|
|
if ($res == false) {
|
|
ajax_return_error('保存失败!');
|
|
} else {
|
|
ajax_return_ok(['id' => $res], '保存成功!');
|
|
}
|
|
}
|
|
|
|
}
|