|
@@ -92,6 +92,8 @@ class AdminUser extends Auth{
|
|
|
*
|
|
|
* */
|
|
|
public function add(Request $request,Model $Model,AdminRule $AdminRule){
|
|
|
+ // 当前登录用户角色数据
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
if( request()->isMethod('post') ){
|
|
|
// 验证参数
|
|
|
$request->scene('add')->validate();
|
|
@@ -103,8 +105,6 @@ class AdminUser extends Auth{
|
|
|
$dataType = request('data_type',1);
|
|
|
// 角色数据
|
|
|
$ruleData = ['menu_type'=>1,'data_type'=>$dataType,'type'=>1,'company_id'=>1,'business_id'=>0];
|
|
|
- // 当前登录用户角色数据
|
|
|
- $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
// 修改数据
|
|
|
if( $session['menu_type'] ) $ruleData['menu_type'] = $session['menu_type'];
|
|
|
if( $session['company_id'] ) $ruleData['company_id'] = $session['company_id'];
|
|
@@ -157,7 +157,7 @@ class AdminUser extends Auth{
|
|
|
$whereGroup = [];
|
|
|
// 如果不是超管 查询当前用户所属组
|
|
|
$administrator = explode(',', config('administrator'));
|
|
|
- if(!in_array(admin('uid'),$administrator)){
|
|
|
+ /*if(!in_array(admin('uid'),$administrator)){
|
|
|
//用户所属组
|
|
|
$gsGroup = DB::table('auth_group_access')->where(['user_uid'=>admin('uid')])->pluck('group_id')->toArray();
|
|
|
//用户所属组 上级
|
|
@@ -166,10 +166,17 @@ class AdminUser extends Auth{
|
|
|
$groupLower = DB::table('auth_group')->whereIn('group_pid',$gsGroup)->pluck('id')->toArray();
|
|
|
//var_dump($groupLower);
|
|
|
$whereGroup = array_merge($upGroup,$gsGroup,$groupLower);
|
|
|
- }
|
|
|
+ }*/
|
|
|
+ $where = [];
|
|
|
+ if(!in_array(admin('uid'),$administrator)){
|
|
|
+ if($session && $session['menu_type'] ) $where['menu_type'] = $session['menu_type'];
|
|
|
+ if($session && $session['company_id'] ) $where['company_id'] = $session['company_id'];
|
|
|
+ if($session && $session['business_id'] ) $where['business_id'] = $session['business_id'];
|
|
|
+ $where['type'] = 1;
|
|
|
+ }
|
|
|
// 查询用户组
|
|
|
$query = DB::table('auth_group');
|
|
|
- if($whereGroup) $query->whereIn('id',$whereGroup);
|
|
|
+ if($where) $query->where($where);
|
|
|
$group = $query->whereNotIn('id',explode(',',config('CUSTOM_GROUP')))->select(['id','title'])->get()->toArray();
|
|
|
// 错误告知
|
|
|
if( !$group ) $this->error('请先添加用户组');
|
|
@@ -188,7 +195,13 @@ class AdminUser extends Auth{
|
|
|
// 接收参数
|
|
|
$uid = request('uid',0);
|
|
|
// 查询用户
|
|
|
- $oldData = $Model->where(['uid'=>$uid])->first();
|
|
|
+ $oldData = $Model
|
|
|
+ ->join('admin_rule','admin_rule.admin_uid','=','admin.uid')
|
|
|
+ ->where(['uid'=>$uid])
|
|
|
+ ->select('admin.*','admin_rule.data_type','admin_rule.menu_type')
|
|
|
+ ->first();
|
|
|
+ // 当前登录用户角色数据
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
if(request()->isMethod('post')){
|
|
|
// 验证参数
|
|
|
$request->scene('edit')->validate();
|
|
@@ -200,8 +213,6 @@ class AdminUser extends Auth{
|
|
|
$ruleData = $AdminRule::query()->where([['admin_uid','=',$uid]])->first(['id','admin_uid','menu_type','data_type','type','company_id','business_id']);
|
|
|
// 如果不存在的话
|
|
|
$ruleData = $ruleData ? $ruleData->toArray() : ['admin_uid'=>$uid,'menu_type'=>1,'data_type'=>$dataType,'type'=>1,'company_id'=>1,'business_id'=>0];
|
|
|
- // 当前登录用户角色数据
|
|
|
- $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
// 修改数据
|
|
|
if( $session['menu_type'] ) $ruleData['menu_type'] = $session['menu_type'];
|
|
|
if( $session['company_id'] ) $ruleData['company_id'] = $session['company_id'];
|
|
@@ -261,10 +272,10 @@ class AdminUser extends Auth{
|
|
|
// 告知结果
|
|
|
return json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']);
|
|
|
}
|
|
|
- $whereGroup = [];
|
|
|
+ //$whereGroup = [];
|
|
|
// 如果不是超管 查询当前用户所属组
|
|
|
$administrator = explode(',', config('administrator'));
|
|
|
- if(!in_array(admin('uid'),$administrator)){
|
|
|
+ /*if(!in_array(admin('uid'),$administrator)){
|
|
|
// 用户所属组
|
|
|
$gsGroup = DB::table('auth_group_access')->where(['user_uid'=>admin('uid')])->pluck('group_id')->toArray();
|
|
|
// 用户所属组 上级
|
|
@@ -273,11 +284,17 @@ class AdminUser extends Auth{
|
|
|
$groupLower = DB::table('auth_group')->whereIn('group_pid',$gsGroup)->pluck('id')->toArray();
|
|
|
// 下属组
|
|
|
$whereGroup = array_merge($upGroup,$gsGroup,$groupLower);
|
|
|
- }
|
|
|
- // 查询用户组
|
|
|
- $query = DB::table('auth_group');
|
|
|
- // 查询组
|
|
|
- if($whereGroup) $query->whereIn('id',$whereGroup);
|
|
|
+ }*/
|
|
|
+ $where = [];
|
|
|
+ if(!in_array(admin('uid'),$administrator)){
|
|
|
+ if($session && $session['menu_type'] ) $where['menu_type'] = $session['menu_type'];
|
|
|
+ if($session && $session['company_id'] ) $where['company_id'] = $session['company_id'];
|
|
|
+ if($session && $session['business_id'] ) $where['business_id'] = $session['business_id'];
|
|
|
+ $where['type'] = 1;
|
|
|
+ }
|
|
|
+ // 查询用户组
|
|
|
+ $query = DB::table('auth_group');
|
|
|
+ if($where) $query->where($where);
|
|
|
// 获取
|
|
|
$group = $query->whereNotIn('id',explode(',',config('CUSTOM_GROUP')))->select(['id','title'])->get()->toArray();
|
|
|
// 错误告知
|