소스 검색

共用表头的组件化,条件的service层抽离

Zhouzhendong 5 년 전
부모
커밋
24d83a3f8f

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

@@ -17,8 +17,6 @@ class OrderController extends Controller
     private function preciseQuery($request,$sql){
         $orderdate_start=$request->input('orderdate_start');
         $orderdate_end=$request->input('orderdate_end');
-        $ordertime_start=$request->input('ordertime_start');
-        $ordertime_end=$request->input('ordertime_end');
         $customerid=$request->input('customerid');
         $orderno=$request->input('orderno');
         $soreference5=$request->input('soreference5');
@@ -59,10 +57,7 @@ class OrderController extends Controller
         if ($notes){
             if ($addtime&&$addtime!=0)$sql.=" and addtime >= '".date('Y-m-d H:i:s',strtotime("-".$addtime." day"))."'";
             $sql.=" and notes like '%".$notes."%'";
-        }else{
-            unset($request->addtime);
-        }
-        }else unset($request->input()['addtime']);
+        }else $request->offsetUnset('addtime');
         if ($soreference5){
             $arr=array_filter(preg_split('/[,, ]+/is', $soreference5));
             if (count($arr)>0){
@@ -102,9 +97,9 @@ class OrderController extends Controller
         if(!Gate::allows('订单管理-发运')){ return redirect(url('/'));  }
         $paginate=$request->input('paginate')??50;
         $page=$request->input('page')??1;
-        $checkData=$request->input('checkData');
+        $checkData=$request->input('data');
         $alternate_sku1=$request->input('alternate_sku1');
-        $export=$request->input('export');
+        $export=$request->input('checkAllSign');
         $sql="select ACT_ALLOCATION_DETAILS_temp.picktotraceid,ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
         ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
        DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1

+ 5 - 7
app/Http/Controllers/PackageController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers;
 
-use App\Events\WeighedEvent;
 use App\Exports\Export;
 use App\Logistic;
 use App\Owner;
@@ -31,7 +30,7 @@ class PackageController extends Controller
      * Display a listing of the resource.
      * @param Request $request
      * @param OwnerService $ownerService
-     * @return \Illuminate\Http\Response
+     * @return void
      */
     public function index(Request $request,OwnerService $ownerService)
     {
@@ -43,7 +42,7 @@ class PackageController extends Controller
     /**
      * Show the form for creating a new resource.
      *
-     * @return Response
+     * @return void
      */
     public function create()
     {
@@ -56,7 +55,7 @@ class PackageController extends Controller
      * Store a newly created resource in storage.
      *
      * @param Request $request
-     * @return Application|RedirectResponse|Redirector
+     * @return void
      */
     public function store(Request $request)
     {
@@ -203,12 +202,11 @@ class PackageController extends Controller
         if(!Gate::allows('称重管理-查询')){ return '没有权限';  }
         ini_set('max_execution_time',3500);
         ini_set('memory_limit','3526M');
-        $packages=Package::query();
         if ($request->checkAllSign){
+            $request->offsetUnset('checkAllSign');
             $packages = app('packageService')->get($request);
         }else{
-            $id = explode( ',',$request->data);
-            $packages=$packages->whereIn('id',$id)->get();
+            $packages=app('packageService')->some($request);
         }
         $row=[[
             'id'=>'ID',

+ 28 - 92
app/Http/Controllers/ProcessController.php

@@ -13,120 +13,43 @@ use App\ProcessDailyParticipant;
 use App\ProcessesContent;
 use App\ProcessMethod;
 use App\ProcessStatistic;
+use App\Services\OwnerService;
+use App\Services\ProcessService;
 use App\Sign;
 use App\Tutorial;
 use App\UserDetail;
 use App\UserDutyCheck;
 use App\UserLabor;
 use Carbon\Carbon;
-use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Validator;
 use Maatwebsite\Excel\Facades\Excel;
-use PDO;
 use Ramsey\Uuid\Uuid;
 
 class ProcessController extends Controller
 {
-    private function conditionQuery(Request $request,$processes){
-        if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/'));  }
-        $today=Carbon::now()->subDays(15)->format('Y-m-d');;
-        if ($request->input('commodity_barcode')){
-            $barcode=$request->input('commodity_barcode');
-            $processesTem=clone $processes;
-            $processesTem=$processesTem->whereHas('processesContents',function ($query)use($barcode){
-                $query->whereHas('commodity',function ($builder)use($barcode){
-                    $builder->whereHas('barcodes',function ($builder)use($barcode){
-                        $builder->where('code','like',$barcode.'%');
-                    });
-                });
-            })->where('created_at','>=',$today);
-            if ($processesTem->count()>0)$processes=$processesTem;
-            else{
-                $processes=$processes->whereHas('processesContents',function ($query)use($barcode){
-                    $query->whereHas('commodity',function ($builder)use($barcode){
-                        $builder->whereHas('barcodes',function ($builder)use($barcode){
-                            $builder->where('code',$barcode);
-                        });
-                    });
-                });
-            }
-        }
-        if ($request->input('date_start')){
-            $date_start=$request->input('date_start')." 00:00:00";
-            $processes=$processes->where('created_at','>=',$date_start);
-        }
-        if ($request->input('date_end')){
-            $date_end=$request->input('date_end')." 23:59:59";
-            $processes=$processes->where('created_at','<=',$date_end);
-        }
-        if ($request->input('owner_id')){
-            $processes=$processes->where('owner_id',$request->input('owner_id'));
-        }
-        if ($request->input('status')){
-            $processes=$processes->where('status',$request->input('status'));
-        }
-        if ($request->input('code')){
-            $processes=$processes->where('code','like',$request->input('code')."%");
-        }
-        if ($request->input('wms_code')){
-            $processesTem=clone $processes;
-            $wms_code=$request->input('wms_code');
-            $processesTem=$processesTem->whereHas('processesContents',function ($builder)use ($wms_code,$today){
-                $builder->where('wms_code','like','%'.$wms_code.'%');
-            })->where('created_at','>=',$today);
-            if ($processesTem->count()>0)$processes=$processesTem;
-            else{
-                $processes=$processes->whereHas('processesContents',function ($builder)use ($wms_code,$today){
-                    $builder->where('wms_code',$wms_code);
-                });
-            }
-        }
-        if (!$request->is_accomplish)$processes=$processes->where('status','!=','交接完成');
-        $processes=$processes->paginate($request->input('paginate')??50);
-        return $processes;
+    public function __construct()
+    {
+        app()->singleton('processService',ProcessService::class);
     }
 
     /**
      * Display a listing of the resource.
      * @param Request $request
-     * @return \Illuminate\Http\Response
+     * @param OwnerService $ownerService
+     * @return void
      */
-    public function index(Request $request)
+    public function index(Request $request,OwnerService $ownerService)
     {
         if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/'));  }
-        $processes=Process::filterAuthorities()->with(['tutorials','signs','processesContents'=>function($query){
-            return $query->with(['commodity'=>function($query){
-                return $query->with('barcodes');
-            }]);
-        }])->orderBy('processes.id','DESC');
-        if ($request->input('checkSign')){
-            $excel=$this->isExport($request,$processes);
-            return $excel;
-        }
-        $processes=$this->conditionQuery($request,$processes);
-        $owners=Owner::filterAuthorities()->select('id','name')->get();
+        $processes = app('processService')->paginate($request);
+        $owners=$ownerService->selectGet();
         return view('process.index',['processes'=>$processes,'owners'=>$owners,'request'=>$request->input()]);
     }
 
-
-    //获取导出数据
-    public function isExport(Request $request,$processes){
-        if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/'));  }
-        if ($request->input('checkSign')=="-1"){
-            $processes=$this->conditionQuery($request,$processes);
-            $excel=$this->export($processes);
-            return $excel;
-        }
-        $id = explode( ',',$request->input('checkSign'));
-        $processes=$processes->whereIn('id',$id)->get();
-        $excel=$this->export($processes);
-        return $excel;
-    }
-
     //获取每日参与人
     public function getDailyParticipant(Request $request){
         if(!Gate::allows('二次加工管理-登记工时')){ return redirect(url('/'));  }
@@ -1032,9 +955,13 @@ class ProcessController extends Controller
     }
 
 
-    //执行
-    public function export($processes){
+    //导出
+    public function export(Request $request){
         if(!Gate::allows('二次加工管理-查询')){ return '没有权限';  }
+        if ($request->checkAllSign){
+            $request->offsetUnset('checkAllSign');
+            $processes = app('processService')->get($request);
+        }else $processes = app('processService')->some($request);
         $row=[[
             'id'=>'ID',
             'code'=>'任务号',
@@ -1054,16 +981,22 @@ class ProcessController extends Controller
         ]];
         $list=[];
         $i=0;
+        $mergeCell=[];
         foreach ($processes as $process){
-            if (!$process->processesContents){
+            if (count($process->processesContents)<1){
                 $w=[
                     'id'=>$process->id,
                     'code'=>$process->code ,
                     'owner_name'=>$process->owner_name ,
+                    'bill_type'=>'' ,
+                    'wms_code'=>'' ,
                     'process_method_name'=>$process->process_method_name,
                     'amount'=>$process->amount,
+                    'thisAmount'=>'',
                     'unit_price'=>$process->unit_price,
                     'created_at'=>$process->created_at ,
+                    'commodity_name'=>'',
+                    'commodity_barcode'=>'',
                     'completed_amount'=>$process->completed_amount,
                     'status'=>$process->status,
                     'remark'=>$process->remark,
@@ -1072,11 +1005,12 @@ class ProcessController extends Controller
                 $i++;
                 continue;
             }
+            $sign=$i+2;
             foreach($process->processesContents as $processesContent){
                 $barcodes="";
                 if ($processesContent->commodity && $processesContent->commodity->barcodes){
                     foreach ($processesContent->commodity->barcodes as $barcode){
-                        if (!$barcodes){$barcodes=$barcode->code; continue;}
+                        if (!$barcodes){$barcodes=$barcode->code;  continue;}
                         $barcodes=$barcodes.",".$barcode->code;
                     }
                 }
@@ -1100,8 +1034,10 @@ class ProcessController extends Controller
                 $list[$i]=$w;
                 $i++;
             }
+            $mergeCell[$sign] = $i+1;
         }
-        return Excel::download(new Export($row,$list),date('YmdHis', time()).'-二次加工单.xlsx');
+        $columnName=["A","B","C","D","E","F","G","H","I","J"];
+        return Excel::download(new Export($row,$list,$mergeCell,$columnName),date('YmdHis', time()).'-二次加工单.xlsx');
     }
 
     public function validatorProcessContent(array $processContent){

+ 2 - 9
app/Http/Controllers/RejectedController.php

@@ -3,9 +3,7 @@
 namespace App\Http\Controllers;
 
 use App\Exports\DefaultExport;
-use App\Exports\Export;
 use App\Exports\RejectedExport;
-use App\Imports\CommodityImport;
 use App\Imports\RejectedImport;
 use App\Logistic;
 use App\Owner;
@@ -13,28 +11,23 @@ use App\QualityLabel;
 use App\Rejected;
 use App\RejectedAnalyzeOwner;
 use App\RejectedBill;
-use App\RejectedBillItem;
 use Carbon\Carbon;
 use Exception;
-use Illuminate\Contracts\View\Factory;
-use Illuminate\Http\RedirectResponse;
 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 Illuminate\View\View;
 use Maatwebsite\Excel\Facades\Excel;
-use phpDocumentor\Reflection\Types\Array_;
 use function foo\func;
 
 class RejectedController extends Controller
 {
     /**
      * Display a listing of the resource.
-     *
-     * @return \Illuminate\Contracts\Foundation\Application|Factory|View
+     * @param Request $request
+     * @return void
      */
     public function index(Request $request)
     {

+ 37 - 0
app/Http/Controllers/TestController.php

@@ -18,6 +18,7 @@ use App\OracleDOCWaveHeader;
 use App\OracleIdxAsrsReceive;
 use App\Order;
 use App\Package;
+use App\Process;
 use App\ProcessStatistic;
 use App\Rejected;
 use App\RejectedBill;
@@ -30,7 +31,10 @@ use App\Waybill;
 use App\OraccleBasCustomer;
 use App\WMSReflectReceive;
 use Carbon\Carbon;
+use function Couchbase\zlibCompress;
+use function Couchbase\zlibDecompress;
 use Endroid\QrCode\Response\QrCodeResponse;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 use function PHPSTORM_META\map;
@@ -288,6 +292,39 @@ class TestController extends Controller
     /*1*/
     function test()
     {/**/
+        $token_decode = base64_decode('');
+        $token_string = zlibDecompress($token_decode);
+        dd($token_string);
+        $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);
     }
 
 }

+ 36 - 126
app/Http/Controllers/WaybillsController.php

@@ -3,6 +3,9 @@
 namespace App\Http\Controllers;
 
 
+use App\Services\CarrierService;
+use App\Services\OwnerService;
+use App\Services\WaybillService;
 use App\UploadFile;
 use App\WaybillAuditLog;
 use App\WaybillOnTop;
@@ -29,108 +32,37 @@ use Ramsey\Uuid\Uuid;
 
 class WaybillsController extends Controller
 {
-    //超15天精确查询抽离 column前提:数据库字段名必须与request内字段名一致
-    public function preciseQuery(string $column,Request $request,$waybills){
-        $today=Carbon::now()->subDays(15);
-        $waybillsTem=clone $waybills;
-        $waybillsTem=$waybillsTem->where($column,'like','%'.$request->input($column).'%')->where('waybills.created_at','>',$today->format('Y-m-d'));
-        if($waybillsTem->count()==0
-            ||$waybillsTem->get()[0][$column]==$request->input($column)){
-            $waybills=$waybills->where($column,$request->input($column));
-        }else{
-            $waybills=$waybillsTem;
-        }
-        return $waybills;
-    }
-
-    public function conditionQuery(Request $request,$waybills){
-        if ($request->input('exportType')&&$request->input('exportType')==1){
-            $checkData=explode(',',$request->input('checkData'));
-            $waybills=$waybills->whereIn("id",$checkData)->get();
-            $excel=$this->deliveringExport($waybills);
-            return $excel;
-        }
-        if ($request->input('waybill_number')){
-            $waybills=$this->preciseQuery("waybill_number",$request,$waybills);
-        }
-        if ($request->input('carrier_bill')){
-            $waybills=$this->preciseQuery("carrier_bill",$request,$waybills);
-        }
-        if ($request->input('carrier_id')){
-            $waybills=$waybills->where('carrier_id','=',$request->input('carrier_id'));
-        }
-        if ($request->input('owners')){
-            $owners=array_values(json_decode($request->input('owners'),true));
-            if (count($owners)>0)$waybills=$waybills->whereIn('owner_id',$owners);
-        }
-        if ($request->input('owner_id')){
-            $waybills=$waybills->where('owner_id','=',$request->input('owner_id'));
-        }
-        if ($request->input('wms_bill_number')){
-            $waybills=$this->preciseQuery("wms_bill_number",$request,$waybills);
-        }
-        if ($request->input('origination')){
-            $waybills=$this->preciseQuery("origination",$request,$waybills);
-        }
-        if ($request->input('destination')){
-            $waybills=$this->preciseQuery("destination",$request,$waybills);
-        }
-        if ($request->input('created_at_start')){
-            $created_at_start=$request->input('created_at_start')." 00:00:00";
-            $waybills=$waybills->where('created_at','>=',$created_at_start);
-        }
-        if ($request->input('created_at_end')){
-            $created_at_end=$request->input('created_at_end')." 23:59:59";
-            $waybills=$waybills->where('created_at','<=',$created_at_end);
-        }
-        if ($request->input('status')){
-            $waybills=$waybills->where('status',$request->input('status'));
-        }
-        if ($request->input('exportType')&&$request->input('exportType')==2){
-            $waybills=$waybills->get();
-            $excel=$this->deliveringExport($waybills);
-            return $excel;
-        }
-        if ($request->uriType=='ZF')$waybills=$waybills->where('type','直发车');
-        if ($request->uriType=='ZX')$waybills=$waybills->where('type','专线');
-        return $waybills;
+    public function __construct()
+    {
+        app()->singleton('waybillService',WaybillService::class);
     }
 
-    public function index(Request $request)
+    /**
+     * @param Request $request
+     * @param OwnerService $ownerService
+     * @param CarrierService $carrierService
+     * @return void
+     */
+    public function index(Request $request,OwnerService $ownerService,CarrierService $carrierService)
     {
         if(!Gate::allows('运输管理-查询')){ return redirect(url('/'));  }
-        $data=$request->input();
-        $carries = Carrier::get();
-        $owners = Owner::filterAuthorities()->get();
-        $ownerIds = $owners->map(function ($owner){
-            return $owner['id'];
-        })->all();
-        $waybills = $this->getWaybills();
-        $waybills=$waybills->whereIn('owner_id',$ownerIds);
-        if ($data != null ) {
-            $waybills=$this->conditionQuery($request,$waybills);
-            if (!$waybills&&$request->input('waybill_number')){
-                $waybills=Waybill::with(['owner', 'waybillAuditLogs' => function ($query) {
-                    return $query->with('user');
-                }])->orderBy('id','DESC')->where('type','专线')
-                    ->where('waybill_number',$request->input('waybill_number'));
-            }
-            $waybills=$waybills->paginate($request->input('paginate')?$request->input('paginate'):50);
-        } else {
-            $waybills = $waybills->paginate(50);
-        }
-        return view('waybill.index', ['waybills' => $waybills, 'carriers' => $carries, 'owners' => $owners,'filterData'=>$data,'uriType'=>$request->uriType??'']);
+        $waybills=app('waybillService')->paginate($request);
+        return view('waybill.index', [
+            'waybills' => $waybills,
+            'carriers' => $carrierService->selectGet(),
+            'owners' => $ownerService->selectGet(),
+            'request'=>$request->input(),
+            'uriType'=>$request->uriType??'']);
     }
 
 
-    public function create(Request $request)
+    public function create(Request $request,OwnerService $ownerService)
     {
         if(!Gate::allows('运输管理-录入')){ return redirect(url('/'));  }
-        $owners=Owner::get();
         $type="";
         if ($request->type==='ZF')$type='直发车';
         if ($request->type==='ZX')$type='专线';
-        return view('waybill.create',['owners'=>$owners,'type'=>$type]);
+        return view('waybill.create',['owners'=>$ownerService->selectGet(),'type'=>$type]);
     }
 
     public function store(Request $request)
@@ -189,16 +121,16 @@ class WaybillsController extends Controller
         if(!Gate::allows('运输管理-调度')){ return redirect(url('/'));  }
         $waybill=Waybill::find($id);
         if (!$request->warehouse_weight && $request->warehouse_weight_unit_id){
-            unset($request->warehouse_weight_unit_id);
+            $request->offsetUnset('warehouse_weight_unit_id');
         }
         if (!$request->warehouse_weight_other && $request->warehouse_weight_unit_id_other){
-            unset($request->warehouse_weight_unit_id_other);
+            $request->offsetUnset('warehouse_weight_unit_id_other');
         }
         if (!$request->carrier_weight && $request->carrier_weight_unit_id){
-            unset($request->carrier_weight_unit_id);
+            $request->offsetUnset('carrier_weight_unit_id');
         }
         if (!$request->carrier_weight_other && $request->carrier_weight_unit_id_other){
-            unset($request->carrier_weight_unit_id_other);
+            $request->offsetUnset('carrier_weight_unit_id_other');
         }
         $this->validatorWaybillDispatch($request,$id)->validate();
         //替换换行符
@@ -619,21 +551,16 @@ class WaybillsController extends Controller
         return ['success'=>true];
     }
 
-    public function waybillExport(Request $request){
+    public function export(Request $request){
         if(!Gate::allows('运输管理-查询')){ return '没有权限';  }
         ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');
-        $exportType=$request->exportType;
-        $waybills=Waybill::with(['owner', 'waybillAuditLogs' => function ($query) {
-            $query->with('user');
-        }]);
-        if ($exportType=='all'){
-            $waybills=$this->conditionQuery($request,$waybills);
-            $waybills=$waybills->get();
-        }else {
-            $id = explode( ',',$request->data);
-            $waybills=$waybills->whereIn('id',$id)->get();
-        };
+        if ($request->checkAllSign){
+            $request->offsetUnset('checkAllSign');
+            $waybills = app('waybillService')->get($request);
+        }else{
+            $waybills = app('waybillService')->some($request);
+        }
         $row=[[
             'type'=>'运单类型',
             'owner'=>'货主',
@@ -758,16 +685,12 @@ class WaybillsController extends Controller
     //发运
     public function delivering(Request $request){
         if (!Auth::user())return view('exception.login');
-        if (Auth::user()->isSuperAdmin())$waybills=Waybill::orderBy('id','DESC');
-        else{
+        $waybills= app('waybillService')->paginate($request);
+        if (!Auth::user()->isSuperAdmin()){
             $carriersUsers=DB::table('carrier_user')->where('user_id',Auth::id())->get();
             $carrierIds=array_column($carriersUsers->toArray(),'carrier_id');
-            $waybills=Waybill::orderBy('id','DESC')->whereIn("carrier_id",$carrierIds);
-        }
-        if ($request->input('exportType')){
-            return $this->conditionQuery($request,$waybills);
+            $waybills=$waybills->whereIn("carrier_id",$carrierIds);
         }
-        $waybills=$this->conditionQuery($request,$waybills);
         return view('waybill.delivering',compact('waybills'));
     }
     //承运商提交
@@ -995,17 +918,4 @@ class WaybillsController extends Controller
         return ['success'=>$result,'status'=>$result];
     }
 
-    // 获取所有运单信息
-    public function getWaybills(){
-        $waybills = Waybill::with(['owner','wmsCommodities','waybillAuditLogs' => function ($query) {
-            return $query->with('user');
-        }])
-            ->selectRaw('waybills.* ,waybill_on_tops.id top_id ,waybill_on_tops.remark,waybill_on_tops.updated_at top_update,waybill_on_tops.created_at top_created_at')
-            ->leftJoin('waybill_on_tops','waybill_on_tops.waybill_id','=','waybills.id')
-            ->whereNull('waybill_on_tops.deleted_at')
-            ->orderBy('waybill_on_tops.updated_at','desc')
-            ->orderBy('waybills.id','desc');
-        return $waybills;
-    }
-
 }

+ 0 - 8
app/Process.php

@@ -17,14 +17,6 @@ class Process extends Model
     protected $appends=[
         'owner_name','process_method_name',
     ];
-    public static function filterAuthorities(){
-        $user=Auth::user();
-        if(!$user){
-            return (new static)->newQuery()->where('id','0');
-        }
-        $ownerIds=$user->getPermittingOwnerIdsAttribute();
-        return (new static)->newQuery()->whereIn('id',$ownerIds);
-    }
 
     public static function filterAuthorities(){
         $user=Auth::user();

+ 13 - 0
app/Services/CarrierService.php

@@ -0,0 +1,13 @@
+<?php 
+
+namespace App\Services; 
+
+use App\Carrier;
+
+Class CarrierService
+{ 
+    public function selectGet(){
+        return Carrier::query()->select('id','name')->get();
+    }
+
+}

+ 1 - 1
app/Services/OwnerService.php

@@ -7,7 +7,7 @@ use App\Owner;
 Class OwnerService
 { 
     public function selectGet(){
-        return Owner::query()->select('id','name')->get();
+        return Owner::filterAuthorities()->select('id','name')->get();
     }
 
 }

+ 5 - 0
app/Services/PackageService.php

@@ -31,4 +31,9 @@ Class PackageService
         return $packages->get();
     }
 
+    public function some(Request $request){
+        return Package::query()->orderBy('id','DESC')
+            ->whereIn('id',explode(',',$request->data))->get();
+    }
+
 }

+ 83 - 0
app/Services/ProcessService.php

@@ -0,0 +1,83 @@
+<?php 
+
+namespace App\Services; 
+
+use App\Process;
+use App\Services\common\QueryService;
+use Carbon\Carbon;
+use Illuminate\Http\Request;
+
+Class ProcessService
+{ 
+    private function conditionQuery(Request $request){
+        $processes=Process::filterAuthorities()->with(['tutorials','signs','processesContents'=>function($query){
+            return $query->with(['commodity'=>function($query){
+                return $query->with('barcodes');
+            }]);
+        }])->orderBy('processes.id','DESC');
+        $today=Carbon::now()->subDays(15)->format('Y-m-d');
+        if ($request->input('commodity_barcode')){
+            $barcode=$request->input('commodity_barcode');
+            $processesTem=clone $processes;
+            $processesTem=$processesTem->whereHas('processesContents',function ($query)use($barcode){
+                $query->whereHas('commodity',function ($builder)use($barcode){
+                    $builder->whereHas('barcodes',function ($builder)use($barcode){
+                        $builder->where('code','like',$barcode.'%');
+                    });
+                });
+            })->where('created_at','>=',$today);
+            if ($processesTem->count()>0)$processes=$processesTem;
+            else{
+                $processes=$processes->whereHas('processesContents',function ($query)use($barcode){
+                    $query->whereHas('commodity',function ($builder)use($barcode){
+                        $builder->whereHas('barcodes',function ($builder)use($barcode){
+                            $builder->where('code',$barcode);
+                        });
+                    });
+                });
+            }
+            $request->offsetUnset('commodity_barcode');
+        }
+        if ($request->input('wms_code')){
+            $processesTem=clone $processes;
+            $wms_code=$request->input('wms_code');
+            $processesTem=$processesTem->whereHas('processesContents',function ($builder)use ($wms_code,$today){
+                $builder->where('wms_code','like','%'.$wms_code.'%');
+            })->where('created_at','>=',$today);
+            if ($processesTem->count()>0)$processes=$processesTem;
+            else{
+                $processes=$processes->whereHas('processesContents',function ($builder)use ($wms_code,$today){
+                    $builder->where('wms_code',$wms_code);
+                });
+            }
+            $request->offsetUnset('wms_code');
+        }
+        if (!$request->is_accomplish){
+            $processes=$processes->where('status','!=','交接完成');
+        }else $request->offsetUnset('is_accomplish');
+        $columnQueryRules=[
+            'date_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
+            'date_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
+            'code' => ['like' => '']
+        ];
+        $processes = app(QueryService::class)->query($request,$processes,$columnQueryRules);
+        return $processes;
+    }
+
+    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 Process::filterAuthorities()->with(['processesContents'=>function($query){
+            return $query->with(['commodity'=>function($query){
+                return $query->with('barcodes');
+            }]);
+        }])->orderBy('processes.id','DESC')->whereIn('processes.id',explode(',',$request->data))->get();
+    }
+
+}

+ 26 - 0
app/Services/WaybillService.php

@@ -19,9 +19,35 @@ Class WaybillService
         $columnQueryRules=[
             'waybill_number' => ['timeLimit' => 15],
             'carrier_bill' => ['timeLimit' => 15],
+            'owner_id' => ['multi' => ','],
+            'wms_bill_number' => ['timeLimit' => 15],
+            'origination' => ['timeLimit' => 15],
+            'destination' => ['timeLimit' => 15],
+            'created_at_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
+            'created_at_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
+            'uriType' => ['alias' => 'type']
         ];
         $waybills = app(QueryService::class)->query($request,$waybills,$columnQueryRules,"waybills");
         return $waybills;
     }
 
+    public function paginate(Request $request){
+        $waybills = $this->conditionQuery($request);
+        return $waybills->paginate($request->paginate ?? 50);
+    }
+
+    public function get(Request $request){
+        $waybills = $this->conditionQuery($request);
+        return $waybills->get();
+    }
+
+    public function some(Request $request){
+        return $waybills = Waybill::with(['owner'])->selectRaw('waybills.* ,waybill_on_tops.id top_id ,waybill_on_tops.remark,waybill_on_tops.updated_at top_update')
+            ->leftJoin('waybill_on_tops','waybill_on_tops.waybill_id','=','waybills.id')
+            ->whereNull('waybill_on_tops.deleted_at')
+            ->orderBy('waybill_on_tops.updated_at','desc')
+            ->orderBy('waybills.id','desc')
+            ->whereIn('id',explode(',',$request->data))
+            ->get();
+    }
 }

+ 9 - 4
app/Services/common/QueryService.php

@@ -20,12 +20,13 @@ Class QueryService
      */
     public function query(Request $request,$query,array $columnQueryRules,$tableName = null)
     {
+        if ($tableName) $tableName .= ".";
         foreach ($request->input() as $param => $value){
             if ($param === 'paginate' || $param === 'page')continue;
             if (!$value || isset($columnQueryRules[$param]))continue;
             $query = $query->where($tableName.$param,$value);
         }
-        //rules: alias timeLimit startDate endDate like
+        //rules: alias timeLimit startDate endDate like multi
         foreach ($columnQueryRules as $param => $rules){
             if (!$request->input($param))continue;
             $isExecute = true;
@@ -39,12 +40,12 @@ Class QueryService
                     $today=Carbon::now()->subDays($value);
                     $queryTemp=clone $query;
                     $queryTemp=$queryTemp->where($tableName.$column,'like','%'.$request->input($param).'%')
-                        ->where($tableName.'created_at','>',$today->format('Y-m-d'));
+                        ->where($tableName.'created_at','>',$today);
                     if($queryTemp->count()==0 || $queryTemp->first()[$column]==$request->input($param)){
                         $query=$query->where($tableName.$column,$request->input($param));
                     }else{
                         $query=$query->where($tableName.$column,'like','%'.$request->input($param).'%')
-                            ->where($tableName.'created_at','>',$today->format('Y-m-d'));
+                            ->where($tableName.'created_at','>',$today);
                     }
                     $isExecute = true;
                 }
@@ -59,7 +60,11 @@ Class QueryService
                     $isExecute = true;
                 }
                 if ($rule === 'like'){
-                    $query = $query->where($tableName.$column,'like','%'.$request->input($param).'%');
+                    $query = $query->where($tableName.$column,'like',$value.$request->input($param).'%');
+                    $isExecute = true;
+                }
+                if ($rule === 'multi'){
+                    $query = $query->whereIn($tableName.$column,explode($value,$request->input($param)));
                     $isExecute = true;
                 }
             }

+ 2 - 2
public/js/app.js

@@ -61945,8 +61945,8 @@ module.exports = tempTip;
 /*! no static exports found */
 /***/ (function(module, exports, __webpack_require__) {
 
-__webpack_require__(/*! D:\wamp64\www\bswas\resources\js\app.js */"./resources/js/app.js");
-module.exports = __webpack_require__(/*! D:\wamp64\www\bswas\resources\sass\app.scss */"./resources/sass/app.scss");
+__webpack_require__(/*! D:\Demo\bswas\resources\js\app.js */"./resources/js/app.js");
+module.exports = __webpack_require__(/*! D:\Demo\bswas\resources\sass\app.scss */"./resources/sass/app.scss");
 
 
 /***/ }),

+ 25 - 0
resources/js/queryForm/export.js

@@ -0,0 +1,25 @@
+
+function excelExport(checkAllSign,checkData,url,sum,token) {
+    if (checkAllSign) {
+        if (sum > 10000){
+            if (!confirm('导出条数超过一万条,耗时可能过长,您确定继续吗?'))return;
+        }
+        let thisUrl=document.URL;
+        let parameter=thisUrl.split('?',2);
+        url += "?checkAllSign=true";
+        if (parameter[1])url+="&"+parameter[1];
+        location.href=url;
+    }else {
+        if (checkData && checkData.length <= 0) {
+            tempTip.setDuration(4000);
+            tempTip.showSuccess('没有勾选任何记录');
+        } else {
+            let form=$('<form hidden method="post" target="_blank" action="'+url+'">' +
+                '<input name="_token" value="'+token+'">' +
+                '<input name="data" value="'+checkData+'" >' +
+                '</form>');
+            $('body').append(form);
+            form.submit();
+        }
+    }
+}

+ 1 - 1
resources/js/queryForm/queryForm.js

@@ -1232,4 +1232,4 @@ const query = function getQueryForm(data) {
         return string;
     }
 
-};
+};

+ 0 - 1
resources/js/singles/rejectedIndex.js

@@ -1,4 +1,3 @@
-
 let vueList=new Vue({
     el:"#list",
     data:{

+ 9 - 23
resources/views/order/index/delivering.blade.php

@@ -13,8 +13,8 @@
                             导出Excel
                         </button>
                         <div class="dropdown-menu">
-                            <a class="dropdown-item" @click="orderExport(1)" href="javascript:">导出勾选内容</a>
-                            <a class="dropdown-item" @click="orderExport(2)" href="javascript:">导出所有页</a>
+                            <a class="dropdown-item" @click="orderExport(false)" href="javascript:">导出勾选内容</a>
+                            <a class="dropdown-item" @click="orderExport(true)" href="javascript:">导出所有页</a>
                         </div>
                     </span>
                     @can('订单管理-批量备注')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量备注追加</button>@endcan
@@ -161,6 +161,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>
         new Vue({
             el:"#list",
@@ -210,7 +212,7 @@
                     [
                         {name:'customerid',type:'select_multiple_select',tip:['输入关键词快速定位下拉列表,回车确定','选择要显示的客户'],
                             placeholder:['货主','定位或多选货主'],data:this.owners},
-                        {name:'ordertime_end',type:'time',tip:['选择显示指定日期的结束时间','选择显示指定日期的结束时间']},
+                        {name:'orderdate_end',type:'time',tip:['选择显示指定日期的结束时间','选择显示指定日期的结束时间']},
                         {name:'soreference5',type:'input',tip:'可支持多快递单号,糊模查找需要在左边打上%符号',placeholder: '多快递单号'},
                         {name:'soreference1',type:'input',tip:'客户订单号,糊模查找需要在左边打上%符号',placeholder: '客户订单号'},
                         {name:'waveno',type:'input',tip:'波次编号,模糊查找需要在左边打上%的符号',placeholder: '波次编号'},
@@ -280,24 +282,10 @@
                         $(".tooltipTarget").tooltip({'trigger':'hover'});
                     },1);
                 },
-                orderExport(val){
-                    if (val==1){
-                        if (this.checkData.length<1) {
-                            tempTip.setDuration(3000);
-                            tempTip.showSuccess('没有勾选任何记录')
-                            return;
-                        }
-                        window.open("{{url('order/index/delivering?checkData=')}}"+this.checkData);
-                        return;
-                    }
-                    if (this.sum>10000){
-                        if (!confirm("需要导出的条数超过了一万条,等待时间较长,是否继续?"))return;
-                    }
-                    let url = document.URL;
-                    if (url.indexOf('?') != -1) url += "&";
-                    else url += "?";
-                    url += "export="+true;
-                    window.open(url);
+                orderExport(checkAllSign){
+                    let url = '{{url('order/index/delivering')}}';
+                    let token='{{ csrf_token() }}';
+                    excelExport(checkAllSign,this.checkData,url,this.sum,token);
                 },
                 modal(){
                     $("#myModal").modal('show');
@@ -330,7 +318,6 @@
                         alert('网络连接错误:'+e);
                         tempTip.setDuration(2500);
                         tempTip.show('标记勾选内容冻结失败,网络连接错误:'+e);
-                        console.log(e);
                     })
                 },
                 //批量取消分配
@@ -362,7 +349,6 @@
                         alert('网络连接错误:'+e);
                         tempTip.setDuration(2500);
                         tempTip.show('标记勾选内容取消分配失败,网络连接错误:'+e);
-                        console.log(e);
                     })
                 },
                 batchComments(){

+ 45 - 165
resources/views/process/index.blade.php

@@ -6,97 +6,17 @@
 </span>
 <div class="d-none" id="process">
     <div class="container-fluid">
-        <div>
-            <form  method="GET" action="{{url('process/')}}" id="optionSubmit">
-                   <table class="table  table-sm table-bordered text-nowrap  mb-0">
-                       <tr v-if="isBeingFilterConditions">
-                           <td colspan="10">
-                               <div class="col" style="padding:0">
-                                   <a  href="{{url('process')}}"><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 form-control-sm" style="vertical-align: middle;max-width: 100px" @change="submit">
-                                   <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 id="date_start" name="date_start" style="max-width: 200px" v-model="filterData.date_start"  :class="filterData.date_start?'bg-warning':''" type="date" 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="owner_id" v-model="filterData.owner_id" @change="submit" class="form-control form-control-sm tooltipTarget"  title="选择要显示的客户" :class="filterData.owner_id?'bg-warning':''">
-                                   <option >    </option>
-                                   <option v-for="owner in owners" :value="owner.id">@{{owner.name}}</option>
-                               </select></div>
-                           </td>
-                           <td>
-                               <input id="wms_code" name="wms_code" style="max-width: 200px" title="单据号:支持15内模糊搜索与15天外精确搜索" v-model="filterData.wms_code" class="form-control form-control-sm tooltipTarget" placeholder="单据号" :class="filterData.wms_code?'bg-warning':''">
-                           </td>
-                           <td>
-                               <select id="status" name="status" v-model="filterData.status" @change="submit" style="max-width: 100px" class="form-control form-control-sm tooltipTarget" :class="filterData.status?'bg-warning':''" >
-                                   <option value="" selected>状态</option>
-                                   <option value="待审核">待审核</option>
-                                   <option value="待接单">待接单</option>
-                                   <option value="待加工">待加工</option>
-                                   <option value="已驳回">已驳回</option>
-                                   <option value="加工中">加工中</option>
-                                   <option value="待验收">待验收</option>
-                                   <option value="交接完成">交接完成</option>
-                               </select>
-                               <input hidden name="is_accomplish" v-model="filterData.is_accomplish">
-                           </td>
-                           <td colspan="5"></td>
-                       </tr>
-                       <tr>
-                           <td >
-                               <input id="date_end" name="date_end" style="max-width: 200px" v-model="filterData.date_end" type="date" class="form-control form-control-sm tooltipTarget" title="选择显示指定日期的结束时间" :class="filterData.date_end?'bg-warning':''">
-                           </td>
-                           <td>
-                               <input name="commodity_barcode" style="max-width: 200px" title="商品条码:支持15内模糊搜索与15天外精确搜索" v-model="filterData.commodity_barcode" class="form-control form-control-sm tooltipTarget" placeholder="商品条码" :class="filterData.commodity_barcode?'bg-warning':''">
-                           </td>
-                           <td>
-                               <input name="code" style="max-width: 200px" title="任务号:支持15内模糊搜索与15天外精确搜索" v-model="filterData.code" class="form-control form-control-sm tooltipTarget" placeholder="任务号" :class="filterData.code?'bg-warning':''">
-                           </td>
-                           <td >
-                               <button class="btn btn-sm btn-outline-dark pull-left" type="submit">按条件搜索</button>
-                           </td>
-                           <td colspan="5"></td>
-                       </tr>
-                       <tr>
-                           <td colspan="9">
-                               <div class="form-inline">
-                                   <span class="dropdown">
-                                        <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
-                                                data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
-                                            导出Excel
-                                        </button>
-                                        <div class="dropdown-menu">
-                                            <a class="dropdown-item" @click="processExport(1)" href="javascript:">导出勾选内容</a>
-                                            <a class="dropdown-item" @click="processExport(2)" href="javascript:">导出所有页</a>
-                                        </div>
-                                   </span>
-                                   <div class="form-check ml-4">
-                                        <label class="form-check-label text-muted">
-                                            <input v-if="filterData.is_accomplish" checked @click="is_checked($event)" type="checkbox" class="form-check-input">
-                                            <input v-else @click="is_checked($event)" type="checkbox" class="form-check-input">显示交接完成的记录
-                                        </label>
-                                   </div>
-                               </div>
-                           </td>
-                       </tr>
-                   </table>
-           </form>
-        </div>
+        <div id="form_div"></div>
+        <span class="dropdown">
+            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
+                    data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
+                导出Excel
+            </button>
+            <div class="dropdown-menu">
+                <a class="dropdown-item" @click="processExport(false)" href="javascript:">导出勾选内容</a>
+                <a class="dropdown-item" @click="processExport(true)" href="javascript:">导出所有页</a>
+            </div>
+       </span>
         <!--新增教程关联-->
         <div style="top:25%" class="modal fade" id="addTutorial" tabindex="-1" role="dialog" aria-labelledby="addTutorial" aria-hidden="true">
             <div class="modal-dialog">
@@ -554,6 +474,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>
         new Vue({
             el:"#process",
@@ -572,12 +494,16 @@
                 processesList:[],
                 owners:[
                     @foreach($owners as $owner)
-                    {!! $owner !!},
+                    { name:'{{$owner->id}}',value:'{{$owner->name}}'},
                     @endforeach
                 ],
+                status:[
+                    {name:'待审核',value:'待审核'},{name:'待接单',value:'待接单'},{name:'待加工',value:'待加工'},
+                    {name:'已驳回',value:'已驳回'},{name:'加工中',value:'加工中'},{name:'待验收',value:'待验收'},
+                    {name:'交接完成',value:'交接完成'},
+                ],
                 errors:{},
                 checkData:[],
-                filterData:{paginate:50,date_start:'',date_end:'',owner_id:'',commodity_barcode:'',wms_code:'',status:'',is_accomplish:'',code:''},
                 processDailies:[],
                 processDailyParticipants:[],
                 isShow:{
@@ -595,6 +521,7 @@
                 date:'',
                 today:'',
                 dateTextMap:{'start_date':'起','end_date':'终'},
+                sum:{!! $processes->total() !!},
             },
             watch:{
                 checkData:{
@@ -608,20 +535,7 @@
                     deep:true
                 }
             },
-            computed:{
-                isBeingFilterConditions:function(){
-                    for(let key in this.filterData){
-                        if(this.filterData[key]){
-                            if(key==='paginate' || key==='is_accomplish')continue;
-                            return true
-                        }
-                    }
-                    return false;
-                },
-
-            },
             mounted:function () {
-                this.initInputs();
                 this.resetProcessData();
                 $(".tooltipTarget").tooltip({'trigger':'hover'});
                 $('#process').removeClass('d-none');
@@ -640,6 +554,25 @@
                 } else {
                     window.onfocus= focusin;
                 }
+                let data=[
+                    [
+                        {name:'date_start',type:'dataTime',tip:'选择显示指定日期的起始时间'},
+                        {name:'owner_id',type:'select',placeholder: '客户',data:this.owners},
+                        {name:'wms_code',type:'input',tip:'单据号:支持15内模糊搜索与15天外精确搜索',placeholder: '单据号'},
+                        {name:'status',type:'select',placeholder: '状态',data:this.status},
+                    ],
+                    [
+                        {name:'date_end',type:'dataTime',tip:'选择显示指定日期的结束时间'},
+                        {name:'commodity_barcode',type:'input',tip:'商品条码:支持15内模糊搜索与15天外精确搜索',placeholder: '商品条码'},
+                        {name:'code',type:'input',tip:'任务号:支持15内模糊搜索与15天外精确搜索',placeholder: '任务号'},
+                        {name:'is_accomplish',type:'checkbox',data:[{name:'sign',value:'显示交接完成的记录'}]},
+                    ],
+                ];
+                this.form = new query({
+                    el:"#form_div",
+                    condition:data,
+                });
+                this.form.init();
             },
             methods: {
                 arrayFilter: function (processesContents, process) {
@@ -651,7 +584,6 @@
                         if (processesContent.type === type) array.push(processesContent);
                     });
                     return array;
-
                 },
                 //重组数据
                 resetProcessData: function () {
@@ -680,28 +612,6 @@
                         _this.processes.splice(index + 1, 0, processTemp);
                     });
                 },
-                //回显条件参数
-                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];
-                            if (val !== "+") {
-                                $('input[name="' + key + '"]').val(val);
-                                $('select[name="' + key + '"]').val(val);
-                                decodeURI(data.filterData[key] = val);
-                            }
-                        });
-                    }
-                },
-                //提交表单
-                submit: function () {
-                    let form = $("#optionSubmit");
-                    form.submit();
-                },
                 //全选事件
                 checkAll(e) {
                     if (e.target.checked) {
@@ -714,23 +624,12 @@
                         this.checkData = [];
                     }
                 },
-                //导出excel,因同步问题不使用formData
-                processExport(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('process?checkSign=')}}" + this.checkData;
-                        }
-                    } else {
-                        location.href = "{{url('process?checkSign=-1&date_start=')}}" +
-                            data.date_start + "&date_end=" + data.date_end + "&owner_id=" +
-                            data.owner_id + "&commodity_barcode=" + data.commodity_barcode + "&wms_code=" + data.wms_code +
-                            "&status=" + data.status+"$is_accomplish="+data.is_accomplish;
-                    }
+                //导出excel
+                processExport(checkAllSign) {
+                    let url = '{{url('process/export')}}';
+                    let token='{{ csrf_token() }}';
+                    //excelExport 定义在 js/queryForm/export.js
+                    excelExport(checkAllSign,this.checkData,url,this.sum,token);
                 },
                 //获取登记工时
                 openProcessHour(process) {
@@ -988,18 +887,6 @@
                         tempTip.show('网络错误:' + err);
                     })
                 },
