Przeglądaj źródła

完善人事管理相关逻辑

haozi 5 lat temu
rodzic
commit
deaba4b94b

+ 9 - 12
app/Http/Controllers/PersonnelController.php

@@ -158,16 +158,11 @@ class PersonnelController extends Controller
             $query->whereIn("id",$userWorkgroupIds);
         })->get();
         $user_ids=array_column($users->toArray(),'id');
-        $dateNow=Carbon::now()->format('Y-m-d');
-        $yesterdayDate=Carbon::now()->addDays(-1)->format('Y-m-d');
+        $dateNow=Carbon::now()->addDays(1)->format('Y-m-d');
         $beforeYesterdayDate=Carbon::now()->addDays(-2)->format('Y-m-d');
-        $userDutyCheckNows=UserDutyCheck::with(['userWorkgroup','userLabor.laborCompany','userDetail'])->whereIn("user_id",$user_ids)
-            ->where('checked_at','like',$dateNow."%")->where('type','登入')->get();
-        $userDutyCheckYesterdays=UserDutyCheck::with(['userWorkgroup','userLabor.laborCompany','userDetail'])->whereIn("user_id",$user_ids)
-            ->where('checked_at','like',$yesterdayDate."%")->where('type','登入')->get();
-        $userDutyCheckBefores=UserDutyCheck::with(['userWorkgroup','userLabor.laborCompany','userDetail'])->whereIn("user_id",$user_ids)
-            ->where('checked_at','like',$beforeYesterdayDate."%")->where('type','登入')->get();
-        return view('personnel/checking-in/clockAudit',['userDutyCheckYesterdays'=>$userDutyCheckYesterdays,'userDutyCheckNows'=>$userDutyCheckNows,'userDutyCheckBefores'=>$userDutyCheckBefores,'workgroupSign'=>$result['workgroupSign']]);
+        $userDutyChecks=UserDutyCheck::with(['userWorkgroup','userLabor.laborCompany','userDetail'])->whereIn("user_id",$user_ids)
+            ->whereBetween('checked_at',[$beforeYesterdayDate,$dateNow])->where('type','登入')->get();
+        return view('personnel/checking-in/clockAudit',['userDutyChecks'=>$userDutyChecks,'workgroupSign'=>$result['workgroupSign']]);
     }
 
     //录入补卡
@@ -186,16 +181,18 @@ class PersonnelController extends Controller
             'source'=>'补入',
             'workgroup_id'=>$userWorkgroupID
         ]);
-        $userDutyCheck->save();
         $checkInDate=Carbon::parse($checked_at)->format('Y-m-d');
         $laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('check_in_at','like',$checkInDate."%")->where('user_id',$user_id)->first();
-        if(!$laborReport&&$userDutyCheck->type=='登入'){
+        if (!$laborReport&&$userDutyCheck->type=='登入'){
             LaborReport::createLaborReportData($user_id,$userWorkgroupID,$userDutyCheck);
             $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$user_id,$userWorkgroupID,$userDutyCheck]));
