'0'); $pingyinid = $data['pinyin']; if(!empty($pingyinid)){ $map['title']=$pingyinid; } $count= $group->where($map)->count(id);// 查询满足要求的总记录数 $list = $group->field('id,type,title,level,(SELECT title FROM sp_auth_group a WHERE id=sp_auth_group.pid)as pid,sort,rules')->where($map)->limit($page,$getsize)->select(); $info = array( 'totalRow' => $count, //'pageSize' => $count,//分页时不传 'list' => $list, ); echo json_encode($info); }else{ $this->display(); } } public function add(){ $group=M('auth_group'); $data=I(); if(isset($data['type'])){ $rules = array( array('title','','角色名称已存在!',0,'unique'), array('pid','require','父角色不为空!'), array('title','require','角色名称不为空!'), ); if (!$group->validate($rules)->create()){ echo json_encode(array('statusCode'=>'300','message'=> $group->getError())); }else{ $type=$data['type']; $title=$data['title']; $sort=$data['sort']; $pidname=$data['pid']; $repid = $group->field('id,level')->where(array('title'=> $pidname))->select(); $pid=$repid[0]['level']+1; if($pidname=='顶级'){ $repid[0]['id']=0; $pid=1; } $add=array( 'type'=> $type, 'pid'=> $repid[0]['id'], 'title'=> $title, 'sort'=> $sort, 'level'=> $pid ); $res=$group->add($add); if($res){ //日志开始 $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log"; $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---组管理新增(sp_auth_group表)\r\n'; $data_log1 ='添加数据:'.json_encode($add)."\r\n"; file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX); file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX); //日志结束 echo json_encode(array('statusCode'=>200,'message'=>'添加成功' )); }else{ echo json_encode(array('statusCode'=>300,'message'=>'添加失败' )); } } }else{ $list = $group->field('id,type,title,level,pid,sort,rules')->where('type=0')->select(); $this->assign('role',$list); $this->assign('action','/home/Group/add'); $this->display(); } } public function edit(){ $group=M('auth_group'); $data=I(); if (session('power')==2){ echo json_encode(array('statusCode'=>300,'message'=>'本账号没有该权限,如需开通请联系管理员' )); // $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1); }else { if(isset($data['type'])){ $rules = array( array('pid','require','父角色不为空!'), array('title','require','角色名称不为空!'), ); if (!$group->validate($rules)->create()){ echo json_encode(array('statusCode'=>'300','message'=> $group->getError())); }else{ $type=$data['type']; $title=$data['title']; $sort=$data['sort']; $pidname=$data['pid']; $repid = $group->field('id,level')->where(array('title'=> $pidname))->select(); $pid=$repid[0]['level']+1; if($pidname=='顶级'){ $repid[0]['id']=0; $pid=1; } $add=array( 'id'=> $data['roleid'], 'type'=> $type, 'pid'=> $repid[0]['id'], 'title'=> $title, 'sort'=> $sort, 'level'=> $pid ); $wx=M()->query("SELECT * FROM sp_auth_group where id='".$data['roleid']."'"); $res=$group->save($add); if($res){ //日志代码开始 $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---组管理修改(sp_auth_group表)---ID:'.$data['roleid']."\r\n"; $data_log1 ='修改前数据:'.json_encode($wx)."\r\n"; $data_log2 ='修改的数据:'.json_encode($add)."\r\n"; $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log"; file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX); file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX); file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX); //日志代码结束 echo json_encode(array('statusCode'=>200,'message'=>'修改成功' )); }else{ echo json_encode(array('statusCode'=>300,'message'=>'修改失败' )); } } }else{ $list = $group->field('id,type,title,level,pid,sort,rules')->where('type=0')->select(); $this->assign('role',$list); $res=$group->where(array('id'=> $data['id']))->select(); $this->assign('roleid',$data['id']); $this->assign('title',$res[0]['title']); $this->assign('sort',$res[0]['sort']); $pidarr=$group->field('title')->where(array('id'=> $res[0]['pid']))->select(); if($pidarr[0]['title']==''){$pidarr[0]['title']='顶级';} $this->assign('pid',$pidarr[0]['title']); $this->assign('action','/home/Group/edit'); $this->display('edit'); } } } public function perm(){ $data=I(); $group=M('auth_rule'); if(!isset($data['list'])){//查询权限菜单 $list = $group->query('SELECT p.id,p.title,p.pid,p.cid,p.cpid,p.ctitle,p.allid FROM V_PERM02 AS p'); echo json_encode($list); }elseif($data['list']=='get2'){//菜单功能 }elseif($data['list']=='set2'){//修改 $data=I(); $perms=''; foreach($data as $key => $value){ if(substr($key,0,9) == "checkbox_"){ $perms.=substr($key,9).','; } } $rules=M('auth_group'); $set=$rules->save(array('id'=> $data['permid'],'rules'=> $perms)); if($set) echo json_encode(array('statusCode'=>200,'message'=> '保存成功')); else echo json_encode(array('statusCode'=>300,'message'=> '保存失败')); }else{ $sel=$group->query("SELECT rules FROM sp_auth_group WHERE id=".$data['id']);//是否有权限 $v=explode(',',$sel[0]['rules']); $this->assign('pers',json_encode(array_filter($v))); $this->assign('permid',$data['id']); $this->assign('action','/home/Group/perm'); $this->display('perm'); } } public function del(){ $group=M('auth_group'); $data=I(); if (session('power')==2){ // $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1); echo json_encode(array('statusCode'=>300,'message'=>'本账号没有该权限,如需开通请联系管理员' )); }else { $used_data = M()->query("select * from sp_auth_group where id=".$data['id']); $res=$group->where('id='.$data['id'])->delete(); if($res){ //日志开始 $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log"; $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---组管理删除(sp_auth_group表)---ID:'.$data['id']."\r\n"; $data_log1 ='删除前数据:'.json_encode($used_data)."\r\n"; file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX); file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX); //日志开始结束 echo json_encode(array('statusCode'=>200,'message'=>'删除成功' )); }else{ echo json_encode(array('statusCode'=>200,'message'=>'删除失败' )); } } } }