-                //定位客户
-                owner_seek: function (e) {
-                    let _this = this;
-                    let $val = e.target.value;
-                    if ($val === '') _this.filterData.owner_id = '';
-                    else
-                        _this.owners.forEach(function (owner) {
-                            if (owner.name.includes($val)) {
-                                _this.filterData.owner_id = owner.id;
-                            }
-                        });
-                },
                 //修改每日产量
                 submitOutputData(daily_id, data, id) {
                     let url = "{{url('process/updateDailyOutput')}}";
@@ -1581,13 +1468,6 @@
                         tempTip.show('网络错误:' + err);
                     })
                 },
-                is_checked(e){
-                    if (e.target.checked) this.filterData.is_accomplish=e.target.checked;
-                    else this.filterData.is_accomplish='';
-                    setTimeout( res=>{
-                        this.submit();
-                    },1);
-                },
                 update_process_date(processDailyParticipant){
                     let date=this.date;
                     let is_update_date=this.is_update_date;

+ 4 - 5
resources/views/rejected/search/general.blade.php

@@ -12,13 +12,12 @@
                 @if(Session::has('successTip'))
                     <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').'?paginate='}}'+filterParams.paginate"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
+                                <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">
@@ -310,7 +309,7 @@
             rejectedBill.detailFolding=true;
         })
         let owners=[
-                @foreach($owners as $owner)
+            @foreach($owners as $owner)
             {id:'{{$owner->id}}',name:'{{$owner->name}}'},
             @endforeach
         ];
