123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- <?php
- namespace app\admin\controller;
- use app\admin\BaseController;
- use app\common\model\Admin as AdminModel;
- use app\common\model\Menu as MenuModel;
- use app\common\validate\Admin as AdminValidate;
- use think\exception\ValidateException;
- class Admin extends BaseController
- {
-
- public function adminList()
- {
- return view('admin/adminlist');
- }
-
- public function adminForm()
- {
- $id = input('id/d, 0');
- $admin = AdminModel::findOrEmpty($id);
- $menulist = MenuModel::where(['mtype'=>'admin','status'=>1])->order(['pid'=>'asc','priority'=>'asc','id'=>'asc'])->select()->toArray();
- $powerarr = array();
- $poweridsarr = ($admin->powerids==null||empty($admin->powerids)) ? [] : explode(",", $admin->powerids);
- if (!empty($menulist)){
- foreach ($menulist as $k=>$v){
- if ($v['pid']==0){
- $v['checked'] = false;
- $v['children'] = array();
- $v['spread'] = true;
- $powerarr[$v['id']] = $v;
- }else {
- $v['checked'] = in_array($v['id'], $poweridsarr);
- $powerarr[$v['pid']]['children'][] = $v;
- }
- }
- }
- return view('admin/adminform',[
- 'admin' => $admin,
- 'powerarr' => json_encode( array_values($powerarr) )
- ]);
- }
-
- public function editAdmin()
- {
- $id = input('id/d');
- $vdata = array(
- 'id' => $id,
- 'adminname' => input('adminname/s'),
- 'realname' => input('realname/s'),
- 'mobile' => input('mobile/s')
- );
- try {
- validate(AdminValidate::class)->check($vdata);
- } catch (ValidateException $e) {
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => $e->getError()
- )));
- }
- $password = input('password/s');
- $role = input('role/d', 2);
- $powerids = input('powerids/s', "");
- if($role==1){
- $idsarr = MenuModel::where(['mtype'=>'admin','status'=>1])->order(['pid'=>'asc','priority'=>'asc','id'=>'asc'])->column('id');
- $powerids = implode(",", $idsarr);
- }
- $data = [
- 'role' => $role,
- 'adminname' => input('adminname/s', ""),
- 'realname' => input('realname/s', ""),
- 'mobile' => input('mobile/s', ""),
- 'status' => input('status/d')==1 ? 1 : 2,
- 'powerids' => $powerids,
- 'remark' => input('remark', "")
- ];
- if (empty($id)){
- $data['password'] = empty($password) ? md5("123456789") : md5($password);
- $data['joindate'] = time();
- $data['joinip'] = $_SERVER['SERVER_ADDR'];
- $data['lastdate'] = time();
- $data['lastip'] = $_SERVER['SERVER_ADDR'];
- $admin = AdminModel::create($data);
- }else{
- if (!empty($password)){
- $data['password'] = md5($password);
- }
- $admin = AdminModel::find($id);
- $admin->save($data);
- }
- exit(json_encode(array(
- 'code' => 0
- )));
- }
-
- // 删除管理员
- public function delAdmin()
- {
- $access_admin = session('access_admin');
- $password = input('password');
- if ( $access_admin['password'] !== md5($password) ){
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => "操作密码验证失败"
- )));
- }
- $idarr = input('idarr/a');
- $admin = AdminModel::where('role',2)->whereIn('id',$idarr)->select();
- $result = $admin->delete();
- if ($result){
- exit(json_encode(array(
- 'code' => 0,
- 'msg' => ""
- )));
- }
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => "删除失败,请稍后重试"
- )));
- }
-
- public function listAdmin()
- {
- $limit = input('limit');
- $page = input('page');
- $map = array();
- $adminname = input('adminname');
- if (!empty($adminname)){
- $map['adminname'] = $adminname;
- }
- $realname = input('realname');
- if (!empty($realname)){
- $map['realname'] = $realname;
- }
- $mobile = input('mobile');
- if (!empty($mobile)){
- $map['mobile'] = $mobile;
- }
- $role = input('role');
- if (!empty($role)){
- $map['role'] = $role;
- }
- $list = AdminModel::where($map)->order('id','asc')->limit($limit)->page($page)->append(['status_text','role_text'])->select();
- $count = AdminModel::where($map)->count();
- if ($count==0){
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => "未查询到数据"
- )));
- }
- exit(json_encode(array(
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list
- )));
- }
-
- // 个人信息
- public function myInfo()
- {
- $access_admin = session('access_admin');
- $admin = AdminModel::find($access_admin['id']);
- return view('admin/myinfo',[
- 'admin' => $admin
- ]);
- }
- public function editMyInfo()
- {
- $access_admin = session('access_admin');
- AdminModel::update(['realname'=>input('realname'),'mobile'=>input('mobile'),'remark'=>input('remark')], ['id'=>$access_admin['id']]);
- exit(json_encode(array(
- 'code' => 0
- )));
- }
- public function myPassword()
- {
- return view('admin/mypassword');
- }
- public function editMyPassword()
- {
- $access_admin = session('access_admin');
- $oldpassword = input('oldpassword');
- if ( $access_admin['password']!==md5($oldpassword) ){
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => "当前密码不正确。"
- )));
- }
- $password = input('password');
- $repassword = input('repassword');
- if ( $password!==$repassword ){
- exit(json_encode(array(
- 'code' => 1,
- 'msg' => "两次输入的新密码不一致。"
- )));
- }
- AdminModel::update(['password'=>md5($password)], ['id'=>$access_admin['id']]);
- session('access_admin', null);
- echo json_encode(array(
- 'code' => 0
- ));
- }
- }
|