-        }else if ($laborReport&&$userDutyCheck->type=='登出'){
+        }
+        if ($laborReport&&$userDutyCheck->type){
             LaborReport::updateLaborReportData($laborReport,$userDutyCheck);
             $this->log(__METHOD__,"更新临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
         }
+        $userDutyCheck->save();
+
         $this->log(__METHOD__,"录入补卡".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
         return ['success'=>true,'data'=>$userDutyCheck];
     }

+ 12 - 9
app/LaborReport.php

@@ -53,15 +53,18 @@ class LaborReport extends Model
     }
     //修改临时工报表数据
     static function updateLaborReportData($laborReport,$userDutyCheck){
-        $laborReport->check_out_at=$userDutyCheck->checked_at;
-        $checkInDate=Carbon::parse($laborReport['check_in_at']);
-        $checkOutDate=Carbon::parse($userDutyCheck->checked_at);
-        $hour=($checkOutDate->diffInSeconds($checkInDate))/3600; //在线时长
-        $laborReport['online_duration']=$hour;
-        $laborReport['working_duration']=$hour;
-        $laborReport->update();
+        $userDutyCheckOld=UserDutyCheck::where('user_id',$userDutyCheck->user_id)->orderBy('checked_at','DESC')->limit(10)->first();
+        if ($userDutyCheckOld->type=='登出'&&$userDutyCheck->type=='登出'&&$userDutyCheckOld->checked_at<$userDutyCheck->checked_at){
+            $laborReport->check_out_at=$userDutyCheck->checked_at;
+            $checkInDate=Carbon::parse($laborReport['check_in_at']);
+            $checkOutDate=Carbon::parse($userDutyCheck->checked_at);
+            $hour=($checkOutDate->diffInSeconds($checkInDate))/3600; //在线时长
+            $laborReport['online_duration']=$hour;
+            $laborReport['working_duration']=$hour;
+            $laborReport->update();
+        }
         $date=Carbon::parse($laborReport['check_in_at'])->format('Y-m-d');
-        if ($laborReport->check_out_at>$date." 14:00:00"){
+        if ($laborReport){
             $userDutyCheckStart=UserDutyCheck::where('user_id',$laborReport->user_id)->where('workgroup_id',$laborReport->user_workgroup_id)->where('checked_at','>=',$date." 11:00".":00")
                 ->where('checked_at','<=',$date." 14:00:00")->where('type','登出')->first();
             $userDutyCheckEnd=UserDutyCheck::where('user_id',$laborReport->user_id)->where('workgroup_id',$laborReport->user_workgroup_id)->where('checked_at','>=',$date." 11:00".":00")
@@ -69,7 +72,7 @@ class LaborReport extends Model
             $beginTime=Carbon::parse($userDutyCheckStart['checked_at']);
             $endTime=Carbon::parse($userDutyCheckEnd['checked_at']);
             $lunchHour=($endTime->diffInSeconds($beginTime))/3600;
-            $laborReport['working_duration']=$hour-$lunchHour;
+            $laborReport['working_duration']=$laborReport['online_duration']-$lunchHour;
             $laborReport->update();
         }
         return;

BIN
public/images/QRCodeIMG/1.png


BIN
public/images/QRCodeIMG/2.png


BIN
public/images/QRCodeIMG/5.png


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

@@ -8,192 +8,99 @@
     <div class="container-fluid" id="list">
         <div class="card col-md visible-on">
             <div class="card-body p-0">
-                <table class="table table-striped table-bordered text-nowrap"  v-if="userDutyCheckNows&&userDutyCheckNows.length>=1">
-                    <thead class="thead-light" >
-                    <tr>
-                        <th class="visible-md">日期</th>
-                        <td>序号</td>
-                        <td>姓名</td>
-                        @can('人事管理-打卡审核')<td>操作</td>@endcan
-                        <td v-if="workgroupSign">组长审核</td>
-                        <td >打卡时间</td>
-                        <td>打卡类型</td>
-                        <td>手机号</td>
-                        <td>劳务所</td>
-                        <td>工作组</td>
-                        <td>异常</td>
-                        <td>合计工时</td>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr v-for="(userDutyCheck,i) in userDutyCheckNows">
-                        <td v-if="userDutyCheck.checked_at" class="text-center font-weight-bold">@{{ userDutyCheck.checked_at.substring(0,10) }}</td>
-                        <td>@{{ i+1 }}</td>
-                        <td ><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.full_name }}</span></td>
-                        @can('人事管理-打卡审核')<td>
-                            <b v-if="userDutyCheck.verify_user_id" class="text-success">已审核</b>
-                            <button v-else @click="storeClockAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">审核</button>
-                        </td>@endcan
-                        <td v-if="workgroupSign">
-                            <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>
-                        </td>
-                        <td>@{{ userDutyCheck.checked_at.substring(11,16) }}</td>
-                        <td>
-                            <div v-if="userDutyCheck.verify_user_id" class="text-center">@{{ userDutyCheck.type }}</div>
-                            <select v-else v-model="userDutyCheck.type" @change="isException(userDutyCheck.id,userDutyCheck.user_id,userDutyCheck.checked_at,userDutyCheck.type)" class="form-control" style="width: 100px">
-                                <option value="登入">登入</option>
-                                <option value="登出">登出</option>
-                            </select>
-                        </td>
-                        <td  class="text-muted"><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.mobile_phone }}</span></td>
-                        <td ><span v-if="userDutyCheck.user_labor">@{{ userDutyCheck.user_labor.labor_company.name }}</span></td>
-                        <td class="font-weight-bold"><span v-if="userDutyCheck.user_workgroup">
+                <div >
+                    <table class="table table-striped table-bordered text-nowrap"  v-for="day in date">
+                        <thead class="thead-light" >
+                        <tr class="text-center">
+                            <th v-if="day==0" colspan="11">@{{ day | toDate}}</th>
+                            <th v-if="day==-1" colspan="11">@{{ day | toDate}}</th>
+                            <th v-if="day==-2" colspan="11">@{{ day | toDate}}</th>
+                        </tr>
+                        <tr>
+                            <td>序号</td>
+                            <td>姓名</td>
+                            @can('人事管理-打卡审核')<td>操作</td>@endcan
+                            <td v-if="workgroupSign">组长审核</td>
+                            <td >打卡时间</td>
+                            <td>打卡类型</td>
+                            <td>手机号</td>
+                            <td>劳务所</td>
+                            <td>工作组</td>
+                            <td>异常</td>
+                            <td>合计工时</td>
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <tr v-for="(userDutyCheck,i) in userDutyChecks" v-if="whichDay(userDutyCheck.checked_at)==day">
+                            <td>@{{ i+1 }}</td>
+                            <td ><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.full_name }}</span></td>
+                            @can('人事管理-打卡审核')<td>
+                                <b v-if="userDutyCheck.verify_user_id" class="text-success">已审核</b>
+                                <button v-else @click="storeClockAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">审核</button>
+                            </td>@endcan
+                            <td v-if="workgroupSign">
+                                <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>
+                            </td>
+                            <td>@{{ userDutyCheck.checked_at.substring(11,16) }}</td>
+                            <td>
+                                <div v-if="userDutyCheck.verify_user_id" class="text-center">@{{ userDutyCheck.type }}</div>
+                                <select v-else v-model="userDutyCheck.type" @change="isException(userDutyCheck.id,userDutyCheck.user_id,userDutyCheck.checked_at,userDutyCheck.type)" class="form-control" style="width: 100px">
+                                    <option value="登入">登入</option>
+                                    <option value="登出">登出</option>
+                                </select>
+                            </td>
+                            <td  class="text-muted"><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.mobile_phone }}</span></td>
+                            <td ><span v-if="userDutyCheck.user_labor">@{{ userDutyCheck.user_labor.labor_company.name }}</span></td>
+                            <td class="font-weight-bold"><span v-if="userDutyCheck.user_workgroup">
                                 @{{ userDutyCheck.user_workgroup.name }}</span></td>