@@ -338,5 +337,5 @@
         let exportExcelOnFilterParamsURL='{{url("rejected/exportExcelOnFilterParams")}}';
         let csrfInput='@csrf';
     </script>
-    <script src="{{asset('js/singles/rejectedIndex200710.js')}}"></script>
+    <script src="{{asset('js/singles/rejectedIndex200728.js')}}"></script>
 @endsection

+ 11 - 32
resources/views/waybill/index.blade.php

@@ -17,11 +17,11 @@
                             </li> @endcan
                         @can('运输管理-查询')
                             <li class="nav-item">
-                                <a class="nav-link @if($uriType=='ZX') active @endif" href="{{url('waybill/index?uriType=ZX')}}">专线</a>
+                                <a class="nav-link @if($uriType=='专线') active @endif" href="{{url('waybill/index?uriType=专线')}}">专线</a>
                             </li> @endcan
                         @can('运输管理-查询')
                             <li class="nav-item">
-                                <a class="nav-link @if($uriType=='ZF') active @endif" href="{{url('waybill/index?uriType=ZF')}}">直发车</a>
+                                <a class="nav-link @if($uriType=='直发车') active @endif" href="{{url('waybill/index?uriType=直发车')}}">直发车</a>
                             </li> @endcan
                     </ul>
                 </div>
