Przeglądaj źródła

二次加工管理-当日工资,参与人实时化

Zhouzhendong 5 lat temu
rodzic
commit
7b90fadf82

+ 1 - 1
app/Http/Controllers/PersonnelController.php

@@ -184,7 +184,7 @@ class PersonnelController extends Controller
     public function missionAudit(Request $request){
         if(!Gate::allows('人事管理-任务审核')){ return redirect(url('/'));  }
         $processDailyParticipants=ProcessDailyParticipant::with(['processDaily','user_detail'=>function($builder){
-            return $builder->with(['user'=>function($builder){return $builder->with(['userWorkgroups']);},'user_labor'=>function($builder){return $builder->with(['laborCompany']);}]);
+            return $builder->with(['user'=>function($builder){return $builder->with(['userWorkgroups']);},'userLabor'=>function($builder){return $builder->with(['laborCompany']);}]);
         }])->orderBy('id','DESC');
         $start_date=$request->input('start_date');
         $end_date=$request->input('end_date');

+ 76 - 38
app/Http/Controllers/ProcessController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 use App\Commodity;
 use App\CommodityBarcode;
 use App\Exports\Export;
+use App\LaborReport;
 use App\Owner;
 use App\Process;
 use App\ProcessDaily;
@@ -16,6 +17,7 @@ use App\Sign;
 use App\Tutorial;
 use App\UserDetail;
 use App\UserDutyCheck;
+use App\UserLabor;
 use Carbon\Carbon;
 use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
@@ -140,12 +142,12 @@ class ProcessController extends Controller
                 $processDailies=ProcessDaily::with(['processDailyParticipants','process'])
                     ->orderBy('date','DESC')->where('process_id',$id)->get();
             }
-            $processDailies=$this->countManHour($processDailies);
+            //$processDailies=$this->countManHour($processDailies);
         }
         return $processDailies;
     }
 
-    //根据参与人查找打卡记录计算工时信息
+    /*//根据参与人查找打卡记录计算工时信息
     public function countManHour($processDailies){
         foreach ($processDailies as $processDaily){
             $date=$processDaily->date;
@@ -156,19 +158,19 @@ class ProcessController extends Controller
             }
         }
         return $processDailies;
-    }
+    }*/
 
-    //计算单参与人工时信息
+    /*//计算单参与人工时信息
     public function countParticipantManHour($processDailyParticipant,$date){
-        $user=$processDailyParticipant->user_id;
-        $userDutyCheckStart=UserDutyCheck::select('id','checked_at')->where('user_id',$user)
+        $user_id=$processDailyParticipant->user_id;
+        $userDutyCheckStart=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
             ->where('checked_at','like',$date.'%')->where('type','登入')->orderBy('id')->first();
-        $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user)
+        $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
             ->where('checked_at','like',$date.'%')->where('type','登出')->orderBy('id','desc')->first();
         //跨日情况寻找下一天
         if (!$userDutyCheckEnd){
             $date=date("Y-m-d",strtotime("+1 day",strtotime($date)));
-            $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user)
+            $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
                 ->where('checked_at','like',$date.'%')->where('type','登出')->orderBy('id','desc')->first();
         }
         if (!$userDutyCheckStart || !$userDutyCheckEnd){
@@ -186,9 +188,9 @@ class ProcessController extends Controller
         }
 
         //计件工 保留
-        /*if ($processDailyParticipant->unit_count){
-            return $processDailyParticipant;
-        }*/
+        // if ($processDailyParticipant->unit_count){
+        //   return $processDailyParticipant;
+        //}
         if ($hour&&$hour>8){
             $processDailyParticipant->billingHour=8;
             return $processDailyParticipant;
@@ -197,9 +199,9 @@ class ProcessController extends Controller
             $processDailyParticipant->billingHour=round($hour,2);
         }
         return $processDailyParticipant;
-    }
+    }*/
 
