Index.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Controller;
  4. use think\Request;
  5. use think\Db;
  6. use think\Session;
  7. class Index extends Controller
  8. {
  9. //登录的函数
  10. public function login(Request $request)
  11. {
  12. if ($request->isPost()){
  13. $data =input();
  14. $login = model('Login');
  15. if($login->login($data)){
  16. return json(['Code'=>'00','msg'=>'登录成功']);
  17. }else{
  18. return json(['Code'=>'01','msg'=>'用户名或者密码不正确']);
  19. }
  20. } else {
  21. return view('login');
  22. }
  23. }
  24. // 管理员配置设置
  25. public function configsave(Request $request){
  26. if ($request->isPost()){
  27. $data =input();
  28. $result = Db::name('admin')->where(['id'=>1])->update($data);
  29. if($result!==false){
  30. return json(['code'=>'00','msg'=>'保存成功']);
  31. }else{
  32. return json(['code'=>'01','msg'=>'保存失败']);
  33. }
  34. } else {
  35. return json(['code'=>'01','msg'=>'访问方式错误']);
  36. }
  37. }
  38. //======================================管理员首页=======================================
  39. public function index()
  40. {
  41. $admin_user = session::get('admin_user');
  42. if($admin_user){
  43. //获取整个网站的信息
  44. $admin_info = Db::name('admin')->where(['id'=>1])->find(); //管理员信息
  45. $time_info = date("Y-m-d"); //当前时间
  46. $user_num = Db::name('user')->count(); //当前注册用户数
  47. $merchants_num = Db::name('admin')->count(); //当前商户数
  48. $this->assign('admin_info',$admin_info);
  49. $this->assign('time_info',$time_info);
  50. $this->assign('user_num',$user_num);
  51. $this->assign('merchants_num',$merchants_num-1);
  52. return view();
  53. }else{
  54. $this->redirect("admin/index/login");
  55. }
  56. }
  57. // ===================================订单页面========================================
  58. // 订单管理(可以查询订单)
  59. public function order(){
  60. $admin_user = session::get('admin_user');
  61. //此处需要多条件进行筛选,然后进行搜索信息
  62. $type = isset($_GET['type'])?$_GET['type']:''; //筛选的条件
  63. $keyword = isset($_GET['keyword'])?$_GET['keyword']:''; //筛选的文字
  64. if($admin_user){
  65. $where =[];
  66. if($type == 1 && $keyword){
  67. $order_id = $keyword; //获取到订单号码
  68. $where['order_id'] = $order_id;
  69. }
  70. $order_info = Db::name('repair_order')->where($where)->order('create_time desc')->paginate(15)->each(function($item, $key){
  71. $item['create_time'] =date("Y-m-d H:i",$item['create_time']);
  72. if($item['repuser']){
  73. $user_info = Db::name('user')->where(['openid'=>$item['repuser']])->find();
  74. $item['repuser'] = $user_info['username'];
  75. }
  76. return $item;
  77. });
  78. $this->assign('order_info',$order_info); //订单信息
  79. return view();
  80. }else{
  81. $this->redirect("admin/index/login");
  82. }
  83. }
  84. //查看某一个详细的订单
  85. public function order_info(Request $request){
  86. $admin_user = session::get('admin_user'); //判断当前登录者
  87. if($admin_user){
  88. $data = input();
  89. $order_id = $data['orderid'];
  90. $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //根据订单获取到
  91. $user_info = Db::name('user')->where(['openid'=>$order_info['repuser']])->find();
  92. $order_info['repuser'] = $user_info['username'];
  93. $this->assign('order_info',$order_info);
  94. return view();
  95. }else{
  96. $this->redirect("admin/index/login");
  97. }
  98. }
  99. // 编辑某个订单
  100. public function edit_order_info(Request $request){
  101. $admin_user = session::get('admin_user'); //判断当前登录者
  102. if($admin_user){
  103. $data = input();
  104. // 如果是post数据(更改数据)
  105. if($request->isPost()){
  106. $data['update_time'] = time(); //订单更新时间
  107. unset($data['create_time']); //创建时间不需要更改
  108. $result = Db::name('repair_order')->where(['order_id'=>$data['order_id']])->update($data);
  109. if($result){
  110. $this->redirect("admin/index/order"); //订单列表
  111. }else{
  112. $this->error();
  113. }
  114. }else{
  115. //如果是get请求,就再次把数据渲染一下
  116. $order_id = $data['orderid'];
  117. $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //根据订单获取到
  118. $this->assign('order_info',$order_info);
  119. return view();
  120. }
  121. }else{
  122. $this->redirect("admin/index/login");
  123. }
  124. }
  125. //====================================用户页面============================================
  126. //用户管理
  127. public function user(){
  128. $admin_user = session::get('admin_user');
  129. $type = isset($_GET['type'])?$_GET['type']:''; //筛选的条件
  130. $keyword = isset($_GET['keyword'])?$_GET['keyword']:''; //筛选的文字
  131. if($admin_user){
  132. $where =[];
  133. if($type == 1 && $keyword){
  134. $user_id = $keyword; //获取到订单号码
  135. $where['id'] = $user_id;
  136. }else{
  137. }
  138. $user_info = Db::name('user')->where($where)->paginate(15)->each(function($item, $key){
  139. $item['addtime'] =date("Y-m-d H:i",$item['addtime']);
  140. $group_info = Db::name('group')->where(['id'=>$item['group']])->find();
  141. $item['group'] = $group_info['name'];
  142. return $item;
  143. });
  144. $this->assign('user_info',$user_info); //订单信息
  145. return view();
  146. }else{
  147. $this->redirect("admin/index/login");
  148. }
  149. }
  150. //添加用户
  151. public function add_user(Request $request){
  152. $admin_user = session::get('admin_user');
  153. if($admin_user){
  154. if($request->isPost()){
  155. $data = input(); //获取到数据
  156. $data['addtime'] = time();
  157. $data['is_register'] = 1; //注册用户
  158. $result = Db::name('user')->insert($data);
  159. if($result){
  160. $this->redirect("admin/index/user");
  161. }else{
  162. $this->error();
  163. }
  164. }else{
  165. $group_info = Db::name('group')->select(); //获取分组信息
  166. $this->assign('group_info',$group_info); //渲染分组信息
  167. return view();
  168. }
  169. }else{
  170. $this->redirect("admin/index/login");
  171. }
  172. }
  173. //查看具体用户
  174. public function user_info(){
  175. $admin_user = session::get('admin_user'); //判断当前登录者
  176. if($admin_user){
  177. $data = input();
  178. $user_id = $data['user_id'];
  179. $user_info = Db::name('user')->where(['id'=>$user_id])->find(); //获取用户的信息
  180. $group_info = Db::name('group')->where(['id'=>$user_info['group']])->find(); //根据用户的信息获取到分组信息
  181. $user_info['group'] = $group_info['name'];
  182. $user_order_info = Db::name('repair_order')->where(['openid'=>$user_info['openid']])->order('create_time desc')->paginate(15)->each(function($item, $key){
  183. $repuser_data = Db::name('user')->where(['openid'=>$item['repuser']])->find();
  184. $item['repuser'] = $repuser_data['username'];
  185. $item['create_time'] =date("Y-m-d H:i",$item['create_time']);
  186. return $item;
  187. }); //获取用户
  188. $this->assign('user_info',$user_info); //用户信息
  189. $this->assign('user_order_info',$user_order_info); //用户的订单信息
  190. return view();
  191. }else{
  192. $this->redirect("admin/index/login");
  193. }
  194. }
  195. //编辑用户
  196. public function edit_user_info(Request $request){
  197. $admin_user = session::get('admin_user'); //判断当前登录者
  198. if($admin_user){
  199. $data = input(); //获取请求的数据
  200. if($request->isPost()){
  201. $result = Db::name('user')->where(['id'=>$data['id']])->update($data);
  202. if($result){
  203. $this->success();
  204. }else{
  205. $this->error();
  206. }
  207. }else{
  208. //如果是get请求,就再次把数据渲染一下
  209. $user_id = $data['user_id']; //获取用户的id
  210. $user_info = Db::name('user')->where(['id'=>$user_id])->find(); //获取用户的信息
  211. $group_info = Db::name('group')->select();
  212. $this->assign('user_info',$user_info); //用户信息
  213. $this->assign('group_info',$group_info); //分组信息
  214. return view();
  215. }
  216. }else{
  217. $this->redirect("admin/index/login");
  218. }
  219. }
  220. // 订单评论
  221. public function order_message(Request $request){
  222. $admin_user = session::get('admin_user'); //判断当前登录者
  223. if($admin_user){
  224. if($request->isPost()){
  225. $data = input(); //获取请求的数据
  226. $result = Db::name('repair_order')->where(['order_id'=>$data['order_id']])->update($data);
  227. if($result){
  228. $this->success();
  229. }else{
  230. $this->error();
  231. }
  232. }else{
  233. $data = input(); //获取请求的数据
  234. //如果是get请求,就再次把数据渲染一下
  235. $order_id = $data['orderid']; //获取订单的id
  236. $order_info = Db::name('repair_order')->where(['order_id'=>$order_id])->find(); //获取订单的信息
  237. $this->assign('order_info',$order_info); //分组信息
  238. return view();
  239. }
  240. }else{
  241. $this->redirect("admin/index/login");
  242. }
  243. }
  244. //====================================================分组页面===========================================//
  245. //查看分组
  246. public function group(){
  247. $admin_user = session::get('admin_user');
  248. $type = isset($_GET['type'])?$_GET['type']:''; //筛选的条件
  249. $keyword = isset($_GET['keyword'])?$_GET['keyword']:''; //筛选的文字
  250. if($admin_user){
  251. $where =[];
  252. if($type == 1 && $keyword){
  253. $group_name = $keyword; //获取条件
  254. $where['name'] = array('like', "%$group_name%"); //模糊查询
  255. }
  256. $group_info = Db::name('group')->where($where)->paginate(15)->each(function($item, $key){
  257. return $item;
  258. });
  259. $this->assign('group_info',$group_info); //分组的信息
  260. return view();
  261. }else{
  262. $this->redirect("admin/index/login");
  263. }
  264. }
  265. // 编辑分组
  266. public function edit_group(Request $request){
  267. $admin_user = session::get('admin_user'); //判断当前登录者
  268. if($admin_user){
  269. $data = input(); //获取请求的数据
  270. if($request->isPost()){
  271. $result = Db::name('group')->where(['id'=>$data['id']])->update($data);
  272. if($result){
  273. $this->success();
  274. }else{
  275. $this->error();
  276. }
  277. }else{
  278. //如果是get请求,就再次把数据渲染一下
  279. $group_id = $data['group_id']; //获取分组的id
  280. $group_info = Db::name('group')->where(['id'=>$group_id])->find(); //获取分组的信息
  281. $this->assign('group_info',$group_info);
  282. return view();
  283. }
  284. }else{
  285. $this->redirect("admin/index/login");
  286. }
  287. }
  288. //添加分组
  289. public function add_group(Request $request){
  290. $admin_user = session::get('admin_user');
  291. if($admin_user){
  292. if($request->isPost()){
  293. $data = input(); //获取到数据
  294. $data['addtime'] = time();
  295. $result = Db::name('group')->insert($data);
  296. if($result){
  297. $this->redirect("admin/index/group");
  298. }else{
  299. $this->error();
  300. }
  301. }else{
  302. return view();
  303. }
  304. }else{
  305. $this->redirect("admin/index/login");
  306. }
  307. }
  308. //========================================================退出登录==========================================//
  309. // 退出登录
  310. public function loginout(){
  311. session::delete('admin_user');
  312. $this->redirect("admin/index/login");
  313. }
  314. }