소스 검색

退货,人事表头搜索组件化完善

Zhouzhendong 5 년 전
부모
커밋
400c28f8f4

+ 19 - 61
app/Http/Controllers/LaborReportController.php

@@ -8,6 +8,7 @@ use App\Events\TeamAuditEvent;
 use App\Exports\Export;
 use App\LaborReport;
 use App\LaborReportStatus;
+use App\Services\LaborReportService;
 use App\UserDutyCheck;
 use App\UserWorkgroup;
 use Carbon\Carbon;
@@ -18,47 +19,14 @@ use Maatwebsite\Excel\Facades\Excel;
 
 class LaborReportController extends Controller
 {
-    //超15天精确查询抽离 cloumn前提:数据库字段名必须与request内字段名一致
-    public function preciseQuery(string $column,Request $request,$laborReports){
-        $today=Carbon::now()->subDays(15);
-        $laborReportsTem=clone $laborReports;
-        $laborReportsTem=$laborReportsTem->where($column,'like','%'.$request->input($column).'%')->where('created_at','>',$today->format('Y-m-d'));
-        if($laborReportsTem->count()==0
-            ||$laborReportsTem->get()[0][$column]==$request->input($column)){
-            $laborReports=$laborReports->where($column,$request->input($column));
-        }else{
-            $laborReports=$laborReportsTem;
-        }
-        return $laborReports;
-    }
-
-    public function conditionQuery(Request $request,$laborReports){
-        if ($request->input('enter_number')){
-            $laborReports=$this->preciseQuery('enter_number',$request,$laborReports);
-        }
-        if ($request->input('user_workgroup_id')){
-            $laborReports=$this->preciseQuery('user_workgroup_id',$request,$laborReports);
-        }
-        if ($request->input('created_at_start')){
-            $created_at_start=$request->input('created_at_start')." 00:00:00";
-            $laborReports=$laborReports->where('created_at','>=',$created_at_start);
-        }
-        if ($request->input('created_at_end')){
-            $created_at_end=$request->input('created_at_end')." 23:59:59";
-            $laborReports=$laborReports->where('created_at','<=',$created_at_end);
-        }
-        if ($request->input('mobile_phone')){
-            $laborReports=$laborReports->where('mobile_phone',$request->input('mobile_phone'));
-        }
-        if ($request->input('identity_number')){
-            $laborReports=$this->preciseQuery('identity_number',$request,$laborReports);
-        }
-        return $laborReports;
+    public function __construct()
+    {
+        app()->singleton('laborReportService',LaborReportService::class);
     }
     /**
      * Display a listing of the resource.
-     *@param  \Illuminate\Http\Request  $request
-     * @return \Illuminate\Http\Response
+     * @param  Request $request
+     * @return void
      * 临时工报表
      */
     public function index(Request $request)
@@ -71,20 +39,13 @@ class LaborReportController extends Controller
         $permittingWorkgroups=UserWorkgroup::whereIn('id',$userWorkgroupIds)->get();
         if($permittingWorkgroups->isEmpty())$permittingWorkgroups="[]";
         $laravelEchoPrefix = config('database.redis.options.prefix');
-        if ($request->input()){
-            $laborReports=LaborReport::orderBy('id','DESC');
-            $laborReports=$this->conditionQuery($request,$laborReports);
-            $laborReports=$laborReports->paginate($request->input('paginate')?$request->input('paginate'):50);
-            $userWorkGroups=UserWorkgroup::select('id','name')->get();
-            return view('personnel.laborReport.index',['laborReports'=>$laborReports,'userWorkGroups'=>$userWorkGroups,'request'=>$request->input(),'permittingWorkgroups'=>$permittingWorkgroups,'laravelEchoPrefix'=>$laravelEchoPrefix,]);
-        }
         $laborReportsBuilder=LaborReport::with(['user','userDutyCheck','userWorkgroup'])->whereIn('user_workgroup_id',$userWorkgroupIds);
         if(Gate::allows('人事管理-临时工报表-可见全部组')||Gate::allows('人事管理-门卫审核')){
             $laborReportsBuilder->orWhereNull('user_workgroup_id');
         }
-        $laborReports=$laborReportsBuilder->orderBy('id','DESC')->paginate(50);
+        $laborReports=app('laborReportService')->paginate($request);
+        $sum = $laborReports->total();
         $laborReports=$laborReports->sortBy('name');
-        $laborReports->values()->all();
         foreach ($laborReports as $laborReport){
 //            if (!$laborReport->group_user_id){
 //                //三十分钟之内组长未审核实行软删除
@@ -101,23 +62,20 @@ class LaborReportController extends Controller
             }
         }
         $userWorkGroups=UserWorkgroup::select('id','name')->get();
-        return view('personnel/laborReport/index',['laborReports'=>$laborReports,'userWorkGroups'=>$userWorkGroups,'laravelEchoPrefix'=>$laravelEchoPrefix,'permittingWorkgroups'=>$permittingWorkgroups]);
+        return view('personnel/laborReport/index',['laborReports'=>$laborReports,'userWorkGroups'=>$userWorkGroups,
+            'laravelEchoPrefix'=>$laravelEchoPrefix,'permittingWorkgroups'=>$permittingWorkgroups,'sum'=>$sum,'request'=>$request->input()]);
 
     }
