Browse Source

人事零时工报表调整进组页面显示

haozi 5 years ago
parent
commit
6a70a38eef

+ 20 - 20
app/Http/Controllers/UserDutyCheckController.php

@@ -135,26 +135,26 @@ class UserDutyCheckController extends Controller
             $userDutyCheck->save();
             app('LogService')->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
             return $userDutyCheck;
-        }
-
-        if ($importAndExportQRCodeType && $importAndExportQRCodeType == 'import') {
-            if ($userDutyCheckOld->type == '登入'&&$userDutyCheckOld->laborReport) {
-                $userDutyCheck->import = true;//已入场的不能再入场
-                return $userDutyCheck;
+        }else{
+            if ($importAndExportQRCodeType && $importAndExportQRCodeType == 'import') {
+                if ($userDutyCheckOld->type == '登入'&&$userDutyCheckOld->laborReport) {
+                    $userDutyCheck->import = true;//已入场的不能再入场
+                    return $userDutyCheck;
+                }
+                $userDutyCheck->type = '登入';
             }
-            $userDutyCheck->type = '登入';
-        }
-        if ($importAndExportQRCodeType && $importAndExportQRCodeType == 'export') {
-            if ($userDutyCheckOld->type == '登出') {
-                $userDutyCheck->export = true;//已出场的不能再出场
-                return $userDutyCheck;
+            if ($importAndExportQRCodeType && $importAndExportQRCodeType == 'export') {
+                if ($userDutyCheckOld->type == '登出') {
+                    $userDutyCheck->export = true;//已出场的不能再出场
+                    return $userDutyCheck;
+                }
+                $userDutyCheck->verify_user_id = $userDutyCheckOld->verify_user_id;
+                $userDutyCheck->type = '登出';
             }
-            $userDutyCheck->verify_user_id = $userDutyCheckOld->verify_user_id;
-            $userDutyCheck->type = '登出';
+            $userDutyCheck->save();
+            app('LogService')->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
+            return $userDutyCheck;
         }
-        $userDutyCheck->save();
-        app('LogService')->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
-        return $userDutyCheck;
     }
     //去往登记资料页面
     public function createUserDetail($mobile_phone)
@@ -196,7 +196,7 @@ class UserDutyCheckController extends Controller
         if ($errorMessage) return $errorMessage;
         $laravelEchoPrefix = config('database.redis.options.prefix');
         return response()->view('personnel/checking-in/importAndExportSuccess',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at,'type'=>$userDutyCheck->type,'laravelEchoPrefix'=>$laravelEchoPrefix])
-            ->cookie('userLaborToken', $userLaborToken, config('users.cookie_expire_minutes'), '/');
+            ->cookie('userLaborToken', $userLaborToken, config('users.token_check_in_expire_minutes'), '/');
     }
 
     public function updateValidator(Request $request)
@@ -256,7 +256,7 @@ class UserDutyCheckController extends Controller
         Controller::logS(__METHOD__,"录入临时工,用户,对应工作组,打卡记录".__FUNCTION__,json_encode($userDetail));
         $laravelEchoPrefix = config('database.redis.options.prefix');
         return response()->view('personnel/checking-in/importAndExportSuccess',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at,'type'=>$userDutyCheck->type,'laravelEchoPrefix'=>$laravelEchoPrefix])
-            ->cookie('userLaborToken',$userLaborToken,config('users.cookie_expire_minutes'),'/');
+            ->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
 
     }
 
@@ -334,7 +334,7 @@ class UserDutyCheckController extends Controller
         }
         if ($userLaborToken){
             return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix])
-                ->cookie('userLaborToken',$userLaborToken,config('users.cookie_expire_minutes'),'/');
+                ->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
         }else{
             return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix]);
         }

+ 1 - 1
app/LaborReport.php