-                        <td>@{{ userDutyCheck.exception }}</td>
-                        <td>@{{ userDutyCheck.duration_man_hour }}</td>
-                    </tr>
-                    </tbody>
-                </table>
-
-                <table class="table table-striped table-bordered text-nowrap"  v-if="userDutyCheckYesterdays&&userDutyCheckYesterdays.length>=1">
-                    <thead class="thead-light" style="color: #17a2b8" >
-                    <tr>
-                        <th>日期</th>
-                        <td>序号</td>
-                        <td>姓名</td>
-                        @can('人事管理-打卡审核')<td>操作</td>@endcan
-                        <td v-if="workgroupSign">组长审核</td>
-                        <td >打卡时间</td>
-                        <td>打卡类型</td>
-                        <td>手机号</td>
-                        <td>劳务所</td>
-                        <td>工作组</td>
-                        <td>异常</td>
-                        <td>合计工时</td>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr v-for="(userDutyCheck,i) in userDutyCheckYesterdays">
-                        <td v-if="userDutyCheck.checked_at" class="text-center font-weight-bold">@{{ userDutyCheck.checked_at.substring(0,10) }}</td>
-                        <td>@{{ i+1 }}</td>
-                        <td ><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.full_name }}</span></td>
-                        @can('人事管理-打卡审核')<td>
-                            <b v-if="userDutyCheck.verify_user_id" class="text-success">已审核</b>
-                            <button v-else @click="storeClockAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">审核</button>
-                        </td>@endcan
-                        <td v-if="workgroupSign">
-                            <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>
-                        </td>
-                        <td>@{{ userDutyCheck.checked_at.substring(11,16) }}</td>
-                        <td>
-                            <div v-if="userDutyCheck.verify_user_id" class="text-center">@{{ userDutyCheck.type }}</div>
-                            <select v-else v-model="userDutyCheck.type" @change="isException(userDutyCheck.id,userDutyCheck.user_id,userDutyCheck.checked_at,userDutyCheck.type)" class="form-control" style="width: 100px">
-                                <option value="登入">登入</option>
-                                <option value="登出">登出</option>
-                            </select>
-                        </td>
-                        <td  class="text-muted"><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.mobile_phone }}</span></td>
-                        <td ><span v-if="userDutyCheck.user_labor">@{{ userDutyCheck.user_labor.labor_company.name }}</span></td>
-                        <td class="font-weight-bold"><span v-if="userDutyCheck.user_workgroup">
-                                @{{ userDutyCheck.user_workgroup.name }}</span></td>
-                        <td>@{{ userDutyCheck.exception }}</td>
-                        <td>@{{ userDutyCheck.duration_man_hour }}</td>
-                    </tr>
-                    </tbody>
-                </table>
-
-                <table class="table table-striped table-bordered text-nowrap"  v-if="userDutyCheckBefores&&userDutyCheckBefores.length>=1">
-                    <thead class="thead-light" style="color:rosybrown">
-                    <tr >
-                        <th>日期</th>
-                        <td>序号</td>
-                        <td>姓名</td>
-                        @can('人事管理-打卡审核')<td>操作</td>@endcan
-                        <td v-if="workgroupSign">组长审核</td>
-                        <td >打卡时间</td>
-                        <td>打卡类型</td>
-                        <td>手机号</td>
-                        <td>劳务所</td>
-                        <td>工作组</td>
-                        <td>异常</td>
-                        <td>合计工时</td>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr v-for="(userDutyCheck,i) in userDutyCheckBefores">
-                        <td v-if="userDutyCheck.checked_at" class="text-center font-weight-bold">@{{ userDutyCheck.checked_at.substring(0,10) }}</td>
-                        <td>@{{ i+1 }}</td>
-                        <td ><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.full_name }}</span></td>
-                        @can('人事管理-打卡审核')<td>
-                            <b v-if="userDutyCheck.verify_user_id" class="text-success">已审核</b>
-                            <button v-else @click="storeClockAudit(userDutyCheck.id,userDutyCheck.type)" class="btn btn-primary w-80">审核</button>
-                        </td>@endcan
-                        <td v-if="workgroupSign">
-                            <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>
-                        </td>
-                        <td>@{{ userDutyCheck.checked_at.substring(11,16) }}</td>
-                        <td>
-                            <div v-if="userDutyCheck.verify_user_id" class="text-center">@{{ userDutyCheck.type }}</div>
-                            <select v-else v-model="userDutyCheck.type" @change="isException(userDutyCheck.id,userDutyCheck.user_id,userDutyCheck.checked_at,userDutyCheck.type)" class="form-control" style="width: 100px">
-                                <option value="登入">登入</option>
-                                <option value="登出">登出</option>
-                            </select>
-                        </td>
-                        <td  class="text-muted"><span v-if="userDutyCheck.user_detail">@{{ userDutyCheck.user_detail.mobile_phone }}</span></td>
-                        <td ><span v-if="userDutyCheck.user_labor">@{{ userDutyCheck.user_labor.labor_company.name }}</span></td>
-                        <td class="font-weight-bold"><span v-if="userDutyCheck.user_workgroup">
-                                @{{ userDutyCheck.user_workgroup.name }}</span></td>
-                        <td>@{{ userDutyCheck.exception }}</td>
-                        <td>@{{ userDutyCheck.duration_man_hour }}</td>
-                    </tr>
-                    </tbody>
-                </table>
+                            <td>@{{ userDutyCheck.exception }}</td>
+                            <td>@{{ userDutyCheck.duration_man_hour }}</td>
+                        </tr>
+                        </tbody>
+                    </table>
+                </div>
             </div>
         </div>
     </div>