-    public function export($id,Request $request){
+    public function export(Request $request){
         if (!Gate::allows('人事管理-临时工报表')){return redirect(url('/')); }
         ini_set('max_execution_time',3500);
         ini_set('memory_limit','3526M');
-        if ($id==-1){
-            $id=[];
-            $laborReports=LaborReport::select('id');
-            $laborReports=$this->conditionQuery($request,$laborReports);
-            $laborReports=$laborReports->get();
-            foreach ($laborReports as $laborReports){
-                array_push($id,$laborReports->id);
-            }
-        }else $id = explode( ',',$id);
-        if (!$id)return ;
+        if ($request->checkAllSign){
+            $request->offsetUnset('checkAllSign');
+            $laborReports=app('laborReportService')->get($request);
+        }else{
+            $laborReports=app('laborReportService')->some($request);
+        }
         $row=[[
             'id'=>'ID',
             'enter_at'=>'进场时间',
@@ -138,8 +96,8 @@ class LaborReportController extends Controller
             'remark'=>'备注',
         ]];
         $list=[];
-        for ($i=0; $i<count($id);$i++){
-            $laborReport=LaborReport::with(['userWorkgroup','user'])->find($id[$i]);
+        for ($i=0; $i<count($laborReports);$i++){
+            $laborReport=$laborReports[$i];
             $w=[
                 'id'=>isset($laborReport->id)?$laborReport->id:'',
                 'enter_at'=>isset($laborReport->enter_at)?$laborReport->enter_at:'',

+ 3 - 3
app/Http/Controllers/OrderController.php

@@ -101,7 +101,7 @@ class OrderController extends Controller
     }
 
     public function delivering(Request $request){
-        if(!Gate::allows('订单管理-查询')){ return redirect(url('/'));  }
+        if(!Gate::allows('订单管理-查询')){ return redirect(url('/'));  }$a=microtime(true);
         $paginate=$request->input('paginate')??50;
         $page=$request->input('page')??1;
         $checkData=$request->input('data');
@@ -152,12 +152,12 @@ class OrderController extends Controller
                                     ORDERNO from ACT_ALLOCATION_DETAILS group by ORDERNO)ACT_ALLOCATION_DETAILS_temp
                                 ON DOC_ORDER_HEADER.orderno = ACT_ALLOCATION_DETAILS_temp.orderno";
         if ($alternate_sku1)$sql.=" where BAS_SKU.Alternate_SKU1 like '".$alternate_sku1."%'";
-        $orders=DB::connection('oracle')->select(DB::raw($sql));
+        $orders=DB::connection('oracle')->select(DB::raw($sql));$b=microtime(true); dd($b-$a);
         $commodities=[];
         foreach ($orders as $index=>$order){
             if ($order->picktotraceid){
                 $order->picktotraceid=rtrim($order->picktotraceid, ',');
-                $picktotraceid=array_unique(explode(',',$order->picktotraceid));
+                $picktotraceid=array_values(array_unique(explode(',',$order->picktotraceid)));
                 $order->picktotraceid=$picktotraceid;
             }
             if (isset($commodities[$order->orderno])){

+ 0 - 6
app/Http/Controllers/RejectedBillController.php

@@ -102,10 +102,6 @@ class RejectedBillController extends Controller
         $rejectedBill->fill($request->all());
         $rejectedBill->save();
 
-        if($request->input('is_at_edit_page')==true){
-            Session::put('rejected.index.isFromEditPage',true);
-        }
-
         $this->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true'];
     }
@@ -223,8 +219,6 @@ class RejectedBillController extends Controller
     public function edit(RejectedBill $rejectedBill,Request $request)
     {
         if(!Gate::allows('退货管理-编辑')){ return redirect(url('/'));  }
-        $filterParams=$request->input('filterParams');
-        Session::put('rejected.index.filterParams',$filterParams);
         $user=Auth::user();
         $owners=Owner::all()->whereIn('id',
             $user?$user->getPermittingOwnerIdsAttribute():[])->sortBy('name');

+ 39 - 34
app/Http/Controllers/RejectedController.php

@@ -11,38 +11,45 @@ use App\QualityLabel;
 use App\Rejected;
 use App\RejectedAnalyzeOwner;
 use App\RejectedBill;
+use App\Services\LogisticService;
+use App\Services\OwnerService;
+use App\Services\QualityLabelService;
+use App\Services\RejectedService;
 use Carbon\Carbon;
 use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
-use Illuminate\Support\Facades\Session;
 use Illuminate\Support\Facades\Validator;
 use Maatwebsite\Excel\Facades\Excel;
 use function foo\func;
 
 class RejectedController extends Controller
 {
+    public function __construct()
+    {
+        app()->singleton('rejectedService',RejectedService::class);
+    }
+
     /**
      * Display a listing of the resource.
      * @param Request $request
+     * @param OwnerService $ownerService
+     * @param QualityLabelService $qualityLabelService
+     * @param LogisticService $logisticService
      * @return void
      */
-    public function index(Request $request)
+    public function index(Request $request,OwnerService $ownerService,
+                          QualityLabelService $qualityLabelService,LogisticService $logisticService)
     {
         if(!Gate::allows('退货管理-查询')){ return redirect(url('/login'));  }
-        $user=Auth::user();
-        $paginate = $request->input('paginate')??50;
-        $paginateParams = $this->packFilterParams($request);
-        $page =$paginateParams['page'] ?? $request->input('page') ?? 1;
-        $paginateParams['paginate']=$paginate;
-        $rejectedQuery=$this->buildFilteredQuery($paginateParams)->orderBy('id','desc')->whereIn('id_owner',
-            $user?$user->getPermittingOwnerIdsAttribute():[]);
-        $rejectedBills=$rejectedQuery->paginate($paginate, ['*'], 'page', $page);
-        $owners = Owner::filterAuthorities()->get();
-        $qualityLabels = QualityLabel::all();
-        $logistics=Logistic::get();
+
+        $rejectedBills=app('rejectedService')->paginate($request);
+        $owners = $ownerService->selectGet();
+        $qualityLabels = $qualityLabelService->get();
+        $logistics=$logisticService->get();
+        $paginateParams = $request->input();
         return view('rejected.search.general',compact('rejectedBills','owners','logistics',
             'paginateParams','qualityLabels'));
     }
@@ -90,12 +97,6 @@ class RejectedController extends Controller
             'logistic_number'=> $request->input('logistic_number'),
             'id_logistic_return'=> $request->id_logistic_return,
         ];
-
-        if(Session::get('rejected.index.isFromEditPage')){
-            $paginateParams=json_decode(Session::get('rejected.index.filterParams'),true);
-            Session::forget('rejected.index.isFromEditPage');
-            Session::forget('rejected.index.filterParams');
-        }
         return $paginateParams;
     }
     private function buildFilteredQuery(Array $params){
@@ -143,10 +144,6 @@ class RejectedController extends Controller
             }
         }
         if($is_checked!=''){
-//            $orderSign = false;
-//            if($is_checked){
-//                $orderSign = true;
-//            }
             if(!$is_checked)
                 $rejectedBillsQuery=$rejectedBillsQuery->where(function ($query) {
                     $query->where('is_checked', false)
@@ -389,10 +386,26 @@ class RejectedController extends Controller
 //        $re=$rejectedBill->delete();
 //        return ['success'=>$re];
     }
-    public function exportExcel(Request $request)
+    public function export(Request $request){
+        if(!Gate::allows('退货管理-查询')){ return '没有权限';  }
+        ini_set('max_execution_time',2500);
+        ini_set('memory_limit','1526M');
+        $export=new RejectedExport();
+        if ($request->checkAllSign){
+            $request->offsetUnset('checkAllSign');
+            $rejectedBills = app('rejectedService')->exportData($request);
+            $export->setRejectedBills($rejectedBills);
+        }else{
+            $ids=$request->input('data')??'';
+            $ids=explode(',',$ids);
+            $export->setIds($ids);
+        }
+        return Excel::download($export,'退货表'.Carbon::now().'.xlsx');
+    }
+
+    /*public function exportExcel(Request $request)
     {
         if(!Gate::allows('退货管理-查询')){ return '没有权限';  }
-        $this->log(__METHOD__,'找不到表',json_encode($request->toArray()),Auth::user()['id']);
         ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');
         $ids=$request->input('ids')??'';
@@ -405,7 +418,6 @@ class RejectedController extends Controller
     public function exportExcelOnFilterParams(Request $request)
     {
         if(!Gate::allows('退货管理-查询')){ return '没有权限';  }
-        $this->log(__METHOD__,'找不到表',json_encode($request->toArray()),Auth::user()['id']);
         ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');
         $filterParams=json_decode($request->input('filterParams'),true);
@@ -421,7 +433,7 @@ class RejectedController extends Controller
         $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return Excel::download($export,'退货表'.Carbon::now().'.xlsx');
 
-    }
+    }*/
     public function import(Request $request)
     {
         return view('rejected.import');
@@ -443,13 +455,6 @@ class RejectedController extends Controller
         }
     }
 
-
-     //generalSearch 一般查询 zengjun
-    public function indexGeneral(Request $request)
-    {
-      return $this->index( $request);
-    }
-
     //analyzeSearch 统计查询 zengjun
     public function indexAnalyze(Request $request)
     {

+ 1 - 34
app/Http/Controllers/TestController.php

@@ -290,41 +290,8 @@ class TestController extends Controller
     }
 
     /*1*/
-    function test()
+    function test(Request $request)
     {/**/
-        $token_decode = base64_decode('eJxtkm9LwzAQh79LYL4KbZKmbVoYUp1IBRHnHKiMkXWlltk%2FtJlMht%2Fdy7qdCntRePK79LlLyJ506ZrEnLGQMUo%2B847EhDvMCQglpoeKH%2FlKRB6XoZCUZJh58IvknFOy6uYTEr9xoRj1Q7WwyRSCIQkFW9ABAwUIFiHtnhS2kHdj2j523VYXudPmZd%2FUhVPlpdnq2smaym0%2F9NdKZ5vXJ7es1%2Fnu0ujV2BvdiJFio%2Bj6wqz7ZttludHFuF%2B2mSmrpS6bqi%2FgAAT6VDPbh%2FuKwgcZDH%2BigP2j6EAcSVDID%2BQhSSQfKUAKkdSZLDhj%2BTXbbvw0y0B20iMppBApQPKRJBL6fI6EZok%2BiVPJ4URwZZvDle3p1cPkxa713yukCWwWHPTQ1nIgQMsknaRzq%2BGS0Sg6riKwq6EEHmM91ncPjwyqfVnUQPndbvZcpElyWyTTx%2FGYfP8AP%2B2XLw%3D%3D');
-        $result = ($token_decode);
-        dd($result);
-        $cookieFile = dirname(__FILE__).'';
-        $loginUrl = '';
-        $url = '';
-        $data=array(
-            'email'=>'',
-            'password'=>''
-        );
-        $ch=curl_init();
-        curl_setopt($ch,CURLOPT_URL,$loginUrl);
-        curl_setopt($ch,CURLOPT_POST,true);
-        curl_setopt($ch,CURLOPT_HEADER,0);
-        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
-        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookieFile);
-        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
-        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
-        $ret = curl_exec($ch);var_dump($ret);
-        curl_close($ch);
-        $ch=curl_init();
-        curl_setopt($ch,CURLOPT_URL,$url);
-        curl_setopt($ch,CURLOPT_HEADER,0);
-        curl_setopt($ch,CURLOPT_COOKIEFILE,$cookieFile);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);var_dump(curl_error($ch));
-        $ret=curl_exec($ch);var_dump(curl_error($ch));
-        curl_close($ch);
-        dd($ret);
     }
 
 }

+ 25 - 1
app/Services/LaborReportService.php

@@ -7,17 +7,41 @@ namespace App\Services;
 use App\Events\ExportEvent;
 use App\Events\ImportEvent;
 use App\Http\Controllers\Controller;
-use App\Http\Controllers\UserDutyCheckController;
 use App\LaborReportStatus;
 use App\LaborCompany;
 use App\LaborReport;
+use App\Services\common\QueryService;
 use App\UserDetail;
 use App\UserDutyCheck;
 use App\UserLabor;
 use Carbon\Carbon;
+use Illuminate\Http\Request;
+
 
 class LaborReportService
 {
+    private function conditionQuery(Request $request){
+        $laborReports=LaborReport::query()->orderBy('id','DESC');
+        $columnQueryRules=[
+            'enter_number' => ['timeLimit' => 15],
+            'created_at_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
+            'created_at_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
+            'identity_number' => ['timeLimit' => 15]
+        ];
+        $laborReports = app(QueryService::class)->query($request,$laborReports,$columnQueryRules);
+        return $laborReports;
+    }
+    public function paginate(Request $request){
+        return $this->conditionQuery($request)->paginate($request->paginate ?? 50);
+    }
+    public function get(Request $request){
+        return $this->conditionQuery($request)->get();
+    }
+    public function some(Request $request){
+        return LaborReport::query()->orderBy('id','DESC')
+                        ->whereIn('id',$request->data)->get();
+    }
+
     //根据进场记录创建临时工报表
     public function makeLaborReportByUserDutyCheck($userDutyCheck){
         $dateNow=Carbon::now()->format('Y-m-d');

+ 13 - 0
app/Services/LogisticService.php

@@ -0,0 +1,13 @@
+<?php 
+
+namespace App\Services; 
+
+use App\Logistic;
+
+Class LogisticService
+{ 
+    public function get(){
+        return Logistic::get();
+    }
+
+}

+ 13 - 0
app/Services/QualityLabelService.php

@@ -0,0 +1,13 @@
+<?php 
+
+namespace App\Services; 
+
+use App\QualityLabel;
+
+Class QualityLabelService
+{ 
+    public function get(){
+        return QualityLabel::get();
+    }
+
+}

+ 90 - 0
app/Services/RejectedService.php

@@ -0,0 +1,90 @@
+<?php 
+
+namespace App\Services; 
+
+use App\Exports\RejectedExport;
+use App\RejectedBill;
+use App\Services\common\QueryService;
+use Carbon\Carbon;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
+
+Class RejectedService
+{
+    private function conditionQuery(Request $request){
+        $user = Auth::user();
+        $rejectedBills=RejectedBill::query()->with('items')->orderBy('id','desc')->whereIn('id_owner',
+            $user?$user->getPermittingOwnerIdsAttribute():[]);
+        $columnQueryRules=[
+            'created_at_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
+            'created_at_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
+            'owner_id' => ['alias' => 'id_owner'],
+            'order_number' => ['timeLimit' => 15],
+            'logistic_number' => ['timeLimit' => 15]
+        ];
+        if($request->id_quality_label!=''){
+            if($request->id_quality_label==1){
+                $rejectedBills->whereDoesntHave('items',function ($query){
+                    $query->where('id_quality_label',2);
+                });
+            }else{
+                $rejectedBills->whereHas('items',function ($query){
+                    $query->where('id_quality_label',2);
+                });
+            }
+            $request->offsetUnset('id_quality_label');
+        }
+        if($request->is_checked!=''){
+            if(!$request->is_checked)
+                $rejectedBills=$rejectedBills->where(function ($query) {
+                    $query->where('is_checked', false)
+                        ->orWhere('is_checked', null);
+                });
+            else{
+                $rejectedBills=$rejectedBills->where('is_checked', true);
+            }
+            $request->offsetUnset('is_checked');
+        }
+        if($request->is_loaded!=''){
+            $is_loaded=$request->is_loaded;
+            if($is_loaded=='null')$is_loaded=null;
+            $rejectedBills=$rejectedBills->where('is_loaded', $is_loaded);
+            $request->offsetUnset('is_loaded');
+        }
+        if($request->barcode_goods!=''){
+            $barcode_goods = $request->barcode_goods;
+            $rejectedBills->whereHas('items',function ($query)use($barcode_goods){
+                $query->where('barcode_goods','like',trim($barcode_goods).'%');
+            });
+            $request->offsetUnset('barcode_goods');
+        }
+        if($request->logistic_number_return){
+            if(strpos($request->logistic_number_return,',')||strpos($request->logistic_number_return,',')||strpos($request->logistic_number_return,' ')){
+                $arr=array_filter(preg_split('/[,, ]+/is', $request->logistic_number_return));
+                $rejectedBills=$rejectedBills->whereIn('logistic_number_return',$arr);
+                $request->offsetUnset('logistic_number_return');
+            }else{
+                $columnQueryRules['logistic_number_return'] = ['timeLimit' => 15];
+            }
+        }
+        $rejectedBills = app(QueryService::class)->query($request,$rejectedBills,$columnQueryRules);
+        return $rejectedBills;
+    }
+
+    public function paginate(Request $request){
+        return $this->conditionQuery($request)->paginate($request->paginate ?? 50);
+    }
+
+    public function get(Request $request){
+        return $this->conditionQuery($request)->get();
+    }
+
+    public function exportData(Request $request){
+        $rejectedBills=$this->conditionQuery($request);
+        if($rejectedBills->count()>RejectedExport::$max){
+            $rejectedBills->where('is_finished',false);
+        }
+        return $rejectedBills;
+    }
+
+}

+ 173 - 251
resources/views/personnel/laborReport/index.blade.php

@@ -7,201 +7,155 @@
         @component('personnel.menu')@endcomponent
     </div>
     <div class="d-none container-fluid" id="list">
-                <form  method="GET" action="{{url('personnel/laborReport/')}}" id="optionSubmit">
-                    <table class="table table-sm table-bordered m-0 text-nowrap">
-                        <tr v-if="isBeingFilterConditions">
-                            <td colspan="10"><div class="col" style="padding:0">
-                                    <a  href="{{url('personnel/laborReport')}}"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
-                                </div></td>
-                        </tr>
-                        <tr>
-                            <td  colspan="9">
-                                <select name="paginate" v-model="filterData.paginate" class="tooltipTarget form-control-sm" style="vertical-align: middle" @change="setPaginate">
-                                    <option value="50">每页显示50条</option>
-                                    <option value="100">每页显示100条</option>
-                                    <option value="200">每页显示200条</option>
-                                    <option value="500">每页显示500条</option>
-                                    <option value="1000">每页显示1000条</option>
-                                </select></td>
-                        </tr>
-                        <tr>
-                            <td >
-                                <input style="max-width: 200px" name="created_at_start" type="date" v-model="filterData.created_at_start" :class="filterData.created_at_start?'bg-warning':''" class="form-control form-control-sm tooltipTarget" title="选择显示指定日期的起始时间">
-                                <input style="max-width: 200px" type="date" name="created_at_end" v-model="filterData.created_at_end" :class="filterData.created_at_end?'bg-warning':''" class="form-control form-control-sm tooltipTarget" title="选择显示指定日期的结束时间">
-                            </td>
-                            <td>
-                                <div class="form-inline">
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="小组"
-                                           style="width:70px" @input="owner_seek"
-                                           title="输入关键词快速定位下拉列表,回车确定">
-                                    <select name="user_workgroup_id" id="user_workgroup_id" :class="filterData.user_workgroup_id?'bg-warning':''" v-model="filterData.user_workgroup_id" @change="setUserWorkGroup"
-                                            class="form-control form-control-sm tooltipTarget"  title="选择要显示的工作组">
-                                        @foreach($userWorkGroups as $userWorkGroup)
-                                            <option value="{{$userWorkGroup->id}}">{{$userWorkGroup->name}}</option>
-                                        @endforeach
-                                    </select>
-                                    <input hidden type="submit" >
-                                </div>
-                                <input type="text"  name="mobile_phone" class="form-control form-control-sm tooltipTarget" v-model="filterData.mobile_phone"  :class="filterData.mobile_phone?'bg-warning':''" style="max-width: 200px" placeholder="电话号">
-                            </td>
-                            <td >
-                                <input :class="filterData.enter_number?'bg-warning':''" type="text" title="支持15内模糊搜索与15天外精确搜索" name="enter_number" class="form-control form-control-sm  tooltipTarget" style="max-width: 200px" v-model="filterData.enter_number"  placeholder="进厂编号">
-                                <input :class="filterData.identity_number?'bg-warning':''" type="text" title="支持15内模糊搜索与15天外精确搜索" name="identity_number" class="form-control form-control-sm  tooltipTarget" style="max-width: 200px"  v-model="filterData.identity_number"  placeholder="身份证号"></td>
-                        </tr>
-                        <tr>
-                            <td colspan="9">
-                                    <span class="dropdown">
-                                        <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData>0?'btn-dark text-light':'']"
-                                                data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
-                                            导出Excel
-                                        </button>
-                                        <div class="dropdown-menu">
-                                            <a class="dropdown-item" @click="laborReportExport(1)" href="javascript:">导出勾选内容</a>
-                                            <a class="dropdown-item" @click="laborReportExport(2)" href="javascript:">导出所有页</a>
-                                        </div>
-                                    </span>
-                                <input hidden type="submit" >
-                            </td>
-                        </tr>
-                    </table>
-                </form>
-
-                <table class="table table-sm table-hover table-striped d-none d-sm-block p-0 text-nowrap table-bordered" >
-                    <tr>
-                        <th class="text-center">
-                            <label for="all">
-                                <input id="all" type="checkbox" @click="checkAll($event)">全选
-                            </label>
-                        </th>
-                        <th class="text-center">序号</th>
-                        {{--                            <th>ID</th>--}}
-                        <th class="text-center">操作</th>
-                        <th class="text-center">进场时间</th>
-                        <th class="text-center">退场时间</th>
-                        <th class="text-center"  style="background-color: rgb(241, 234, 190)">进厂编号</th>
-                        <th class="text-center" style="background-color: rgb(241, 234, 190)">小组</th>
-                        <th class="text-center" style="background-color: rgb(241, 234, 190)">临时工</th>
-                        <th class="text-center" style="background-color: rgb(241, 234, 190)">电话</th>
-                        <th class="text-center" style="background-color: rgb(241, 234, 190)">身份证号</th>
-                        <th class="text-center" style="background-color: rgb(241, 234, 190)">劳务所</th>
-                        <th class="text-center">进组时间</th>
-                        <th class="text-center">退组时间</th>
-                        <th class="text-center">审核时间</th>
-                        <th class="text-center">审核人</th>
-                        <th class="text-center">晚饭打卡(分)</th>
-                        <th class="text-center">在线时长</th>
-                        <th class="text-center">本次工作时长</th>
-                        <th class="text-center">备注</th>
-                    </tr>
-                    <tr v-for="(laborReport,i) in laborReports" @click="selectedColor(laborReport.id)" :style="{'font-weight': laborReport.id==selectedStyle?'bold':''}">
-                        <td>
-                            <input class="checkItem" type="checkbox" :value="laborReport.id" v-model="checkData">
-                        </td>
-                        <td>@{{ i+1  }}</td>
-                        <td >
-                            @can('人事管理-门卫审核')
-                                <span >
-                                <span v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</span>
-                                <span v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{laborReport.sequence}}/@{{laborReport.amountOfJoined}}</span>
-                                <button v-else class="btn btn-sm btn-outline-secondary"  @click="guardClockAudit(laborReport.id,laborReport.userDutyCheckId)">门卫审核</button>
-                                </span>
-                            @else
-                                <span v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</span>
-                                <span v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{ laborReport.sequence }}/@{{ laborReport.amountOfJoined }}</span>
-                                <span v-else class="text-center"><b class="text-danger">门卫未审核</b></span>
-                            @endcan
-                            &nbsp;&nbsp;&nbsp;&nbsp;
-                            @can('人事管理-组长审核')
-                                <span>
-                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup" @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" class="text-info">已退组</span>
-                                    <span v-else-if="laborReport.is_export" class="text-black">已退场</span>
-                                <button v-else-if="laborReport.userWorkGroupId" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-sm btn-outline-primary">组长审核</button>
-                                </span>
-                            @else
-                                <span  v-if="laborReport.groupUserId&&!laborReport.is_exportGroup"><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>
-                                <span v-else-if="laborReport.userWorkGroupId" class="text-center"><b class="text-danger">组长未审核</b></span>
-                            @endcan
-                        </td>
-                        <td class="text-muted">@{{laborReport.enter_at}}</td>
-                        <td >@{{ laborReport.exit_at }}</td>
-                        <td class="text-muted">@{{laborReport.enterNumber}}</td>
-                        <td>@{{laborReport.userWorkGroupName}}</td>
-                        <td >@{{laborReport.name}}</td>
-                        <td class="text-muted">@{{laborReport.mobilePhone}}</td>
-                        <td class="text-muted">@{{laborReport.identityNumber}}</td>
-                        <td class="text-muted">@{{laborReport.laborCompany}}</td>
-                        <td>@{{laborReport.checkInAt}}</td>
-                        <td class="text-muted">@{{laborReport.checkOutAt}}</td>
-                        <td class="text-muted">@{{laborReport.verifyAt}}</td>
-                        <td class="text-muted"><span v-if="laborReport.verifyPerson">@{{laborReport.verifyPerson}}</span></td>
-                        <td class="text-muted"><span v-if="laborReport.relax_time">@{{laborReport.relax_time}}</span></td>
+        <div id="form_div"></div>
+        <span class="dropdown">
+                <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget mt-1 mb-1" :class="[checkData.length>0?'btn-dark text-light':'']"
+                        data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
+                    导出Excel
+                </button>
+                <div class="dropdown-menu">
+                    <a class="dropdown-item" @click="laborReportExport(false)" href="javascript:">导出勾选内容</a>
+                    <a class="dropdown-item" @click="laborReportExport(true)" href="javascript:">导出所有页</a>
+                </div>
+            </span>
+        <table class="table table-sm table-hover table-striped d-none d-sm-block p-0 text-nowrap table-bordered" >
+            <tr>
+                <th class="text-center">
+                    <label for="all">
+                        <input id="all" type="checkbox" @click="checkAll($event)">全选
+                    </label>
+                </th>
+                <th class="text-center">序号</th>
+                {{--                            <th>ID</th>--}}
+                <th class="text-center">操作</th>
+                <th class="text-center">进场时间</th>
+                <th class="text-center">退场时间</th>
+                <th class="text-center"  style="background-color: rgb(241, 234, 190)">进厂编号</th>
+                <th class="text-center" style="background-color: rgb(241, 234, 190)">小组</th>
+                <th class="text-center" style="background-color: rgb(241, 234, 190)">临时工</th>
+                <th class="text-center" style="background-color: rgb(241, 234, 190)">电话</th>
+                <th class="text-center" style="background-color: rgb(241, 234, 190)">身份证号</th>
+                <th class="text-center" style="background-color: rgb(241, 234, 190)">劳务所</th>
+                <th class="text-center">进组时间</th>
+                <th class="text-center">退组时间</th>
+                <th class="text-center">审核时间</th>
+                <th class="text-center">审核人</th>
+                <th class="text-center">晚饭打卡(分)</th>
+                <th class="text-center">在线时长</th>
+                <th class="text-center">本次工作时长</th>
+                <th class="text-center">备注</th>
+            </tr>
+            <tr v-for="(laborReport,i) in laborReports" @click="selectedColor(laborReport.id)" :style="{'font-weight': laborReport.id==selectedStyle?'bold':''}">
+                <td>
+                    <input class="checkItem" type="checkbox" :value="laborReport.id" v-model="checkData">
+                </td>
+                <td>@{{ i+1  }}</td>
+                <td >
+                    @can('人事管理-门卫审核')
+                        <span >
+                        <span v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</span>
+                        <span v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{laborReport.sequence}}/@{{laborReport.amountOfJoined}}</span>
+                        <button v-else class="btn btn-sm btn-outline-secondary"  @click="guardClockAudit(laborReport.id,laborReport.userDutyCheckId)">门卫审核</button>
+                        </span>
+                    @else
+                        <span v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</span>
+                        <span v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{ laborReport.sequence }}/@{{ laborReport.amountOfJoined }}</span>
+                        <span v-else class="text-center"><b class="text-danger">门卫未审核</b></span>
+                    @endcan
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    @can('人事管理-组长审核')
+                        <span>
+                        <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup" @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" class="text-info">已退组</span>
+                            <span v-else-if="laborReport.is_export" class="text-black">已退场</span>
+                        <button v-else-if="laborReport.userWorkGroupId" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-sm btn-outline-primary">组长审核</button>
+                        </span>
+                    @else
+                        <span  v-if="laborReport.groupUserId&&!laborReport.is_exportGroup"><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>
+                        <span v-else-if="laborReport.userWorkGroupId" class="text-center"><b class="text-danger">组长未审核</b></span>
+                    @endcan
+                </td>
+                <td class="text-muted">@{{laborReport.enter_at}}</td>
+                <td >@{{ laborReport.exit_at }}</td>
+                <td class="text-muted">@{{laborReport.enterNumber}}</td>
+                <td>@{{laborReport.userWorkGroupName}}</td>
+                <td >@{{laborReport.name}}</td>
+                <td class="text-muted">@{{laborReport.mobilePhone}}</td>
+                <td class="text-muted">@{{laborReport.identityNumber}}</td>
+                <td class="text-muted">@{{laborReport.laborCompany}}</td>
+                <td>@{{laborReport.checkInAt}}</td>
+                <td class="text-muted">@{{laborReport.checkOutAt}}</td>
+                <td class="text-muted">@{{laborReport.verifyAt}}</td>
+                <td class="text-muted"><span v-if="laborReport.verifyPerson">@{{laborReport.verifyPerson}}</span></td>
+                <td class="text-muted"><span v-if="laborReport.relax_time">@{{laborReport.relax_time}}</span></td>
 {{--                        <td class="text-muted"><span v-if="laborReport.onlineDuration">@{{laborReport.onlineDuration}}</span></td>--}}
