|
@@ -41,6 +41,10 @@ class Base extends BaseController
|
|
|
if($this->roleid==='') throw new \Exception( '没有该公司的角色','101');
|
|
|
}
|
|
|
}
|
|
|
+ /**校验所有权限
|
|
|
+ *合并共享 及分享出去的权限
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
public function checkRole(){
|
|
|
$action = [
|
|
|
'action_conllect'=>'',
|
|
@@ -63,17 +67,33 @@ class Base extends BaseController
|
|
|
if(!$share->isEmpty()){
|
|
|
$share->each(function ($item) use (&$action) {
|
|
|
switch ($item->action) {
|
|
|
+ case '':
|
|
|
+ case 0:
|
|
|
+ if ($item->share_user!='') $action['write'][] =$item->share_user;
|
|
|
+ if($item->action_conllect!=''){
|
|
|
+ $conllect = \app\admin\model\Action::whereIn("menuid",$item->action_conllect)->where(["action_code"=>"001"])->column("id");
|
|
|
+ $action['action_conllect'] = array_unique(array_merge($action['action_conllect'],$conllect)) ;
|
|
|
+ }
|
|
|
+ break;
|
|
|
case 1:
|
|
|
- if($item->share_user==''){
|
|
|
+ if($item->share_user!=''){
|
|
|
$action['write'][] =$item->share_user;
|
|
|
$user = \app\admin\model\UserRole::where(["uid"=>$item->share_user,"is_del"=>0,"status"=>1])->findOrEmpty();
|
|
|
if(!$user->isEmpty()){
|
|
|
- $action['write'][] =$user->roleid;
|
|
|
+ $conllect = \app\admin\model\Action::whereIn("menuid",$item->action_conllect)->column("id");
|
|
|
+ $action['action_conllect'] = array_unique(array_merge($action['action_conllect'],array_intersect($conllect, $item->action_conllect))) ;
|
|
|
}
|
|
|
}
|
|
|
+ break;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ $resign = \app\admin\model\ResignInfo::where(['hand_uid'=>$this->uid,'is_del'=>0,'status'=>4])->column(['resign_uid']);
|
|
|
+ if(!empty($resign)){
|
|
|
+ $action['write'] = array_unique(array_merge($action['write'],$resign));
|
|
|
+ }
|
|
|
+ $action['roleid'] = $this->roleid;
|
|
|
+ return $action;
|
|
|
}
|
|
|
}
|
|
|
}
|