-    //打卡工时减休息时间
+/*    //打卡工时减休息时间
     private function isHour($userDutyCheckStart,$hour){
 
         $date=$userDutyCheckStart->checked_at;
@@ -208,7 +210,7 @@ class ProcessController extends Controller
             $hour=$hour-1;
         }
         return $hour;
-    }
+    }*/
     //生成二次加工单缺失时间记录及本日记录
     private function createDeficiencyData($processDailies,$today){
         $processDailiesArr=[];
@@ -276,10 +278,10 @@ class ProcessController extends Controller
         if(!Gate::allows('二次加工管理-交接完成')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
         $process=Process::with('processDailies')->find($request->id);
         if (!$process)return ['success'=>false];
-        $process->update(['status'=>'交接完成']);
-        $process->createOperatorLog('交接完成');
         $result=$this->statistic($process);
         if (!$result['success'])return $result;
+        $process->update(['status'=>'交接完成']);
+        $process->createOperatorLog('交接完成');
         $processStatistic=$result['data'];
         $this->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         return ['success'=>true,'data'=>'交接完成'];
@@ -300,13 +302,13 @@ class ProcessController extends Controller
         $total_cost=0;              //合计成本
         foreach ($processDailies as $processDailyOne){
             foreach ($processDailyOne->processDailyParticipants as $processDailyParticipant){
-                $processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyOne->date);
-                $duration_man_hours=$duration_man_hours+($processDailyParticipant->billingHour);
+                //$processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyOne->date);
+                $duration_man_hours += $processDailyParticipant->hour_count;
                 if ($processDailyParticipant->unit_count){
-                    $total_cost=$total_cost+(($processDailyParticipant->unit_count)*($processDailyParticipant->unit_price));
+                    $total_cost += ($processDailyParticipant->unit_count)*($processDailyParticipant->unit_price);
                     continue;
                 }
-                $total_cost=$total_cost+(($processDailyParticipant->billingHour)*($processDailyParticipant->hour_price));
+                $total_cost += ($processDailyParticipant->hour_count)*($processDailyParticipant->hour_price);
             }
         };
         $gross_profit=$revenue-$total_cost; //毛利润
@@ -387,7 +389,7 @@ class ProcessController extends Controller
         }
         return $process_id;
     }