-                        <td class="text-muted"><span v-if="laborReport.thisRecordOnlineTime">@{{laborReport.thisRecordOnlineTime}}</span></td>
-                        <td><span v-if="laborReport.thisRecordWorkingTime">@{{laborReport.thisRecordWorkingTime}}</span></td>
+                <td class="text-muted"><span v-if="laborReport.thisRecordOnlineTime">@{{laborReport.thisRecordOnlineTime}}</span></td>
+                <td><span v-if="laborReport.thisRecordWorkingTime">@{{laborReport.thisRecordWorkingTime}}</span></td>
 {{--                        <td><span v-if="laborReport.workingDuration">@{{laborReport.workingDuration}}</span></td>--}}
-                        <td><span v-if="laborReport.remark">@{{laborReport.remark}}</span></td>
-                    </tr>
-                </table>
-                <table class="table table-striped table-sm table-bordered table-hover p-0 d-block d-sm-none" style="background: rgb(255, 255, 255);">
-                    <tbody>
-                    <tr v-for="laborReport in laborReports">
-                        <td style="filter:grayscale(30%); ">
-                            <div  class="pl-3 mt-1">
-                                <div style="transform:scale(1)" class="pl-0">
-                                        <span class="mr-3 text-nowrap">
-                                            <span >操作:</span>
+                <td><span v-if="laborReport.remark">@{{laborReport.remark}}</span></td>
+            </tr>
+        </table>
+        <table class="table table-striped table-sm table-bordered table-hover p-0 d-block d-sm-none" style="background: rgb(255, 255, 255);">
+            <tbody>
+            <tr v-for="laborReport in laborReports">
+                <td style="filter:grayscale(30%); ">
+                    <div  class="pl-3 mt-1">
+                        <div style="transform:scale(1)" class="pl-0">
+                                <span class="mr-3 text-nowrap">
+                                    <span >操作:</span>
+                                    <span >
+                                        @can('人事管理-门卫审核')
                                             <span >
