Kaynağa Gözat

临时工页面添加转正功能
临时工报表相应权限查询完善

hu hao 4 yıl önce
ebeveyn
işleme
8a8ebe3d53

+ 8 - 6
app/Http/Controllers/UserLaborController.php

@@ -155,12 +155,6 @@ class UserLaborController extends Controller
         return redirect('maintenance/userLabor')->with('successTip','临时工“'.$userDetail->full_name.'”信息修改成功!');
     }
 
-    /**
-     * Remove the specified resource from storage.
-     *
-     * @param  int  $id
-     * @return \Illuminate\Http\Response|array
-     */
     public function destroy($id)
     {
         if(!Gate::allows('临时工-删除')){ return redirect(url('/'));  }
@@ -178,4 +172,12 @@ class UserLaborController extends Controller
         app('LogService')->log(__METHOD__,"删除临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
         return ['success'=>true];
     }
+    public function conversion(Request $request)
+    {
+        if(!Gate::allows('临时工-编辑')){ return redirect(url('/'));  }
+        $userDetail=UserDetail::query()
+            ->where('user_id',$request->input('user_id'))
+            ->update(['type'=>'无']);
+        if ($userDetail)  return ['success'=>true];
+    }
 }

+ 2 - 2
app/Services/LaborReportService.php

@@ -51,8 +51,8 @@ class LaborReportService
             'labor_company_id' => ['multi' => ','],
             'id' => ['multi' => ',']
         ];
-        $laborReports = app(QueryService::class)->query($params,$laborReports,$columnQueryRules,'labor_reports');
-        if((Gate::allows('人事管理-临时工报表-可见全部组')||Gate::allows('人事管理-门卫审核')) && !($params["user_workgroup_id"] ?? false)){
+//        if((Gate::allows('人事管理-临时工报表-可见全部组')||Gate::allows('人事管理-门卫审核')) && !($params["user_workgroup_id"] ?? false)){
+        if(Gate::allows('人事管理-门卫审核') && !($params["user_workgroup_id"] ?? false)){
             $laborReports->where(function ($query)use($user){
                 $query->whereIn('labor_reports.user_workgroup_id',$user?$user->getPermittingWorkgroupIds(Gate::allows('人事管理-临时工报表-可见全部组')):[])
                     ->whereIn('labor_reports.labor_company_id',$user?$user->getPermittingLaborCompanyIdsAttribute():[])

+ 29 - 1
resources/views/maintenance/userLabor/index.blade.php

@@ -95,7 +95,9 @@
                     <td><u class="text-info" style="cursor:pointer" @click="show(userLabor.user_id)">查看详情</u></td>
                     <td>
                         @can('临时工-编辑')
-                            <button class="btn btn-sm btn-outline-primary" @click="edit(userLabor.user_id)">改</button>@endcan
+                            <button class="btn btn-sm btn-outline-primary" @click="edit(userLabor.user_id)">改</button>
+                            <button class="btn btn-sm btn-outline-success" @click="conversion(userLabor)">转正</button>
+                        @endcan
                         @can('临时工-删除')
                             <button class="btn btn-sm btn-outline-danger" @click="destroy(userLabor)">删</button> @endcan
                             <button class="btn btn-sm btn-outline-dark" @click="workRecord(userLabor.user_id)">劳务记录</button>
@@ -211,6 +213,32 @@
                             tempTip.show('删除临时工失败!'+'网络错误:' + err);
                         });
                 },
+                conversion:function(userLabor){
+                    if(!confirm('确定要将临时工“' + userLabor.user_detail.full_name + '”转正吗?')){return};
+                    let _this=this;
+                    let user_id=userLabor.user_id;
+                    let url = "{{url('maintenance/userLabor/conversion')}}";
+                    axios.post(url,{user_id:user_id}).then(function (response) {
+                            if(response.data.success){
+                                _this.userLabors.every(function (userLabor,i) {
+                                    if (userLabor.user_id==user_id){
+                                        _this.userLabors.splice(i,1);
+                                        return false;
+                                    }
+                                    return true;
+                                });
+                                tempTip.setDuration(3000);
+                                tempTip.showSuccess('转正临时工成功!');
+                                return;
+                            }
+                            tempTip.setDuration(3000);
+                            tempTip.show('转正临时工失败!');
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('转正临时工失败!'+'网络错误:' + err);
+                        });
+                },
                 relieve(user_id,full_name){
                     let _this=this;
                     axios.post('{{url('maintenance/userLabor/relieve')}}',{user_id:user_id})

+ 1 - 0
routes/web.php

@@ -67,6 +67,7 @@ Route::group(['prefix'=>'maintenance'],function(){
         Route::post('getWorkRecord', 'UserLaborController@getWorkRecord');
         Route::post('getClockRecord', 'UserLaborController@getClockRecord');
         Route::post('relieve', 'UserLaborController@relieve');
+        Route::post('conversion', 'UserLaborController@conversion');
     });
     /** 纸箱 */
     Route::group(['prefix'=>'paperBox'],function(){