+
 @endsection
 
 @section('lastScript')
     <script>
+
         new Vue({
             el:"#list",
             data:{
-                userDutyCheckYesterdays:[
-                        @foreach($userDutyCheckYesterdays as $userDutyCheck)
-                    {id:'{{$userDutyCheck->id}}',user_id:'{{$userDutyCheck->user_id}}',
-                        checked_at:'{{$userDutyCheck->checked_at}}',
-                        type:'{{$userDutyCheck->type}}',verify_user_id:'{{$userDutyCheck->verify_user_id}}',group_user_id:'{{$userDutyCheck->group_user_id}}',
-                        exception:'',duration_man_hour:'',@if($userDutyCheck->userWorkgroup)user_workgroup:{!! $userDutyCheck->userWorkgroup !!} @endif,
-                        @if($userDutyCheck->userDetail)user_detail:{!! $userDutyCheck->userDetail !!} @endif,
-                        @if($userDutyCheck->userLabor)user_labor:{!! $userDutyCheck->userLabor !!} @endif},
-                    @endforeach
-                ],
-                userDutyCheckNows:[
-                        @foreach($userDutyCheckNows as $userDutyCheck)
-                    {id:'{{$userDutyCheck->id}}',user_id:'{{$userDutyCheck->user_id}}',
-                        checked_at:'{{$userDutyCheck->checked_at}}',
-                        type:'{{$userDutyCheck->type}}',verify_user_id:'{{$userDutyCheck->verify_user_id}}',group_user_id:'{{$userDutyCheck->group_user_id}}',
-                        exception:'',duration_man_hour:'',@if($userDutyCheck->userWorkgroup)user_workgroup:{!! $userDutyCheck->userWorkgroup !!} @endif,
-                        @if($userDutyCheck->userDetail)user_detail:{!! $userDutyCheck->userDetail !!} @endif,
-                        @if($userDutyCheck->userLabor)user_labor:{!! $userDutyCheck->userLabor !!} @endif},
-                    @endforeach
-                ],
-                userDutyCheckBefores:[
-                        @foreach($userDutyCheckBefores as $userDutyCheck)
+                date:[0,-1,-2],
+                dateStr:'',
+                userDutyChecks:[
+                        @foreach($userDutyChecks as $userDutyCheck)
                     {id:'{{$userDutyCheck->id}}',user_id:'{{$userDutyCheck->user_id}}',
                         checked_at:'{{$userDutyCheck->checked_at}}',
                         type:'{{$userDutyCheck->type}}',verify_user_id:'{{$userDutyCheck->verify_user_id}}',group_user_id:'{{$userDutyCheck->group_user_id}}',
-                        exception:'',duration_man_hour:'',@if($userDutyCheck->userWorkgroup)user_workgroup:{!! $userDutyCheck->userWorkgroup !!} @endif,
-                        @if($userDutyCheck->userDetail)user_detail:{!! $userDutyCheck->userDetail !!} @endif,
-                        @if($userDutyCheck->userLabor)user_labor:{!! $userDutyCheck->userLabor !!} @endif},
+                        exception:'',duration_man_hour:'',@if($userDutyCheck->userWorkgroup)user_workgroup:{!! $userDutyCheck->userWorkgroup !!}, @endif
+                            @if($userDutyCheck->userDetail)user_detail:{!! $userDutyCheck->userDetail !!}, @endif
+                            @if($userDutyCheck->userLabor)user_labor:{!! $userDutyCheck->userLabor !!}, @endif},
                     @endforeach
                 ],
                 workgroupSign:'{{$workgroupSign}}',
             },
             methods:{
+                whichDay(dateStr){
+                    let nowDate=new Date();
+                    let targetDate=new Date(dateStr);
+                    if(nowDate.getMonth()!=targetDate.getMonth()){
+                        if (new Date(targetDate.setDate(targetDate.getDate()+1))==nowDate){
+                            return -1;
+                        }
+                        if (new Date(targetDate.setDate(targetDate.getDate()+2))==nowDate){
+                            return -2;
+                        }
+                    }
+                    let diffOfDays=targetDate.getDate()-nowDate.getDate();
+                    return diffOfDays;
+                },
                 store(id,type,url){
 
                 },
@@ -207,25 +114,7 @@
                                 tempTip.show(response.data.data);
                                 return;
                             }
-                            _this.userDutyCheckNows.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.verify_user_id=response.data.data;
-                                    tempTip.setDuration(3000);
-                                    tempTip.showSuccess('审核通过!');
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckBefores.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.verify_user_id=response.data.data;
-                                    tempTip.setDuration(3000);
-                                    tempTip.showSuccess('审核通过!');
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckYesterdays.every(function (userDutyCheck) {
+                            _this.userDutyChecks.every(function (userDutyCheck) {
                                 if (userDutyCheck.id==id){
                                     userDutyCheck.verify_user_id=response.data.data;
                                     tempTip.setDuration(3000);
@@ -249,25 +138,7 @@
                                 tempTip.show(response.data.data);
                                 return;
                             }
-                            _this.userDutyCheckNows.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.group_user_id=response.data.data;
-                                    tempTip.setDuration(3000);
-                                    tempTip.showSuccess('审核通过!');
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckBefores.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.group_user_id=response.data.data;
-                                    tempTip.setDuration(3000);
-                                    tempTip.showSuccess('审核通过!');
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckYesterdays.every(function (userDutyCheck) {
+                            _this.userDutyChecks.every(function (userDutyCheck) {
                                 if (userDutyCheck.id==id){
                                     userDutyCheck.group_user_id=response.data.data;
                                     tempTip.setDuration(3000);
@@ -285,23 +156,7 @@
                     let _this=this;
                     axios.post('{{url("personnel/checking-in/isException")}}',{id:id,user_id:user_id,checked_at:checked_at,type:type})
                         .then(function (response) {
-                            _this.userDutyCheckYesterdays.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.exception=response.data.exception;
-                                    userDutyCheck.duration_man_hour=response.data.duration_man_hour;
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckBefores.every(function (userDutyCheck) {
-                                if (userDutyCheck.id==id){
-                                    userDutyCheck.exception=response.data.exception;
-                                    userDutyCheck.duration_man_hour=response.data.duration_man_hour;
-                                    return false
-                                }
-                                return true;
-                            });
-                            _this.userDutyCheckNows.every(function (userDutyCheck) {
+                            _this.userDutyChecks.every(function (userDutyCheck) {
                                 if (userDutyCheck.id==id){
                                     userDutyCheck.exception=response.data.exception;
                                     userDutyCheck.duration_man_hour=response.data.duration_man_hour;
@@ -315,6 +170,16 @@
                     });
                 }
             },
+            filters:{
+                toDate:function(val){
+                    let dd = new Date();
+                    dd.setDate(dd.getDate()+val);//获取AddDayCount天后的日期
+                    let y = dd.getFullYear();
+                    let m = dd.getMonth()+1;//获取当前月份的日期
+                    let d = dd.getDate();
+                    return  y+'-'+(m<10?'0'+m:m)+'-'+d;
+                }
+            }
         });
     </script>
 @endsection

+ 11 - 3
resources/views/personnel/menuPersonnel.blade.php

@@ -8,9 +8,17 @@
             <div class="card menu-third" style="background: #f9f0f0;transform: scale(0.95)">
                 <ul class="nav nav-pills">
                     @can('工作组')
-                    <li class="nav-item">
-                        <a class="nav-link text-dark" href="{{url('maintenance/userWorkgroup')}}" :class="{active:isActive('userWorkgroup',2)}">工作组</a>
-                    </li> @endcan
+                        <li class="nav-item">
+                            <a class="nav-link text-dark" href="{{url('maintenance/userWorkgroup')}}" :class="{active:isActive('userWorkgroup',2)}">工作组</a>
+                        </li> @endcan
+                    @can('临时工')
+                        <li class="nav-item">
+                            <a class="nav-link text-dark" href="{{url('maintenance/userLabor')}}" :class="{active:isActive('userWorkgroup',2)}">临时工</a>
+                        </li> @endcan
+                    @can('劳务所')
+                        <li class="nav-item">
+                            <a class="nav-link text-dark" href="{{url('maintenance/laborCompany')}}" :class="{active:isActive('userWorkgroup',2)}">劳务所</a>
+                        </li> @endcan
                 </ul>
             </div>
         </div>