-                                                @can('人事管理-门卫审核')
-                                                    <span >
-                                <b v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"   class="text-success">已审核</b>
-                                <b v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{laborReport.sequence}}/@{{laborReport.amountOfJoined}}</b>
-                                <button v-else style="transform:scale(1.1)" class="btn btn-lg btn-outline-secondary"  @click="guardClockAudit(laborReport.id,laborReport.userDutyCheckId)">门卫审核</button>
-                                </span>
-                                                @else
-                                                    <b v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</b>
-                                                    <b v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{ laborReport.sequence }}/@{{ laborReport.amountOfJoined }}</b>
-                                                    <span v-else class="text-center"><b class="text-danger">门卫未审核</b></span>
-                                                @endcan
-                                    &nbsp;&nbsp;&nbsp;&nbsp;
-                                @can('人事管理-组长审核')
-                                                    <span>
-                                <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup" @click="groupExport(laborReport.id,laborReport.name)" style="transform:scale(1.1)" class="btn btn-lg btn-danger">退组</button>
-                                <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.userWorkGroupId" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-lg btn-outline-primary" style="transform:scale(1.1)" >组长审核</button>
+                        <b v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"   class="text-success">已审核</b>
+                        <b v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{laborReport.sequence}}/@{{laborReport.amountOfJoined}}</b>
+                        <button v-else style="transform:scale(1.1)" class="btn btn-lg btn-outline-secondary"  @click="guardClockAudit(laborReport.id,laborReport.userDutyCheckId)">门卫审核</button>
+                        </span>
+                                        @else
+                                            <b v-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined==1"  class="text-success">已审核</b>
+                                            <b v-else-if="laborReport.userDutyCheckVerifyUserId&&laborReport.amountOfJoined&&laborReport.sequence"  class="text-black">&nbsp;&nbsp;&nbsp;@{{ laborReport.sequence }}/@{{ laborReport.amountOfJoined }}</b>
+                                            <span v-else class="text-center"><b class="text-danger">门卫未审核</b></span>
+                                        @endcan
+                            &nbsp;&nbsp;&nbsp;&nbsp;
+                        @can('人事管理-组长审核')
+                                            <span>
+                        <button v-if="laborReport.groupUserId&&!laborReport.is_exportGroup" @click="groupExport(laborReport.id,laborReport.name)" style="transform:scale(1.1)" class="btn btn-lg btn-danger">退组</button>
+                        <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.userWorkGroupId" @click="groupClockAudit(laborReport.id,laborReport.userWorkgroupNeedRemark)" class="btn btn-lg btn-outline-primary" style="transform:scale(1.1)" >组长审核</button>
+                        </span>
+                                        @else
+                                            <span  v-if="laborReport.groupUserId&&!laborReport.is_exportGroup"><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>
+                                            <span v-else-if="laborReport.userWorkGroupId" class="text-center"><b class="text-danger">组长未审核</b></span>
+                                        @endcan
+                                    </span>
                                 </span>