-    public function shortProcessDailyParticipant(Request $request){
+    public function storeProcessDailyParticipant(Request $request){
         if(!Gate::allows('二次加工管理-登记工时')){ return redirect(url('/'));  }
         $errors=$this->validatorProcessDailyParticipant($request)->errors();
         if (count($errors)>0)return ['status'=>"error",'data'=>$errors];
@@ -401,6 +403,11 @@ class ProcessController extends Controller
         $unit_price=$request->input('unit_price');
         $dinner_duration=$request->input('dinner_duration');
         $remark=$request->input('remark');
+        $userLabor=UserLabor::find($user_id);
+        $processDaily=processDaily::find($daily_id);
+        if ($userLabor->isOccupiedAt($processDaily->date,$ended_at)){
+            ['status'=>"warning",'data'=>'该临时工此时间段已存在工作记录!'];
+        };
         $processDailyParticipant=new ProcessDailyParticipant([
             'process_daily_id'=>$daily_id,
             'user_id'=>$user_id,
@@ -415,10 +422,17 @@ class ProcessController extends Controller
         ]);
         $processDailyParticipant->save();
         $this->log(__METHOD__,"添加新参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
+        $processDailyParticipant->load(['processDaily'=>function($query){
+            $query->with('process');
+        }]);
+        if ($processDailyParticipant->processDaily && $processDailyParticipant->processDaily->process &&
+            $processDailyParticipant->processDaily->process->status=='交接完成'){
+            $this->statistic($processDailyParticipant->processDaily->process);
+        }
         $result=[];
         $processDaily=ProcessDaily::with('process')->select('process_id','date')->find($daily_id);
-        $date=$processDaily->date;
-        $processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$date);
+        //$date=$processDaily->date;
+        //$processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$date);
         if ($processDaily->process && $processDaily->process->status=="待加工"){
             $process=Process::find($processDaily->process_id);
             $process->status="加工中";
@@ -437,26 +451,41 @@ class ProcessController extends Controller
     //验证参与人
     public function verifyUserName(Request $request){
         $userName=$request->input('userName');
-        if (!$userName) return;
-        $result=$this->seekUserLabor($userName);
-        return $result;
+        if (!$userName) return ['success'=>false,'data'=>'未输入参与者!'];
+        $date = $request->date;
+        if (!$date){
+            $processDailyParticipant=ProcessDailyParticipant::query()->find($request->id);
+            $date=$processDailyParticipant->process_daily_date;
+        }
+        return $this->seekUserLabor($userName,$date);
+
     }
 
     //根据全名查询临时工
-    public function seekUserLabor($userName){
-        $userDetails=UserDetail::with('user_labor')->where('type','临时工')->where('full_name',$userName)->get();
-        if (!$userDetails)return;
+    public function seekUserLabor($userName,$date){
+        $userDetails=UserDetail::with('userLabor')->where('type','临时工')->where('full_name',$userName)->get();
+        if (!$userDetails)return ['success'=>false,'data'=>'未找到临时工信息!'];
         if (count($userDetails)==1){
-            if (!$userDetails[0]->user_labor)return;
-            return $userDetails[0];
+            if (!$userDetails[0]->userLabor)return ['success'=>false,'data'=>'该员工非临时工身份!'];
+            $laborReport=LaborReport::where('check_in_at','like',$date.'%')->where('user_id',$userDetails[0]->user_id)->first();
+            if ($laborReport){
+                $userDetails[0]->started_at=Carbon::parse($laborReport->thisRoundOnlineStartTime)->format('H:i');
+                $userDetails[0]->ended_at=Carbon::parse($laborReport->thisRoundOnlineEndTime)->format('H:i');
+            }
+            return ['success'=>true,'data'=>$userDetails[0]];
         }
         //多个同名
         foreach ($userDetails as $userDetail){
             $userDutyCheck=UserDutyCheck::select('checked_at')->where("user_id",$userDetail->user_id)->orderBy('checked_at','DESC')->first();
+            $laborReport=LaborReport::where('check_in_at','like',$date.'%')->where('user_id',$userDetail->user_id)->first();
+            if ($laborReport) {
+                $userDetail->started_at = Carbon::parse($laborReport->thisRoundOnlineStartTime)->format('H:i');
+                $userDetail->ended_at = Carbon::parse($laborReport->thisRoundOnlineEndTime)->format('H:i');
+            }
             if ($userDutyCheck)$userDetail->checked_at=$userDutyCheck->checked_at;
         }
-        if (!$userDetails)return;
-        return $userDetails;
+        if (!$userDetails)return ['success'=>false,'data'=>'未找到临时工信息!'];
+        return ['success'=>true,'data'=>$userDetails];
     }
     //修改参与人
     public function updateProcessDailyParticipant(Request $request){
@@ -465,8 +494,14 @@ class ProcessController extends Controller
         if (!$id) return ['status'=>"error",'data'=>"修改失败,ID未传递"];
         $errors=$this->validatorProcessDailyParticipant($request)->errors();
         if (count($errors)>0)return ['status'=>"error",'data'=>$errors];
-        $processDailyParticipant=ProcessDailyParticipant::with('processDaily')->find($id);
-        if (!$processDailyParticipant || ! $processDailyParticipant->processDaily) return ['status'=>"error",'data'=>"修改失败,该信息不存在"];
+        $processDailyParticipant=ProcessDailyParticipant::with(['processDaily'=>function($query){
+            $query->with('process');
+        },'userLabor'])->find($id);
+        if (!$processDailyParticipant || !$processDailyParticipant->processDaily
+            || !$processDailyParticipant->processDaily->process || !$processDailyParticipant->userLabor) return ['status'=>"error",'data'=>"修改失败,该信息不存在"];
+        if ($processDailyParticipant->userLabor->isOccupiedAt($processDailyParticipant->processDaily->date,$request->started_at)){
+            ['status'=>"error",'data'=>"该临时工此时间段已存在工作记录"];
+        }
         $processDailyParticipant->user_id=$request->input('user_id');
         $processDailyParticipant->started_at=$request->input('started_at');
         $processDailyParticipant->ended_at=$request->input('ended_at');
@@ -478,10 +513,13 @@ class ProcessController extends Controller
         $processDailyParticipant->remark=$request->input('remark');
         $processDailyParticipant->update();
         $this->log(__METHOD__,"修改参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
-        $processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyParticipant->processDaily->date);
+        if ($processDailyParticipant->processDaily->process->status=='交接完成'){
+            $this->statistic($processDailyParticipant->processDaily->process);
+        }
+        //$processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyParticipant->processDaily->date);
         return ['status'=>"success",'data'=>$processDailyParticipant];
     }
-    //参与人审核
+    /*//参与人审核
     public function processDailyParticipantAudit($id){
         if(!Gate::allows('人事管理-任务审核')){ return redirect(url('/'));  }
         $processDailyParticipant=ProcessDailyParticipant::select('id','status')->find($id);
@@ -490,7 +528,7 @@ class ProcessController extends Controller
         $processDailyParticipant->update();
         $this->log(__METHOD__,"登记工时参与人审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         return ['success'=>true,'processDailyParticipant'=>$processDailyParticipant];
-    }
+    }*/
     //获取全部教程
     public function getTutorials($id){
         $process=Process::with('tutorials')->find($id);

+ 9 - 3
app/Http/Controllers/TestController.php

@@ -22,6 +22,7 @@ use App\ProcessStatistic;
 use App\Rejected;
 use App\RejectedBill;
 use App\RejectedBillItem;
+use App\Tutorial;
 use App\Unit;
 use App\UploadFile;
 use App\User;
@@ -262,9 +263,14 @@ class TestController extends Controller
     /*1*/
     function test()
     {/**/
-        $a='';
-        if ($a)dd(1);
-        else dd(2);
+        $unit=Tutorial::create([
+            'owner_id'=>2,
+            'name' => 'zzdndp',
+            'type'=> '二次加工'
+        ]);
+        $unit->load('owner');
+        dd($unit->owner);
+
     }
 
 }

+ 8 - 0
app/ProcessDailyParticipant.php

@@ -2,6 +2,7 @@
 
 namespace App;
 
+use Carbon\Carbon;
 use Illuminate\Database\Eloquent\Model;
 use App\Traits\ModelTimeFormat;
 
@@ -16,6 +17,10 @@ class ProcessDailyParticipant extends Model
         'user_detail_full_name',
         'process_daily_date',
     ];
+    protected $casts = [
+        'started_at' => 'datetime:H:i',
+        'ended_at' => 'datetime:H:i',
+    ];
 
     public function user_detail(){
         return $this->belongsTo('App\UserDetail','user_id','user_id');
@@ -23,6 +28,9 @@ class ProcessDailyParticipant extends Model
     public function processDaily(){
         return $this->belongsTo('App\ProcessDaily','process_daily_id','id');
     }
+    public function userLabor(){
+        return $this->belongsTo('App\UserLabor','user_id','user_id');
+    }
 
 
     public function getUserDetailFullNameAttribute()

+ 2 - 2
app/UserDetail.php

@@ -22,7 +22,7 @@ class UserDetail extends Model
     public function user(){
         return $this->belongsTo('App\User','user_id','id');
     }
-    public function user_labor(){
+    public function userLabor(){
         return $this->belongsTo('App\UserLabor','user_id','user_id');
     }
     public function userDutyChecks(){
@@ -30,7 +30,7 @@ class UserDetail extends Model
     }
     public function getUserLaborCompanyAttribute()
     {
-        $laborCompanyId=$this['user_labor']['labor_company_id']??0;
+        $laborCompanyId=$this['userLabor']['labor_company_id']??0;
         $laborCompany=LaborCompany::find($laborCompanyId);
         return $this['user_labor_company']=$laborCompany['name'];
     }

+ 13 - 0
app/UserLabor.php

@@ -2,6 +2,7 @@
 
 namespace App;
 
+use Carbon\Carbon;
 use Illuminate\Database\Eloquent\Model;
 use App\Traits\ModelTimeFormat;
 use Illuminate\Support\Facades\Cache;
@@ -30,4 +31,16 @@ class UserLabor extends Model
         return Cache::has('dutyCheckTokenUser_'.$this['user_id']);
     }
 
+    public function isOccupiedAt($date,$time):bool{
+        $processDailyParticipants=ProcessDailyParticipant::query()->select('ended_at')->where('user_id',$this['user_id'])
+            ->whereHas('processDaily', function ($query) use($date){
+            $query->where('date',$date);
+        })->get();
+        foreach ($processDailyParticipants as $processDailyParticipant){
+            if (Carbon::parse($processDailyParticipant->ended_at)->lt(Carbon::parse($time))){
+                return true;
+            }
+        }
+        return false;
+    }
 }

Plik diff jest za duży
+ 240 - 303
composer.lock


+ 42 - 0
database/migrations/2020_07_24_155909_change_process_daily_participants_delete_column_status.php

@@ -0,0 +1,42 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class ChangeProcessDailyParticipantsDeleteColumnStatus extends Migration
+{
+
+    protected $authNamesDel=[
+        '人事管理-任务审核'
+    ];
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('process_daily_participants',function (Blueprint $table){
+            $table->dropColumn('status');
+        });
+        foreach ($this->authNamesDel as $name){
+            \App\Authority::where(['name'=>$name,'alias_name'=>$name])->delete();
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('process_daily_participants',function (Blueprint $table){
+            $table->enum('status',['已审核','未审核'])->after('remark')->default('未审核')->comment('状态');
+        });
+        foreach ($this->authNamesDel as $name){
+            \App\Authority::create(['name'=>$name,'alias_name'=>$name]);
+        }
+    }
+}

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

@@ -62,7 +62,7 @@
                                 @endcan
                             </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 ><span v-if="userDutyCheck.userLabor">@{{ userDutyCheck.userLabor.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>
@@ -94,7 +94,7 @@
                         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},
+                            @if($userDutyCheck->userLabor)userLabor:{!! $userDutyCheck->userLabor !!}, @endif},
                     @endforeach
                 ],
                 permittingWorkgroups:{!! $permittingWorkgroups !!},

+ 1 - 1
resources/views/personnel/checking-in/missionAudit.blade.php

@@ -77,7 +77,7 @@
                     <td><p v-if="processDailyParticipant.user_detail">
                             @{{ processDailyParticipant.user_detail.mobile_phone }}</p></td>
                     <td><p v-if="processDailyParticipant.user_detail">
-                            @{{ processDailyParticipant.user_detail.user_labor.labor_company.name}}</p></td>
+                            @{{ processDailyParticipant.user_detail.userLabor.labor_company.name}}</p></td>
                     <td>@{{ processDailyParticipant.hour_count }}</td>
                     <td class="text-danger">@{{ processDailyParticipant.hour }}</td>
                     <td class="text-danger">@{{ processDailyParticipant.diff }}</td>

+ 55 - 35
resources/views/process/index.blade.php

@@ -142,7 +142,7 @@
                         <div class="form-group row">
                             <label for="initial_weight" class="col-3 col-form-label text-right">参与者</label>
                             <div class="col-7">
-                                <input :class="{ 'is-invalid' : errors.user_id }" @change="verifyUserName($event,null,null)" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.user_detail_full_name" >
+                                <input :class="{ 'is-invalid' : errors.user_id }" @change="verifyUserName($event,null,null,processDailyParticipantOne)" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.user_detail_full_name" >
                             </div>
                         </div>
                         <div v-if="errors.started_at" class="row"><label class="col-3"></label><small  class="text-danger col-7">@{{ errors.started_at[0] }}</small></div>
@@ -226,12 +226,12 @@
                                 <th>最近打卡时间</th>
                                 <th></th>
                             </tr>
-                            <tr v-for="userLabor in userLabors" v-if="userLabor.user_labor">
+                            <tr v-for="userLabor in userLabors" v-if="userLabor.userLabor">
                                 <td>@{{ userLabor.full_name }}</td>
                                 <td>@{{ userLabor.gender }}</td>
                                 <td>@{{ userLabor.mobile_phone }}</td>
                                 <td>@{{ userLabor.checked_at }}</td>
-                                <td><button @click="selectedUser(userLabor.user_id,userLabor.user_labor.default_hour_price)" class="btn btn-sm btn-success">选择</button></td>
+                                <td><button @click="selectedUser(userLabor)" class="btn btn-sm btn-success">选择</button></td>
                             </tr>
                         </table>
                     </div>
@@ -455,10 +455,8 @@
                                 <td>计时工时</td>
                                 <td>计件数量</td>
                                 <td>备注</td>
-                                <td>打卡工时</td>
-                                <td>工时差</td>
-                                <td>计费工时</td>
-                                <td>审核</td>
+                                <td>当日工资</td>
+                                {{--<td>审核</td>--}}
                                 <td>操作</td>
                             </tr>
                             <tr  v-for="(processDailyParticipant,i) in processDailyParticipants" :id="'processDailyParticipant'+processDailyParticipant.id">
@@ -481,12 +479,12 @@
                                 </td>
                                 <td>
                                     @can("二次加工管理-登记工时")<button v-if="!processDailyParticipant.isAddProcessDailyParticipant && processDailyParticipant.isConfirmBtn" class="btn btn-sm btn-success" @click="submitProcessDailyParticipant(processDailyParticipant.daily_id)">确定</button>
-                                    <button v-if="processDailyParticipant.id && processDailyParticipant.status=='未审核'" class="btn btn-sm btn-outline-info" @click="updateProcessDailyParticipant(processDailyParticipant)">改</button>
+                                    <button v-if="processDailyParticipant.id" class="btn btn-sm btn-outline-info" @click="updateProcessDailyParticipant(processDailyParticipant)">改</button>
                                     @endcan
                                 </td>
                                 <td>
                                     <span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
-                                        <input :class="{ 'is-invalid' : errors.user_id }" :data-original-title="errors.user_id ? errors.user_id : ''"  :id="processDailyParticipant.daily_id+'user_detail_full_name'" class="form-control tooltipTargetError" style="width: 100px" type="text" @change="verifyUserName($event,processDailyParticipant.daily_id,processDailyParticipant.isConfirmBtn)">
+                                        <input :class="{ 'is-invalid' : errors.user_id }" :data-original-title="errors.user_id ? errors.user_id : ''"  :id="processDailyParticipant.daily_id+'user_detail_full_name'" class="form-control tooltipTargetError" style="width: 100px" type="text" @change="verifyUserName($event,processDailyParticipant.daily_id,processDailyParticipant.isConfirmBtn,processDailyParticipant)">
                                         <input hidden  :id="processDailyParticipant.daily_id+'user_id'"/>
                                     </span><span v-else>@{{ processDailyParticipant.user_detail_full_name }}</span></td>
                                 <td>
@@ -525,13 +523,16 @@
                                     <span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
                                         <input :id="processDailyParticipant.daily_id+'remark'" class="form-control" style="width: 100px" type="text">
                                     </span><span v-else>@{{ processDailyParticipant.remark }}</span></td>
-                                <td class="text-danger">@{{ processDailyParticipant.hour }}</td>
-                                <td class="text-danger">@{{ processDailyParticipant.diff }}</td>
-                                <td class="text-danger">@{{ processDailyParticipant.billingHour }}</td>
                                 <td class="text-danger">
+                                    <div v-if="processDailyParticipant.unit_count || processDailyParticipant.hour_count">
+                                        <span v-if="processDailyParticipant.unit_count">@{{ (processDailyParticipant.unit_count)*(processDailyParticipant.unit_price) }}</span>
+                                        <span v-else>@{{ (processDailyParticipant.hour_count)*(processDailyParticipant.hour_price) }}</span>
+                                    </div>
+                                </td>
+                            {{--    <td class="text-danger">
                                     @can("人事管理-任务审核")<button @click="processDailyParticipantAudit(processDailyParticipant.id)" v-if="processDailyParticipant.status=='未审核'" class="btn btn-sm btn-outline-success">审核</button>@endcan
                                     <b v-else class="text-success">@{{ processDailyParticipant.status }}</b>
-                                </td>
+                                </td>--}}
                                 <td>
                                     <div v-if="processDailyParticipant.user_detail_full_name">
                                         @can("二次加工管理-临时工资料管理")<u class="text-info" style="cursor:pointer"
@@ -874,7 +875,6 @@
                 },
                 //取消录入参与人
                 deleteProcessDailyParticipant($event, daily_id, processDailyParticipant_name, isConfirmBtn) {
-                    console.log($event, daily_id, processDailyParticipant_name, isConfirmBtn);
                     if (!isConfirmBtn) {
                         this.processDailyParticipants.every(function (processDailyParticipant) {
                             if (processDailyParticipant.daily_id == daily_id) {
@@ -1044,35 +1044,44 @@
                     });
                 },
                 //验证临时工
-                verifyUserName(e, daily_id, isConfirmBtn) {
+                verifyUserName(e, daily_id, isConfirmBtn,processDailyParticipant) {
                     let user = e.target.value;
                     let _this = this;
-                    axios.post('{{url('process/verifyUserName')}}', {userName: user})
+                    axios.post('{{url('process/verifyUserName')}}',
+                        {userName: user,id:processDailyParticipant.id,date:processDailyParticipant.date})
                         .then(function (response) {
+                            if (!response.data.success){
+                                tempTip.setDuration(3000);
+                                tempTip.show(response.data.data);
+                                return;
+                            }
                             //修改时验证
                             if (!daily_id) {
                                 //验证失败
-                                if (response.data.length < 1) {
+                                if (response.data.data.length < 1) {
                                     _this.isShow.isUpdateConfirmBtn = false;
                                     _this.errors['user_id'] = "查无此人,请检查您的输入";
                                     return;
                                 }
                                 //验证成功且结果仅有一个
-                                if (response.data.user_id) {
+                                if (response.data.data.user_id) {
                                     _this.isShow.isUpdateConfirmBtn = true;
                                     _this.errors['user_id'] = "";
-                                    _this.processDailyParticipantOne.user_id = response.data.user_id;
+                                    _this.processDailyParticipantOne.user_id = response.data.data.user_id;
+                                    _this.processDailyParticipantOne.started_at = response.data.data.started_at;
+                                    _this.processDailyParticipantOne.ended_at = response.data.data.ended_at;
+                                    _this.hourFilter(_this.processDailyParticipantOne,false);
                                     return;
                                 }
                                 //验证成功多结果
-                                if (response.data.length > 1) {
-                                    _this.userLabors = response.data;
+                                if (response.data.data.length > 1) {
+                                    _this.userLabors = response.data.data;
                                     $("#myModal").modal('show');
                                     return;
                                 }
                             }
                             //验证失败
-                            if (response.data.length < 1) {
+                            if (response.data.data.length < 1) {
                                 _this.processDailyParticipants.every(function (processDailyParticipant) {
                                     if (processDailyParticipant.daily_id == daily_id) {
                                         _this.errors['user_id'] = "查无此人,请检查您的输入";
@@ -1098,14 +1107,17 @@
                             }
                             _this.modalDaily_id = daily_id;
                             //验证成功且结果仅有一个
-                            if (response.data.user_id) {
+                            if (response.data.data.user_id) {
                                 _this.errors['user_id'] = "";
-                                $("#" + daily_id + "user_id").val(response.data.user_id);
-                                $("#" + daily_id + "hour_price").val(response.data.user_labor.default_hour_price);
+                                $("#" + daily_id + "user_id").val(response.data.data.user_id);
+                                $("#" + daily_id + "hour_price").val(response.data.data.user_labor.default_hour_price);
+                                if (response.data.data.started_at) $("#" + daily_id + "started_at").val(response.data.data.started_at);
+                                if (response.data.data.ended_at) $("#" + daily_id + "ended_at").val(response.data.data.ended_at);
+                                _this.hourFilter(daily_id,true);
                             }
                             //验证成功多结果
                             if (response.data.length > 1) {
-                                _this.userLabors = response.data;
+                                _this.userLabors = response.data.data;
                                 $("#myModal").modal('show');
                             }
                         }).catch(function (err) {
@@ -1153,10 +1165,14 @@
                     if (remark) request['remark'] = remark;
                     request['daily_id'] = this.modalDaily_id;
                     let _this = this;
-                    axios.post("{{url('process/shortProcessDailyParticipant')}}", request)
+                    axios.post("{{url('process/storeProcessDailyParticipant')}}", request)
                         .then(function (response) {
-                            if (response.data.status == "error") {
+                            if (response.data.status === 'warning'){
                                 tempTip.setDuration(3000);
+                                tempTip.show(response.data.data);
+                                return;
+                            }
+                            if (response.data.status === "error") {
                                 _this.errors = response.data.data;
                                 setTimeout(function () {
                                     $(".tooltipTargetError").tooltip('show');
@@ -1208,14 +1224,18 @@
                     })
                 },
                 //同名临时工选择
-                selectedUser(user_id, hour_price) {
+                selectedUser(userLabor) { // TODO:此处如返回开始与结束时间 计时工时并不会发生改变
                     $("#myModal").modal('hide');
                     this.errors['user_id'] = "";
-                    this.processDailyParticipantOne['user_id'] = user_id;
-                    this.processDailyParticipantOne['hour_price'] = hour_price;
+                    this.processDailyParticipantOne['user_id'] = userLabor.user_id;
+                    this.processDailyParticipantOne['hour_price'] = userLabor.userLabor.default_hour_price;
+                    this.processDailyParticipantOne['started_at'] = userLabor.started_at;
+                    this.processDailyParticipantOne['ended_at'] = userLabor.ended_at;
                     this.isShow.isUpdateConfirmBtn = true;
-                    $("#" + this.modalDaily_id + "user_id").val(user_id);
-                    $("#" + this.modalDaily_id + "hour_price").val(hour_price);
+                    $("#" + this.modalDaily_id + "user_id").val(userLabor.user_id);
+                    $("#" + this.modalDaily_id + "hour_price").val(userLabor.userLabor.default_hour_price);
+                    $("#" + this.modalDaily_id + "started_at").val(userLabor.started_at);
+                    $("#" + this.modalDaily_id + "ended_at").val(userLabor.ended_at);
                 },
                 //修改参与人
                 updateProcessDailyParticipant(processDailyParticipant) {
@@ -1272,7 +1292,7 @@
                         tempTip.show('修改参与人发生了一些严重错误:' + err);
                     })
                 },
-                //登记工时参与人审核
+                {{--//登记工时参与人审核
                 processDailyParticipantAudit(id) {
                     if (!confirm('审核后不能撤销及修改,确定通过审核吗?')) {
                         return
@@ -1299,7 +1319,7 @@
                         tempTip.setDuration(5000);
                         tempTip.show('审核参与人发生了一些严重错误:' + err);
                     });
-                },
+                },--}}
                 //临时工详情
                 showUserDetail(id) {
                     window.open("{{url('maintenance/userLabor')}}/" + id);

+ 1 - 1
routes/web.php

@@ -187,7 +187,7 @@ Route::group(['prefix'=>'process'],function(){
     //修改每日产量
     Route::post('updateDailyOutput','ProcessController@updateDailyOutput');
     //添加参与人
-    Route::post('shortProcessDailyParticipant','ProcessController@shortProcessDailyParticipant');
+    Route::post('storeProcessDailyParticipant','ProcessController@storeProcessDailyParticipant');
     //验证参与人
     Route::post('verifyUserName','ProcessController@verifyUserName');
     //修改参与人

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików