isPost()){ $data =input(); $login = model('Login'); if($login->login($data)){ return json(['Code'=>'00','msg'=>'登录成功']); }else{ return json(['Code'=>'01','msg'=>'用户名或者密码不正确']); } } else { return view('login'); } } public function qrcode() { $appid = "wx6ddfdda51d6a1a19"; $time = time(); $redirect_url = "http://www.xzh8.cn/index/admin_weixin_login/index?time=$time"; $state = str_shuffle("abcdef").mt_rand(1,10).$time; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_url&response_type=code&scope=snsapi_base&state=$state#wechat_redirect"; $srcUrl = sprintf("http://qr.liantu.com/api.php?text=%s,",urlencode($url)); $this->assign('srcUrl',$srcUrl); $this->assign('state',$state); return $this->fetch(); } //-----------区域------------ public function region() { $region = Db::name('region')->select(); $this->assign('region',$region); return $this->fetch(); } public function getRegion() { $data = Db::name('region')->where(['status'=>0])->select(); return $data; } public function editRegion(Request $request) { $id = $request->param('id'); if($request->isPost() && $request->isAjax()){ $username = $request->param('username'); $res = Db::name('region')->where('id',$id)->update(['username'=>$username]); if($res){ return json(['status'=>1,'message'=>'修改成功']); }else{ return json(['status'=>0,'message'=>'未进行修改']); } } $region = Db::name('region')->where('id',$id)->find(); $this->assign('region',$region); return $this->fetch(); } public function delRegion(Request $request) { $id = $request->param('id'); $res = Db::name('region')->delete($id); if($res){ $this->success('删除成功','region'); exit; } } public function addRegion(Request $request) { if($request->isAjax() && $request->isPost()){ $data = $request->param(); $data['create_time'] = time(); $res = Db::name('region')->insert($data); if($res){ echo json_encode(['status'=>1,'message'=>'增加成功']); exit; }else{ echo json_encode(['status'=>0,'message'=>'增加失败']); exit; } } return $this->fetch(); } public function weixinLogin(Request $request) { $code = $request->param('state'); $uid = Db::name('login')->where(['code'=>$code])->value('uid'); if($uid){ Db::name('login')->where('uid',$uid)->setField('code',null); session::set('admin_user',$uid); return $uid; }else{ return false; } } // 管理员配置设置 public function configsave(Request $request){ if ($request->isPost()){ $data =input(); $result = Db::name('admin')->where(['id'=>1])->update($data); if($result!==false){ return json(['code'=>'00','msg'=>'保存成功']); }else{ return json(['code'=>'01','msg'=>'保存失败']); } } else { return json(['code'=>'01','msg'=>'访问方式错误']); } } //管理员权限 public function adminAuthorty() { $admin_user = session::get('admin_user'); if($admin_user){ $admin_info = Db::name('admin')->where(['id'=>$admin_user])->find(); return $admin_info; } } //======================================管理员首页======================================= public function index() { $admin_user = session::get('admin_user'); if($admin_user){ //获取整个网站的信息 $admin_info = Db::name('admin')->where(['id'=>$admin_user])->find(); //管理员信息 $time_info = date("Y-m-d"); //当前时间 $user_num = Db::name('user')->count(); //当前注册用户数 $merchants_num = Db::name('admin')->count(); //当前商户数 $this->assign('admin_info',$admin_info); $this->assign('time_info',$time_info); $this->assign('user_num',$user_num); $this->assign('merchants_num',$merchants_num-1); return view(); }else{ $this->redirect("admin/index/login"); } } // ===================================订单页面======================================== // 订单管理(可以查询订单) public function order(Request $request){ $admin_user = session::get('admin_user'); //此处需要多条件进行筛选,然后进行搜索信息 $type = empty($request->param('type'))? "":$request->param('type'); $keyword = empty($request->param('keyword'))? "":$request->param('keyword'); $statusValue = empty($request->param('statusValue')) ? "":$request->param('statusValue'); if(empty($request->param('type'))){ $where = []; }elseif(!empty($request->param('statusValue'))){ $where[$type] = $statusValue; }else{ $where[$type] = $keyword; } if($admin_user){ $allowGroup = $this->adminAuthorty()['authority']; if($allowGroup){ $allowGroupWhere['group'] = ['in',$allowGroup]; }else{ $allowGroupWhere = []; } $order_info = Db::name('repair_order')->where($where)->where($allowGroupWhere)->order('create_time desc')->paginate(15)->each(function($item, $key){ $item['create_time'] =date("Y-m-d H:i",$item['create_time']); if($item['repuser']){ $user_info = Db::name('user')->where(['openid'=>$item['repuser']])->find(); $item['repuser'] = $user_info['username']; } return $item; }); $this->assign('order_info',$order_info); //订单信息 return view(); }else{ $this->redirect("admin/index/login"); } } //查看某一个详细的订单 public function order_info(Request $request){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ $data = input(); $order_id = $data['orderid']; $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //根据订单获取到 $user_info = Db::name('user')->where(['openid'=>$order_info['repuser']])->find(); $order_info['repuser'] = $user_info['username']; $this->assign('order_info',$order_info); return view(); }else{ $this->redirect("admin/index/login"); } } // 编辑某个订单 public function edit_order_info(Request $request){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ $data = input(); // 如果是post数据(更改数据) if($request->isPost()){ $data['update_time'] = time(); //订单更新时间 unset($data['create_time']); //创建时间不需要更改 $result = Db::name('repair_order')->where(['order_id'=>$data['order_id']])->update($data); if($result){ $this->redirect("admin/index/order"); //订单列表 }else{ $this->error(); } }else{ //如果是get请求,就再次把数据渲染一下 $order_id = $data['orderid']; $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //根据订单获取到 $this->assign('order_info',$order_info); return view(); } }else{ $this->redirect("admin/index/login"); } } //====================================用户页面============================================ //用户管理 public function user(Request $request){ $admin_user = session::get('admin_user'); $type = empty($request->param('type'))?'':$request->param('type'); //筛选的条件 $keyword = empty($request->param('keyword'))?'':$request->param('keyword'); //筛选的文字 $is_register = empty($request->param('is_register'))? "": $request->param('is_register'); $is_check = empty($request->param('is_check'))? "": $request->param('is_check'); $region = empty($request->param('region')) ? "": $request->param('region'); $group = empty($request->param('group')) ? "": $request->param('group'); if(empty($request->param('type'))){ $where = []; }elseif (!empty($request->param('is_register'))){ $where[$type] = $is_register; }elseif (!empty($request->param('is_check'))){ $where[$type] = $is_check; }elseif(!empty($request->param('region'))){ $where[$type] = $region; }elseif(!empty($request->param('group'))){ $where[$type] = $group; }else{ $where[$type] = $keyword; } $allowGroup = $this->adminAuthorty()['authority'];//获取允许访问的组 if($allowGroup){ $allowGroupWhere['group'] = ['in',$allowGroup]; }else{ $allowGroupWhere = []; } $group = Db::name('group')->select();//获取所有组 $region = Db::name('region')->select();//获取所有区域 if($admin_user){ $user_info = Db::name('user')->where($allowGroupWhere)->where($where)->paginate(10)->each(function($item, $key){ $item['addtime'] =date("Y-m-d H:i",$item['addtime']); $group_info = Db::name('group')->where(['id'=>$item['group']])->find(); $item['group'] = $group_info['name']; return $item; }); $this->assign('user_info',$user_info); //订单信息 $this->assign('group',$group); $this->assign('region',$region); return view(); }else{ $this->redirect("admin/index/login"); } } //添加用户 public function add_user(Request $request){ $admin_user = session::get('admin_user'); if($admin_user){ if($request->isPost()){ $data = input(); //获取到数据 $data['addtime'] = time(); $data['is_register'] = 1; //注册用户 $result = Db::name('user')->insert($data); if($result){ $this->redirect("admin/index/user"); }else{ $this->error(); } }else{ $group_info = Db::name('group')->select(); //获取分组信息 $this->assign('group_info',$group_info); //渲染分组信息 return view(); } }else{ $this->redirect("admin/index/login"); } } //查看具体用户 public function user_info(){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ $data = input(); $user_id = $data['user_id']; $user_info = Db::name('user')->where(['id'=>$user_id])->find(); //获取用户的信息 $group_info = Db::name('group')->where(['id'=>$user_info['group']])->find(); //根据用户的信息获取到分组信息 $user_region = Db::name('region')->where(['id'=>$user_info['region']])->value('username'); $user_info['group'] = $group_info['name']; $user_info['region'] = $user_region; $user_order_info = Db::name('repair_order')->where(['openid'=>$user_info['openid']])->order('create_time desc')->paginate(15)->each(function($item, $key){ $repuser_data = Db::name('user')->where(['openid'=>$item['repuser']])->find(); $item['repuser'] = $repuser_data['username']; $item['create_time'] =date("Y-m-d H:i",$item['create_time']); return $item; }); //获取用户 $this->assign('user_info',$user_info); //用户信息 $this->assign('user_order_info',$user_order_info); //用户的订单信息 return view(); }else{ $this->redirect("admin/index/login"); } } //编辑用户 public function edit_user_info(Request $request){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ $data = input(); //获取请求的数据 if($request->isPost()){ $result = Db::name('user')->where(['id'=>$data['id']])->update($data); if($result){ $user = Db::name('user')->where(['id'=>$data['id']])->find(); if($user['identity'] != 99){ $admin = Db::name('admin')->where(['openid'=>$user['openid']])->update(['status'=>1]); }else{ $admin = Db::name('admin')->where(['openid'=>$user['openid']])->update(['status'=>0]); } $this->success('修改成功','user'); }else{ $this->error(); } }else{ //如果是get请求,就再次把数据渲染一下 $user_id = $data['user_id']; //获取用户的id $user_info = Db::name('user')->where(['id'=>$user_id])->find(); //获取用户的信息 $user_group = empty($user_info['group']) ? 1:$user_info['group']; $group_info = Db::name('group')->select(); $this->assign('user_info',$user_info); //用户信息 $this->assign('region',$this->findRegion($user_group)); $this->assign('group_info',$group_info); //分组信息 return view(); } }else{ $this->redirect("admin/index/login"); } } public function findRegion($user_group='1') { if(isset($_GET['id'])){ $id = $_GET['id']; $id = Db::name('group')->where(['id'=>$id])->value('region'); $region = Db::name('region')->where('id','in',$id)->select(); return json($region); }else{ $id = Db::name('group')->where(['id'=>$user_group])->value('region'); $region = Db::name('region')->where('id','in',$id)->select(); return $region; } } // 订单评论 public function order_message(Request $request){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ if($request->isPost()){ $data = input(); //获取请求的数据 $result = Db::name('repair_order')->where(['order_id'=>$data['order_id']])->update($data); if($result){ $this->success(); }else{ $this->error(); } }else{ $data = input(); //获取请求的数据 //如果是get请求,就再次把数据渲染一下 $order_id = $data['orderid']; //获取订单的id $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //获取订单的信息 $this->assign('order_info',$order_info); //分组信息 return view(); } }else{ $this->redirect("admin/index/login"); } } //====================================================分组页面===========================================// //查看分组 public function group(){ $admin_user = session::get('admin_user'); $type = isset($_GET['type'])?$_GET['type']:''; //筛选的条件 $keyword = isset($_GET['keyword'])?$_GET['keyword']:''; //筛选的文字 if($admin_user){ $where =[]; if($type == 1 && $keyword){ $group_name = $keyword; //获取条件 $where['name'] = array('like', "%$group_name%"); //模糊查询 } $group_info = Db::name('group')->where($where)->paginate(15)->each(function($item, $key){ $result = Db::name('region')->where('id','in',$item['region'])->select(); $item['regionName'] = $result; return $item; }); $this->assign('group_info',$group_info); //分组的信息 return view(); }else{ $this->redirect("admin/index/login"); } } // 编辑分组 public function edit_group(Request $request){ $admin_user = session::get('admin_user'); //判断当前登录者 if($admin_user){ $data = input(); //获取请求的数据 if($request->isPost()){ if(!empty($data['region'])){ $data['region'] = implode(',',$data['region']); }else{ $data['region'] = ""; } $region = Db::name('group')->where(['id'=>$data['id']])->value('region'); $res = Db::name('region')->where('id','in',$region)->update(['status'=>0]); $resu = Db::name('region')->where('id','in',$data['region'])->update(['status'=>1]); $result = Db::name('group')->where(['id'=>$data['id']])->update($data); $this->success('修改成功','group'); }else{ //如果是get请求,就再次把数据渲染一下 $group_id = $data['group_id']; //获取分组的id $group_info = Db::name('group')->where(['id'=>$group_id])->find(); //获取分组的信息 $group_region = Db::name('region')->where('id','in',$group_info['region'])->whereor('status',0)->select(); $this->assign('group_info',$group_info); $this->assign('region',$group_region); return view(); } }else{ $this->redirect("admin/index/login"); } } //添加分组 public function add_group(Request $request){ $admin_user = session::get('admin_user'); if($admin_user){ if($request->isPost()){ $data = input(); //获取到数据 if(!empty($data['region'])){ $data['region'] = implode(',',$data['region']); }else{ $data['region'] = ""; } $retion = Db::name('region')->where('id','in',$data['region'])->update(['status'=>1]); $data['addtime'] = time(); $result = Db::name('group')->insert($data); if($result ){ $this->redirect("admin/index/group"); }else{ $this->error(); } }else{ $this->assign('region',$this->getRegion()); return view(); } }else{ $this->redirect("admin/index/login"); } } public function del_group(Request $request) { $id = $request->param('group_id'); $result = Db::name('group')->delete($id); if($result){ header('Location: /admin/index/group'); exit; } } //========================================================退出登录==========================================// // 退出登录 public function loginout(){ session::delete('admin_user'); $this->redirect("admin/index/login"); } }