@@ -20,7 +20,7 @@ class LaborReport extends Model
         'user_duty_check_id','relax_time','remark'
     ];
     protected $appends = [
-        'is_exportGroup','is_export', 'exit_at','enter_at','sequence', 'amountOfJoined',/*'remark',*/'thisRecordOnlineTime','thisRecordWorkingTime','thisRoundRecordWorkingTime',
+        'is_exportGroup','is_export', 'exit_at','enter_at','sequence', 'amountOfJoined','thisRecordOnlineTime','thisRecordWorkingTime','thisRoundRecordWorkingTime',
         'totalOnlineTime','verifyPerson','userDutyCheckVerifyUserId','isAdult','round_check_in_at','round_check_out_at','has_group_verify_right',
     ];
     protected $tempFields = [

+ 1 - 1
app/UserDutyCheck.php

@@ -28,7 +28,7 @@ class UserDutyCheck extends Model
         return $this->belongsTo('App\UserWorkgroup','workgroup_id','id');
     }
     public function laborReport(){
-        return $this->belongsTo('App\LaborReport');
+        return $this->belongsTo('App\LaborReport','id','user_duty_check_id');
     }
 
     public function laborEnterCheck(){

BIN
public/images/QRCodeIMG/4.png


BIN
public/images/QRCodeIMG/5.png


+ 7 - 7
resources/views/personnel/checking-in/importAndExportSuccess.blade.php

@@ -38,35 +38,35 @@
         },
         mounted(){
             initEcho();
+            let _this=this;
             Echo.channel('{{$laravelEchoPrefix}}userDutyCheck').listen('GuardAuditEvent',(e)=>{
-                let _this=this;
                 let userDutyCheck=e.userDutyCheck;
                 _this.userDutyCheck.verify_user_id=userDutyCheck.verify_user_id;
             });
         },
     });
-    var secondsInit = 0;
+    let secondsInit = 0;
     function _fresh()
     {
         secondsInit ++;
-        var seconds = secondsInit;
-        var result = '';
+        let seconds = secondsInit;
+        let result = '';
         if (seconds >= 3600)
         {
-            var h = Math.floor(seconds / 3600);
+            let h = Math.floor(seconds / 3600);
             result += h + "小时";
             seconds -= 3600 * h;
         }
         if (seconds >= 60)
         {
-            var m = Math.floor(seconds / 60);
+            let m = Math.floor(seconds / 60);
             result += m + "分";
             seconds -= 60 * m;
         }
         result += seconds + "秒";
         document.getElementById('_lefttime').innerHTML = result;
     }
-    _fresh()
+    _fresh();
     setInterval(_fresh,1000);
 </script>
 </body>

+ 6 - 6
resources/views/personnel/checking-in/success.blade.php

@@ -34,28 +34,28 @@
             });
         },
     });
-    var secondsInit = 0;
+    let secondsInit = 0;
     function _fresh()
     {
         secondsInit ++;
-        var seconds = secondsInit;
-        var result = '';
+        let seconds = secondsInit;
+        let result = '';
         if (seconds >= 3600)
         {
-            var h = Math.floor(seconds / 3600);
+            let h = Math.floor(seconds / 3600);
             result += h + "小时";
             seconds -= 3600 * h;
         }
         if (seconds >= 60)
         {
-            var m = Math.floor(seconds / 60);
+            let m = Math.floor(seconds / 60);
             result += m + "分";
             seconds -= 60 * m;
         }
         result += seconds + "秒";
         document.getElementById('_lefttime').innerHTML = result;
     }
-    _fresh()
+    _fresh();
     setInterval(_fresh,1000);
 </script>
 </body>

+ 32 - 9
resources/views/personnel/laborReport/index.blade.php

@@ -45,11 +45,11 @@
                     &nbsp;&nbsp;&nbsp;&nbsp;
                     @can('人事管理-组长审核')
                         <span>