-                                                @else
-                                                    <span  v-if="laborReport.groupUserId&&!laborReport.is_exportGroup"><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>
-                                                    <span v-else-if="laborReport.userWorkGroupId" class="text-center"><b class="text-danger">组长未审核</b></span>
-                                                @endcan
-                                            </span>
-                                        </span>
-                                    <span class="mr-3   text-nowrap"><span class="text-black">进场时间:</span><span class="text-black-50">@{{laborReport.enter_at  }}</span></span>
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">退场时间:</span><span style="color:#af7651">@{{ laborReport.exit_at }}</span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">进场编号:</span><span style="color:#af7651">@{{ laborReport.enterNumber }}</span></span>--}}
-                                    <span class="mr-3  text-nowrap"><span class="text-black">小组:</span><span class="text-black-50">@{{laborReport.userWorkGroupName  }}</span></span>
-                                    <span class="mr-3   text-nowrap"><span class="text-black">临时工:</span><span class="text-black-50">@{{ laborReport.name }} </span></span>
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">电话:</span><span style="color:#af7651" v-if="">@{{ laborReport.mobilePhone }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">身份证号:</span><span style="color:#af7651" v-if="">@{{ laborReport.identityNumber }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">劳务所:</span><span style="color:#af7651" v-if="">@{{ laborReport.laborCompany }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">进组时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.checkInAt }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">退组时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.checkOutAt }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">审核时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.verifyAt }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">审核人:</span><span style="color:#af7651" v-if="">@{{ laborReport.verifyPerson }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">晚饭打卡(分):</span><span style="color:#af7651" v-if="">@{{ laborReport.relax_time }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">在线时长:</span><span style="color:#af7651" v-if="">@{{ laborReport.onlineDuration }} </span></span>--}}
-                                    {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">本次工作时长:</span><span style="color:#af7651" v-if="">@{{ laborReport.workingDuration }} </span></span>--}}
-                                </div>
-                            </div>
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
+                            <span class="mr-3   text-nowrap"><span class="text-black">进场时间:</span><span class="text-black-50">@{{laborReport.enter_at  }}</span></span>
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">退场时间:</span><span style="color:#af7651">@{{ laborReport.exit_at }}</span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">进场编号:</span><span style="color:#af7651">@{{ laborReport.enterNumber }}</span></span>--}}
+                            <span class="mr-3  text-nowrap"><span class="text-black">小组:</span><span class="text-black-50">@{{laborReport.userWorkGroupName  }}</span></span>
+                            <span class="mr-3   text-nowrap"><span class="text-black">临时工:</span><span class="text-black-50">@{{ laborReport.name }} </span></span>
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">电话:</span><span style="color:#af7651" v-if="">@{{ laborReport.mobilePhone }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">身份证号:</span><span style="color:#af7651" v-if="">@{{ laborReport.identityNumber }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">劳务所:</span><span style="color:#af7651" v-if="">@{{ laborReport.laborCompany }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">进组时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.checkInAt }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">退组时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.checkOutAt }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">审核时间:</span><span style="color:#af7651" v-if="">@{{ laborReport.verifyAt }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">审核人:</span><span style="color:#af7651" v-if="">@{{ laborReport.verifyPerson }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">晚饭打卡(分):</span><span style="color:#af7651" v-if="">@{{ laborReport.relax_time }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">在线时长:</span><span style="color:#af7651" v-if="">@{{ laborReport.onlineDuration }} </span></span>--}}
+                            {{--                                    <span class="mr-3 text-nowrap"><span class="text-black">本次工作时长:</span><span style="color:#af7651" v-if="">@{{ laborReport.workingDuration }} </span></span>--}}
+                        </div>
+                    </div>
+                </td>
+            </tr>
+            </tbody>
+        </table>
+        <div class="text-info h5 btn btn">{{$laborReports->count()}}/@{{ sum }}</div>
+        {{--{{$laborReports->appends($request)->links()}}--}}
         {{--      选择晚饭时长弹框      --}}
         <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
             <div class="modal-dialog">
@@ -279,6 +233,8 @@
 @endsection
 
 @section('lastScript')
+    <script type="text/javascript" src="{{asset('js/queryForm/export.js')}}"></script>
+    <script type="text/javascript" src="{{asset('js/queryForm/queryForm200724.js')}}"></script>
     <script>
             @if(isset($request))
         let request={!! json_encode($request) !!};
@@ -310,18 +266,17 @@
                 ],
                 i:0,
                 userWorkGroups:[
-                        @foreach($userWorkGroups as $userWorkGroup)
-                    {id:'{{$userWorkGroup->id}}',name:'{{$userWorkGroup->name}}'},
+                    @foreach($userWorkGroups as $userWorkGroup)
+                    {name:'{{$userWorkGroup->id}}',value:'{{$userWorkGroup->name}}'},
                     @endforeach
                 ],
-                filterData:
-                    {paginate:'50',created_at_start:'',created_at_end:'',enter_number:'',identity_number:'',user_workgroup_id: '',mobile_phone:''},
                 checkData:[],
                 permittingWorkgroups:{!! $permittingWorkgroups !!},
                 relax_time:'',dateTime:'',selectedStyle:'',
+                sum:{!! $sum !!},
             },
             mounted:function(){
-                initEcho();
+  /*              initEcho();
                 //进场
                 Echo.channel('{{$laravelEchoPrefix}}userDutyCheck').listen('ImportEvent',(e)=>{
                     window.location.reload();
@@ -355,10 +310,26 @@
                             window.location.reload();
                         }, 500);
                     });
-                });
-                this.initInputs();
+                });*/
                 $(".tooltipTarget").tooltip({'trigger':'hover'});
                 $('#list').removeClass('d-none');
+                let data=[
+                    [
+                        {name:'created_at_start',type:'dataTime',tip:'选择显示指定日期的起始时间'},
+                        {name:'user_workgroup_id',type:'search_select',tip:['',''],placeholder:['小组',''],data:this.userWorkGroups},
+                        {name:'enter_number',type:'input',tip:'进场编号:支持15天内模糊搜索,15天外精确搜索',placeholder: '进场编号'},
+                    ],
+                    [
+                        {name:'created_at_end',type:'dataTime',tip:'选择显示指定日期的结束时间'},
+                        {name:'mobile_phone',type:'input',tip:'',placeholder: '电话号'},
+                        {name:'identity_number',type:'input',tip:'',placeholder: '身份证号'},
+                    ],
+                ];
+                this.form = new query({
+                    el:"#form_div",
+                    condition:data,
+                });
+                this.form.init();
             },
             watch:{
                 checkData:{
@@ -372,34 +343,7 @@
                     deep:true
                 }
             },
