Sfoglia il codice sorgente

修改多层级bug

jun 4 mesi fa
parent
commit
672f463aa3

+ 32 - 15
app/Http/Controllers/Admin/AdminUser.php

@@ -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();
 		// 错误告知

+ 2 - 0
app/Http/Controllers/Admin/Business.php

@@ -82,6 +82,8 @@ class Business extends Auth{
             $value['add_history_time']      = $addHistory   ? $addHistory->insert_time : 0;
             $value['edit_history_username'] = $editHistory  ? $editHistory->username : '';
             $value['edit_history_time']     = $editHistory  ? $editHistory->update_time : 0;
+            $leader                         =   AdminUser::query()->where('uid',$value['leader_uid'])->first();
+            $value['leader_username']        = $leader ? $leader->username : '';
 			// 重组
 			$list[$key]			= $value;
             if( $value['city_ids'] ) {

+ 6 - 6
app/Http/Controllers/Admin/Product.php

@@ -267,7 +267,7 @@ class Product extends Auth{
 			// 限购提示
 			if( $data['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) 	return json_send(['code'=>'error','msg'=>'限购必填限购时间','data'=>['error'=>'限购必填限购时间']]);
 			// 限购提示
-			if( $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
+			if( $data['quota'] && $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
 			// SKU存在的时候,判断限购数量
 			if( $skuList )			{
 				// 循环处理
@@ -275,7 +275,7 @@ class Product extends Auth{
 					// SKU限购,所以限购时间也必须填
 					if( $value['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) return json_send(['code'=>'error','msg'=>'SKU限购时,请填限购时间','data'=>['error'=>'SKU限购时,请填限购时间']]);
 					// 限购提示
-					if( $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
+					if(  $value['quota'] && $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
 					// 提示起购数量异常,如果总起购数量小于SKU起购数量,提示
 					if( $value['min_quota'] && $value['min_quota'] < $data['min_quota'] ) return json_send(['code'=>'error','msg'=>'SKU的起购数量不能小于总起购数量','data'=>['error'=>'SKU的起购数量不能小于总起购数量']]);
 				}
@@ -495,7 +495,7 @@ class Product extends Auth{
 			// 限购提示
 			if( $data['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) 	return json_send(['code'=>'error','msg'=>'限购必填限购时间','data'=>['error'=>'限购必填限购时间']]);
 			// 限购提示
-			if( $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
+			if( $data['quota'] && $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
 			// SKU存在的时候,判断限购数量
 			if( $skuList )			{
 				// 循环处理
@@ -503,7 +503,7 @@ class Product extends Auth{
 					// SKU限购,所以限购时间也必须填
 					if( $value['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) 	return json_send(['code'=>'error','msg'=>'SKU限购时,请填限购时间','data'=>['error'=>'SKU限购时,请填限购时间']]);
 					// 限购提示
-					if( $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
+					if(  $value['quota'] && $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
 					// 提示起购数量异常,如果总起购数量小于SKU起购数量,提示
 					if( $value['min_quota'] && $value['min_quota'] < $data['min_quota'] ) 	return json_send(['code'=>'error','msg'=>'SKU的起购数量不能小于总起购数量','data'=>['error'=>'SKU的起购数量不能小于总起购数量']]);
 				}
@@ -743,7 +743,7 @@ class Product extends Auth{
 			// 限购提示
 			if( $data['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) 	return json_send(['code'=>'error','msg'=>'限购必填限购时间','data'=>['error'=>'限购必填限购时间']]);
 			// 限购提示
-			if( $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
+			if($data['quota'] && $data['min_quota'] > $data['quota'] ) 	return json_send(['code'=>'error','msg'=>'起购数量请勿大于限购数量','data'=>['error'=>'起购数量请勿大于限购数量']]);
 			// 总库存
 			if( $skuList )			$data['stock'] = array_sum(array_column($skuList,'stock'));
 			// SKU存在的时候,判断限购数量
@@ -753,7 +753,7 @@ class Product extends Auth{
 					// SKU限购,所以限购时间也必须填
 					if( $value['quota'] && ( !$data['quota_start'] || !$data['quota_end'] )) 	return json_send(['code'=>'error','msg'=>'SKU限购时,请填限购时间','data'=>['error'=>'SKU限购时,请填限购时间']]);
 					// 限购提示
-					if( $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
+					if(  $value['quota'] && $value['min_quota'] > $value['quota'] ) 	return json_send(['code'=>'error','msg'=>$attrNames.'起购数量请勿大于限购数量','data'=>['error'=>$attrNames.'起购数量请勿大于限购数量']]);
 					// 提示起购数量异常,如果总起购数量小于SKU起购数量,提示
 					if( $value['min_quota'] && $value['min_quota'] < $data['min_quota'] ) 	return json_send(['code'=>'error','msg'=>'SKU的起购数量不能小于总起购数量','data'=>['error'=>'SKU的起购数量不能小于总起购数量']]);
 				}

+ 5 - 1
resources/views/admin/admin_user/add.blade.php

@@ -21,7 +21,11 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		<div class="clearfix">
 			<label class="checkbox-inline">
 				<input type="radio" value="1" name="data_type" checked>
-				普通员工
+				@if(session('userRule.business_id'))
+					店铺普通员工
+				@else
+					商户普通员工
+				@endif
 			</label>
 			<label class="checkbox-inline">
 				<input type="radio" value="2" name="data_type">

+ 7 - 3
resources/views/admin/admin_user/edit.blade.php

@@ -20,11 +20,15 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		<label class="control-label">账户角色</label>
 		<div class="clearfix">
 			<label class="checkbox-inline">
-				<input type="checkbox" value="1" name="data_type">
-				普通员工
+				<input type="checkbox" value="1" name="data_type" @if($oldData['data_type'] == 1) checked @endif>
+				@if(session('userRule.business_id'))
+					店铺普通员工
+				@else
+					商户普通员工
+				@endif
 			</label>
 			<label class="checkbox-inline">
-				<input type="checkbox" value="2" name="data_type">
+				<input type="checkbox" value="2" name="data_type" @if($oldData['data_type'] == 2) checked @endif>
 				@if(session('userRule.business_id'))
 					推广员
 				@else

+ 1 - 1
resources/views/admin/business/index.blade.php

@@ -64,7 +64,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 							<td>{{$a['phone']}}</td>
 							<td>{{$a['city_ids']}}</td>
 							<td>{{$a['address']}}</td>
-							<td>{{$a['leader_uid']}}</td>
+							<td>{{$a['leader_username']}}</td>
 							<td>{{$a['username']}}</td>
 							<td>{{$a['admin_phone']}}</td>
 							<td>{{$a['company_name']}}</td>