-                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export&&laborReport.has_group_verify_right" @click="groupExport(laborReport.id,laborReport.name)" class="btn btn-sm btn-outline-danger">退组</button>
-                              <span  v-else-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export&&!laborReport.has_group_verify_right"><b class="text-success">在组</b></span>
+                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export{{--&&laborReport.has_group_verify_right--}}" @click="groupExport(laborReport.id,laborReport.name)" class="btn btn-sm btn-outline-danger">退组</button>
+                              <span  v-else-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export{{--&&!laborReport.has_group_verify_right--}}"><b class="text-success">在组</b></span>
                         <span v-else-if="laborReport.groupUserId&&laborReport.is_exportGroup&&!laborReport.is_export" class="text-info">已退组</span>
                             <span v-else-if="laborReport.is_export" class="text-black">已退场</span>
-                        <button v-else-if="laborReport.user_workgroup_id&&laborReport.has_group_verify_right" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-sm btn-outline-primary">组长审核</button>
+                        <button v-else-if="laborReport.user_workgroup_id{{--&&laborReport.has_group_verify_right--}}" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-sm btn-outline-primary">组长审核</button>
                         </span>
                     @else
                         <span  v-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export"><b class="text-success">在组</b></span>
@@ -123,11 +123,11 @@
                                     &nbsp;&nbsp;&nbsp;&nbsp;
                                 @can('人事管理-组长审核')
                                                     <span>
-                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export&&laborReport.has_group_verify_right" @click="groupExport(laborReport.id,laborReport.name)" style="transform:scale(1.1)" class="btn btn-lg btn-danger">退组</button>
-                                     <span  v-else-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export&&!laborReport.has_group_verify_right"><b class="text-success">在组</b></span>
+                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export{{--&&laborReport.has_group_verify_right--}}" @click="groupExport(laborReport.id,laborReport.name)" style="transform:scale(1.1)" class="btn btn-lg btn-danger">退组</button>
+                                     <span  v-else-if="laborReport.groupUserId&&!laborReport.is_exportGroup&&!laborReport.is_export{{--&&!laborReport.has_group_verify_right--}}"><b class="text-success">在组</b></span>
                                      <b v-else-if="laborReport.groupUserId&&laborReport.is_exportGroup&&!laborReport.is_export" class="text-info">已退组</b>
                                     <b v-else-if="laborReport.is_export" class="text-black">已退场</b>
-                                <button v-else-if="laborReport.user_workgroup_id&&laborReport.has_group_verify_right" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-lg btn-outline-primary"  style="transform:scale(1.1)" >组长审核</button>
+                                <button v-else-if="laborReport.user_workgroup_id{{--&&laborReport.has_group_verify_right--}}" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-lg btn-outline-primary"  style="transform:scale(1.1)" >组长审核</button>
 
                                                     </span>
                                                 @else
@@ -380,9 +380,32 @@
                     //进组
                     _this.permittingWorkgroups.forEach(function(workgroup){
                         Echo.channel('{{$laravelEchoPrefix}}'+workgroup.token).listen('ClockinEvent',(e)=>{
-                            setTimeout(function () {
-                                window.location.reload();
-                            },500);
+                            let labor=e.laborReport;
+                            let res=false;
+                            laborReports.forEach(function (item){
+                                if(item.id==labor.id){
+                                    res=true;
+                                }
+                            })
+                            if (res){
+                                laborReports.every(function (laborReport) {
+                                    if (laborReport.id==labor.id){
+                                        laborReport.userWorkGroupName=labor.user_workgroup.name;
+                                        laborReport.user_workgroup_id=labor.user_workgroup_id;
+                                        laborReport.checkInAt=labor.check_in_at;
+                                        laborReport.round_check_in_at=labor.round_check_in_at;
+                                        return false
+                                    }
+                                    return true;
+                                });
+                            }else {
+                                labor.userWorkGroupName=labor.user_workgroup.name;
+                                labor.checkInAt=labor.check_in_at;
+                                laborReports.push(labor);
+                            }
+                            // setTimeout(function () {
+                            //     window.location.reload();
+                            // },500);
                         });
                     });
                     //退组