MenuController.class.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class MenuController extends ComController {
  5. public function _initialize() {
  6. parent::_initialize();
  7. $this->dbname ='auth_rule';
  8. }
  9. public function index(){
  10. $data=I();
  11. if(isset($data['list'])){
  12. $menu = M('auth_rule');
  13. $count= $menu->count(id);// 查询满足要求的总记录数
  14. $list = $menu->where('types=1')->field('id,title,name,level,pid,status')->select();
  15. $info = array(
  16. 'totalRow' => $count,
  17. 'pageSize' => $count,//分页时不传
  18. 'list' => $list,
  19. );
  20. echo json_encode($info);
  21. }else{
  22. $this->display();
  23. }
  24. }
  25. public function add(){
  26. $data=I();
  27. $menu=M('auth_rule');
  28. if(isset($data['pid'])){
  29. $pid=$menu->field('id')->where(array('title'=> $data['pid']))->select();
  30. $name=$data['menuname'];
  31. $url=$data['pageurl'];
  32. $lv=$data['lv'];
  33. $statu=$data['status'];
  34. $add=array(
  35. 'title'=> $name,
  36. 'pid'=> $pid[0]['id'],
  37. 'name'=> $url,
  38. 'level'=> $lv,
  39. 'status'=> $statu,
  40. 'types'=>1
  41. );
  42. if ($pid[0]['id']=='83') {
  43. $add['system_type']=2;
  44. }
  45. $res = $menu->add($add);
  46. if($res){
  47. //日志开始
  48. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  49. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---菜单管理(sp_auth_rule)r\n';
  50. $data_log1 ='添加数据:'.json_encode($add)."\r\n";
  51. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  52. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  53. //日志结束
  54. $this->mtReturn(200,'菜单新增成功');
  55. }else{
  56. $this->mtReturn(300,'菜单新增成功');
  57. }
  58. }else{
  59. $pidlist=$menu->field('id,title,pid')->where('types=1')->select();//二维数组
  60. $this->assign('pidlist',$pidlist);
  61. $this->assign('action','/home/Menu/add');
  62. $this->display();
  63. }
  64. }
  65. public function edit(){
  66. $data=I();
  67. if (session('power')==2){
  68. echo json_encode(array('statusCode'=>300,'message'=>'本账号没有该权限,如需开通请联系管理员'));
  69. // $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1);
  70. }else {
  71. $menu=M('auth_rule');
  72. if(isset($data['menuid'])){
  73. $id =$data['menuid'];
  74. $where='id='.$id;
  75. $pid=$data['pid'];
  76. $name=$data['menuname'];
  77. $url=$data['pageurl'];
  78. $lv=$data['lv'];
  79. $statu=$data['status'];
  80. $data=array(
  81. 'title'=> $name,
  82. 'pid'=> $pid,
  83. 'name'=> $url,
  84. 'level'=> $lv,
  85. 'status'=> $statu
  86. );
  87. if ($pid=='83') {
  88. $data['system_type']=2;
  89. }
  90. else{
  91. $data['system_type']=1;
  92. }
  93. $wx=M()->query("SELECT * FROM sp_auth_rule where id='".$id."'");
  94. $res = $menu->where($where)->save($data);
  95. if($res){
  96. //日志代码开始
  97. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---菜单管理修改(sp_auth_rule表)---ID:'.$id."\r\n";
  98. $data_log1 ='修改前数据:'.json_encode($wx)."\r\n";
  99. $data_log2 ='修改的数据:'.json_encode($data)."\r\n";
  100. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  101. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  102. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  103. file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX);
  104. //日志代码结束
  105. echo json_encode($this->mtReturn(200,'菜单编辑成功'));
  106. }else{
  107. echo json_encode(array('statusCode'=>300,'message'=>'修改失败'));
  108. }
  109. }else{
  110. $id=I('id');
  111. $pidlist=$menu->field('id,title as menuname')->where('types=1')->select();//二维数组
  112. $this->assign('pidlist',$pidlist);
  113. $where='id='.$id;
  114. $res_menu = $menu->field('id,title as menuname,name as pageurl,pid,level as Lv,status')->where($where)->select();//二维数组
  115. //dump($list);
  116. $this->assign('res_menu',$res_menu[0]);
  117. $this->assign('action','/home/Menu/edit');
  118. $this->display();
  119. }
  120. }
  121. }
  122. }