-            computed:{
-                isBeingFilterConditions:function(){
-
-                    for(let key in this.filterData){
-                        if(this.filterData[key]){
-                            if(key==='paginate')continue;
-                            return true
-                        }
-                    }
-                    return false;
-                },
-
-            },
             methods:{
-                initInputs:function(){
-                    let data=this;
-                    let uriParts =decodeURI(location.href).split("?");
-                    if(uriParts.length>1){
-                        let params = uriParts[1].split('&');
-                        params.forEach(function(paramPair){
-                            let pair=paramPair.split('=');
-                            let key = pair[0], val = pair[1];
-                            $('input[name="'+key+'"]').val(val);
-                            $('select[name="'+key+'"]').val(val);
-                            decodeURI(data.filterData[key]=val);
-                        });
-                    }
-                },
                 selectedColor(id){
                     if (id==this.selectedStyle){
                         this.selectedStyle='';
@@ -407,16 +351,6 @@
                     }
                     this.selectedStyle=id;
                 },
-                setPaginate:function(e){
-                    this.filterData.paginate=e.target.value;
-                    var form = document.getElementById("optionSubmit");
-                    form.submit();
-                },
-                setUserWorkGroup:function (e){
-                    this.filterData.user_workgroup_id=e.target.value;
-                    var form = document.getElementById("optionSubmit");
-                    form.submit();
-                },
                 checkAll(e){
                     if (e.target.checked){
                         this.laborReports.forEach((el,i)=>{
@@ -428,22 +362,10 @@
                         this.checkData = [];
                     }
                 },
-                laborReportExport(e){
-                    let val=e;
-                    let data=this.filterData;
-                    if (val==1){
-                        if (this.checkData&&this.checkData.length<=0){
-                            tempTip.setDuration(4000);
-                            tempTip.showSuccess('没有勾选任何记录');
-                        }else{
-                            location.href="{{url('laborReport/export').'/'}}"+this.checkData;
-                        }
-                    } else {
-                        location.href="{{url('laborReport/export/-1?created_at_start=')}}"+
-                            data.created_at_start+"&created_at_end="+data.created_at_end+"&enter_number="+
-                            data.enter_number+"&identity_number="+data.identity_number+"&user_workgroup_id="+data.user_workgroup_id+
-                            "&mobile_phone="+data.mobile_phone;
-                    }
+                laborReportExport(checkAllSign){
+                    let url = '{{url('laborReport/export')}}';
+                    let token='{{ csrf_token() }}';
+                    excelExport(checkAllSign,this.checkData,url,this.sum,token);
                 },
                 //门卫审核
                 guardClockAudit(id,userDutyCheckId){

+ 293 - 172
resources/views/rejected/search/general.blade.php

@@ -13,175 +13,40 @@
                     <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
                 @endif
                 <div id="form_div"></div>
-                <div class="col-12" style="background: #fff;">
-                    <div class="row">
-                        <div class="col" v-if="isBeingFilterConditions">
-                            <label for="">
-                                <a :href="'{{url('rejected/index/general').'?paginate='}}'+filterParams.paginate"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
-                            </label>
-                        </div>
-                        <table class="table table-sm table-bordered m-0">
-                            <tr>
-                                <td colspan="9">
-                                    <select id="setPaginate" class="tooltipTarget form-control-sm" style="vertical-align: middle"
-                                            @change="setPaginate" v-model="filterParams.paginate">
-                                        <option value="50">每页显示50条</option>
-                                        <option value="100">每页显示100条</option>
-                                        <option value="200">每页显示200条</option>
-                                        <option value="500">每页显示500条</option>
-                                        <option value="1000">每页显示1000条</option>
-                                    </select>
-                                </td>
-                            </tr>
-                            <tr>
-                                <td colspan="2">
-                                    <input type="date" name="created_at_start" class="form-control form-control-sm tooltipTarget" style="width:140px"
-                                           :class="filterParams.created_at_start?'bg-warning':''" v-model="filterParams.created_at_start"
-                                           @keypress="created_at_startEntering" @change="created_at_startChange" title="选择显示指定日期的起始时间">
-                                </td>
-                                <td>
-                                    <div class="form-inline">
-                                        <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="客户"
-                                               style="width:70px" @input="locateOwner" @keypress="owner_idEntering"
-                                               title="客户:输入关键词快速定位下拉列表,回车确定">
-                                        <select name="owner_id" id="owner_id" class="form-control form-control-sm tooltipTarget"
-                                                :class="filterParams.owner_id?'bg-warning':''" v-model="filterParams.owner_id"
-                                                title="选择要显示的客户" @change="owner_idChange">
-                                            <option value="" selected>全部客户</option>
-                                            <option v-for="owner in owners" :value="owner.id">@{{ owner.name }}</option>
-                                        </select>
-                                    </div>
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="订单号" name="order_number"
-                                           :class="filterParams.order_number?'bg-warning':''" v-model="filterParams.order_number"
-                                           @input="order_numberEntering" @keypress="submitFilterOnEnter" title="订单号:15天以内的支持模糊搜索,回车提交">
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="退回单号" name="logistic_number_return"
-                                           :class="filterParams.logistic_number_return?'bg-warning':''"
-                                           @input="logistic_number_returnEntering" @keypress="submitFilterOnEnter" title="退回单号:支持查找多个以逗号或空格分隔的单号,15天以内的支持模糊搜索,回车提交">
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="原单单号" name="logistic_number"
-                                           :class="filterParams.logistic_number?'bg-warning':''"
-                                           @input="logistic_numberEntering" @keypress="submitFilterOnEnter" title="原单单号:15天以内的支持模糊搜索,回车提交">
-                                </td>
-                                <td>
-                                    <select name="is_checked" class="form-control form-control-sm tooltipTarget" @change="is_checkedChange" title="审核"
-                                            :class="filterParams.is_checked?'bg-warning':''">
-                                        <option value="">是否审核</option>
-                                        <option value="1">已审核</option>
-                                        <option value="0">未审核</option>
-                                    </select>
-                                </td>
-                                <td width="36%">
-                                    <select style="max-width: 120px" name="id_logistic_return" class="form-control form-control-sm tooltipTarget" @change="id_logistic_return_change" title="快递名称" :class="filterParams.id_logistic_true?'bg-warning':''">
-                                        <option value="">快递名称</option>
-                                        <option v-for="logistic in logistics" :value="logistic.id">@{{ logistic.name }}</option>
-                                    </select>
-                                </td>
-                            </tr>
-                            <tr>
-                                <td colspan="2">
-                                    <input type="date" name="created_at_end" class="form-control form-control-sm tooltipTarget" style="width:140px"
-                                           :class="filterParams.created_at_end?'bg-warning':''"
-                                           @keypress="created_at_endEntering" @change="created_at_endChange" title="选择显示指定日期的结束时间">
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" placeholder="商品条码" name="barcode_goods"
-                                           :class="filterParams.barcode_goods?'bg-warning':''" title="商品条码:可模糊匹配右边未填完的部分,按回车提交"
-                                           @input="barcode_goodsEntering" @keypress="submitFilterOnEnter">
-                                </td>
-                                <td>
-                                    <select name="id_quality_label" id="id_quality_label" class="form-control form-control-sm tooltipTarget"
-                                            :class="filterParams.id_quality_label?'bg-warning':''"
-                                            title="是否正品:正品仅显示全部是正品的退单,但残次显示的是包含有残次的退单" @change="id_quality_labelChange">
-                                        <option value="" selected>是否正品</option>
-                                        <option v-for="qualityLabel in qualityLabels" :value="qualityLabel.id">@{{ qualityLabel.name }}</option>
-                                    </select>
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" name="mobile_sender" placeholder="寄件人手机"
-                                           :class="filterParams.mobile_sender?'bg-warning':''"
-                                           @input="mobile_senderEntering" @keypress="submitFilterOnEnter" title="寄件人手机:输入完成敲回车提交">
-                                </td>
-                                <td>
-                                    <input type="text" class="form-control form-control-sm tooltipTarget" name="checked_numbers" placeholder="审核批次号"
-                                           :class="filterParams.checked_numbers?'bg-warning':''"
-                                           @input="checked_numbersEntering" @keypress="submitFilterOnEnter" title="审核批次号:支持右位留空的模糊搜索">
-                                </td>
-                                <td>
-                                    <select name="is_loaded" id="is_loaded" class="form-control form-control-sm"
-                                            :class="filterParams.is_loaded?'bg-warning':''"
-                                            title="是否入库" @change="is_loadedChange">
-                                        <option value="" selected>是否入库</option>
-                                        <option value="1">是</option>
-                                        <option value="0">否</option>
-                                        <option value="null">无需入库</option>
-                                        <option value="2">待推单</option>
-                                        <option value="4">待确认</option>
-                                    </select>
-                                </td>
-                                <td><input type="button" class="btn btn-outline-dark btn-sm" @click="searchByFilters" value="按条件搜索"/></td>
-                            </tr>
-                            <tr>
-                                <td colspan="9">
-                                    @can('退货管理-审核')
-                                        <span class="btn btn-sm" @click="checkAll" style="cursor: pointer"
-                                              :class="[rejectedBills_checkBoxes.length>0?'btn-dark':'btn-outline-dark']">审核</span>
-                                    @endcan
-                                    @can('退货管理-编辑')
-                                        <span class="btn btn-sm" @click="finishAll" style="cursor: pointer"
-                                              :class="[rejectedBills_checkBoxes.length>0?'btn-dark':'btn-outline-dark']">完结</span>
-                                    @endcan
-                                    {{--                                    <select name="" class="tooltipTarget form-control-sm" style="vertical-align: middle"--}}
-                                    {{--                                            @change="exportExcel" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出"--}}
-                                    {{--                                            :class="[rejectedBills_checkBoxes.length>0?'btn-dark':'btn-outline-dark']">--}}
-                                    {{--                                        <option value="">导出Excel</option>--}}
-                                    {{--                                        <option value="1">导出勾选内容</option>--}}
-                                    {{--                                        <option value="2">导出所有页</option>--}}
-                                    {{--                                    </select>--}}
-                                    <span class="dropdown">
-                                        <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget":class="[rejectedBills_checkBoxes.length>0?'btn-dark text-light':'']"
-                                                data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
-                                            导出Excel
-                                        </button>
-                                        <div class="dropdown-menu">
-                                            <a class="dropdown-item" @click="exportExcel(1)" href="javascript:">导出勾选内容</a>
-                                            <a class="dropdown-item" @click="exportExcel(2)" href="javascript:">导出所有页</a>
-                                        </div>
-                                    </span>
-                                    @can('退货管理-编辑')
-                                        {{--                                        <select name="" class="tooltipTarget form-control-sm" style="vertical-align: middle"--}}
-                                        {{--                                                title="将勾选记录的入库状态设定为是或否,仅对未完结状态的记录有效" @change="setIsLoaded_batch"--}}
-                                        {{--                                                :class="[rejectedBills_checkBoxes.length>0?'btn-dark':'btn-outline-dark']">--}}
-                                        {{--                                            <option value="">修改入库</option>--}}
-                                        {{--                                            <option value="1">设定为是</option>--}}
-                                        {{--                                            <option value="0">设定为否</option>--}}
-                                        {{--                                            <option value="null">无需入库</option>--}}
-                                        {{--                                            <option value="2">待推单</option>--}}
-                                        {{--                                        </select>--}}
-                                        <span class="dropdown">
-                                        <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget":class="[rejectedBills_checkBoxes.length>0?'btn-dark text-light':'']"
-                                                data-toggle="dropdown" title="将勾选记录的入库状态设定为是或否,仅对未完结状态的记录有效">
-                                            修改入库
-                                        </button>
-                                        <div class="dropdown-menu">
-                                            <a class="dropdown-item" @click="setIsLoaded_batch(1)" href="javascript:">设定为是</a>
-                                            <a class="dropdown-item" @click="setIsLoaded_batch(0)" href="javascript:">设定为否</a>
-                                            <a class="dropdown-item" @click="setIsLoaded_batch('null')" href="javascript:">无需入库</a>
-                                            <a class="dropdown-item" @click="setIsLoaded_batch(2)" href="javascript:">待推单</a>
-                                            <a class="dropdown-item" @click="setIsLoaded_batch(4)" href="javascript:">待确认</a>
-                                        </div>
-                                    </span>
-                                    @endcan
-                                </td>
-                            </tr>
-                        </table>
+                <span class="dropdown">
+                    <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget":class="[rejectedBills_checkBoxes.length>0?'btn-dark text-light':'']"
+                            data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
+                        导出Excel
+                    </button>
+                    <div class="dropdown-menu">
+                        <a class="dropdown-item" @click="exportExcel(false)" href="javascript:">导出勾选内容</a>
+                        <a class="dropdown-item" @click="exportExcel(true)" href="javascript:">导出所有页</a>
                     </div>
-                </div>
-
+                </span>
+                @can('退货管理-编辑')
+                    {{--                                        <select name="" class="tooltipTarget form-control-sm" style="vertical-align: middle"--}}
+                    {{--                                                title="将勾选记录的入库状态设定为是或否,仅对未完结状态的记录有效" @change="setIsLoaded_batch"--}}
+                    {{--                                                :class="[rejectedBills_checkBoxes.length>0?'btn-dark':'btn-outline-dark']">--}}
+                    {{--                                            <option value="">修改入库</option>--}}
+                    {{--                                            <option value="1">设定为是</option>--}}
+                    {{--                                            <option value="0">设定为否</option>--}}
+                    {{--                                            <option value="null">无需入库</option>--}}
+                    {{--                                            <option value="2">待推单</option>--}}
+                    {{--                                        </select>--}}
+                @endcan
+                <span class="dropdown">
+                    <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget":class="[rejectedBills_checkBoxes.length>0?'btn-dark text-light':'']"
+                            data-toggle="dropdown" title="将勾选记录的入库状态设定为是或否,仅对未完结状态的记录有效">
+                        修改入库
+                    </button>
+                    <div class="dropdown-menu">
+                        <a class="dropdown-item" @click="setIsLoaded_batch(1)" href="javascript:">设定为是</a>
+                        <a class="dropdown-item" @click="setIsLoaded_batch(0)" href="javascript:">设定为否</a>
+                        <a class="dropdown-item" @click="setIsLoaded_batch('null')" href="javascript:">无需入库</a>
+                        <a class="dropdown-item" @click="setIsLoaded_batch(2)" href="javascript:">待推单</a>
+                        <a class="dropdown-item" @click="setIsLoaded_batch(4)" href="javascript:">待确认</a>
+                    </div>
+                </span>
 
                 <table class="table table-striped table-sm table-bordered table-hover" style="background: #fff;">
                     <tr>
@@ -283,7 +148,7 @@
                             <td>
                                 <span v-if="rejectedBill.is_finished!=1">
                                 @can('退货管理-编辑')
-                                        <button class="btn btn-outline-info btn-sm tooltipTarget" @click="edit">改</button>
+                                        <button class="btn btn-outline-info btn-sm tooltipTarget" @click="edit(rejectedBill.id)">改</button>
                                     @endcan
                                     @can('退货管理-删除')
                                         <button
@@ -333,9 +198,265 @@
         let ajaxCheckUrl = '{{url("apiLocal/rejectedBill/apiSetIsLoadedAll")}}';
         let ajaxCheckAllURL = '{{url("rejected/ajaxCheckAll")}}';
         let ajaxFinishAllUrl='{{url("rejected/ajaxFinishAll")}}';
-        let exportExcelURL = '{{url("rejected/exportExcel")}}';
-        let exportExcelOnFilterParamsURL='{{url("rejected/exportExcelOnFilterParams")}}';
         let csrfInput='@csrf';
     </script>
-    <script src="{{asset('js/singles/rejectedIndex200728.js')}}"></script>
+    <script src="{{asset('js/queryForm/export.js')}}"></script>
+    <script src="{{asset('js/queryForm/queryForm200724.js')}}"></script>
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                checkBoxAll:[],
+                rejectedBills:rejectedBills,
+                rejectedBills_checkBoxes:[],
+                owners:[
+                    @foreach($owners as $owner)
+                    {name:'{{$owner->id}}',value:'{{$owner->name}}'},
+                    @endforeach
+                ],
+                logistics:[
+                    @foreach($logistics as $logistic)
+                    {name:'{{$logistic->id}}',value:'{{$logistic->name}}'},
+                    @endforeach
+                ],
+                qualityLabels:[
+                    @foreach($qualityLabels as $qualityLabel)
+                    {name:'{{$qualityLabel->id}}',value:'{{$qualityLabel->name}}'},
+                    @endforeach
+                ],
+            },
+            mounted:function(){
+                $(".tooltipTarget").tooltip({'trigger':'hover'});
+                $('#list').removeClass('d-none');
+                let data=[
+                    [
+                        {name:'created_at_start',type:'dataTime',tip:'选择显示指定日期的起始时间'},
+                        {name:'owner_id',type:'search_select',tip:['',''],placeholder:['客户',''],data:this.owners},
+                        {name:'order_number',type:'input',tip:'订单号:支持15内模糊搜索与15天外精确搜索',placeholder:'订单号'},
+                        {name:'logistic_number_return',type:'input',tip:'退回单号:支持查找多个以逗号或空格分隔的单号,15天以内的支持模糊搜索,回车提交',placeholder:'退回单号'},
+                        {name:'logistic_number',type:'input',tip:'原单单号:支持15内模糊搜索与15天外精确搜索',placeholder:'原单单号'},
+                        {name:'is_checked',type:'select',placeholder: '是否审核',data:[{name:1,value:'已审核'},{name:0,value:'未审核'}]},
+                        {name:'id_logistic_return',type:'select',placeholder: '快递名称',data:this.logistics},
+                    ],[
+                        {name:'created_at_end',type:'dataTime',tip:'选择显示指定日期的结束时间'},
+                        {name:'barcode_goods',type:'input',tip:'商品条码:可模糊匹配右边未填完的部分,按回车提交',placeholder:'商品条码'},
+                        {name:'id_quality_label',type:'select',tip:'是否正品:正品仅显示全部是正品的退单,但残次显示的是包含有残次的退单',placeholder: '是否正品',data:this.qualityLabels},
+                        {name:'mobile_sender',type:'input',tip:'寄件人手机:输入完成敲回车提交',placeholder:'寄件人手机'},
+                        {name:'checked_numbers',type:'input',tip:'审核批次号:支持右位留空的模糊搜索',placeholder:'审核批次号'},
+                        {name:'is_loaded',type:'select',placeholder: '是否入库',data:[{name:1,value:'是'},{name:0,value:'否'},
+                                {name:'null',value:'无需入库'},{name:2,value:'待推单'},{name:4,value:'待确认'}]},
+                    ]
+                ];
+                this.form=new query({
+                    el:"#form_div",
+                    condition:data
+                });
+                this.form.init();
+            },
+            methods:{
+                edit(id){
+                    window.location.href=editUrl+id+"/edit";
+                },
+                destroy:function(rejectedBill){
+                    if(!confirm('确定要删除退货信息“' + rejectedBill.owner.name+':'+rejectedBill.logistic_number_return+ '”吗?')){return;}
+                    let data=this;
+                    let url = destroyUrl+rejectedBill.id;
+                    axios.delete(url,{id:rejectedBill.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.rejectedBills.length; i++) {
+                                    if (data.rejectedBills[i].id===rejectedBill.id){
+                                        data.rejectedBills.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除退货信息"'+rejectedBill.owner.name+':'+rejectedBill.logistic_number_return+'"成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除退货信息"'+rejectedBill.owner.name+':'+rejectedBill.logistic_number_return+'"失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除退货信息失败!'+'网络错误:' + err);
+                        });
+                },
+                cancelCheckConfirmAll:function(){
+                    $('#checkConfirmingAll').tooltip('hide');
+                    setTimeout(function () {
+                        $(".tooltipTarget").tooltip({'trigger':'hover'})
+                    }, 10);
+                    this.checkBoxAll=false;
+                    this.rejectedBills.forEach(function(rejectedBill){
+                        if(rejectedBill.is_checked===-1)
+                            rejectedBill.is_checked='0';
+                    })
+                },
+                setIsLoaded_batch:function(val){
+                    let _this=this;
+                    if(_this.rejectedBills_checkBoxes.length===0){
+                        tempTip.show('没有勾选记录');
+                        $(e.target).val("");
+                        return;
+                    }
+                    let is_loaded=0;
+                    let is_loadedLabel='否';
+                    if(parseInt(val)===1){
+                        is_loaded=1;
+                        is_loadedLabel='是';
+                    }else if(parseInt(val)===2){
+                        is_loaded=2;
+                        is_loadedLabel='待推单';
+                    }else if(parseInt(val)===4){
+                        is_loaded=4;
+                        is_loadedLabel='待确认';
+                    }else if(val==="null"){
+                        is_loaded='null';
+                        is_loadedLabel='无需入库';
+                    }
+                    if(!confirm("确定要标记所有勾选入库情况为'"+is_loadedLabel+"'吗")){return;}
+                    axios.post(ajaxCheckUrl,{ids:_this.rejectedBills_checkBoxes,is_loaded:is_loaded}).then(function(response){
+                        if(response.data.success){
+                            _this.rejectedBills_checkBoxes.forEach(function(id){
+                                _this.rejectedBills.forEach(function(bill){
+                                    if(bill.id===id){
+                                        bill.is_loaded=is_loaded;
+                                    }
+                                });
+                            });
+                            tempTip.setDuration(1000);
+                            tempTip.showSuccess('修改勾选记录的入库状态成功');
+                        }else{
+                            tempTip.setDuration(2500);
+                            tempTip.show('修改勾选记录的入库状态失败,错误:'+response.data.fail_info);
+                        }
+                    }).catch(function (e) {
+                        alert('网络连接错误:'+e);
+                        tempTip.setDuration(2500);
+                        tempTip.show('审核勾选内容失败,网络连接错误:'+e);
+                        console.log(e);
+                    });
+                    $(e.target).val("")
+                },
+                checkBoxAllToggle:function(e){
+                    let _this=this;
+                    if(_this.rejectedBills_checkBoxes.length>=this.rejectedBills.length){
+                        _this.rejectedBills_checkBoxes=[];
+                        _this.checkBoxAll=[];
+                    }
+                    else{
+                        _this.rejectedBills_checkBoxes=[];
+                        this.rejectedBills.forEach(function(bill){
+                            _this.rejectedBills_checkBoxes.push(bill.id);
+                            _this.checkBoxAll=[1];
+                        });
+                    }
+                },
+                checkAll:function(){
+                    let _this=this;
+                    if(_this.rejectedBills_checkBoxes.length===0){
+                        tempTip.show('没有勾选记录');
+                        return
+                    }
+                    if(!confirm("确定要标记所有勾选内容为'已审核'吗")){return;}
+                    axios.post(ajaxCheckAllURL,{ids:_this.rejectedBills_checkBoxes}).then(function(response){
+                        if(response.data.success){
+                            response.data.rejecteds.forEach(function (rejected) {
+                                _this.rejectedBills.forEach(function(rejectedBill){
+                                    if(parseInt(rejectedBill.id)===parseInt(rejected.id)){
+                                        rejectedBill.is_checked=1;
+                                        rejectedBill.checked_numbers=rejected.checked_numbers;
+                                    }
+                                });
+                            });
+                            tempTip.setDuration(1000);
+                            tempTip.showSuccess('审核勾选内容成功');
+                        }else{
+                            tempTip.setDuration(2500);
+                            tempTip.show('审核勾选内容失败,错误:'+response.data.fail_info);
+                        }
+                    }).catch(function (e) {
+                        alert('网络连接错误:'+e);
+                        tempTip.setDuration(2500);
+                        tempTip.show('审核勾选内容失败,网络连接错误:'+e);
+                        console.log(e);
+                    })
+                },
+                confirmBeStored:function($e,id){
+                    let _this=this;
+                    axios.post(ajaxConfirmBeStoredUrl,{id:id}).then(function(response){
+                        if(response.data.success){
+                            _this.rejectedBills.forEach(function(rejectedBill){
+                                if(rejectedBill.id===id){
+                                    rejectedBill.is_loaded=1;
+                                }
+                            });
+                            tempTip.setDuration(1000);
+                            tempTip.showSuccess('确认入库成功');
+                        }else{
+                            tempTip.setDuration(2500);
+                            tempTip.okWindow('数据异常无法确认!请在WMS确定入库状态后,勾选该条目手动修改相应入库状态!','知道了')
+                        }
+                    }).catch(function (e) {
+                        alert('确认失败,网络连接错误:'+e);
+                        tempTip.setDuration(2500);
+                        tempTip.show('确认失败,网络连接错误:'+e);
+                        console.log(e);
+                    })
+                },
+                finishAll:function(){
+                    let _this=this;
+                    if(_this.rejectedBills_checkBoxes.length===0){
+                        tempTip.show('没有勾选记录');
+                        return
+                    }
+                    if(!confirm("确定要标记所有勾选内容为'已完结'吗")){return;}
+                    axios.post(ajaxFinishAllUrl,{ids:_this.rejectedBills_checkBoxes}).then(function(response){
+                        if(response.data.success){
+                            _this.rejectedBills.forEach(function(rejectedBill){
+                                _this.rejectedBills_checkBoxes.forEach(function (checkedId) {
+                                    if(rejectedBill.id===checkedId){
+                                        rejectedBill.is_finished=1;
+                                    }
+                                });
+                            });
+                            tempTip.setDuration(1000);
+                            tempTip.showSuccess('标记勾选内容为完结成功');
+                        }else{
+                            tempTip.setDuration(2500);
+                            tempTip.show('标记勾选内容为完结失败,错误:'+response.data.fail_info);
+                        }
+                    }).catch(function (e) {
+                        alert('网络连接错误:'+e);
+                        tempTip.setDuration(2500);
+                        tempTip.show('标记勾选内容完结失败,网络连接错误:'+e);
+                    })
+                },
+                exportExcel:function(checkAllSign){
+                    let url = '{{url('rejected/export')}}';
+                    let token='{{ csrf_token() }}';
+                    excelExport(checkAllSign,this.rejectedBills_checkBoxes,url,total,token);
+                },
+
+            },
+            filters:{
+                yesNo:function (val) {
+                    if(!val||val===0||val==='0'){return '否'}
+                    return '是'
+                },
+                yesNoIsLoaded:function (val) {
+                    switch(val){
+                        case 0:case '0':return '否';
+                        case 1:case '1':return '是';
+                        case 2:case '2':return '待推单';
+                        case 3:case '3':return '交互异常';
+                        case 4:case '4':return '待确认';
+                        case null:case 'null':return '无需入库';
+                    }
+                    return '';
+                }
+            }
+        });
+    </script>
 @endsection

+ 4 - 4
routes/web.php

@@ -108,10 +108,9 @@ Route::get('rejected/recycle', 'RejectedController@recycle');
 Route::post('rejected/ajaxCheck', 'RejectedController@ajaxCheck');
 Route::post('rejected/ajaxCheckAll', 'RejectedController@ajaxCheckAll');
 Route::post('rejected/ajaxFinishAll', 'RejectedController@ajaxFinishAll');
-Route::post('rejected/exportExcel', 'RejectedController@exportExcel');
-Route::post('rejected/exportExcelOnFilterParams', 'RejectedController@exportExcelOnFilterParams');
+Route::any('rejected/export', 'RejectedController@export');
 Route::resource('rejected', 'RejectedController');
-Route::any('rejected/index/general','RejectedController@indexGeneral');  // 一般查询
+Route::any('rejected/index/general','RejectedController@index');  // 一般查询
 Route::any('rejected/index/analyze','RejectedController@indexAnalyze');  // 统计查询
 Route::post('rejected/analyze/exportExcelOnParams', 'RejectedController@exportExcelOnParams');
 Route::post('rejected/analyze/exportAllExcelOnParams', 'RejectedController@exportAllExcelOnParams');
@@ -243,7 +242,8 @@ Route::resource('process','ProcessController');
  */
 //临时工报表界面
 Route::resource('personnel/laborReport','LaborReportController');
-Route::get('laborReport/export/{id}','LaborReportController@export');
+//导出
+Route::any('laborReport/export','LaborReportController@export');
 Route::get('getLaborReport','LaborReportController@getDailyLabor');
 Route::group(['prefix'=>'laborReport'],function(){
     //门卫打卡审核