@@ -33,8 +33,8 @@
                     导出Excel
                 </button>
                 <div class="dropdown-menu">
-                    <a class="dropdown-item" @click="waybillExport(1)" href="javascript:">导出勾选内容</a>
-                    <a class="dropdown-item" @click="waybillExport(2)" href="javascript:">导出所有页</a>
+                    <a class="dropdown-item" @click="waybillExport(false)" href="javascript:">导出勾选内容</a>
+                    <a class="dropdown-item" @click="waybillExport(true)" href="javascript:">导出所有页</a>
                 </div>
             </span>
             <div>
@@ -308,7 +308,7 @@
                 </div>
             </div>
             <div class="text-info h5 btn btn">{{$waybills->count()}}/{{$waybills->total()}}</div>
-            {{$waybills->appends($filterData)->links()}}
+            {{$waybills->appends($request)->links()}}
         </div>
     </div>
 
@@ -361,6 +361,7 @@
             -webkit-animation-play-state: running;
         }
     </style>
+    <script type="text/javascript" src="{{asset('js/queryForm/export.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/queryForm200724.js')}}"></script>
     <script>
         let vueList=new Vue({
@@ -417,6 +418,7 @@
                 isOwnersBtn:false,
                 imgs:'',
                 is_ownerSelectShow:true,
+                sum:{!! $waybills->total() !!},
             },
             watch:{
                 checkData:{
@@ -617,25 +619,10 @@
                         this.checkData = [];
                     }
                 },
-                waybillExport(e){
-                    let val=e;
-                    let data=this.filterData;
-                    if (val==1) {
-                        if (this.checkData.length <= 0) {
-                            tempTip.setDuration(2000);
-                            tempTip.showSuccess('没有勾选任何记录');
-                        } else {
-                            location.href = "{{url('waybillExport')}}/" + this.checkData;
-                        }
-                    }else {
-                        location.href = "{{url('waybillExport/-1?waybill_number=')}}"+
-                            data.waybill_number+"&carrier_bill="+data.carrier_bill+
-                            "&carrier_id="+data.carrier_id+"&owner_id="+data.owner_id+
-                            "&wms_bill_number="+data.wms_bill_number+"&created_at_start="+
-                            data.created_at_start+"&created_at_end="+data.created_at_end+
-                            "&type="+data.type+"&status="+data.status+"&origination="+data.origination+
-                            "&destination="+data.destination+"&uriType="+data.uriType;
-                    }
+                waybillExport(checkAllSign){
+                    let url = '{{url('waybill/export')}}';
+                    let token='{{ csrf_token() }}';
+                    excelExport(checkAllSign,this.checkData,url,this.sum,token);
                 },
                 //展开收起商品列表
                 showWMSCommodities(id,wmsCommodities,isBtn){
@@ -762,14 +749,6 @@
                                 tempTip.show("删除失败");
                                 return;
                             }
-                            // _this.checkData.forEach(function (id) {
-                            //     _this.waybills.some(function (waybill) {
-                            //         if (waybill.id===id){
-                            //             waybill.url='';
-                            //             return true;
-                            //         }
-                            //     });
-                            // });
                             id.forEach(function (id) {
                                 _this.waybills.some(function (waybill) {
                                     if (waybill.id===id){

+ 7 - 20
resources/views/weight/package/index.blade.php

@@ -16,8 +16,8 @@
                     导出Excel
                 </button>
                 <div class="dropdown-menu">
-                    <a class="dropdown-item" @click="packageExport(1)" href="javascript:">导出勾选内容</a>
-                    <a class="dropdown-item" @click="packageExport(2)" href="javascript:">导出所有页</a>
+                    <a class="dropdown-item" @click="packageExport(false)" href="javascript:">导出勾选内容</a>
+                    <a class="dropdown-item" @click="packageExport(true)" href="javascript:">导出所有页</a>
                 </div>
             </span>
             <div class="">
@@ -81,6 +81,7 @@
 @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))
@@ -153,24 +154,10 @@
                         this.checkData = [];
                     }
                 },
-                packageExport(e){
-                    if (e==1){
-                        if (this.checkData&&this.checkData.length<=0){
-                            tempTip.setDuration(4000);
-                            tempTip.showSuccess('没有勾选任何记录');
-                        }else{
-                            location.href="{{url('package/export').'?data='}}"+this.checkData;
-                        }
-                    } else {
-                        if (this.sum > 10000){
-                            if (!confirm('导出条数超过一万条,耗时可能过长,您确定继续吗?'))return;
-                        }
-                        let url=document.URL;
-                        let parameter=url.split('?',2);
-                        url="{{url('package/export')}}"+"?checkAllSign=true";
-                        if (parameter[1])url+="&"+parameter[1];
-                        location.href=url;
-                    }
+                packageExport(checkAllSign){
+                    let url = '{{url('package/export')}}';
+                    let token='{{ csrf_token() }}';
+                    excelExport(checkAllSign,this.checkData,url,this.sum,token);
                 },
             },
         });

+ 6 - 4
routes/web.php

@@ -84,15 +84,15 @@ Route::any('waybill/ontop/cancel','WaybillsController@cancelOnTop');
 Route::get('waybill/index','WaybillsController@index');
 Route::get('waybill/delivering','WaybillsController@delivering');
 Route::post('waybill/storeCarrierBill','WaybillsController@storeCarrierBill');
-Route::resource('waybill','WaybillsController');
 Route::post('waybill/is/waybillPriceModel','WaybillsController@isWaybillPriceModel');
 Route::post('waybill/addCounty','WaybillsController@addCounty');
 Route::any('waybill/waybillAudit','WaybillsController@waybillAudit');
 Route::any('waybill/waybillEdit/{id}','WaybillsController@waybillEdit');
 Route::any('waybill/waybillRetreatAudit','WaybillsController@waybillRetreatAudit');
 Route::any('waybill/waybillEndAudit','WaybillsController@waybillEndAudit');
-Route::get('waybillExport','WaybillsController@waybillExport');
+Route::any('waybill/export','WaybillsController@export');
 Route::any('waybill/waybillUpdate/{id}','WaybillsController@waybillUpdate');
+Route::resource('waybill','WaybillsController');
 
 
 Route::any('waybillFinancialSnapshot/export/{id}','WaybillFinancialSnapshotsController@export');
@@ -122,7 +122,7 @@ Route::get('maintenance/', function () {return view('maintenance.index');});
 Route::any('package/measureMonitor/speech','MeasureMonitorController@speech');
 Route::post('package/measureMonitor/data','MeasureMonitorController@data');
 Route::resource('package/measureMonitor','MeasureMonitorController');
-Route::get('package/export','PackageController@export');
+Route::any('package/export','PackageController@export');
 Route::get('package/statistics','PackageController@statistics');
 Route::get('package/statisticExport','PackageController@statisticExport');
 Route::get('package/relating', function () {return view('weight.menuWeight');});
@@ -232,6 +232,8 @@ Route::group(['prefix'=>'process'],function(){
     Route::delete('destroyDailyParticipant/{id}','ProcessController@destroyDailyParticipant');
     //导入粘贴商品数据
     Route::post('importPasteData','ProcessController@importPasteData');
+    //导出
+    Route::any('export','ProcessController@export');
 });
 //process主方法 restful
 Route::resource('process','ProcessController');
@@ -297,7 +299,7 @@ Route::group(['prefix'=>'inventory'],function (){
  */
 Route::group(['prefix'=>'order'],function(){
     //发运
-    Route::get('index/delivering','OrderController@delivering');
+    Route::any('index/delivering','OrderController@delivering');
     //批量备注
     Route::post('create/batchComments','OrderController@batchComments');
     //冻结订单

+ 3 - 2
webpack.mix.js

@@ -13,7 +13,7 @@ const mix = require('laravel-mix');
 
 mix.js('resources/js/app.js', 'public/js')
     .sass('resources/sass/app.scss', 'public/css/app200721.css');
-mix.js('resources/js/singles/rejectedIndex.js', 'public/js/singles/rejectedIndex200710.js');
+mix.js('resources/js/singles/rejectedIndex.js', 'public/js/singles/rejectedIndex200728.js');
 mix.js('resources/js/singles/searchAnalyze.js', 'public/js/singles/searchAnalyze200513.js');
 
 mix.copy('resources/sass/fonts/','public/fonts');
@@ -22,4 +22,5 @@ mix.copy('resources/images','public/images');
 mix.copy('resources/icon/faviconc.ico','public/faviconc.ico');
 mix.js('resources/js/trix.js','public/js/trix.js');
 mix.copy('resources/sass/trix.css','public/css/trix.css');
-mix.copy('resources/js/queryForm/queryForm.js','public/js/queryForm/queryForm200724.js');
+mix.copy('resources/js/queryForm/queryForm.js','public/js/queryForm/queryForm200724.js');
+mix.copy('resources/js/queryForm/export.js','public/js/queryForm/export.js');