浏览代码

组长按组验证权限部分调整

LD 5 年之前
父节点
当前提交
337908ccc1

+ 4 - 5
app/Http/Controllers/PersonnelController.php

@@ -161,10 +161,9 @@ class PersonnelController extends Controller
         if(!Gate::allows('人事管理')){ return redirect(url('/'));  }
         $user=Auth::user();
         if (!$user)return redirect('/');
-        $result=$user->getPermittingWorkgroupIdsAttribute();
-        $userWorkgroupIds=$result['workgroupIds'];
-        $users=User::whereHas("userWorkgroups",function (Builder $query)use(&$userWorkgroupIds){
-            $query->whereIn("id",$userWorkgroupIds);
+        $chargingWorkgroupIds=$user->getPermittingWorkgroupIds();
+        $users=User::whereHas("userWorkgroups",function (Builder $query)use(&$chargingWorkgroupIds){
+            $query->whereIn("id",$chargingWorkgroupIds);
         })->get();
         $user_ids=array_column($users->toArray(),'id');
         $dateNow=Carbon::now()->addDays(1)->format('Y-m-d');
@@ -172,7 +171,7 @@ class PersonnelController extends Controller
         $userDutyChecks=UserDutyCheck::with(['userWorkgroup','userLabor.laborCompany','userDetail'])->whereIn("user_id",$user_ids)
             ->whereBetween('checked_at',[$beforeYesterdayDate,$dateNow])->orderBy('checked_at','DESC')->get();
         $laravelEchoPrefix = config('database.redis.options.prefix');
-        return view('personnel/checking-in/clockAudit',['userDutyChecks'=>$userDutyChecks,'laravelEchoPrefix'=>$laravelEchoPrefix,'workgroupSign'=>$result['workgroupSign']]);
+        return view('personnel/checking-in/clockAudit',['userDutyChecks'=>$userDutyChecks,'laravelEchoPrefix'=>$laravelEchoPrefix,'isWorkgroupVisible'=>count($chargingWorkgroupIds)>0,]);
     }
 
     //录入补卡

+ 7 - 11
app/User.php

@@ -119,22 +119,18 @@ class User extends Authenticatable
         });
         return array_unique($ownerIds);
     }
-    function getPermittingWorkgroupIdsAttribute(){
+    function getPermittingWorkgroupIds(){
         $workgroupIds=[];
-        $response=[];
-        if ($this->isSuperAdmin()||Gate::allows('人事管理-打卡审核')){
+        if ($this->isSuperAdmin()){
             $workgroups=UserWorkgroup::all();
             $workgroups->each(function (UserWorkgroup $workgroup)use(&$workgroupIds){
                 array_push($workgroupIds,$workgroup['id']);
             });
-            if ($this->isSuperAdmin()){$response['workgroupSign']=true;}
-            else $response['workgroupSign']=false;
-            $response['workgroupIds']=$workgroupIds;
-            return $response;
+        }else{
+            $this->authorities()->each(function(Authority $authority)use(&$workgroupIds){
+                if($authority->type=="工作组"){array_push($workgroupIds,$authority->relevance);}
+            });
         }
-        $this->authorities()->each(function(Authority $authority)use(&$workgroupIds){
-            if($authority->type=="工作组"){array_push($workgroupIds,$authority->relevance);}
-        });
-        return ["workgroupIds"=>$workgroupIds,"workgroupSign"=>true];
+        return $workgroupIds;
     }
 }

+ 2 - 2
database/migrations/2020_06_24_145928_add_storage_public_link.php

@@ -15,8 +15,8 @@ class AddStoragePublicLink extends Migration
     {
         exec('php artisan storage:link');
         $path_str = substr(app_path(),0,strripos(app_path(), DIRECTORY_SEPARATOR));
-        exec('mkdir '.$path_str.DIRECTORY_SEPARATOR.'storage\app\public\files');
-        exec('mkdir ./storage/app/public/files');
+        exec('mkdir '.$path_str.DIRECTORY_SEPARATOR.'storage'.DIRECTORY_SEPARATOR.'app'.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.'files');
+//        exec('mkdir ./storage/app/public/files');
     }
 
     /**

二进制
public/images/QRCodeIMG/1.png


二进制
public/images/QRCodeIMG/2.png


+ 3 - 3
resources/views/personnel/checking-in/clockAudit.blade.php

@@ -20,7 +20,7 @@
                             <td>序号</td>
                             <td>姓名</td>
                             @can('人事管理-打卡审核')<td>门卫审核</td>@endcan
-                            <td v-if="workgroupSign">组长审核</td>
+                            <td v-if="isWorkgroupVisible">组长审核</td>
                             <td >打卡时间</td>
                             <td>打卡类型</td>
                             <td>手机号</td>
@@ -40,7 +40,7 @@
                                 <button v-else @click="storeClockAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">审核</button>
                                 </span>
                             </td>@endcan
-                            <td v-if="workgroupSign">
+                            <td v-if="isWorkgroupVisible">
                                 <span v-if="userDutyCheck.type=='登入'">
                                 <b v-if="userDutyCheck.group_user_id" class="text-success">已审核</b>
                                 <button v-else @click="storeGroupAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">组长审核</button>
@@ -91,7 +91,7 @@
                             @if($userDutyCheck->userLabor)user_labor:{!! $userDutyCheck->userLabor !!}, @endif},
                     @endforeach
                 ],
-                workgroupSign:'{{$workgroupSign}}',
+                isWorkgroupVisible:'{{$isWorkgroupVisible}}',
             },
             mounted(){
                 initEcho();