isAjax()){ //分页参数 $length = input('rows',10,'intval'); //每页条数 $page = input('page',1,'intval'); //第几页 $start = ($page - 1) * $length; //分页开始位置 //排序 $sortRow = input('sidx','id','trim'); //排序列 $sort = input('sord','desc','trim'); //排序方式 $order = $sortRow.' '.$sort; $title = input('name','','trim'); if($title){ $map[] = ['name','like','%'.$title.'%']; } $enable = input('enable','','trim'); if($enable != ''){ $map[] = ['enable','=',$enable]; } $parnet_id = input('parent_id','','trim'); if($parnet_id != ''){ $map[] = ['parent_id','=',$parnet_id]; } $map[] = ['org_id','=',$this->orgId]; $map[] = ['del','=',0]; $map= empty($map) ? true: $map; //数据查询 $lists = db('roles')->where($map)->limit($start,$length)->order(['sort'=>'asc','id'=>'desc'])->select(); foreach ($lists as $k=>$v){ $lists[$k]['pname'] = db('roles')->where('id',$v['parent_id'])->value('name'); } //数据返回 $totalCount = db('roles')->where($map)->count(); $totalPage = ceil($totalCount/$length); $result['page'] = $page; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $lists; return json($result); }else{ $commons = model('Roles')->getCommonList(1); $this->assign('commons',$commons); return $this->fetch(); } } public function types(){ if(request()->isAjax()){ //分页参数 $length = input('rows',10,'intval'); //每页条数 $page = input('page',1,'intval'); //第几页 $start = ($page - 1) * $length; //分页开始位置 //排序 $sortRow = input('sidx','id','trim'); //排序列 $sort = input('sord','desc','trim'); //排序方式 $order = $sortRow.' '.$sort; $title = input('name','','trim'); if($title){ $map[] = ['name','like','%'.$title.'%']; } $map[] = ['enable','=',1]; $map[] = ['parent_id','=',0]; $map[] = ['type','=',1]; $map[] = ['del','=',0]; $map= empty($map) ? true: $map; //数据查询 $lists = Db::name('roles')->where($map)->limit($start,$length)->order(['sort'=>'asc','id'=>'asc'])->select(); //数据返回 $totalCount = Db::name('roles')->where($map)->count(); $totalPage = ceil($totalCount/$length); $result['page'] = $page; $result['total'] = $totalPage; $result['records'] = $totalCount; $result['rows'] = $lists; return json($result); }else{ return $this->fetch(); } } /** * 新增/编辑 */ public function add($id=0){ if(request()->isPost()){ $res = model('Roles')->updates(); if($res){ $this->success('操作成功',url('index')); }else{ $this->error(model('Roles')->getError()); } }else{ if($id){ $info = db('roles')->where('id',$id)->find(); $info['work_type_mode'] = $info['work_type_mode']?explode(',',$info['work_type_mode']):[]; $this->assign('info',$info); } $workType = Db::name('work_type_mode') ->where('type',1) ->field('id,name as title') ->select(); $commons = model('Roles')->getCommonList(1); $this->assign('commons',$commons); $this->assign('workType',$workType); return $this->fetch(); } } /** * 删除记录 * @param int $id */ public function del($id=0){ if(!$id){ $this->error('参数错误'); } $res = db('roles')->where('id',$id)->where('org_id',$this->orgId)->setField('del',1); if($res){ $this->success('删除成功'); }else{ $this->error('删除失败'); } } /** * 改变字段值 * @param int $fv * @param string $fn * @param int $fv */ public function changeField($id=0,$fn='',$fv=0){ if(!$fn||!$id){ $this->error('参数错误'); } $res = db('roles')->where('id',$id)->where('org_id',$this->orgId)->setField($fn,$fv); if($res){ $this->success('操作成功'); }else{ $this->error('操作失败'); } } /** * 授权 */ public function auth(){ if(request()->isPost()){ $res = model('Roles')->authSave(); if($res){ $this->success('操作成功',url('index')); }else{ $this->error(model('Roles')->getError()); } }else{ $type = input('type/d',0); $cate = input('cate/d',0); $rolesId = input('id/d',0); $info = Db::name('roles')->where('id',$rolesId)->find(); if(!$info){ $this->error('数据不存在'); } if($cate==0){//后台权限 $meuns = model('Menu')->getOrgAllMenuTree_new($this->orgId); $this->assign('menus',$meuns); if($type == 1){ // 推荐设置 $sauth = model('Roles')->getRolesAuths($info['parent_id'],1); $this->assign('sauth',$sauth); }else{ $sauth = model('Roles')->getRolesAuths($rolesId,1); $this->assign('sauth',$sauth); } }else{//app权限 $appauths = model('AppIcon')->getOrgAllIconTree_new($this->orgId); $this->assign('menus',$appauths); if($type == 1){ // 推荐设置 $sappauth = model('Roles')->getRolesAuths($info['parent_id'],2); $this->assign('sauth',$sappauth); }else{ $sappauth = model('Roles')->getRolesAuths($rolesId,2); $this->assign('sauth',$sappauth); } } // $sauth = model('Roles')->getRolesAuths($rolesId,1); // $this->assign('sauth',$sauth); // $appauths = model('AppIcon')->getOrgAllIconTree($this->orgId); // $this->assign('appauths',$appauths); // $sappauth = model('Roles')->getRolesAuths($rolesId,2); // $this->assign('sappauth',$sappauth); $this->assign('rolesId',$rolesId); $this->assign('cate',$cate); return $this->fetch(); } } /** * 授权 */ public function auth2(){ if(request()->isPost()){ $res = model('Roles')->authSave(); if($res){ $this->success('操作成功',url('index')); }else{ $this->error(model('Roles')->getError()); } }else{ $rolesId = input('id/d',0); $meuns = model('Menu')->getAllMenuTree(); $this->assign('menus',$meuns); $sauth = model('Roles')->getRolesAuths($rolesId,1); $this->assign('sauth',$sauth); $appauths = model('AppIcon')->getAllIconTree(0,1); $this->assign('appauths',$appauths); $sappauth = model('Roles')->getRolesAuths($rolesId,2); $this->assign('sappauth',$sappauth); $this->assign('rolesId',$rolesId); return $this->fetch(); } } public function batchSort(){ $data = input('data','','trim'); if(!$data){ $this->error('参数错误'); } $data = json_decode($data,true); if(!$data){ $this->error('参数错误'); } Db::startTrans(); try{ foreach ($data as $k=>$v){ Db::name('roles')->where('id',$v['id'])->setField('sort',$v['sort']); } Db::commit(); }catch (Exception $e){ Db::rollback(); $this->error('操作失败'); } $this->success('操作成功'); } }