ソースを参照

Merge branch 'master' into Haozi

haozi 5 年 前
コミット
562144fc42
66 ファイル変更3211 行追加1136 行削除
  1. 30 15
      app/Exports/RejectedExport.php
  2. 4 2
      app/Http/Controllers/Auth/LoginController.php
  3. 110 0
      app/Http/Controllers/ClientController.php
  4. 4 0
      app/Http/Controllers/HomeController.php
  5. 18 5
      app/Http/Controllers/OrderController.php
  6. 84 0
      app/Http/Controllers/PriceModelExpressageController.php
  7. 84 0
      app/Http/Controllers/PriceModelLogisticController.php
  8. 84 0
      app/Http/Controllers/PriceModelNonstopController.php
  9. 84 0
      app/Http/Controllers/PriceModelStorageController.php
  10. 84 0
      app/Http/Controllers/PriceModelTaskController.php
  11. 3 3
      app/Http/Controllers/RejectedController.php
  12. 5 0
      app/Http/Controllers/TestController.php
  13. 69 3
      app/Http/Controllers/WaybillsController.php
  14. 10 0
      app/Http/Controllers/api/thirdPart/weight/PackageController.php
  15. 1 1
      app/OracleDOCOrderHeader.php
  16. 11 0
      app/OracleDOCWaveDetails.php
  17. 10 6
      app/Providers/AuthServiceProvider.php
  18. 4 0
      app/RejectedAnalyzeOwner.php
  19. 12 0
      app/UploadFile.php
  20. 11 1
      app/Waybill.php
  21. 11 0
      bootstrap/cache/packages.php
  22. 27 25
      bootstrap/cache/services.php
  23. 1 0
      composer.json
  24. 128 463
      composer.lock
  25. 1 1
      config/app.php
  26. 2 2
      database/migrations/2020_06_12_135349_change_rejected_bills_add_custom_fields.php
  27. 45 0
      database/migrations/2020_06_16_171741_create_upload_files_table.php
  28. 37 0
      database/migrations/2020_06_18_145606_add_authorities_order_update_table.php
  29. BIN
      public/icon/img404-bulky.jpg
  30. BIN
      public/icon/img404-thumbnail.jpg
  31. 43 0
      resources/views/client/areaCheck/create.blade.php
  32. 160 0
      resources/views/client/areaCheck/index.blade.php
  33. 16 0
      resources/views/client/areaCheck/menu.blade.php
  34. 50 0
      resources/views/client/base/create.blade.php
  35. 163 0
      resources/views/client/base/index.blade.php
  36. 16 0
      resources/views/client/base/menu.blade.php
  37. 47 0
      resources/views/client/billCheck/create.blade.php
  38. 107 0
      resources/views/client/billCheck/index.blade.php
  39. 16 0
      resources/views/client/billCheck/menu.blade.php
  40. 145 0
      resources/views/client/instantBill/index.blade.php
  41. 25 0
      resources/views/client/menu.blade.php
  42. 154 0
      resources/views/client/performanceReport/index.blade.php
  43. 1 1
      resources/views/inventory/statement/changeInventory.blade.php
  44. 12 7
      resources/views/layouts/menu.blade.php
  45. 3 0
      resources/views/maintenance/menu.blade.php
  46. 168 0
      resources/views/maintenance/priceModel/expressage/index.blade.php
  47. 168 0
      resources/views/maintenance/priceModel/logistic/index.blade.php
  48. 25 0
      resources/views/maintenance/priceModel/menu.blade.php
  49. 168 0
      resources/views/maintenance/priceModel/nonstop/index.blade.php
  50. 30 0
      resources/views/maintenance/priceModel/storage/index.blade.php
  51. 168 0
      resources/views/maintenance/priceModel/task/index.blade.php
  52. 10 2
      resources/views/maintenance/role/index.blade.php
  53. 218 190
      resources/views/order/index/delivering.blade.php
  54. 21 2
      resources/views/rejected/create.blade.php
  55. 24 2
      resources/views/rejected/edit.blade.php
  56. 0 336
      resources/views/rejected/index.blade.php
  57. 0 4
      resources/views/rejected/menuRelating.blade.php
  58. 14 6
      resources/views/rejected/search/analyze.blade.php
  59. 36 37
      resources/views/rejected/search/general.blade.php
  60. 2 2
      resources/views/rejected/search/menu.blade.php
  61. 1 1
      resources/views/waybill/create.blade.php
  62. 156 18
      resources/views/waybill/index.blade.php
  63. 1 1
      resources/views/waybill/waybillFinancialSnapshot/index.blade.php
  64. 50 0
      routes/web.php
  65. 4 0
      runServes.sh
  66. 15 0
      tests/webApi/thirdPart/weight/PackageController.http

+ 30 - 15
app/Exports/RejectedExport.php

@@ -6,6 +6,7 @@ use App\RejectedBill;
 use App\RejectedBillItem;
 use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Database\Eloquent\Collection;
+use Illuminate\Support\Facades\Gate;
 use Maatwebsite\Excel\Concerns\FromCollection;
 use Maatwebsite\Excel\Concerns\ShouldAutoSize;
 use Maatwebsite\Excel\Concerns\WithColumnFormatting;
@@ -43,41 +44,55 @@ class RejectedExport extends \PhpOffice\PhpSpreadsheet\Cell\StringValueBinder im
                 $query->where('is_finished',false);
             }
         });
-        $rejectedItems->get();
+        $rejectedItems=$rejectedItems->get();
         $rejecteds = new Collection();
-        $this->prependFields($rejecteds);
-        $rejectedItems->each(function(RejectedBillItem $item)use($rejecteds){
-            $this->injectRecord($rejecteds,$item->rejectedBill,$item);
+        if($rejectedItems->isEmpty())return $rejecteds;
+        $id_owner = $rejectedItems->first()->rejectedBill['id_owner'];
+        $this->prependFields($rejecteds,$id_owner);
+        $rejectedItems->each(function(RejectedBillItem $item)use($rejecteds,$id_owner){
+            $this->injectRecord($rejecteds,$item->rejectedBill,$item,$id_owner);
         });
         return $rejecteds;
     }
     private function getByRejectedBills(){
         $rejecteds = new Collection();
-        $this->prependFields($rejecteds);
-        $this->rejectedBills->each(function(RejectedBill $rejectedBill)use($rejecteds){
-            $rejectedBill->items()->each(function (RejectedBillItem $item)use($rejecteds,$rejectedBill){
-                $this->injectRecord($rejecteds,$rejectedBill,$item);
+        $rejectedBills=$this->rejectedBills->get();
+        if($rejectedBills->isEmpty())return $rejecteds;
+        $id_owner = $rejectedBills->first()['id_owner'];
+        $this->prependFields($rejecteds,$id_owner);
+        $rejectedBills->each(function(RejectedBill $rejectedBill)use($rejecteds,$id_owner){
+            $rejectedBill->items()->each(function (RejectedBillItem $item)use($rejecteds,$rejectedBill,$id_owner){
+                $this->injectRecord($rejecteds,$rejectedBill,$item,$id_owner);
             });
         });
         return $rejecteds;
     }
-    private function prependFields($collection){
-        $collection->prepend(['日期','审核号','客户名称','订单号','姓名',
+    private function prependFields($collection,$id_owner){
+        $fieldNames=['日期','审核号','客户名称','订单号','姓名',
             '手机','原单单号','退回单号','退回公司','到付费用',
-            '是否入库','商品条码','商品名称','数量','是否正品',
+            '是否入库','商品条码','商品名称',];
+        if($id_owner==66){
+            $fieldNames=array_merge($fieldNames,['寄件方省','重量',]);
+        }
+        $fieldNames=array_merge($fieldNames,['数量','是否正品',
             '批次号','生产日期','效期','备注','退单备注','录入人']);
+        $collection->prepend($fieldNames);
         return $collection;
     }
-    private function injectRecord($collection,$bill,$item){
-        $collection->push([
-            $item['created_at'],
+    private function injectRecord($collection,$bill,$item,$id_owner){
+        $fieldValues=[$item['created_at'],
             $bill['checked_numbers'],$bill['owner_name'],
             $bill['order_number'],$bill['sender'],
             $bill['mobile_sender'],$bill['logistic_number'],
             $bill['logistic_number_return'],$bill['logistic_name'],
             $bill['fee_collected'],$bill['is_loaded_str'],
-            $item['barcode_goods'],$item['name_goods'],$item['amount'],$item['quality_label'],
+            $item['barcode_goods'],$item['name_goods'],];
+        if($id_owner==66){
+            $fieldValues=array_merge($fieldValues,[$bill['common_01'],$bill['common_02']]);
+        }
+        $fieldValues=array_merge($fieldValues,[$item['amount'],$item['quality_label'],
             $item['batch_number'],$item['made_at'],$item['validity_at'],$item['remark'],$bill['remark'],$bill['operator_name']]);
+        $collection->push($fieldValues);
         return $collection;
     }
 

+ 4 - 2
app/Http/Controllers/Auth/LoginController.php

@@ -68,12 +68,14 @@ class LoginController extends Controller
         }
 
         if ($this->attemptLogin($request)) {
-            $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
+            if(env('DB_USERNAME')!='developer')
+                $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
             return $this->sendLoginResponse($request);
         }
 
         $this->incrementLoginAttempts($request);
-        $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
+        if(env('DB_USERNAME')!='developer')
+            $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
         return $this->sendFailedLoginResponse($request);
     }
 }

+ 110 - 0
app/Http/Controllers/ClientController.php

@@ -0,0 +1,110 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class ClientController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('client.base.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        return view('client.base.create');
+    }
+
+
+    public function areaCheckIndex(){
+        return view('client.areaCheck.index');
+    }
+
+
+    public function areaCheckCreate(){
+        return view('client.areaCheck.create');
+    }
+
+    public function billCheckIndex(){
+        return view('client.billCheck.index');
+    }
+
+
+    public function billCheckCreate(){
+        return view('client.billCheck.create');
+    }
+
+    public function performanceReportIndex(){
+        return view('client.performanceReport.index');
+    }
+    public function instantBillIndex(){
+        return view('client.instantBill.index');
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 4 - 0
app/Http/Controllers/HomeController.php

@@ -30,4 +30,8 @@ class HomeController extends Controller
         }
         return redirect(url('rejected/index/general'));
     }
+    public function home()
+    {
+        return view('home');
+    }
 }

+ 18 - 5
app/Http/Controllers/OrderController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 use App\Exports\Export;
 use App\OracleBasCustomer;
 use App\OracleDOCOrderHeader;
+use App\OracleDOCWaveDetails;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
@@ -30,7 +31,7 @@ class OrderController extends Controller
         $addtime=$request->input('addtime');
         $checkData=$request->input('checkData');
         $export=$request->input('export');
-        $sql="select 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
+        $sql="select 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_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
        DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
         ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
@@ -45,7 +46,7 @@ class OrderController extends Controller
                          DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
                           ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
                          DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
-                          ,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,DOC_ORDER_HEADER.OrderTime from (select * from DOC_ORDER_HEADER  order by ADDTIME desc )DOC_ORDER_HEADER where 1=1";
+                          ,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,DOC_ORDER_HEADER.OrderTime from (select * from DOC_ORDER_HEADER  order by ADDTIME desc )DOC_ORDER_HEADER where 1=1 ";
         if ($ordertime_start)$sql.=" and ordertime>='".$ordertime_start." 00:00:00'";
         if ($ordertime_end)$sql.=" and ordertime<='".$ordertime_end." 23:59:59'";
         if ($customerid)$sql.=" and customerid='".$customerid."'";
@@ -92,6 +93,7 @@ class OrderController extends Controller
                       left join BAS_CODES on BAS_CODES.CODE=DOC_ORDER_HEADER.sostatus and BAS_CODES.codeid='SO_STS'
                       left join BAS_Customer on BAS_Customer.customerid=DOC_ORDER_HEADER.customerid
                       left join  BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
+                      left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno 
         group by 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_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
          DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
@@ -99,18 +101,19 @@ class OrderController extends Controller
          DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
         ,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,DOC_ORDER_HEADER.OrderTime,DOC_Order_Details.CustomerID,
          DOC_Order_Details.SKU,DOC_Order_Details.QtyOrdered,DOC_Order_Details.OrderLineNo,
-         BAS_SKU.Alternate_SKU1,BAS_SKU.Descr_C,BAS_Codes.codename_c,BAS_Customer.descr_c order by ordertime" ;
+         BAS_SKU.Alternate_SKU1,BAS_SKU.Descr_C,BAS_Codes.codename_c,BAS_Customer.descr_c,ACT_ALLOCATION_DETAILS.CHECKTIME order by ordertime" ;
         $orders=DB::connection('oracle')->select(DB::raw($sql));
         $commodities=[];
         foreach ($orders as $index=>$order){
             if (isset($commodities[$order->orderno])){
                 array_push($commodities[$order->orderno],
-                    ["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,"descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered]);
+                    ["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,"descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered
+                    ,"checktime"=>$order->checktime]);
                 unset($orders[$index]);
                 continue;
             }
             $commodities[$order->orderno]=[["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,
-                "descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered]];
+                "descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered,"checktime"=>$order->checktime]];
         }
         $orders=array_values($orders);
         $orders = new Collection($orders);
@@ -142,6 +145,16 @@ class OrderController extends Controller
         }
         return $data;
     }
+    public function freeze(Request $request){
+        if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
+        $orderno=$request->input('orderno');
+        $waveno=$request->input('waveno');
+        OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'Y']);
+        if ($waveno && $waveno!='*'){
+            OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
+        }
+        return ['success'=>true];
+    }
 
     function export($orders,$commodities){
         if(!Gate::allows('订单管理')){ return redirect(url('/'));  }

+ 84 - 0
app/Http/Controllers/PriceModelExpressageController.php

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PriceModelExpressageController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.priceModel.expressage.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 84 - 0
app/Http/Controllers/PriceModelLogisticController.php

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PriceModelLogisticController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.priceModel.logistic.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 84 - 0
app/Http/Controllers/PriceModelNonstopController.php

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PriceModelNonstopController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.priceModel.nonstop.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 84 - 0
app/Http/Controllers/PriceModelStorageController.php

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PriceModelStorageController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.priceModel.storage.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 84 - 0
app/Http/Controllers/PriceModelTaskController.php

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PriceModelTaskController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.priceModel.task.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

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

@@ -38,7 +38,7 @@ class RejectedController extends Controller
      */
     public function index(Request $request)
     {
-        if(!Gate::allows('退货管理-查询')){ return redirect(url('/'));  }
+        if(!Gate::allows('退货管理-查询')){ return redirect(url('/homeTemp'));  }
         $user=Auth::user();
         $paginate = $request->input('paginate')??50;
         $paginateParams = $this->packFilterParams($request);
@@ -480,7 +480,7 @@ class RejectedController extends Controller
         $row = RejectedAnalyzeOwner::getExcelFromHead();
         $searchParams = $this->getAnalyzeSearchParams($request);
         $data = RejectedAnalyzeOwner::getFindBy($searchParams);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+//        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return Excel::download(new DefaultExport($row,$data),date('YmdHis', time()).'-退货统计记录单.xlsx');
     }
 
@@ -491,7 +491,7 @@ class RejectedController extends Controller
         $searchParams = $this->getAnalyzeSearchParams($request);
         $row = RejectedAnalyzeOwner::getExcelFromHead();
         $data = RejectedAnalyzeOwner::getFindBy($searchParams);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+//        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return Excel::download(new DefaultExport($row,$data),date('YmdHis', time()).'-退货统计记录单.xlsx');
     }
 

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

@@ -15,6 +15,7 @@ use App\Rejected;
 use App\RejectedBill;
 use App\RejectedBillItem;
 use App\Unit;
+use App\UploadFile;
 use App\User;
 use App\UserToken;
 use App\Waybill;
@@ -284,4 +285,8 @@ class TestController extends Controller
         }
         return "a";*/
     }
+    function test(){
+        $waybill=Waybill::with('uploadFile')->find(55);
+        dd($waybill,$waybill->upload_file_url);
+    }
 }

+ 69 - 3
app/Http/Controllers/WaybillsController.php

@@ -3,8 +3,7 @@
 namespace App\Http\Controllers;
 
 
-use App\Http\Controllers\Api\thirdPart\flux\WaybillController;
-use App\User;
+use App\UploadFile;
 use App\WaybillAuditLog;
 use App\WaybillPriceModel;
 use App\Carrier;
@@ -23,6 +22,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Validator;
+use Intervention\Image\Facades\Image;
 use Maatwebsite\Excel\Facades\Excel;
 use Ramsey\Uuid\Uuid;
 
@@ -60,7 +60,7 @@ class WaybillsController extends Controller
         }
         if ($request->input('owners')){
             $owners=array_values(json_decode($request->input('owners'),true));
-            $waybills=$waybills->whereIn('owner_id',$owners);
+            if (count($owners)>0)$waybills=$waybills->whereIn('owner_id',$owners);
         }
         if ($request->input('owner_id')){
             $waybills=$waybills->where('owner_id','=',$request->input('owner_id'));
@@ -577,6 +577,72 @@ class WaybillsController extends Controller
         return ['exception'=>'请勿重复审核!'];
     }
 
+    public function upload(Request $request){
+        if(!Gate::allows('运输管理-图片上传')){ return '没有权限';  }
+        $file=$request->file('file');
+        $waybill_number=$request->input('waybill_number');
+        $waybill=Waybill::where('waybill_number',$waybill_number)->first();
+        if (!$waybill){
+            return ['success'=>false,'error'=>"未找到该运单!"];
+        }
+        if ($waybill->upload_file_url){
+            return ['success'=>false,'error'=>"该运单已存在照片!"];
+        }
+        if (!$file){
+            return ['success'=>false,'error'=>"照片不得为空!"];
+        }
+        if (!$file->isValid()){
+            return ['success'=>false,'error'=>"找不到照片!"];
+        }
+        $tmpFile = $file->getRealPath();
+        if (! is_uploaded_file($tmpFile)) {
+            return ['success'=>false,'error'=>"文件错误!"];
+        }
+        $fileExtension=$file->getClientOriginalExtension();
+        // 5.存储, 生成一个随机文件名
+        $fileName = date('ymd').'-'.Uuid::uuid1();//thumbnail common bulky
+        $thumbnailName=storage_path('app\\public\\files\\'.$fileName.'-thumbnail.'.$fileExtension);
+        $commonName=storage_path('app\\public\\files\\'.$fileName.'-common.'.$fileExtension);
+        $bulkyName=storage_path('app\\public\\files\\'.$fileName.'-bulky.'.$fileExtension);
+        $result=move_uploaded_file ($tmpFile ,$bulkyName);
+        if ($result){
+            $img=Image::make($bulkyName);
+            if ($img->height() > $img->width())
+            $img->heighten(250)->save($commonName);
+            else $img->widen(250)->save($commonName);
+            $img->heighten(28)->save($thumbnailName);
+            $uploadFile=new UploadFile([
+                "table_name"=>"waybills",
+                "table_id"=>$waybill->id,
+                "url"=>'/files/'.$fileName,
+                "type"=>$fileExtension,
+            ]);
+            if ($uploadFile->save())
+            $this->log(__METHOD__,'图片上传',json_encode($request),Auth::user()['id']);
+            $uploadFile->url=asset('/storage'.$uploadFile->url);
+            return ['success'=>true,'data'=>$uploadFile];
+        }
+        return ['success'=>false,'error'=>"图片保存失败!"];
+    }
+
+    //删除照片
+    public function deleteImg(Request $request){
+        if(!Gate::allows('运输管理-图片删除')){ return '没有权限';  }
+        $ids=$request->input('ids');
+        $uploadFiles=UploadFile::where('table_name','waybills')->whereIn('table_id',$ids)->get();
+        foreach ($uploadFiles as $uploadFile){
+            $bulky=storage_path('app/public/'.$uploadFile->url.'-bulky.'.$uploadFile->type);
+            $common=storage_path('app/public/'.$uploadFile->url.'-common.'.$uploadFile->type);
+            $thumbnail=storage_path('app/public/'.$uploadFile->url.'-thumbnail.'.$uploadFile->type);
+            if (file_exists($bulky) && file_exists($common) && file_exists($thumbnail)){
+                unlink($bulky);unlink($common);unlink($thumbnail);
+            }
+        }
+        UploadFile::where('table_name','waybills')->whereIn('table_id',$ids)->delete();
+        $this->log(__METHOD__,'图片删除',json_encode($request),Auth::user()['id']);
+        return ['success'=>true];
+    }
+
     public function waybillExport($id,Request $request){
         if(!Gate::allows('运输管理-查询')){ return '没有权限';  }
         if ($id==-1){

+ 10 - 0
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -9,6 +9,7 @@ use App\Jobs\MeasuringMachineQueue;
 use App\Jobs\MarkPackageExcepted;
 use App\MeasuringMachine;
 use App\Package;
+use App\Waybill;
 use Illuminate\Http\Request;
 use Illuminate\Support\Carbon;
 use Illuminate\Support\Facades\Validator;
@@ -99,6 +100,15 @@ class PackageController extends Controller
                 }
                 $package->save();
             }
+            if ($package->order_code){
+                $waybill=Waybill::where('wms_bill_number',$package->order_code)->where('status','!=','已完结')
+                    ->where('status','!=','无模型')->first();
+                if ($waybill){
+                    $waybill->warehouse_weight_other=$package->weight;
+                    $waybill->warehouse_weight_unit_id_other=1;
+                    $waybill->update();
+                }
+            }
             event(new WeighedEvent($package));
             $response=["msg"=>"保存成功",
                         "code"=>200,

+ 1 - 1
app/OracleDOCOrderHeader.php

@@ -15,7 +15,7 @@ class OracleDOCOrderHeader extends Model
         'oracleBASCode_codename_c'
     ];
     protected $fillable=[
-        'NOTES',
+        'NOTES','ReleaseStatus'
     ];
 
     /*

+ 11 - 0
app/OracleDOCWaveDetails.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OracleDOCWaveDetails extends Model
+{
+    protected $connection='oracle';
+    protected $table='DOC_WAVE_DETAILS';
+}

+ 10 - 6
app/Providers/AuthServiceProvider.php

@@ -30,22 +30,26 @@ class AuthServiceProvider extends ServiceProvider
     {
         $this->registerPolicies();
 
+        $isSuperAdmin = null;
         if(!Schema::hasTable('users')){return;}
-        Gate::before(function ($user) {
-            if ($user->isSuperAdmin()) {
+        Gate::before(function ($user)use(&$isSuperAdmin) {
+            if($isSuperAdmin===null){
+                $isSuperAdmin=$user->isSuperAdmin();
+            }
+            if ($isSuperAdmin) {
                 Cache::put('isSuperAdmin', true);
             }else{
                 Cache::put('isSuperAdmin', false);
             }
         });
-
         if(!Schema::hasTable('authorities')){return;}
         $authorities = Authority::with('roles')->get();
         foreach($authorities as $authority) {
             Gate::define($authority->name, function($user) use ($authority) {
-                if(Cache::get('isSuperAdmin')
-                    && $authority['permission']=='允许'){
-                    return true;
+                if(Cache::get('isSuperAdmin')){
+                    if($authority['permission']=='允许'){
+                        return true;
+                    }
                 }
                 return $user->hasRole($authority->roles);
             });

+ 4 - 0
app/RejectedAnalyzeOwner.php

@@ -52,7 +52,9 @@ class RejectedAnalyzeOwner extends Model
                     'owner_name'=>  $result->name,
                     'bounce_amount'=>$result->bounce_amount,
                     'check_amount'=>$result->check_amount,
+                    'uncheck_amount'=>$result->bounce_amount-$result->check_amount,
                     'in_storage_count'=>$result->in_storage_count,
+                    'not_in_storage_count'=>$result->bounce_amount-$result->in_storage_count,
             ];
             $list[] = $rao;
         }
@@ -65,7 +67,9 @@ class RejectedAnalyzeOwner extends Model
             'owner_name'=>'货主名',
             'bounce_amount'=>'退件单数',
             'check_amount'=>'审核单数',
+            'uncheck_amount'=>'未审核单数',
             'in_storage_count'=>'入库单数',
+            'not_in_storage_count'=>'未入库单数',
         ]];
         return $arr;
     }

+ 12 - 0
app/UploadFile.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class UploadFile extends Model
+{
+    protected $fillable=[
+        'table_name','table_id','url','type'
+    ];
+}

+ 11 - 1
app/Waybill.php

@@ -24,6 +24,8 @@ class Waybill extends Model
         'carrier_weight_unit_name',
         'warehouse_weight_unit_other_name',
         'carrier_weight_unit_other_name',
+        'upload_file_url',
+        'upload_file_type',
     ];
 
     public function owner(){
@@ -68,8 +70,17 @@ class Waybill extends Model
     public function waybillAuditLogs(){
         return $this->hasMany('App\WaybillAuditLog','waybill_id','id');
     }
+    public function uploadFile(){
+        return $this->hasOne('App\UploadFile','table_id','id')->where('table_name','waybills');
+    }
 
 
+    public function getUploadFileUrlAttribute(){
+        return $this['uploadFile']? asset('/storage'.$this['uploadFile']['url']):null;
+    }
+    public function getUploadFileTypeAttribute(){
+        return $this['uploadFile']? $this['uploadFile']['type']:null;
+    }
     public function getOwnerNameAttribute(){
         return $this['owner']? $this['owner']['name']:null;
     }
@@ -82,7 +93,6 @@ class Waybill extends Model
     public  function  getDestinationCityNameAttribute(){
         return $this['destination_city']? $this['destination_city']['name']:null;
     }
-
     public function getWarehouseWeightUnitNameAttribute(){
         return $this['warehouse_weight_unit']? $this['warehouse_weight_unit']['name']:null;
     }

+ 11 - 0
bootstrap/cache/packages.php

@@ -35,6 +35,17 @@
       0 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
     ),
   ),
+  'intervention/image' => 
+  array (
+    'providers' => 
+    array (
+      0 => 'Intervention\\Image\\ImageServiceProvider',
+    ),
+    'aliases' => 
+    array (
+      'Image' => 'Intervention\\Image\\Facades\\Image',
+    ),
+  ),
   'laravel/tinker' => 
   array (
     'providers' => 

+ 27 - 25
bootstrap/cache/services.php

@@ -27,19 +27,20 @@
     23 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
     24 => 'Facade\\Ignition\\IgnitionServiceProvider',
     25 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
-    26 => 'Laravel\\Tinker\\TinkerServiceProvider',
-    27 => 'Laravel\\Ui\\UiServiceProvider',
-    28 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
-    29 => 'Carbon\\Laravel\\ServiceProvider',
-    30 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    31 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    32 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    33 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    34 => 'App\\Providers\\AppServiceProvider',
-    35 => 'App\\Providers\\AuthServiceProvider',
-    36 => 'App\\Providers\\BroadcastServiceProvider',
-    37 => 'App\\Providers\\EventServiceProvider',
-    38 => 'App\\Providers\\RouteServiceProvider',
+    26 => 'Intervention\\Image\\ImageServiceProvider',
+    27 => 'Laravel\\Tinker\\TinkerServiceProvider',
+    28 => 'Laravel\\Ui\\UiServiceProvider',
+    29 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
+    30 => 'Carbon\\Laravel\\ServiceProvider',
+    31 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
+    32 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    33 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    34 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    35 => 'App\\Providers\\AppServiceProvider',
+    36 => 'App\\Providers\\AuthServiceProvider',
+    37 => 'App\\Providers\\BroadcastServiceProvider',
+    38 => 'App\\Providers\\EventServiceProvider',
+    39 => 'App\\Providers\\RouteServiceProvider',
   ),
   'eager' => 
   array (
@@ -57,18 +58,19 @@
     11 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
     12 => 'Facade\\Ignition\\IgnitionServiceProvider',
     13 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
-    14 => 'Laravel\\Ui\\UiServiceProvider',
-    15 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
-    16 => 'Carbon\\Laravel\\ServiceProvider',
-    17 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    18 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    19 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    20 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    21 => 'App\\Providers\\AppServiceProvider',
-    22 => 'App\\Providers\\AuthServiceProvider',
-    23 => 'App\\Providers\\BroadcastServiceProvider',
-    24 => 'App\\Providers\\EventServiceProvider',
-    25 => 'App\\Providers\\RouteServiceProvider',
+    14 => 'Intervention\\Image\\ImageServiceProvider',
+    15 => 'Laravel\\Ui\\UiServiceProvider',
+    16 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
+    17 => 'Carbon\\Laravel\\ServiceProvider',
+    18 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
+    19 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    20 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    21 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    22 => 'App\\Providers\\AppServiceProvider',
+    23 => 'App\\Providers\\AuthServiceProvider',
+    24 => 'App\\Providers\\BroadcastServiceProvider',
+    25 => 'App\\Providers\\EventServiceProvider',
+    26 => 'App\\Providers\\RouteServiceProvider',
   ),
   'deferred' => 
   array (

+ 1 - 0
composer.json

@@ -17,6 +17,7 @@
         "endroid/qr-code": "^3.7",
         "facade/ignition": "^2.0",
         "fideloper/proxy": "^4.0",
+        "intervention/image": "^2.5",
         "kitetail/zttp": "^0.6.0",
         "laravel/framework": "7.*",
         "laravel/tinker": "^2.0",

ファイルの差分が大きいため隠しています
+ 128 - 463
composer.lock


+ 1 - 1
config/app.php

@@ -184,7 +184,7 @@ return [
     |
     | This array of class aliases will be registered when this application
     | is started. However, feel free to register as many as you wish as
-    | the aliases are "lazy" loaded so they don't hinder performance.
+    | the aliases are "lazy" loaded so they don't hinder performanceReport.
     |
     */
 

+ 2 - 2
database/migrations/2020_06_12_135349_change_rejected_bills_add_custom_fields.php

@@ -27,8 +27,8 @@ class ChangeRejectedBillsAddCustomFields extends Migration
     public function down()
     {
         Schema::table('authorities',function (Blueprint $table){
-            $table->string('common01')->delete();
-            $table->string('common02')->delete();
+            $table->string('common_01')->delete();
+            $table->string('common_02')->delete();
         });
     }
 }

+ 45 - 0
database/migrations/2020_06_16_171741_create_upload_files_table.php

@@ -0,0 +1,45 @@
+<?php
+
+use App\Authority;
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateUploadFilesTable extends Migration
+{
+    protected $authNames=[
+        "运输管理-图片上传",
+        "运输管理-图片删除"
+    ];
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('upload_files', function (Blueprint $table) {
+            $table->string('table_name')->comment('表名');
+            $table->string('table_id')->comment('表ID');
+            $table->string('url')->unique()->comment('路径');
+            $table->string('type')->nullable()->comment('类型');
+            $table->timestamps();
+        });
+        foreach ($this->authNames as $name){
+            if(!Authority::where('name',$name)->first())(new Authority(['name'=>$name,'alias_name'=>$name]))->save();
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('upload_files');
+        foreach ($this->authNames as $name){
+            Authority::where('name',$name)->delete();
+        }
+    }
+}

+ 37 - 0
database/migrations/2020_06_18_145606_add_authorities_order_update_table.php

@@ -0,0 +1,37 @@
+<?php
+
+use App\Authority;
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddAuthoritiesOrderUpdateTable extends Migration
+{
+
+    protected $authNames=[
+        "订单管理-编辑",
+    ];
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        foreach ($this->authNames as $name){
+            if(!Authority::where('name',$name)->first())(new Authority(['name'=>$name,'alias_name'=>$name]))->save();
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        foreach ($this->authNames as $name){
+            Authority::where('name',$name)->delete();
+        }
+    }
+}

BIN
public/icon/img404-bulky.jpg


BIN
public/icon/img404-thumbnail.jpg


+ 43 - 0
resources/views/client/areaCheck/create.blade.php

@@ -0,0 +1,43 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.areaCheck.menu')@endcomponent
+<form class="card col-md-8 offset-md-2 card-body">
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">项目小组</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">子项目</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">用仓类型</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2">货物整托</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 ">货物半托</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 ">平面区面积</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-group mt-3">
+        <div class="col-7 offset-2">
+            <input type="submit" class="btn btn-success form-control">
+        </div>
+    </div>
+</form>
+@endsection
+

+ 160 - 0
resources/views/client/areaCheck/index.blade.php

@@ -0,0 +1,160 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.areaCheck.menu')@endcomponent
+    <div class="card m-2">
+        <form>
+            <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
+                <tr>
+                    <td colspan="10">
+                        <select name="paginate"  class="form-control-sm" style="vertical-align: middle">
+                            <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 style="width: 300px">
+                        <div class="form-inline">
+                            <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                                <option value="" class="text-secondary">货主 </option>
+                                <option  class="font-weight-bold"></option>
+                            </select>
+                            <div style="position: relative;">
+                                <button type="button"  style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">多货主查询</button>
+                            </div>
+                        </div>
+                    </td>
+                    <td style="width: 300px">
+                            <input class="form-control form-control-sm" placeholder="结算月(示例:202001)" style="max-width: 200px">
+                    </td>
+                    <td style="width: 300px">
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td style="width: 300px">
+                        <select name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">用仓类型</option>
+                        </select>
+                    </td>
+                    <td colspan="6"></td>
+                </tr>
+                <tr>
+                    <td>
+                        <select  name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">子项目</option>
+                        </select>
+                    </td>
+                    <td>
+                        <select name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">项目组</option>
+                        </select>
+                    </td>
+                    <td>
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td colspan="7"></td>
+                </tr>
+                <tr>
+                    <td colspan="10">
+                        <span class="dropdown">
+                            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle "
+                                    data-toggle="dropdown" >
+                                导出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>
+                            </div>
+                        </span>
+                    </td>
+                </tr>
+            </table>
+        </form>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>
+                    <label for="all">
+                        <input id="all" type="checkbox" >全选
+                    </label>
+                </th>
+                <th>序号</th>
+                <th>项目组</th>
+                <th>货主</th>
+                <th>子项目</th>
+                <th>结算月</th>
+                <th>录入日期</th>
+                <th>用仓类型</th>
+                <th>货物整托</th>
+                <th>货物半托</th>
+                <th>平面区面积</th>
+                <th>结算面积</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>1</td>
+                <td>XXX</td>
+                <td>BS</td>
+                <td>东浩子项目1</td>
+                <td class="text-muted">202006</td>
+                <td>2020-06-15 15:06:32</td>
+                <td>整租</td>
+                <td>20</td>
+                <td>20</td>
+                <td>20</td>
+                <td>20</td>
+                <td><button class="btn btn-sm btn-outline-info">修改</button></td>
+            </tr>
+            <tr class="text-success">
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>2</td>
+                <td>XXX</td>
+                <td>BS</td>
+                <td>东浩子项目2</td>
+                <td class="text-muted">202006</td>
+                <td>2020-06-15 15:06:32</td>
+                <td>整租</td>
+                <td>20</td>
+                <td>20</td>
+                <td>20</td>
+                <td>20</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>3</td>
+                <td>XXX</td>
+                <td>BS</td>
+                <td>
+                    <select class="form-control form-control-sm" >
+                        <option>东浩子项目3</option>
+                    </select></td>
+                <td class="text-muted">202006</td>
+                <td>2020-06-15 15:06:32</td>
+                <td>
+                    <select class="form-control form-control-sm" style="max-width: 100px">
+                        <option>整租</option>
+                    </select>
+                </td>
+                <td><input value="20" class="form-control form-control-sm" style="max-width: 100px"></td>
+                <td><input value="20" class="form-control form-control-sm" style="max-width: 100px"></td>
+                <td><input value="20" class="form-control form-control-sm" style="max-width: 100px"></td>
+                <td>20</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-success">确定</button>
+                    <button class="btn btn-sm btn-outline-danger">取消</button>
+                </td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 16 - 0
resources/views/client/areaCheck/menu.blade.php

@@ -0,0 +1,16 @@
+<div id="nav2">
+    @component('client.menu')
+    @endcomponent
+    <div class="container-fluid nav3">
+        <div class="card menu-third" >
+            <ul class="nav nav-pills">
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/areaCheck')}}" :class="{active:isActive('',3)}">查询</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/areaCheck/create')}}" :class="{active:isActive('create',3)}">录入</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>

+ 50 - 0
resources/views/client/base/create.blade.php

@@ -0,0 +1,50 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.base.menu')@endcomponent
+<form class="card col-md-8 offset-md-2 card-body">
+    <div class="form-inline">
+        <label for="owner" class="col-2 text-primary">客户</label>
+        <select id="owner" class="form-control col-3">
+            <option></option>
+        </select>
+        <label class="col-1 text-primary">税率</label>
+        <div class="input-group-append col-2 p-0">
+            <input class="form-control">
+            <span class="input-group-text">%</span>
+        </div>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2">销售姓名</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2">公司名称</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">联系人</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">联系电话</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">项目小组</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2">项目描述</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-group mt-3">
+        <div class="col-7 offset-2">
+            <input type="submit" class="btn btn-success form-control">
+        </div>
+    </div>
+</form>
+@endsection
+

+ 163 - 0
resources/views/client/base/index.blade.php

@@ -0,0 +1,163 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.base.menu')@endcomponent
+    <div class="card">
+        <form>
+            <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
+                <tr>
+                    <td colspan="10">
+                        <select name="paginate"  class="form-control-sm" style="vertical-align: middle">
+                            <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 >
+                        <div class="form-inline">
+                            <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                                <option value="" class="text-secondary">货主 </option>
+                                <option  class="font-weight-bold"></option>
+                            </select>
+                            <div style="position: relative;">
+                                <button type="button"  style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">多货主查询</button>
+                            </div>
+                        </div>
+                    </td>
+                    <td >
+                        <input type="text"  placeholder="子项目"
+                               class="form-control form-control-sm  "  style="vertical-align: middle;max-width: 200px" ></td>
+                    <td >
+                        <input type="text"  placeholder="合同号"
+                               class="form-control form-control-sm  "  style="vertical-align: middle;max-width: 200px" ></td>
+                    <td  >
+                        <input type="date" style="max-width: 200px" name="created_at_start" class="form-control form-control-sm "
+                               >
+                    <td colspan="6"></td>
+                </tr>
+                <tr>
+                    <td>
+                        <select name="status"  class="form-control form-control-sm tooltipTarget" style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">项目小组</option>
+                        </select>
+                    </td>
+                    <td>
+                        <select name="status"  class="form-control form-control-sm tooltipTarget" style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">激活状态</option>
+                        </select>
+                    </td>
+                    <td>
+                        <input type="text" style="max-width: 200px" class="form-control form-control-sm " placeholder="销售名称">
+                    </td>
+                    <td >
+                        <input type="date" style="max-width: 200px" class="form-control form-control-sm" name="created_at_end"></td>
+                    <td colspan="6"></td>
+                </tr>
+                <tr>
+                    <td colspan="10">
+                        <span class="dropdown">
+                            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle "
+                                    data-toggle="dropdown" >
+                                导出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>
+                            </div>
+                        </span>
+                        <button class="btn btn-sm btn-outline-info ml-1">新增客户</button>
+                    </td>
+                </tr>
+            </table>
+        </form>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>
+                    <label for="all">
+                        <input id="all" type="checkbox" >全选
+                    </label>
+                </th>
+                <th>序号</th>
+                <th>客户(货主)</th>
+                <th>税率%</th>
+                <th>子项目</th>
+                <th>货主代码</th>
+                <th>合同号</th>
+                <th>创建日期</th>
+                <th>销售姓名</th>
+                <th>公司全称</th>
+                <th class="text-danger">联系人</th>
+                <th class="text-danger">联系电话</th>
+                <th class="text-danger">项目小组</th>
+                <th>关联报价</th>
+                <th>月单量预警</th>
+                <th>是否激活</th>
+                <th>项目描述</th>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>1</td>
+                <td rowspan="3" class="text-center" style="vertical-align: middle">东浩</td>
+                <td rowspan="3" class="text-center" style="vertical-align: middle">6</td>
+                <td>东浩子项目1</td>
+                <td>DONGHAO</td>
+                <td>SH0939028329</td>
+                <td>2020/4/26</td>
+                <td>施尧</td>
+                <td>上海东浩国际贸易有限公司</td>
+                <td>余经理</td>
+                <td>13687646665</td>
+                <td>葛付晖</td>
+                <td></td>
+                <td></td>
+                <td><b  class="font-weight-bold text-info font-italic" style="cursor:pointer;text-decoration: underline;">激活</b></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>2</td>
+                <td>东浩子项目2</td>
+                <td>DONGHAO</td>
+                <td>SH0939028329</td>
+                <td>2020/4/27</td>
+                <td>施尧</td>
+                <td>上海东浩国际贸易有限公司</td>
+                <td>余经理</td>
+                <td>13687646666</td>
+                <td>邓婷婷</td>
+                <td></td>
+                <td></td>
+                <td><b class="font-weight-bold text-danger font-italic" style="cursor:pointer;text-decoration: underline;">冻结</b></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>3</td>
+                <td>东浩子项目3</td>
+                <td>DONGHAO</td>
+                <td>SH0939028329</td>
+                <td>2020/4/28</td>
+                <td>施尧</td>
+                <td>上海东浩国际贸易有限公司</td>
+                <td>余经理</td>
+                <td>13687646667</td>
+                <td>张书恒</td>
+                <td></td>
+                <td></td>
+                <td><b  class="font-weight-bold text-info font-italic" style="cursor:pointer;text-decoration: underline;">激活</b></td>
+                <td></td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 16 - 0
resources/views/client/base/menu.blade.php

@@ -0,0 +1,16 @@
+<div id="nav2">
+    @component('client.menu')
+    @endcomponent
+    <div class="container-fluid nav3">
+        <div class="card menu-third" >
+            <ul class="nav nav-pills">
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/base')}}" :class="{active:isActive('',3)}">查询</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/base/create')}}" :class="{active:isActive('create',3)}">添加子项</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>

+ 47 - 0
resources/views/client/billCheck/create.blade.php

@@ -0,0 +1,47 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.billCheck.menu')@endcomponent
+<form class="card col-md-8 offset-md-2 card-body">
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">项目小组</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">货主</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">子项目</label>
+        <select class="form-control col-7">
+            <option></option>
+        </select>
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 text-info">结算月</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2">原始账单金额</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 ">账单确认金额</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-inline mt-3">
+        <label class="col-2 ">差额</label>
+        <input class="form-control col-7">
+    </div>
+    <div class="form-group mt-3">
+        <div class="col-7 offset-2">
+            <input type="submit" class="btn btn-success form-control">
+        </div>
+    </div>
+</form>
+@endsection
+

+ 107 - 0
resources/views/client/billCheck/index.blade.php

@@ -0,0 +1,107 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.billCheck.menu')@endcomponent
+    <div class="card m-2">
+        <form>
+            <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
+                <tr>
+                    <td colspan="10">
+                        <select name="paginate"  class="form-control-sm" style="vertical-align: middle">
+                            <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 style="width: 300px">
+                        <div class="form-inline">
+                            <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                                <option value="" class="text-secondary">货主 </option>
+                                <option  class="font-weight-bold"></option>
+                            </select>
+                            <div style="position: relative;">
+                                <button type="button"  style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">多货主查询</button>
+                            </div>
+                        </div>
+                    </td>
+                    <td style="width: 300px">
+                            <input class="form-control form-control-sm" placeholder="结算月(示例:202001)" style="max-width: 200px">
+                    </td>
+                    <td style="width: 300px">
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td colspan="7"></td>
+                </tr>
+                <tr>
+                    <td>
+                        <select  name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">子项目</option>
+                        </select>
+                    </td>
+                    <td>
+                        <select name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">项目组</option>
+                        </select>
+                    </td>
+                    <td>
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td colspan="7"></td>
+                </tr>
+                <tr>
+                    <td colspan="10">
+                        <span class="dropdown">
+                            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle "
+                                    data-toggle="dropdown" >
+                                导出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>
+                            </div>
+                        </span>
+                    </td>
+                </tr>
+            </table>
+        </form>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>
+                    <label for="all">
+                        <input id="all" type="checkbox" >全选
+                    </label>
+                </th>
+                <th>序号</th>
+                <th>项目组</th>
+                <th>货主</th>
+                <th>子项目</th>
+                <th>结算月</th>
+                <th>录入日期</th>
+                <th>原始账单金额</th>
+                <th>账单确认金额</th>
+                <th>差额</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>1</td>
+                <td>XXX</td>
+                <td>BS</td>
+                <td>东浩子项目1</td>
+                <td class="text-muted">202006</td>
+                <td>2020-06-15 15:06:32</td>
+                <td>200</td>
+                <td>400</td>
+                <td>200</td>
+                <td><button class="btn btn-sm btn-outline-info">确认开票</button></td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 16 - 0
resources/views/client/billCheck/menu.blade.php

@@ -0,0 +1,16 @@
+<div id="nav2">
+    @component('client.menu')
+    @endcomponent
+    <div class="container-fluid nav3">
+        <div class="card menu-third" >
+            <ul class="nav nav-pills">
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/billCheck')}}" :class="{active:isActive('',3)}">查询</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/billCheck/create')}}" :class="{active:isActive('create',3)}">录入</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>

+ 145 - 0
resources/views/client/instantBill/index.blade.php

@@ -0,0 +1,145 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.menu')@endcomponent
+    <div class="card m-2">
+        <form>
+            <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
+                <tr>
+                    <td colspan="10">
+                        <select name="paginate"  class="form-control-sm" style="vertical-align: middle">
+                            <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 style="width: 300px">
+                        <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                            <option value="" class="text-secondary">店铺 </option>
+                            <option  class="font-weight-bold"></option>
+                        </select>
+                    </td>
+                    <td style="width: 300px">
+                        <input class="form-control form-control-sm" placeholder="结算月(示例:202001)" style="max-width: 200px">
+                    </td>
+                    <td style="width: 300px">
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td colspan="7"></td>
+                </tr>
+                <tr>
+                    <td>
+                        <select  name="status"  class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">作业类型</option>
+                        </select>
+                    </td>
+                    <td style="width: 300px">
+                        <input class="form-control form-control-sm" placeholder="物流单号" style="max-width: 200px">
+                    </td>
+                    <td>
+                        <input class="form-control form-control-sm" type="date" style="max-width: 200px">
+                    </td>
+                    <td colspan="7"></td>
+                </tr>
+                <tr>
+                    <td colspan="10">
+                        <span class="dropdown">
+                            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle "
+                                    data-toggle="dropdown" >
+                                导出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>
+                            </div>
+                        </span>
+                    </td>
+                </tr>
+            </table>
+        </form>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th colspan="2"></th>
+                <th colspan="6" class="text-center" style="background-color: #2894FF"><span class="fa fa-file-text-o m-1"></span>订单信息</th>
+                <th colspan="5" class="text-center" style="background-color: #DAB1D5"><span class="fa fa-truck m-1"></span>物流信息</th>
+                <th colspan="3" class="text-center" style="background-color: #FF5809"><span class="fa fa-rmb m-1"></span>费用信息</th>
+                <th colspan="4" style="background-color: #D8D8D8"></th>
+            </tr>
+            <tr>
+                <th>
+                    <label for="all">
+                        <input id="all" type="checkbox" >全选
+                    </label>
+                </th>
+                <th>序号</th>
+                <th style="background-color: #2894FF">作业日期</th>
+                <th style="background-color: #2894FF">作业类型</th>
+                <th style="background-color: #2894FF">店铺</th>
+                <th style="background-color: #2894FF">发/退/提货单号</th>
+                <th style="background-color: #2894FF">收件人</th>
+                <th style="background-color: #2894FF">电话</th>
+                <th style="background-color: #DAB1D5">物流单号</th>
+                <th style="background-color: #DAB1D5">商品数量</th>
+                <th style="background-color: #DAB1D5">体积</th>
+                <th style="background-color: #DAB1D5">重量</th>
+                <th style="background-color: #DAB1D5">承运商</th>
+                <th style="background-color: #FF5809">操作费</th>
+                <th style="background-color: #FF5809">物流费用</th>
+                <th style="background-color: #FF5809">合计</th>
+                <th style="background-color: #D8D8D8">结算月</th>
+                <th style="background-color: #D8D8D8">当前订单总数</th>
+                <th style="background-color: #D8D8D8">计费总额</th>
+                <th style="background-color: #D8D8D8">平均单费用</th>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>1</td>
+                <td style="background-color: #2894FF">2017/12/6</td>
+                <td style="background-color: #2894FF">发货</td>
+                <td style="background-color: #2894FF">店铺a</td>
+                <td style="background-color: #2894FF">OSS017120023</td>
+                <td style="background-color: #2894FF"></td>
+                <td style="background-color: #2894FF"></td>
+                <td style="background-color: #DAB1D5">32561515</td>
+                <td style="background-color: #DAB1D5">49</td>
+                <td style="background-color: #DAB1D5">3.2</td>
+                <td style="background-color: #DAB1D5">5</td>
+                <td style="background-color: #DAB1D5">中通</td>
+                <td style="background-color: #FF5809">200</td>
+                <td style="background-color: #FF5809">736</td>
+                <td style="background-color: #FF5809">936</td>
+                <td style="background-color: #D8D8D8;vertical-align: middle" rowspan="2" class="text-center">202003</td>
+                <td style="background-color: #D8D8D8;vertical-align: middle" rowspan="2" class="text-center">2654</td>
+                <td style="background-color: #D8D8D8;vertical-align: middle" rowspan="2" class="text-center">36651</td>
+                <td style="background-color: #D8D8D8;vertical-align: middle" rowspan="2" class="text-center">13.842415</td>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>2</td>
+                <td style="background-color: #2894FF">2017/12/6</td>
+                <td style="background-color: #2894FF">发货</td>
+                <td style="background-color: #2894FF">店铺a</td>
+                <td style="background-color: #2894FF">OSS017120023</td>
+                <td style="background-color: #2894FF"></td>
+                <td style="background-color: #2894FF"></td>
+                <td style="background-color: #DAB1D5">32561515</td>
+                <td style="background-color: #DAB1D5">49</td>
+                <td style="background-color: #DAB1D5">3.2</td>
+                <td style="background-color: #DAB1D5"></td>
+                <td style="background-color: #DAB1D5">中通</td>
+                <td style="background-color: #FF5809">200</td>
+                <td style="background-color: #FF5809">736</td>
+                <td style="background-color: #FF5809">936</td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 25 - 0
resources/views/client/menu.blade.php

@@ -0,0 +1,25 @@
+
+<div class="container-fluid nav2" id="nav2">
+    <div class="card">
+        <ul class="nav nav-pills">
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('client/base')}}" :class="{active:isActive('base',2)}">基础资料</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('client/areaCheck')}}" :class="{active:isActive('areaCheck',2)}">面积盘点</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('client/billCheck')}}" :class="{active:isActive('billCheck',2)}">账单确认</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('client/performanceReport')}}" :class="{active:isActive('performanceReport',2)}">绩效报表</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('client/instantBill')}}" :class="{active:isActive('instantBill',2)}">即时账单</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-muted" href="{{url('client/base')}}" :class="{active:isActive('',2)}">基础资料</a>
+            </li>
+        </ul>
+    </div>
+</div>

+ 154 - 0
resources/views/client/performanceReport/index.blade.php

@@ -0,0 +1,154 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.menu')@endcomponent
+    <div class="card m-2">
+        <form>
+            <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
+                <tr>
+                    <td colspan="10">
+                        <select name="paginate"  class="form-control-sm" style="vertical-align: middle">
+                            <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 style="width: 300px">
+                        <div class="form-inline">
+                            <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                                <option value="" class="text-secondary">货主 </option>
+                                <option  class="font-weight-bold"></option>
+                            </select>
+                            <div style="position: relative;">
+                                <button type="button"  style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">多货主查询</button>
+                            </div>
+                        </div>
+                    </td>
+                    <td style="width: 300px">
+                            <input class="form-control form-control-sm" placeholder="结算月(示例:202001)" style="max-width: 200px">
+                    </td>
+                    <td style="width: 300px">
+                        <select    class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">子项目</option>
+                        </select>
+                    </td>
+                    <td style="width: 300px">
+                        <select   class="form-control form-control-sm " style="vertical-align: middle;max-width: 100px" >
+                            <option value="" class="text-secondary">项目组</option>
+                        </select>
+                    </td>
+                    <td colspan="6"></td>
+                </tr>
+                <tr>
+                    <td colspan="10">
+                        <span class="dropdown">
+                            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle "
+                                    data-toggle="dropdown" >
+                                导出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>
+                            </div>
+                        </span>
+                    </td>
+                </tr>
+            </table>
+        </form>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th >
+                    <label for="all">
+                        <input id="all" type="checkbox" >全选
+                    </label>
+                </th>
+                <th style="background-color: #D2B48C">项目小组</th>
+                <th style="background-color: #D2B48C">客户(货主)</th>
+                <th style="background-color: #D2B48C">子项目</th>
+                <th style="background-color: #D2B48C">状态</th>
+                <th style="background-color: #D2B48C">创建日期</th>
+                <th style="background-color: #D2B48C">在库时长</th>
+                <th style="background-color: #6A5ACD">结算月</th>
+                <th style="background-color: #6A5ACD">日均单量</th>
+                <th style="background-color: #6A5ACD">上月盘点面积</th>
+                <th style="background-color: #6A5ACD">本月盘点面积</th>
+                <th style="background-color: #FF7F50">初始账单金额</th>
+                <th style="background-color: #FF7F50">账单确认金额</th>
+                <th style="background-color: #FF7F50">账单确认日期</th>
+            </tr>
+            <tr>
+                <td >
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td rowspan="4" class="text-center" style="vertical-align: middle;background-color: #D2B48C" >项目小组A</td>
+                <td style="background-color: #D2B48C">货主A</td>
+                <td style="background-color: #D2B48C">子项目1</td>
+                <td style="background-color: #D2B48C">激活</td>
+                <td style="background-color: #D2B48C">2018.07.06</td>
+                <td style="background-color: #D2B48C">458天</td>
+                <td style="background-color: #6A5ACD">202003</td>
+                <td style="background-color: #6A5ACD">55</td>
+                <td style="background-color: #6A5ACD">695</td>
+                <td style="background-color: #6A5ACD">695</td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50">100000</td>
+                <td style="background-color: #FF7F50"></td>
+            </tr>
+            <tr>
+                <td >
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td rowspan="2"  style="vertical-align: middle;background-color: #D2B48C">货主B</td>
+                <td style="background-color: #D2B48C">子项目1</td>
+                <td style="background-color: #D2B48C">激活</td>
+                <td style="background-color: #D2B48C">2018.07.06</td>
+                <td style="background-color: #D2B48C">458天</td>
+                <td style="background-color: #6A5ACD">202003</td>
+                <td style="background-color: #6A5ACD">778</td>
+                <td style="background-color: #6A5ACD">7878</td>
+                <td style="background-color: #6A5ACD">45</td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+            </tr>
+            <tr>
+                <td >
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td style="background-color: #D2B48C">子项目2</td>
+                <td style="background-color: #D2B48C">冻结</td>
+                <td style="background-color: #D2B48C">2018.07.06</td>
+                <td style="background-color: #D2B48C">458天</td>
+                <td style="background-color: #6A5ACD">258</td>
+                <td style="background-color: #6A5ACD">98</td>
+                <td style="background-color: #6A5ACD">456</td>
+                <td style="background-color: #6A5ACD">45</td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+            </tr>
+            <tr>
+                <td >
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td style="background-color: #D2B48C">货主C</td>
+                <td style="background-color: #D2B48C">子项目1</td>
+                <td style="background-color: #D2B48C">冻结</td>
+                <td style="background-color: #D2B48C">2018.07.06</td>
+                <td style="background-color: #D2B48C">458天</td>
+                <td style="background-color: #6A5ACD">8</td>
+                <td style="background-color: #6A5ACD">75</td>
+                <td style="background-color: #6A5ACD">12</td>
+                <td style="background-color: #6A5ACD">24</td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+                <td style="background-color: #FF7F50"></td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 1 - 1
resources/views/inventory/statement/changeInventory.blade.php

@@ -28,7 +28,7 @@
                     <select v-model="filterData.range" name="range" @change="submit" title="查询内容的日期范围" class="form-control form-control-sm tooltipTarget m-2">
                         <option value="1">近一天</option>
                         <option value="3">近三天</option>
-                        <option value="7">近七天</option>
+                        <option value="7" selected>近七天</option>
                         <option value="30">近三十天</option>
                     </select></div>
                 </td>

+ 12 - 7
resources/views/layouts/menu.blade.php

@@ -41,11 +41,16 @@
                                     :class="{active:isActive('personnel',1)}">
                     <span class="fa fa-header" style="color: #72441b"></span>
                     人事管理</a></li> @endcan
+        @can('客户管理')
+            <li class="nav-item"><a href="{{url("client/base")}}" class="nav-link"
+                                    :class="{active:isActive('client',1)}">
+                    <span class="fa fa-address-book-o" style="color: #72441b"></span>
+                    客户管理</a></li> @endcan
         @can('基础设置')
-        <li class="nav-item"><a href="{{url("maintenance/")}}" class="nav-link"
-                                :class="{active:isActive('maintenance',1)}">
-                <span class="fa fa-server"></span>
-                基础设置</a></li> @endcan
+            <li class="nav-item"><a href="{{url("maintenance/")}}" class="nav-link"
+                                    :class="{active:isActive('maintenance',1)}">
+                    <span class="fa fa-server"></span>
+                    基础设置</a></li> @endcan
     </ul>
 
     <!-- Right Side Of Navbar -->
@@ -57,9 +62,9 @@
             </li>
         @else
 
-{{--            <li class="nav-item">--}}
-{{--                <a class="nav-link" href="{{ route('register') }}">注册</a>--}}
-{{--            </li>--}}
+            {{--            <li class="nav-item">--}}
+            {{--                <a class="nav-link" href="{{ route('register') }}">注册</a>--}}
+            {{--            </li>--}}
             <li class="nav-item dropdown">
                 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                     {{ Auth::user()->name }} <span class="caret"></span>

+ 3 - 0
resources/views/maintenance/menu.blade.php

@@ -58,6 +58,9 @@
                 <li class="nav-item">
                     <a class="nav-link text-dark" href="{{url('maintenance/carType')}}" :class="{active:isActive('carType',2)}">车型</a>
                 </li> @endcan
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('maintenance/priceModel/storage')}}" :class="{active:isActive('priceModel',2)}">计价模型</a>
+                </li>
             @can('计费模型')
                 <li class="nav-item">
                     <a class="nav-link text-dark" href="{{url('maintenance/waybillPriceModel')}}" :class="{active:isActive('waybillPriceModel',2)}">计费模型</a>

+ 168 - 0
resources/views/maintenance/priceModel/expressage/index.blade.php

@@ -0,0 +1,168 @@
+
+@extends('layouts.app')
+@section('title')运输价格模型@endsection
+
+@section('content')
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.waybillPriceModel.menu')@endcomponent
+    </span>
+    <div id="list">
+    <div class="container-fluid">
+        <div class="card">
+            <div>
+                <form  method="GET" action="{{url('maintenance/waybillPriceModel')}}" id="optionSubmit">
+                    <table class="table  table-sm table-bordered table-hover text-nowrap ">
+                        <tr>
+                            <td  > <label style="margin-left: 2%" class="form-inline">页显示条数:
+                                <select name="paginate" v-model="filterData.paginate" class="form-control" @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></label></td>
+                            <td > <label class="form-inline" style="margin-left: 2%">承运商:
+                                <select name="carrier_id" v-model="filterData.carrier_id" class="form-control"  @change="setCarrier">
+                                    <option >    </option>
+                                    @foreach($carriers as $carrier)
+                                        <option value="{{$carrier->id}}">{{$carrier->name}}</option>
+                                    @endforeach
+                                </select></label></td>
+                            <td><label class="form-inline" style="margin-left: 2%">省份:
+                                <select name="province_id" v-model="filterData.province_id" class="form-control" @change="setProvince">
+                                    <option>    </option>
+                                    @foreach($provinces as $province)
+                                        <option value="{{$province->id}}">{{$province->name}}</option>
+                                    @endforeach
+                                </select><input hidden type="submit"></label></td>
+                        </tr>
+                    </table>
+                </form>
+            </div>
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                <table class="table table-striped table-sm">
+                    <tr>
+                        <th>代码</th>
+                        <th>承运商名称</th>
+                        <th>省份</th>
+                        <th>城市</th>
+                        <th>计重单位</th>
+                        <th>区间</th>
+                        <th>单价(元)</th>
+                        <th>起步费(元)</th>
+                        <th>最低计数</th>
+                        <th>录入时间</th>
+                        <th>操作</th>
+                    </tr>
+                    <tr v-for="waybillPriceModel in waybillPriceModels">
+                        <td class="text-muted">@{{waybillPriceModel.id}}</td>
+                        <td>@{{waybillPriceModel.carrier}}</td>
+                        <td>@{{waybillPriceModel.province}}</td>
+                        <td>@{{waybillPriceModel.city}}</td>
+                        <td>@{{waybillPriceModel.unit}}</td>
+                        <td>@{{waybillPriceModel.range_min}}<a v-if="waybillPriceModel.range_min&&waybillPriceModel.range_max">&nbsp;&nbsp;--&nbsp;&nbsp;</a> @{{waybillPriceModel.range_max}}</td>
+                        <td>@{{waybillPriceModel.unit_price}}</td>
+                        <td>@{{waybillPriceModel.base_fee}}</td>
+                        <td>@{{waybillPriceModel.initial_weight}}</td>
+                        <td class="text-muted">@{{waybillPriceModel.created_at}}</td>
+                        <td>
+                            @can('计费模型-编辑')
+                                <button class="btn btn-sm btn-outline-primary" @click="edit(waybillPriceModel.id)">改</button> @endcan
+                            @can('计费模型-删除')
+                                <button class="btn btn-sm btn-outline-dark" @click="destroy(waybillPriceModel)">删</button> @endcan
+                        </td>
+                    </tr>
+                </table>
+                {{$waybillPriceModels->appends($filterData)->links()}}
+            </div>
+        </div>
+    </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                waybillPriceModels:[
+                    @foreach( $waybillPriceModels as $waybillPriceModel )
+                        {id:'{{$waybillPriceModel->id}}',carrier:'{{$waybillPriceModel->carrier_name}}',
+                        province:'{{$waybillPriceModel->province_name}}',city:'{{$waybillPriceModel->city_name}}',
+                        unit:'{{$waybillPriceModel->unit_name}}',range_min:'{{$waybillPriceModel->range_min}}',range_max:'{{$waybillPriceModel->range_max}}',
+                        unit_price:'{{$waybillPriceModel->unit_price}}',base_fee:'{{$waybillPriceModel->base_fee}}',initial_weight:'{{$waybillPriceModel->initial_weight}}',
+                        created_at:'{{$waybillPriceModel->created_at}}'},
+                    @endforeach
+                ],
+                filterData:
+                    {paginate:'50',carrier_id:'',province_id: ''},
+            },
+            mounted:function(){
+                this.initInputs();
+            },
+            methods:{
+                edit:function(id){
+                    location.href = "{{url('maintenance/waybillPriceModel')}}/"+id+"/edit";
+                },
+                destroy:function(waybillPriceModel){
+                    if(!confirm('确定要删除该计费模型吗?')){return};
+                    let data=this;
+                    let url = "{{url('maintenance/waybillPriceModel')}}/"+waybillPriceModel.id;
+                    axios.delete(url,{id:waybillPriceModel.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.waybillPriceModels.length; i++) {
+                                    if (data.waybillPriceModels[i].id===waybillPriceModel.id){
+                                        data.waybillPriceModels.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除计费模型成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除计费模型失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除计费模型失败!'+'网络错误:' + err);
+                        });
+                },
+                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);
+                        });
+                    }
+                },
+                setPaginate:function(e){
+                    this.filterData.paginate=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setCarrier:function (e){
+                    this.filterData.carrier_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setProvince:function (e){
+                    this.filterData.province_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+            }
+        });
+    </script>
+@endsection

+ 168 - 0
resources/views/maintenance/priceModel/logistic/index.blade.php

@@ -0,0 +1,168 @@
+
+@extends('layouts.app')
+@section('title')运输价格模型@endsection
+
+@section('content')
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.waybillPriceModel.menu')@endcomponent
+    </span>
+    <div id="list">
+    <div class="container-fluid">
+        <div class="card">
+            <div>
+                <form  method="GET" action="{{url('maintenance/waybillPriceModel')}}" id="optionSubmit">
+                    <table class="table  table-sm table-bordered table-hover text-nowrap ">
+                        <tr>
+                            <td  > <label style="margin-left: 2%" class="form-inline">页显示条数:
+                                <select name="paginate" v-model="filterData.paginate" class="form-control" @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></label></td>
+                            <td > <label class="form-inline" style="margin-left: 2%">承运商:
+                                <select name="carrier_id" v-model="filterData.carrier_id" class="form-control"  @change="setCarrier">
+                                    <option >    </option>
+                                    @foreach($carriers as $carrier)
+                                        <option value="{{$carrier->id}}">{{$carrier->name}}</option>
+                                    @endforeach
+                                </select></label></td>
+                            <td><label class="form-inline" style="margin-left: 2%">省份:
+                                <select name="province_id" v-model="filterData.province_id" class="form-control" @change="setProvince">
+                                    <option>    </option>
+                                    @foreach($provinces as $province)
+                                        <option value="{{$province->id}}">{{$province->name}}</option>
+                                    @endforeach
+                                </select><input hidden type="submit"></label></td>
+                        </tr>
+                    </table>
+                </form>
+            </div>
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                <table class="table table-striped table-sm">
+                    <tr>
+                        <th>代码</th>
+                        <th>承运商名称</th>
+                        <th>省份</th>
+                        <th>城市</th>
+                        <th>计重单位</th>
+                        <th>区间</th>
+                        <th>单价(元)</th>
+                        <th>起步费(元)</th>
+                        <th>最低计数</th>
+                        <th>录入时间</th>
+                        <th>操作</th>
+                    </tr>
+                    <tr v-for="waybillPriceModel in waybillPriceModels">
+                        <td class="text-muted">@{{waybillPriceModel.id}}</td>
+                        <td>@{{waybillPriceModel.carrier}}</td>
+                        <td>@{{waybillPriceModel.province}}</td>
+                        <td>@{{waybillPriceModel.city}}</td>
+                        <td>@{{waybillPriceModel.unit}}</td>
+                        <td>@{{waybillPriceModel.range_min}}<a v-if="waybillPriceModel.range_min&&waybillPriceModel.range_max">&nbsp;&nbsp;--&nbsp;&nbsp;</a> @{{waybillPriceModel.range_max}}</td>
+                        <td>@{{waybillPriceModel.unit_price}}</td>
+                        <td>@{{waybillPriceModel.base_fee}}</td>
+                        <td>@{{waybillPriceModel.initial_weight}}</td>
+                        <td class="text-muted">@{{waybillPriceModel.created_at}}</td>
+                        <td>
+                            @can('计费模型-编辑')
+                                <button class="btn btn-sm btn-outline-primary" @click="edit(waybillPriceModel.id)">改</button> @endcan
+                            @can('计费模型-删除')
+                                <button class="btn btn-sm btn-outline-dark" @click="destroy(waybillPriceModel)">删</button> @endcan
+                        </td>
+                    </tr>
+                </table>
+                {{$waybillPriceModels->appends($filterData)->links()}}
+            </div>
+        </div>
+    </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                waybillPriceModels:[
+                    @foreach( $waybillPriceModels as $waybillPriceModel )
+                        {id:'{{$waybillPriceModel->id}}',carrier:'{{$waybillPriceModel->carrier_name}}',
+                        province:'{{$waybillPriceModel->province_name}}',city:'{{$waybillPriceModel->city_name}}',
+                        unit:'{{$waybillPriceModel->unit_name}}',range_min:'{{$waybillPriceModel->range_min}}',range_max:'{{$waybillPriceModel->range_max}}',
+                        unit_price:'{{$waybillPriceModel->unit_price}}',base_fee:'{{$waybillPriceModel->base_fee}}',initial_weight:'{{$waybillPriceModel->initial_weight}}',
+                        created_at:'{{$waybillPriceModel->created_at}}'},
+                    @endforeach
+                ],
+                filterData:
+                    {paginate:'50',carrier_id:'',province_id: ''},
+            },
+            mounted:function(){
+                this.initInputs();
+            },
+            methods:{
+                edit:function(id){
+                    location.href = "{{url('maintenance/waybillPriceModel')}}/"+id+"/edit";
+                },
+                destroy:function(waybillPriceModel){
+                    if(!confirm('确定要删除该计费模型吗?')){return};
+                    let data=this;
+                    let url = "{{url('maintenance/waybillPriceModel')}}/"+waybillPriceModel.id;
+                    axios.delete(url,{id:waybillPriceModel.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.waybillPriceModels.length; i++) {
+                                    if (data.waybillPriceModels[i].id===waybillPriceModel.id){
+                                        data.waybillPriceModels.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除计费模型成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除计费模型失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除计费模型失败!'+'网络错误:' + err);
+                        });
+                },
+                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);
+                        });
+                    }
+                },
+                setPaginate:function(e){
+                    this.filterData.paginate=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setCarrier:function (e){
+                    this.filterData.carrier_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setProvince:function (e){
+                    this.filterData.province_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+            }
+        });
+    </script>
+@endsection

+ 25 - 0
resources/views/maintenance/priceModel/menu.blade.php

@@ -0,0 +1,25 @@
+
+<div class="container-fluid nav3">
+    <div class="card menu-third" >
+        <ul class="nav nav-pills">
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/waybillPriceModel')}}" :class="{active:isActive('',3)}">承运商</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/storage')}}" :class="{active:isActive('storage',3)}">仓储费</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/task')}}" :class="{active:isActive('goImport',3)}">作业费</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/expressage')}}" :class="{active:isActive('goImport',3)}">快递费</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/logistics')}}" :class="{active:isActive('goImport',3)}">物流费</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/nonstop')}}" :class="{active:isActive('goImport',3)}">直发车</a>
+            </li>
+        </ul>
+    </div>
+</div>

+ 168 - 0
resources/views/maintenance/priceModel/nonstop/index.blade.php

@@ -0,0 +1,168 @@
+
+@extends('layouts.app')
+@section('title')运输价格模型@endsection
+
+@section('content')
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.waybillPriceModel.menu')@endcomponent
+    </span>
+    <div id="list">
+    <div class="container-fluid">
+        <div class="card">
+            <div>
+                <form  method="GET" action="{{url('maintenance/waybillPriceModel')}}" id="optionSubmit">
+                    <table class="table  table-sm table-bordered table-hover text-nowrap ">
+                        <tr>
+                            <td  > <label style="margin-left: 2%" class="form-inline">页显示条数:
+                                <select name="paginate" v-model="filterData.paginate" class="form-control" @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></label></td>
+                            <td > <label class="form-inline" style="margin-left: 2%">承运商:
+                                <select name="carrier_id" v-model="filterData.carrier_id" class="form-control"  @change="setCarrier">
+                                    <option >    </option>
+                                    @foreach($carriers as $carrier)
+                                        <option value="{{$carrier->id}}">{{$carrier->name}}</option>
+                                    @endforeach
+                                </select></label></td>
+                            <td><label class="form-inline" style="margin-left: 2%">省份:
+                                <select name="province_id" v-model="filterData.province_id" class="form-control" @change="setProvince">
+                                    <option>    </option>
+                                    @foreach($provinces as $province)
+                                        <option value="{{$province->id}}">{{$province->name}}</option>
+                                    @endforeach
+                                </select><input hidden type="submit"></label></td>
+                        </tr>
+                    </table>
+                </form>
+            </div>
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                <table class="table table-striped table-sm">
+                    <tr>
+                        <th>代码</th>
+                        <th>承运商名称</th>
+                        <th>省份</th>
+                        <th>城市</th>
+                        <th>计重单位</th>
+                        <th>区间</th>
+                        <th>单价(元)</th>
+                        <th>起步费(元)</th>
+                        <th>最低计数</th>
+                        <th>录入时间</th>
+                        <th>操作</th>
+                    </tr>
+                    <tr v-for="waybillPriceModel in waybillPriceModels">
+                        <td class="text-muted">@{{waybillPriceModel.id}}</td>
+                        <td>@{{waybillPriceModel.carrier}}</td>
+                        <td>@{{waybillPriceModel.province}}</td>
+                        <td>@{{waybillPriceModel.city}}</td>
+                        <td>@{{waybillPriceModel.unit}}</td>
+                        <td>@{{waybillPriceModel.range_min}}<a v-if="waybillPriceModel.range_min&&waybillPriceModel.range_max">&nbsp;&nbsp;--&nbsp;&nbsp;</a> @{{waybillPriceModel.range_max}}</td>
+                        <td>@{{waybillPriceModel.unit_price}}</td>
+                        <td>@{{waybillPriceModel.base_fee}}</td>
+                        <td>@{{waybillPriceModel.initial_weight}}</td>
+                        <td class="text-muted">@{{waybillPriceModel.created_at}}</td>
+                        <td>
+                            @can('计费模型-编辑')
+                                <button class="btn btn-sm btn-outline-primary" @click="edit(waybillPriceModel.id)">改</button> @endcan
+                            @can('计费模型-删除')
+                                <button class="btn btn-sm btn-outline-dark" @click="destroy(waybillPriceModel)">删</button> @endcan
+                        </td>
+                    </tr>
+                </table>
+                {{$waybillPriceModels->appends($filterData)->links()}}
+            </div>
+        </div>
+    </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                waybillPriceModels:[
+                    @foreach( $waybillPriceModels as $waybillPriceModel )
+                        {id:'{{$waybillPriceModel->id}}',carrier:'{{$waybillPriceModel->carrier_name}}',
+                        province:'{{$waybillPriceModel->province_name}}',city:'{{$waybillPriceModel->city_name}}',
+                        unit:'{{$waybillPriceModel->unit_name}}',range_min:'{{$waybillPriceModel->range_min}}',range_max:'{{$waybillPriceModel->range_max}}',
+                        unit_price:'{{$waybillPriceModel->unit_price}}',base_fee:'{{$waybillPriceModel->base_fee}}',initial_weight:'{{$waybillPriceModel->initial_weight}}',
+                        created_at:'{{$waybillPriceModel->created_at}}'},
+                    @endforeach
+                ],
+                filterData:
+                    {paginate:'50',carrier_id:'',province_id: ''},
+            },
+            mounted:function(){
+                this.initInputs();
+            },
+            methods:{
+                edit:function(id){
+                    location.href = "{{url('maintenance/waybillPriceModel')}}/"+id+"/edit";
+                },
+                destroy:function(waybillPriceModel){
+                    if(!confirm('确定要删除该计费模型吗?')){return};
+                    let data=this;
+                    let url = "{{url('maintenance/waybillPriceModel')}}/"+waybillPriceModel.id;
+                    axios.delete(url,{id:waybillPriceModel.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.waybillPriceModels.length; i++) {
+                                    if (data.waybillPriceModels[i].id===waybillPriceModel.id){
+                                        data.waybillPriceModels.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除计费模型成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除计费模型失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除计费模型失败!'+'网络错误:' + err);
+                        });
+                },
+                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);
+                        });
+                    }
+                },
+                setPaginate:function(e){
+                    this.filterData.paginate=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setCarrier:function (e){
+                    this.filterData.carrier_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setProvince:function (e){
+                    this.filterData.province_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+            }
+        });
+    </script>
+@endsection

+ 30 - 0
resources/views/maintenance/priceModel/storage/index.blade.php

@@ -0,0 +1,30 @@
+@extends('layouts.app')
+@section('title')仓储计价模型@endsection
+
+@section('content')
+    @component('maintenance.menu')@endcomponent
+    @component('maintenance.priceModel.menu')@endcomponent
+<div class="card">
+    <table class="table table-sm table-hover table-bordered table-striped m-2">
+        <tr>
+            <th>项目</th>
+            <th>计费类型</th>
+            <th>用仓类型</th>
+            <th>最低起租面积</th>
+            <th>单价</th>
+            <th>减免类型</th>
+            <th>减免方法</th>
+        </tr>
+        <tr>
+            <td>项目1</td>
+            <td>包仓1</td>
+            <td>常温</td>
+            <td>300</td>
+            <td>1.4</td>
+            <td>无减免</td>
+            <td>/</td>
+        </tr>
+    </table>
+</div>
+@endsection
+

+ 168 - 0
resources/views/maintenance/priceModel/task/index.blade.php

@@ -0,0 +1,168 @@
+
+@extends('layouts.app')
+@section('title')运输价格模型@endsection
+
+@section('content')
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.waybillPriceModel.menu')@endcomponent
+    </span>
+    <div id="list">
+    <div class="container-fluid">
+        <div class="card">
+            <div>
+                <form  method="GET" action="{{url('maintenance/waybillPriceModel')}}" id="optionSubmit">
+                    <table class="table  table-sm table-bordered table-hover text-nowrap ">
+                        <tr>
+                            <td  > <label style="margin-left: 2%" class="form-inline">页显示条数:
+                                <select name="paginate" v-model="filterData.paginate" class="form-control" @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></label></td>
+                            <td > <label class="form-inline" style="margin-left: 2%">承运商:
+                                <select name="carrier_id" v-model="filterData.carrier_id" class="form-control"  @change="setCarrier">
+                                    <option >    </option>
+                                    @foreach($carriers as $carrier)
+                                        <option value="{{$carrier->id}}">{{$carrier->name}}</option>
+                                    @endforeach
+                                </select></label></td>
+                            <td><label class="form-inline" style="margin-left: 2%">省份:
+                                <select name="province_id" v-model="filterData.province_id" class="form-control" @change="setProvince">
+                                    <option>    </option>
+                                    @foreach($provinces as $province)
+                                        <option value="{{$province->id}}">{{$province->name}}</option>
+                                    @endforeach
+                                </select><input hidden type="submit"></label></td>
+                        </tr>
+                    </table>
+                </form>
+            </div>
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                <table class="table table-striped table-sm">
+                    <tr>
+                        <th>代码</th>
+                        <th>承运商名称</th>
+                        <th>省份</th>
+                        <th>城市</th>
+                        <th>计重单位</th>
+                        <th>区间</th>
+                        <th>单价(元)</th>
+                        <th>起步费(元)</th>
+                        <th>最低计数</th>
+                        <th>录入时间</th>
+                        <th>操作</th>
+                    </tr>
+                    <tr v-for="waybillPriceModel in waybillPriceModels">
+                        <td class="text-muted">@{{waybillPriceModel.id}}</td>
+                        <td>@{{waybillPriceModel.carrier}}</td>
+                        <td>@{{waybillPriceModel.province}}</td>
+                        <td>@{{waybillPriceModel.city}}</td>
+                        <td>@{{waybillPriceModel.unit}}</td>
+                        <td>@{{waybillPriceModel.range_min}}<a v-if="waybillPriceModel.range_min&&waybillPriceModel.range_max">&nbsp;&nbsp;--&nbsp;&nbsp;</a> @{{waybillPriceModel.range_max}}</td>
+                        <td>@{{waybillPriceModel.unit_price}}</td>
+                        <td>@{{waybillPriceModel.base_fee}}</td>
+                        <td>@{{waybillPriceModel.initial_weight}}</td>
+                        <td class="text-muted">@{{waybillPriceModel.created_at}}</td>
+                        <td>
+                            @can('计费模型-编辑')
+                                <button class="btn btn-sm btn-outline-primary" @click="edit(waybillPriceModel.id)">改</button> @endcan
+                            @can('计费模型-删除')
+                                <button class="btn btn-sm btn-outline-dark" @click="destroy(waybillPriceModel)">删</button> @endcan
+                        </td>
+                    </tr>
+                </table>
+                {{$waybillPriceModels->appends($filterData)->links()}}
+            </div>
+        </div>
+    </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                waybillPriceModels:[
+                    @foreach( $waybillPriceModels as $waybillPriceModel )
+                        {id:'{{$waybillPriceModel->id}}',carrier:'{{$waybillPriceModel->carrier_name}}',
+                        province:'{{$waybillPriceModel->province_name}}',city:'{{$waybillPriceModel->city_name}}',
+                        unit:'{{$waybillPriceModel->unit_name}}',range_min:'{{$waybillPriceModel->range_min}}',range_max:'{{$waybillPriceModel->range_max}}',
+                        unit_price:'{{$waybillPriceModel->unit_price}}',base_fee:'{{$waybillPriceModel->base_fee}}',initial_weight:'{{$waybillPriceModel->initial_weight}}',
+                        created_at:'{{$waybillPriceModel->created_at}}'},
+                    @endforeach
+                ],
+                filterData:
+                    {paginate:'50',carrier_id:'',province_id: ''},
+            },
+            mounted:function(){
+                this.initInputs();
+            },
+            methods:{
+                edit:function(id){
+                    location.href = "{{url('maintenance/waybillPriceModel')}}/"+id+"/edit";
+                },
+                destroy:function(waybillPriceModel){
+                    if(!confirm('确定要删除该计费模型吗?')){return};
+                    let data=this;
+                    let url = "{{url('maintenance/waybillPriceModel')}}/"+waybillPriceModel.id;
+                    axios.delete(url,{id:waybillPriceModel.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.waybillPriceModels.length; i++) {
+                                    if (data.waybillPriceModels[i].id===waybillPriceModel.id){
+                                        data.waybillPriceModels.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除计费模型成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除计费模型失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除计费模型失败!'+'网络错误:' + err);
+                        });
+                },
+                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);
+                        });
+                    }
+                },
+                setPaginate:function(e){
+                    this.filterData.paginate=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setCarrier:function (e){
+                    this.filterData.carrier_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+                setProvince:function (e){
+                    this.filterData.province_id=e.target.value;
+                    var form = document.getElementById("optionSubmit");
+                    form.submit();
+                },
+            }
+        });
+    </script>
+@endsection

+ 10 - 2
resources/views/maintenance/role/index.blade.php

@@ -16,7 +16,8 @@
                     <tr>
                         <th>ID</th>
                         <th>角色名</th>
-                        <th>权限</th>
+                        <th>允许权限</th>
+                        <th>禁止权限</th>
                         <th>创建时间</th>
                         <th>操作</th>
                     </tr>
@@ -26,7 +27,14 @@
                         <td>
                             <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;" v-if="role.authorities.length>0">
                                 <ul class="list-group">
-                                    <li v-for="authority in role.authorities" :class="authority.permission=='禁止'?'text-danger':''" style="list-style: none">@{{ authority.alias_name }}</li>
+                                    <li v-for="authority in role.authorities" v-if="authority.permission=='允许'"  style="list-style: none">@{{ authority.alias_name }}</li>
+                                </ul>
+                            </div>
+                        </td>
+                        <td>
+                            <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;" v-if="role.authorities.length>0">
+                                <ul class="list-group">
+                                    <li v-for="authority in role.authorities" v-if="authority.permission=='禁止'"  style="list-style: none">@{{ authority.alias_name }}</li>
                                 </ul>
                             </div>
                         </td>

+ 218 - 190
resources/views/order/index/delivering.blade.php

@@ -2,83 +2,85 @@
 
 @section('content')
     @component('order.index.menu')@endcomponent
-    <div id="list" class="d-none">
-        <form method="GET" action="{{url('order/index/delivering')}}" id="form">
-            <table class="table  table-sm table-bordered text-nowrap  mb-0 ml-3">
-                <tr v-if="isBeingFilterConditions">
-                    <td colspan="10">
-                        <div class="col" style="padding:0">
-                            <a  href="{{url('order/index/delivering')}}"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
-                        </div></td>
-                </tr>
-                <tr>
-                    <td colspan="10">
-                        <select  name="paginate" v-model="filterData.paginate" class="tooltipTarget form-control-sm" style="vertical-align: middle" @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 style="width: 300px">
-                        <select  name="codename_c" v-model="filterData.codename_c" class="form-control form-control-sm" style="vertical-align: middle;max-width: 100px" @change="submit">
-                            <option value="" class="text-secondary">订单状态</option>
-                            <option v-for="code in codes" :value="code.code" class="font-weight-bold">@{{ code.codename_c }}</option>
-                        </select></td>
-                    <td style="width: 300px">
-                        <input style="max-width: 200px"  type="date" name="ordertime_start" class="form-control form-control-sm tooltipTarget" title="选择显示指定日期的起始时间"
-                               v-model="filterData.ordertime_start" :class="filterData.ordertime_start?'bg-warning':''">
-                    </td>
-                    <td style="width: 300px">
-                        <input style="max-width: 200px"  type="date" class=" form-control form-control-sm tooltipTarget" name="ordertime_end" title="选择显示指定日期的结束时间"
-                               v-model="filterData.ordertime_end" :class="filterData.ordertime_end?'bg-warning':''" >
-                    </td>
-                    <td style="width: 300px">
-                        <input style="max-width: 200px" name="carriername" v-model="filterData.carriername" class="form-control form-control-sm tooltipTarget" placeholder="承运人" :class="filterData.carriername?'bg-warning':''">
-                    </td>
-                    <td style="width: 300px">
-                        <input style="max-width: 200px" name="issuepartyname" v-model="filterData.issuepartyname" class="form-control form-control-sm tooltipTarget" placeholder="店铺名称" :class="filterData.issuepartyname?'bg-warning':''">
-                    </td>
-                    <td colspan="5"></td>
-                </tr>
-                <tr>
-                    <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="customerid" v-model="filterData.customerid" @change="submit" style="max-width: 120px" class="form-control form-control-sm tooltipTarget"  title="选择要显示的客户" :class="filterData.customerid?'bg-warning':''">
-                            <option >    </option>
-                            <option v-for="owner in owners" :value="owner.customerid" >@{{owner.descr_c}}</option>
-                        </select>
-                        </div>
-                    </td>
-                    <td>
-                        <input style="max-width: 200px" name="orderno" v-model="filterData.orderno" class="form-control form-control-sm tooltipTarget" placeholder="发运单号" :class="filterData.orderno?'bg-warning':''">
-                    </td>
-                    <td >
-                        <input style="max-width: 200px" name="soreference5" title="可输入多快递单号" v-model="filterData.soreference5" class="form-control form-control-sm tooltipTarget" placeholder="快递单号" :class="filterData.soreference5?'bg-warning':''">
-                    </td>
-                    <td>
-                        <input style="max-width: 200px" name="soreference1" v-model="filterData.soreference1" class="form-control form-control-sm tooltipTarget" placeholder="客户订单号" :class="filterData.soreference1?'bg-warning':''">
-                    </td>
-                    <td>
-                        <div class="form-inline">
-                        <input style="max-width: 200px" name="notes" title="右侧选择查询范围,默认为一天内" v-model="filterData.notes" class="form-control form-control-sm tooltipTarget" placeholder="备注" :class="filterData.notes?'bg-warning':''">
-                        <select style="max-width: 100px" title="查询范围"  name="addtime" v-model="filterData.addtime" class="form-control form-control-sm tooltipTarget">
-                            <option value="1">近一天</option>
-                            <option value="3">近三天</option>
-                            <option value="7">近一周</option>
-                            <option value="30">近一月</option>
-                            <option value="0">不限期</option>
-                        </select></div>
-                    </td>
-                    <td colspan="5"><input hidden type="submit"></td>
-                </tr>
-                <tr>
-                    <td colspan="10">
+    <div class="container-fluid">
+        <div style="min-width: 4070px;">
+            <div id="list" class="d-none">
+                <form method="GET" action="{{url('order/index/delivering')}}" id="form">
+                    <table class="table  table-sm table-bordered text-nowrap  mb-0 ml-3">
+                        <tr v-if="isBeingFilterConditions">
+                            <td colspan="10">
+                                <div class="col" style="padding:0">
+                                    <a  href="{{url('order/index/delivering')}}"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
+                                </div></td>
+                        </tr>
+                        <tr>
+                            <td colspan="10">
+                                <select  name="paginate" v-model="filterData.paginate" class="tooltipTarget form-control-sm" style="vertical-align: middle" @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 style="width: 300px">
+                                <select  name="codename_c" v-model="filterData.codename_c" class="form-control form-control-sm" style="vertical-align: middle;max-width: 100px" @change="submit">
+                                    <option value="" class="text-secondary">订单状态</option>
+                                    <option v-for="code in codes" :value="code.code" class="font-weight-bold">@{{ code.codename_c }}</option>
+                                </select></td>
+                            <td style="width: 300px">
+                                <input style="max-width: 200px"  type="date" name="ordertime_start" class="form-control form-control-sm tooltipTarget" title="选择显示指定日期的起始时间"
+                                       v-model="filterData.ordertime_start" :class="filterData.ordertime_start?'bg-warning':''">
+                            </td>
+                            <td style="width: 300px">
+                                <input style="max-width: 200px"  type="date" class=" form-control form-control-sm tooltipTarget" name="ordertime_end" title="选择显示指定日期的结束时间"
+                                       v-model="filterData.ordertime_end" :class="filterData.ordertime_end?'bg-warning':''" >
+                            </td>
+                            <td style="width: 300px">
+                                <input style="max-width: 200px" name="carriername" v-model="filterData.carriername" class="form-control form-control-sm tooltipTarget" placeholder="承运人" :class="filterData.carriername?'bg-warning':''">
+                            </td>
+                            <td style="width: 300px">
+                                <input style="max-width: 200px" name="issuepartyname" v-model="filterData.issuepartyname" class="form-control form-control-sm tooltipTarget" placeholder="店铺名称" :class="filterData.issuepartyname?'bg-warning':''">
+                            </td>
+                            <td colspan="5"></td>
+                        </tr>
+                        <tr>
+                            <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="customerid" v-model="filterData.customerid" @change="submit" style="max-width: 120px" class="form-control form-control-sm tooltipTarget"  title="选择要显示的客户" :class="filterData.customerid?'bg-warning':''">
+                                        <option >    </option>
+                                        <option v-for="owner in owners" :value="owner.customerid" >@{{owner.descr_c}}</option>
+                                    </select>
+                                </div>
+                            </td>
+                            <td>
+                                <input style="max-width: 200px" name="orderno" v-model="filterData.orderno" class="form-control form-control-sm tooltipTarget" placeholder="编号" :class="filterData.orderno?'bg-warning':''">
+                            </td>
+                            <td >
+                                <input style="max-width: 200px" name="soreference5" title="可输出多快递单号" v-model="filterData.soreference5" class="form-control form-control-sm tooltipTarget" placeholder="快递单号" :class="filterData.soreference5?'bg-warning':''">
+                            </td>
+                            <td>
+                                <input style="max-width: 200px" name="soreference1" v-model="filterData.soreference1" class="form-control form-control-sm tooltipTarget" placeholder="客户订单号" :class="filterData.soreference1?'bg-warning':''">
+                            </td>
+                            <td>
+                                <div class="form-inline">
+                                    <input style="max-width: 200px" name="notes" title="右侧选择查询范围,默认为一天内" v-model="filterData.notes" class="form-control form-control-sm tooltipTarget" placeholder="备注" :class="filterData.notes?'bg-warning':''">
+                                    <select style="max-width: 100px" title="查询范围,范围越短搜索越快"  name="addtime" v-model="filterData.addtime" class="form-control form-control-sm tooltipTarget">
+                                        <option value="31">近一月</option>
+                                        <option value="92">近三月</option>
+                                        <option value="183">近半年</option>
+                                        <option value="366">近一年</option>
+                                        <option value="0">不限期</option>
+                                    </select></div>
+                            </td>
+                            <td colspan="5"><input hidden type="submit"></td>
+                        </tr>
+                        <tr>
+                            <td colspan="10">
                        <span class="dropdown">
                                 <button type="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="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
@@ -89,115 +91,121 @@
                                     <a class="dropdown-item" @click="orderExport(2)" href="javascript:">导出所有页</a>
                                 </div>
                         </span>
-                        @can('订单管理-批量备注')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量备注追加</button>@endcan
-                    </td>
-                </tr>
-            </table>
-        </form>
-        <div class="modal fade " style="top: 20%" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-            <div class="modal-dialog">
-                <div class="modal-content">
-                    <div class="modal-header">
-                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    </div>
-                    <div class="modal-body">
-                        <input class="form-control" v-model="content" placeholder="注释内容">
-                    </div>
-                    <div class="modal-footer">
-                        <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
-                        <button type="button" @click="batchComments()" class="btn btn-primary">批量备注追加</button>
-                    </div>
-                </div><!-- /.modal-content -->
-            </div><!-- /.modal -->
-        </div>
-        <table class="table table-sm table-striped table-bordered table-hover text-nowrap card-body mt-2 ml-3">
-            <tr>
-                <th>
-                    <label for="all">
-                        <input id="all" type="checkbox" @click="checkAll($event)">全选
-                    </label>
-                </th>
-                <th>序号</th>
-                <th>编号</th>
-                <th>订单状态</th>
-                <th>接口下发时间</th>
-                <th>店铺名称</th>
-                <th>客户</th>
-                <th>客户订单号</th>
-                <th>承运人</th>
-                <th>快递单号</th>
-                <th>收货人名称</th>
-                <th>收货人电话</th>
-                <th>省</th>
-                <th>市</th>
-                <th>区</th>
-                <th>收货人地址</th>
-                <th>波次编号</th>
-                <th>仓库</th>
-                <th>快递获取标记</th>
-                <th>快递获取时间</th>
-                <th style="width: 200px">产品代码</th>
-                <th style="width: 200px">产品条码</th>
-                <th style="width: 200px">产品名称</th>
-                <th>订单数量</th>
-                <th>备注</th>
-                <th>接口取消标记</th>
-                <th>拣货单打印标记</th>
-                <th>接口回传标记</th>
-                <th>订单冻结标记</th>
-
-            </tr>
-            <tr v-for="(order,i) in orders" @click="selectedColor(order.orderno)" :style="{'font-weight': order.orderno==selectedStyle?'bold':''}">
-                <td>
-                    <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
-                </td>
-                <td>@{{ i+1 }}</td>
-                <td class="text-dark font-weight-bold">@{{ order.orderno }}</td>
-                <td class="text-muted">@{{ order.codename_c }}</td>
-                <td>@{{ order.addtime }}</td>
-                <td>@{{ order.issuepartyname }}</td>
-                <td >@{{ order.customer_descr_c }}</td>
-                <td>@{{ order.soreference1 }}</td>
-                <td class="text-muted">@{{ order.carriername }}</td>
-                <td>@{{ order.soreference5 }}</td>
-                <td class="text-muted">@{{ order.c_contact }}</td>
-                <td class="text-muted">@{{ order.c_tel1 }}</td>
-                <td> @{{ order.c_province }}</td>
-                <td> @{{ order.c_city }}</td>
-                <td> @{{ order.c_district }}</td>
-                <td>@{{ order.c_address1 }}</td>
-                <td>@{{ order.waveno }}</td>
-                <td> @{{ order.warehouseid }}</td>
-                <td>@{{ order.edisendflag2 }}</td>
-                <td>@{{ order.edisendtime2 }}</td>
-                <td colspan="4" class="text-center">
-                    <table v-if="commodities[order.orderno]&&commodities[order.orderno].length==1 || isBtn[order.orderno]" class="table table-sm">
-                        <tr v-for="oracleDOCOrderDetail in commodities[order.orderno]">
-                            <td><div style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.sku }}</div></td>
-                            <td><div style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.alternate_sku1 }}</div></td>
-                            <td><div :title="oracleDOCOrderDetail.descr_c" class="tooltipTarget" style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.descr_c }}</div></td>
-                            <td>@{{ oracleDOCOrderDetail.qtyordered }}</td>
-                        </tr>
-                        <tr v-if="isBtn[order.orderno]">
-                            <td colspan="4">
-                                <b style="cursor:pointer;color: #4aa0e6;" @click="isBtn[order.orderno]=false;">点击收起明细</b>
+                                @can('订单管理-批量备注')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量备注追加</button>@endcan
                             </td>
                         </tr>
                     </table>
-                    <b @click="unfold(order.orderno)" style="cursor:pointer;text-decoration: underline;color: #4aa0e6;" v-if="commodities[order.orderno]&&commodities[order.orderno].length>1 && !isBtn[order.orderno]">共有 @{{ commodities[order.orderno].length }}  件商品,点击展开</b>
-                </td>
-                <td>@{{ order.notes }}</td>
-                <td>@{{ order.erpcancelflag }}</td>
-                <td>@{{ order.picking_print_flag }}</td>
-                <td>@{{ order.edisendflag }}</td>
-                <td>@{{ order.releasestatus }}</td>
+                </form>
+                <div class="modal fade " style="top: 20%" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+                    <div class="modal-dialog">
+                        <div class="modal-content">
+                            <div class="modal-header">
+                                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                            </div>
+                            <div class="modal-body">
+                                <input class="form-control" v-model="content" placeholder="注释内容">
+                            </div>
+                            <div class="modal-footer">
+                                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+                                <button type="button" @click="batchComments()" class="btn btn-primary">批量备注追加</button>
+                            </div>
+                        </div><!-- /.modal-content -->
+                    </div><!-- /.modal -->
+                </div>
+                <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3">
+                    <tr class="text-nowrap">
+                        <th>
+                            <label for="all">
+                                <input id="all" type="checkbox" @click="checkAll($event)">全选
+                            </label>
+                        </th>
+                        <th>序号</th>
+                        <th>操作</th>
+                        <th>编号</th>
+                        <th>订单状态</th>
+                        <th>接口下发时间</th>
+                        <th>店铺名称</th>
+                        <th>客户</th>
+                        <th>客户订单号</th>
+                        <th>承运人</th>
+                        <th>快递单号</th>
+                        <th>收货人名称</th>
+                        <th>收货人电话</th>
+                        <th>省</th>
+                        <th>市</th>
+                        <th>区</th>
+                        <th style="min-width:320px;">收货人地址</th>
+                        <th>波次编号</th>
+                        <th>仓库</th>
+                        <th>快递获取标记</th>
+                        <th>快递获取时间</th>
+                        <th style="min-width: 200px">产品代码</th>
+                        <th style="min-width: 200px">产品条码</th>
+                        <th style="min-width: 200px">产品名称</th>
+                        <th>订单数量</th>
+                        <th>复核时间</th>
+                        <th style="min-width:260px;">备注</th>
+                        <th>接口取消标记</th>
+                        <th>拣货单打印标记</th>
+                        <th>接口回传标记</th>
+                        <th>订单冻结标记</th>
+
+                    </tr>
+                    <tr v-for="(order,i) in orders" @click="selectedColor(order.orderno)" :style="{'font-weight': order.orderno==selectedStyle?'bold':''}">
+                        <td>
+                            <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
+                        </td>
+                        <td>@can('订单管理-编辑')<button v-if="order.releasestatus==='N'" @click="freeze(order.orderno,order.waveno)" class="btn btn-sm btn-outline-danger text-nowrap">冻结</button>@endcan</td>
+                        <td>@{{ i+1 }}</td>
+                        <td class="text-dark font-weight-bold text-nowrap">@{{ order.orderno }}</td>
+                        <td class="text-muted text-nowrap">@{{ order.codename_c }}</td>
+                        <td class="text-nowrap">@{{ order.addtime }}</td>
+                        <td class="text-nowrap">@{{ order.issuepartyname }}</td>
+                        <td class="text-nowrap">@{{ order.customer_descr_c }}</td>
+                        <td class="text-nowrap">@{{ order.soreference1 }}</td>
+                        <td class="text-muted text-nowrap">@{{ order.carriername }}</td>
+                        <td class="text-nowrap">@{{ order.soreference5 }}</td>
+                        <td class="text-muted text-nowrap">@{{ order.c_contact }}</td>
+                        <td class="text-muted text-nowrap">@{{ order.c_tel1 }}</td>
+                        <td class="text-nowrap"> @{{ order.c_province }}</td>
+                        <td class="text-nowrap"> @{{ order.c_city }}</td>
+                        <td class="text-nowrap"> @{{ order.c_district }}</td>
+                        <td class="text-muted">@{{ order.c_address1 }}</td>
+                        <td class="text-nowrap">@{{ order.waveno }}</td>
+                        <td class="text-nowrap"> @{{ order.warehouseid }}</td>
+                        <td class="text-nowrap">@{{ order.edisendflag2 }}</td>
+                        <td class="text-nowrap">@{{ order.edisendtime2 }}</td>
+                        <td colspan="5" class="text-center">
+                            <table v-if="commodities[order.orderno]&&commodities[order.orderno].length==1 || isBtn[order.orderno]" class="table text-nowrap table-sm">
+                                <tr v-for="oracleDOCOrderDetail in commodities[order.orderno]">
+                                    <td><div style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.sku }}</div></td>
+                                    <td><div style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.alternate_sku1 }}</div></td>
+                                    <td><div :title="oracleDOCOrderDetail.descr_c" class="tooltipTarget" style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.descr_c }}</div></td>
+                                    <td>@{{ oracleDOCOrderDetail.qtyordered }}</td>
+                                    <td><div style="width: 180px;overflow: hidden">@{{ oracleDOCOrderDetail.checktime }}</div></td>
+                                </tr>
+                                <tr v-if="isBtn[order.orderno]">
+                                    <td colspan="5">
+                                        <b style="cursor:pointer;color: #4aa0e6;" @click="isBtn[order.orderno]=false;">点击收起明细</b>
+                                    </td>
+                                </tr>
+                            </table>
+                            <b @click="unfold(order.orderno)" style="cursor:pointer;text-decoration: underline;color: #4aa0e6;" v-if="commodities[order.orderno]&&commodities[order.orderno].length>1 && !isBtn[order.orderno]">共有 @{{ commodities[order.orderno].length }}  件商品,点击展开</b>
+                        </td>
+                        <td>@{{ order.notes }}</td>
+                        <td>@{{ order.erpcancelflag }}</td>
+                        <td>@{{ order.picking_print_flag }}</td>
+                        <td>@{{ order.edisendflag }}</td>
+                        <td>@{{ order.releasestatus }}</td>
 
-            </tr>
-        </table>
-        <button type="button" @click="pageUp()" :readonly="page>1?false:true" class="btn btn-sm " :class="page>1?'btn-outline-info':''">上一页</button>
-        <button type="button" @click="pageDown()" :readonly="page<maxPage?false:true" class="btn btn-sm m-3" :class="page<maxPage?'btn-outline-info':''">下一页</button>
-        <input  @keyup.enter="pageSkip($event)" class="form-control-sm ml-3 tooltipTarget" :placeholder="'当前页数:'+page+'/'+maxPage" title="去往指定页">
-        <span class="text-muted m-1">共 @{{ sum }} 条</span>
+                    </tr>
+                </table>
+                <button type="button" @click="pageUp()" :readonly="page>1?false:true" class="btn btn-sm " :class="page>1?'btn-outline-info':''">上一页</button>
+                <button type="button" @click="pageDown()" :readonly="page<maxPage?false:true" class="btn btn-sm m-3" :class="page<maxPage?'btn-outline-info':''">下一页</button>
+                <input  @keyup.enter="pageSkip($event)" class="form-control-sm ml-3 tooltipTarget" :placeholder="'当前页数:'+page+'/'+maxPage" title="去往指定页">
+                <span class="text-muted m-1">共 @{{ sum }} 条</span>
+            </div>
+        </div>
     </div>
 @endsection
 
@@ -208,7 +216,7 @@
             data:{
                 filterData:{
                     paginate:50,ordertime_start:'',ordertime_end:'',customerid:'',orderno:'',soreference5:'',codename_c:'',
-                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'1'
+                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'31'
                 },
                 page:Number('{{$page}}'),
                 maxPage:1,
@@ -354,14 +362,14 @@
                         return;
                     }
                     window.location.href="{{url('order/index/delivering?ordertime_start=')}}"+this.filterData.ordertime_start
-                    +"&&ordertime_end="+this.filterData.ordertime_end+"&&orderno="+this.filterData.orderno
-                    +"&&soreference5="+this.filterData.soreference5+"&&export="+true+"&&codename_c="+this.filterData.codename_c
+                        +"&&ordertime_end="+this.filterData.ordertime_end+"&&orderno="+this.filterData.orderno
+                        +"&&soreference5="+this.filterData.soreference5+"&&export="+true+"&&codename_c="+this.filterData.codename_c
                         +"&&issuepartyname="+this.filterData.issuepartyname+"&&carriername="+this.filterData.carriername
                         +"&&soreference1="+this.filterData.soreference1+"&&notes="+this.filterData.notes
                         +"&&addtime="+this.filterData.addtime;
                 },
                 modal(){
-                  $("#myModal").modal('show');
+                    $("#myModal").modal('show');
                 },
                 batchComments(){
                     let _this=this;
@@ -391,9 +399,9 @@
                             tempTip.showSuccess('注释完毕!')
                             _this.content='';
                         }).catch(function (err) {
-                            tempTip.setDuration(4000);
-                            tempTip.show('网络错误:'+err)
-                        });
+                        tempTip.setDuration(4000);
+                        tempTip.show('网络错误:'+err)
+                    });
                     $("#myModal").modal('hide');
                 },
                 selectedColor(orderno){
@@ -402,7 +410,27 @@
                         return;
                     }
                     this.selectedStyle=orderno;
-                }
+                },
+                freeze(orderno,waveno){
+                  if(!confirm('确定要冻结“'+orderno+'”吗?'))return;
+                  let _this=this;
+                  axios.post('{{url('order/freeze')}}',{orderno:orderno,waveno:waveno})
+                      .then(function (response) {
+                            if (response.data.success){
+                                _this.orders.some(function (order) {
+                                    if (order.orderno===orderno){
+                                        order.releasestatus='Y';
+                                        return true;
+                                    }
+                                });
+                                tempTip.setDuration(3000);
+                                tempTip.show('订单已被冻结!');
+                            }
+                      }).catch(function (err) {
+                        tempTip.setDuration(3000);
+                        tempTip.show('网络异常:'+err);
+                      });
+                },
             },
         });
     </script>

+ 21 - 2
resources/views/rejected/create.blade.php

@@ -1,6 +1,5 @@
 @extends('layouts.app')
 @section('title')录入退货@endsection
-
 @section('content')
 
     <div id="nav2">
@@ -12,7 +11,7 @@
                 <div style="background-color: #aaa; height: 535px; opacity: 0.5;
                 width:100%;z-index: 9; position: absolute" class="d-flex ">
                 </div>
-                <div style="height: 500px;
+                <div style="height: 550px;
                 width:100%;z-index: 10; position: absolute" class="d-flex align-items-center ">
                     <button class="btn btn-info flex-fill" @click="cancelPackCommitEdit">取消锁定</button>
                 </div>
@@ -180,6 +179,26 @@
                                     </div>
                                 </td>
                             </tr>
+                            <tr v-if="billInputting.id_owner==='66'">
+                                <td>
+                                    <div class="form-group mb-0">
+                                        <label for="common_01" class="col-form-label text-right">寄件方省</label>
+                                        <input type="text"  class="form-control" :class="[errors.common_01?'is-invalid':'']"
+                                               data-focusOrder="10"
+                                               name="common_01" id="common_01" autocomplete="off" v-model="billInputting.common_01" required>
+                                        <span class="invalid-feedback" v-if="errors.common_01"><strong>@{{ errors.common_01[0] }}</strong></span>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-group mb-0">
+                                        <label for="common_02" class="col-form-label text-right">重量</label>
+                                        <input type="text"  class="form-control" :class="[errors.common_02?'is-invalid':'']"
+                                               data-focusOrder="11"
+                                               name="common_02" id="common_02" autocomplete="off" v-model="billInputting.common_02" required>
+                                        <span class="invalid-feedback" v-if="errors.common_02"><strong>@{{ errors.common_02[0] }}</strong></span>
+                                    </div>
+                                </td>
+                            </tr>
                             <tr>
                                 <td>
                                     <div class="form-group mb-0 align-items-center row" >

+ 24 - 2
resources/views/rejected/edit.blade.php

@@ -17,7 +17,7 @@
                 <div style="background-color: #aaa; height: 535px; opacity: 0.5;
                 width:100%;z-index: 9; position: absolute" class="d-flex ">
                 </div>
-                <div style="height: 500px;
+                <div style="height: 530px;
                 width:100%;z-index: 10; position: absolute" class="d-flex align-items-center ">
                     <button class="btn btn-info flex-fill" @click="cancelPackCommitEdit">取消锁定</button>
                 </div>
@@ -183,6 +183,28 @@
                                     </div>
                                 </td>
                             </tr>
+
+                                <tr v-if="billInputting.id_owner==='66'">
+                                    <td>
+                                        <div class="form-group mb-0">
+                                            <label for="common_01" class="col-form-label text-right">寄件方省</label>
+                                            <input type="text"  class="form-control" :class="[errors.common_01?'is-invalid':'']"
+                                                   data-focusOrder="10"
+                                                   name="common_01" id="common_01" autocomplete="off" v-model="billInputting.common_01" required>
+                                            <span class="invalid-feedback" v-if="errors.common_01"><strong>@{{ errors.common_01[0] }}</strong></span>
+                                        </div>
+                                    </td>
+                                    <td>
+                                        <div class="form-group mb-0">
+                                            <label for="common_02" class="col-form-label text-right">重量</label>
+                                            <input type="text"  class="form-control" :class="[errors.common_02?'is-invalid':'']"
+                                                   data-focusOrder="11"
+                                                   name="common_02" id="common_02" autocomplete="off" v-model="billInputting.common_02" required>
+                                            <span class="invalid-feedback" v-if="errors.common_02"><strong>@{{ errors.common_02[0] }}</strong></span>
+                                        </div>
+                                    </td>
+                                </tr>
+
                             <tr>
                                 <td>
                                     <div class="form-group mb-0 align-items-center row" >
@@ -394,7 +416,7 @@
                         ,logistic_number:'{{$rejectedBill->logistic_number}}',id_logistic_return:'{{$rejectedBill->id_logistic_return}}'
                         ,fee_collected:'{{$rejectedBill->fee_collected}}',is_loaded:'{{$rejectedBill->is_loaded_null}}',order_number:'{{$rejectedBill->order_number}}'
                         ,logistic_number_return:'{{$rejectedBill->logistic_number_return}}',logistic_name:'{{$rejectedBill->logistic_name}}',
-                        remark:'{{$rejectedBill->remark}}',is_at_edit_page:true,
+                        remark:'{{$rejectedBill->remark}}',is_at_edit_page:true,common_01:'{{$rejectedBill->common_01}}',common_02:'{{$rejectedBill->common_02}}',
                         isEditing:false},
                 items:[
                 ],

+ 0 - 336
resources/views/rejected/index.blade.php

@@ -1,336 +0,0 @@
-@extends('layouts.app')
-@section('title')退货管理@endsection
-
-@section('content')
-    <div id="nav2">
-        @component('rejected.menu')@endcomponent
-        @component('rejected.search.menu')@endcomponent
-    </div>
-    <div class="container-fluid">
-        <div style="min-width: 2070px;">
-            <div class="d-none" id="list">
-                @if(Session::has('successTip'))
-                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
-                @endif
-
-
-                <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>
-                            </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%"></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>
-                    </div>
-                </div>
-
-
-                <table class="table table-striped table-sm table-bordered table-hover" style="background: #fff;">
-                    <tr>
-                        <th>
-                            <input type="checkbox" class="form-control-sm tooltipTarget" title="全选"
-                                   id="checkSelectingAll" @click="checkBoxAllToggle" v-model="checkBoxAll" value="1">
-                        </th>
-                        <th>序号</th>
-                        <th>是否审核</th>
-                        <th>是否完结</th>
-                        <th>是否入库</th>
-                        <th>创建时间</th>
-                        <th>客户名称</th>
-                        <th>退回单号</th>
-                        <th>退回公司</th>
-                        <th>订单号</th>
-                        <th>姓名</th>
-                        <th>电话</th>
-                        <th>原单单号</th>
-                        @cannot('退货管理-到付费用')<th>到付费用</th>@endcannot
-                        <th>商品总数</th>
-                        <th>商品条码</th>
-                        <th>商品名称</th>
-                        <th>数量</th>
-                        <th>是否正品</th>
-                        <th>批次号</th>
-                        <th>生产日期</th>
-                        <th>效期</th>
-                        <th>备注</th>
-                        <th>退单备注</th>
-                        <th>录入人</th>
-                        @can('退货管理-编辑','退货管理-删除')
-                            <th>操作</th>
-                        @endcan
-                    </tr>
-
-                    <tr v-for="(rejectedBill,i) in rejectedBills" :data-id="rejectedBill.id">
-                        <td>
-                            <input type="checkbox" v-model="rejectedBills_checkBoxes" :value="rejectedBill.id"/>
-                        </td>
-                        <td class="text-muted" style="opacity:0.7">
-                            @{{ i+1 }}
-                        </td>
-                        <td class="text-muted">
-                            <span v-if="rejectedBill.is_checked==1" class="text-success">
-                                <span class="fa fa-check-square"></span> @{{ rejectedBill.checked_numbers }}
-                            </span>
-                            <span v-else>
-                                未审核
-                            </span>
-                        </td>
-                        <td class="" :class="[rejectedBill.is_finished!=0?'text-success':'text-muted']">@{{rejectedBill.is_finished | yesNo}}</td>
-                        <td class="" :class="[rejectedBill.is_loaded==1?'text-success':'text-muted']">
-                            <span v-if="rejectedBill.is_loaded==4">
-                                <button class="btn btn-sm btn-info" @click="confirmBeStored($event,rejectedBill.id)">确定入库</button>
-                            </span>
-                            <span v-else>@{{rejectedBill.is_loaded | yesNoIsLoaded}}</span>
-                        </td>
-                        <td class="text-muted">@{{rejectedBill.created_at}}</td>
-                        <td>@{{rejectedBill.owner.name}}</td>
-                        <td>@{{rejectedBill.logistic_number_return}}</td>
-                        <td class="text-muted">@{{rejectedBill.logistic.name}}</td>
-                        <td>@{{rejectedBill.order_number}}</td>
-                        <td class="text-muted">@{{rejectedBill.sender}}</td>
-                        <td class="text-muted">@{{rejectedBill.mobile_sender}}</td>
-                        <td>@{{rejectedBill.logistic_number}}</td>
-                        @cannot('退货管理-到付费用')<td class="text-muted">@{{rejectedBill.fee_collected}}</td>@endcannot
-                        <td class="text-muted">@{{rejectedBill.goods_amount}}</td>
-                        <td colspan="8">
-                            <div class="text-center" v-if="rejectedBill.detailFolding && rejectedBill.items.length>1">
-                                <a href="javascript:;" @click="rejectedBill.detailFolding=false">@{{rejectedBill.goods_amount}}件商品,点击展开明细</a></div>
-                            <table class="table table-sm" v-else>
-                                <tr v-for="item in rejectedBill.items">
-                                    <td style="width: 140px">@{{item.barcode_goods}}</td>
-                                    <td style="width: 140px">@{{item.name_goods}}</td>
-                                    <td style="width: 30px">@{{item.amount}}</td>
-                                    <td class="text-muted">@{{item.quality_label}}</td>
-                                    <td class="text-muted">@{{item.batch_number}}</td>
-                                    <td class="text-muted">@{{item.made_at}}</td>
-                                    <td class="text-muted">@{{item.validity_at}}</td>
-                                    <td class="text-muted">@{{item.remark}}</td>
-                                </tr>
-                                <tr v-if="!rejectedBill.detailFolding && rejectedBill.items.length>1">
-                                    <td colspan="8" class="text-center">
-                                        <a href="javascript:;" @click="rejectedBill.detailFolding=true">点击收起明细</a>
-                                    </td>
-                                </tr>
-                            </table>
-                        </td>
-                        <td class="text-muted" style="max-width: 190px">@{{rejectedBill.remark}}</td>
-                        <td class="text-muted">@{{rejectedBill.operator_name}}</td>
-                        @can('退货管理-编辑')
-                            <td>
-                                <span v-if="rejectedBill.is_finished==0">
-                                @can('退货管理-编辑')
-                                        <button class="btn btn-outline-info btn-sm tooltipTarget" @click="edit">改</button>
-                                    @endcan
-                                    @can('退货管理-删除')
-                                        <button
-                                            class="btn btn-outline-danger btn-sm tooltipTarget" @click="destroy(rejectedBill)">删</button>
-                                    @endcan
-                                </span>
-                                <span v-else class="text-muted">已完结</span>
-                            </td>
-                        @endcan
-                    </tr>
-                </table>
-                <div class="text-info h5 btn btn">{{$rejectedBills->count()}}/{{$rejectedBills->total()}}</div>
-                {{$rejectedBills->appends($paginateParams)->links()}}
-            </div>
-        </div>
-    </div>
-@endsection
-
-@section('lastScript')
-    <script>
-        let rejectedBills=[
-                @foreach( $rejectedBills as $rejectedBill )
-            {
-                id:'{{$rejectedBill->id}}',is_checked:'{{$rejectedBill->is_checked}}',checked_numbers:'{{$rejectedBill->checked_numbers}}',
-                created_at:'{{$rejectedBill->created_at->format("Y-m-d H:i")}}',owner:{!! $rejectedBill->owner !!},
-                order_number:'{{$rejectedBill->order_number}}',sender:'{{$rejectedBill->sender}}',
-                mobile_sender:'{{$rejectedBill->mobile_sender}}',logistic_number:'{{$rejectedBill->logistic_number}}',
-                logistic_number_return:'{{$rejectedBill->logistic_number_return}}',logistic:{!!$rejectedBill->logistic!!},
-                fee_collected:'{{$rejectedBill->fee_collected}}',goods_amount:'{{$rejectedBill->goods_amount}}',
-                is_loaded:'{{$rejectedBill->is_loaded_null}}',operator_name:'{{$rejectedBill->operator_name}}',detailFolding:true,
-                items:{!! $rejectedBill->items !!},is_finished:'{{$rejectedBill->is_finished}}',remark:'{{$rejectedBill->remark}}'
-            },
-            @endforeach
-        ];
-        let owners=[
-                @foreach($owners as $owner)
-            {id:'{{$owner->id}}',name:'{{$owner->name}}'},
-            @endforeach
-        ];
-        let qualityLabels=[
-                @foreach($qualityLabels as $qualityLabel)
-            {id:'{{$qualityLabel->id}}',name:'{{$qualityLabel->name}}'},
-            @endforeach
-        ];
-            @if(isset($paginateParams))
-        let paginateParams={!! json_encode($paginateParams) !!};
-            @endif
-        let total='{{$rejectedBills->total()}}';
-        let editUrl = "{{url('rejectedBill')}}/";
-        let destroyUrl = "{{url('rejectedBill')}}/";
-        let ajaxConfirmBeStoredUrl = '{{url("apiLocal/rejectedBill/apiConfirmBeStored")}}';
-        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/rejectedIndex200513.js')}}"></script>
-@endsection

+ 0 - 4
resources/views/rejected/menuRelating.blade.php

@@ -13,10 +13,6 @@
                 <li class="nav-item">
                     <a class="nav-link text-dark" href="{{url('maintenance/qualityLabel')}}" :class="{active:isActive('qualityLabel',2)}">品质标签</a>
                 </li> @endcan
-            @can('品质标签')
-                <li class="nav-item">
-                    <a class="nav-link text-dark" href="{{url('maintenance/qualityLabel')}}" :class="{active:isActive('qualityLabel',2)}">品质标签</a>
-                </li> @endcan
         </ul>
     </div>
 </div>

+ 14 - 6
resources/views/rejected/search/analyze.blade.php

@@ -7,7 +7,7 @@
         @component('rejected.search.menu')@endcomponent
     </div>
     <div class="container-fluid">
-        <div style="min-width: 2070px;">
+        <div >
             <div class="d-none" id="list">
                 @if(Session::has('successTip'))
                     <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
@@ -89,9 +89,11 @@
                         </th>
                         <th>序号</th>
                         <th>货主</th>
-                        <th>退件数</th>
-                        <th>审核数</th>
-                        <th>入库数</th>
+                        <th class="text-muted">退件数</th>
+                        <th class="text-success font-weight-bold">审核数</th>
+                        <th>未审核数</th>
+                        <th class="text-success font-weight-bold">入库数</th>
+                        <th>未入库数</th>
                     </tr>
                     <tr v-for="(rejectedBill,index) in rejectedBills " :data-id="rejectedBill.id">
                         <td>
@@ -103,15 +105,21 @@
                         <td>
                             @{{ rejectedBill.ownerName }}
                         </td>
-                        <td>
+                        <td class="text-muted">
                             @{{ rejectedBill.bounceAmount }}
                         </td>
-                        <td>
+                        <td class="text-success font-weight-bold">
                             @{{ rejectedBill.checkAmount }}
                         </td>
                         <td>
+                            @{{ rejectedBill.bounceAmount-rejectedBill.checkAmount }}
+                        </td>
+                        <td class="text-success font-weight-bold">
                             @{{ rejectedBill.inStorageCount }}
                         </td>
+                        <td>
+                            @{{ rejectedBill.bounceAmount-rejectedBill.inStorageCount }}
+                        </td>
                     </tr>
                 </table>
             </div>

+ 36 - 37
resources/views/rejected/search/general.blade.php

@@ -13,6 +13,7 @@
                     <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
                 @endif
 
+
                 <div class="col-12" style="background: #fff;">
                     <div class="row">
                         <div class="col" v-if="isBeingFilterConditions">
@@ -23,7 +24,7 @@
                         <table class="table table-sm table-bordered m-0">
                             <tr>
                                 <td colspan="9">
-                                    <select name="" id="setPaginate" class="tooltipTarget form-control-sm" style="vertical-align: middle"
+                                    <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>
@@ -35,38 +36,40 @@
                             </tr>
                             <tr>
                                 <td colspan="2">
-                                    <input type="date" name="created_at_start" class="form-control-sm tooltipTarget" style="width:140px"
+                                    <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>
-                                    <input type="text" class="form-control-sm tooltipTarget" placeholder="客户"
-                                           style="width:70px" @input="locateOwner" @keypress="owner_idEntering"
-                                           title="客户:输入关键词快速定位下拉列表,回车确定">
-                                    <select name="owner_id" id="owner_id" class="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 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-sm tooltipTarget" placeholder="订单号" name="order_number"
+                                    <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-sm tooltipTarget" placeholder="退回单号" name="logistic_number_return"
+                                    <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-sm tooltipTarget" placeholder="原单单号" name="logistic_number"
+                                    <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-sm tooltipTarget" @change="is_checkedChange" title="审核"
+                                    <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>
@@ -77,17 +80,17 @@
                             </tr>
                             <tr>
                                 <td colspan="2">
-                                    <input type="date" name="created_at_end" class="form-control-sm tooltipTarget" style="width:140px"
+                                    <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-sm tooltipTarget" placeholder="商品条码" name="barcode_goods"
+                                    <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-sm tooltipTarget"
+                                    <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>
@@ -95,17 +98,17 @@
                                     </select>
                                 </td>
                                 <td>
-                                    <input type="text" class="form-control-sm tooltipTarget" name="mobile_sender" placeholder="寄件人手机"
+                                    <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-sm tooltipTarget" name="checked_numbers" placeholder="审核批次号"
+                                    <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-sm"
+                                    <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>
@@ -194,7 +197,11 @@
                         <th>姓名</th>
                         <th>电话</th>
                         <th>原单单号</th>
-                        <th>到付费用</th>
+                        @cannot('退货管理-到付费用')<th>到付费用</th>@endcannot
+                        @can('退货管理-查询-客户定义-爱奇艺')
+                            <th>寄件方省</th>
+                            <th>重量</th>
+                        @endcan
                         <th>商品总数</th>
                         <th>商品条码</th>
                         <th>商品名称</th>
@@ -241,7 +248,9 @@
                         <td class="text-muted">@{{rejectedBill.sender}}</td>
                         <td class="text-muted">@{{rejectedBill.mobile_sender}}</td>
                         <td>@{{rejectedBill.logistic_number}}</td>
-                        <td class="text-muted">@{{rejectedBill.fee_collected}}</td>
+                        @cannot('退货管理-到付费用')<td class="text-muted">@{{rejectedBill.fee_collected}}</td>@endcannot
+                        @can('退货管理-查询-客户定义-爱奇艺')<td class="text-muted">@{{rejectedBill.common_01}}</td>@endcan
+                        <td class="text-muted">@{{rejectedBill.common_02}}</td>
                         <td class="text-muted">@{{rejectedBill.goods_amount}}</td>
                         <td colspan="8">
                             <div class="text-center" v-if="rejectedBill.detailFolding && rejectedBill.items.length>1">
@@ -291,20 +300,10 @@
 
 @section('lastScript')
     <script>
-        let rejectedBills=[
-                @foreach( $rejectedBills as $rejectedBill )
-            {
-                id:'{{$rejectedBill->id}}',is_checked:'{{$rejectedBill->is_checked}}',checked_numbers:'{{$rejectedBill->checked_numbers}}',
-                created_at:'{{$rejectedBill->created_at->format("Y-m-d H:i")}}',owner:{!! $rejectedBill->owner !!},
-                order_number:'{{$rejectedBill->order_number}}',sender:'{{$rejectedBill->sender}}',
-                mobile_sender:'{{$rejectedBill->mobile_sender}}',logistic_number:'{{$rejectedBill->logistic_number}}',
-                logistic_number_return:'{{$rejectedBill->logistic_number_return}}',logistic:{!!$rejectedBill->logistic!!},
-                fee_collected:'{{$rejectedBill->fee_collected}}',goods_amount:'{{$rejectedBill->goods_amount}}',
-                is_loaded:'{{$rejectedBill->is_loaded_null}}',operator_name:'{{$rejectedBill->operator_name}}',detailFolding:true,
-                items:{!! $rejectedBill->items !!},is_finished:'{{$rejectedBill->is_finished}}',remark:'{{$rejectedBill->remark}}'
-            },
-            @endforeach
-        ];
+        let rejectedBills={!! $rejectedBills->toJson()!!}.data;
+        rejectedBills.forEach(function(rejectedBill){
+            rejectedBill.detailFolding=true;
+        })
         let owners=[
                 @foreach($owners as $owner)
             {id:'{{$owner->id}}',name:'{{$owner->name}}'},

+ 2 - 2
resources/views/rejected/search/menu.blade.php

@@ -1,11 +1,11 @@
 <div class="container-fluid nav3">
     <div class="card menu-third">
         <ul class="nav nav-pills">
-            @can('退货管理-一般')
+            @can('退货管理-查询')
                 <li class="nav-item">
                     <a class="nav-link" href="{{url('rejected/index/general')}}" :class="{active:isActive('general',3)}">一般</a>
                 </li> @endcan
-            @can('退货管理-统计')
+            @can('退货管理-查询')
                 <li class="nav-item">
                     <a class="nav-link" href="{{url('rejected/index/analyze')}}" :class="{active:isActive('analyze',3)}">统计</a>
                 </li> @endcan

+ 1 - 1
resources/views/waybill/create.blade.php

@@ -26,7 +26,7 @@
                     <div class="h5 text-center mb-3">
                         <ul class="nav nav-tabs">
                             <li class="nav-item offset-5"><a class="nav-link @if($type=='专线') active @endif" href="{{url('waybill/create/ZX')}}">专线</a></li>
-                            <li class="nav-item"><a class="nav-link @if($type!='专线') active @endif" href="{{url('waybill/create/ZF')}}">直发车</a></li>
+                            <li class="nav-item"><a class="nav-link @if($type!='专线') active @endif" href="{{url('files')}}">直发车</a></li>
                         </ul>
                     </div>
                     <div class="form-group row">

+ 156 - 18
resources/views/waybill/index.blade.php

@@ -29,7 +29,7 @@
             <form  method="GET" action="@if($uriType=='ZF'){{url('waybill/index/ZF')}}@elseif($uriType=='ZX'){{url('waybill/index/ZX')}}@else{{url('waybill/index')}}@endif" id="optionSubmit">
                 <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;">
                     <tr v-if="isBeingFilterConditions">
-                        <td colspan="4"><div class="col" style="padding:0">
+                        <td colspan="4"><div class="col" style="padding:0;">
                                 <a  href="@if($uriType=='ZF'){{url('waybill/index/ZF')}}@elseif($uriType=='ZX'){{url('waybill/index/ZX')}}@else{{url('waybill/index')}}@endif"><span class="btn btn-warning text-dark">清除过滤条件</span></a>
                             </div>
                         </td>
@@ -48,22 +48,20 @@
                     <tr >
                         <td >
                             <div class="form-inline">
-                            <select name="owner_id"  v-model="filterData.owner_id"  class="form-control form-control-sm tooltipTarget "  @change="setOwner" style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
-                                <option value="" class="text-secondary">货主 </option>
-                                <option v-for="owner in owners" :value="owner.id" class="font-weight-bold">@{{owner.name}}</option>
-                            </select>
-                            <div style="position: relative;">
-                                <button type="button" v-show="!isOwnersBtn" @click="isOwnersBtn=true;" style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">多货主查询</button>
-                                <button type="button" v-show="isOwnersBtn" @click="isOwnersBtn=false;" style=" max-width: 100px" class="btn btn-sm btn-outline-dark container pull-left">收起货主</button>
-                                <span v-show="isOwnersBtn" class="border" style="position: absolute;left:0;top:30px;width:80px;max-height:100px;overflow:auto;background-color: white">
-                                    <ul style="list-style-type:none" class="pl-0">
+                                <select name="owner_id"  v-model="filterData.owner_id"  class="form-control form-control-sm tooltipTarget "  @change="setOwner" style="vertical-align: middle;max-width: 100px" :class="filterData.owner_id?'bg-warning':''">
+                                    <option value="" class="text-secondary">货主 </option>
+                                    <option v-for="owner in owners" :value="owner.id" class="font-weight-bold">@{{owner.name}}</option>
+                                </select>
+                                <div style="position: relative;" @mouseover="isOut=true;mouseleaveOwner();" @mouseleave="isOut=false;mouseleaveOwner();">
+                                    <input type="text" title="多选货主时双击选中" class="form-control form-control-sm tooltipTarget" @input="owner_seek($event)"  placeholder="定位货主" @blur="isBlur=false;blurOwner();" @focus="isOwnersBtn=true;isBlur=true;">
+                                    <span v-show="isOwnersBtn" class="border"   style="position: absolute;left:0;top:30px;width:150px;max-height:100px;overflow:auto;background-color: white">
+                                    <ul style="list-style-type:none" class="pl-0" >
                                         <li v-for="owner in owners" style="cursor: pointer;user-select:none;" :style="{'background-color':filterData.owners['_'+owner.id]?'#4aa0e6':''}"
                                             @dblclick="selectedOwner(owner.id)" class="text-left">@{{owner.name}}<hr class="m-0" style="width: 100%"></li>
                                     </ul>
-
                                 </span>
-                                <input hidden name="owners" :value="JSON.stringify(filterData.owners)">
-                            </div>
+                                    <input hidden name="owners" :value="JSON.stringify(filterData.owners)">
+                                </div>
                             </div>
                         </td>
                         <td >
@@ -119,6 +117,7 @@
                                     <a class="dropdown-item" @click="waybillExport(2)" href="javascript:">导出所有页</a>
                                 </div>
                             </span>
+                            @can('运输管理-图片删除')<button type="button" @click="deleteImg()" class="btn btn-sm btn-outline-danger ml-2">删除所选图片</button>@endcan
                         </td>
                     </tr>
                 </table>
@@ -153,6 +152,7 @@
                     <th class="td-bill">上游单号</th>
                     <th class="td-bill">WMS订单号</th>
                     <th class="td-bill">运单号</th>
+                    <th class="td-bill">照片</th>
                     <th class="td-transit">收件人</th>
                     <th class="td-transit">收件人电话</th>
                     <th class="td-transit">始发地</th>
@@ -193,7 +193,7 @@
                             @can('运输管理-运单审核')
                                 <button class="btn btn-outline-primary btn-sm" @click="waybillAudit(waybill.id,waybill.waybill_number)">审核</button>
                             @endcan
-                            @can('运输管理-运单编辑')
+                            @can('运输管理-编辑')
                                 <button class="btn btn-outline-secondary btn-sm" @click="waybillUpdate(waybill.id)">修改</button>
                             @endcan
                         </span>
@@ -220,6 +220,16 @@
                     <td class="td-bill">@{{waybill.source_bill}}</td>
                     <td class="td-bill">@{{waybill.wms_bill_number}}</td>
                     <td class="td-bill">@{{waybill.waybill_number}}</td>
+                    <td class="td-bill">
+                        <div align="center" @mouseleave="removeCommonImg('common_img_'+waybill.id)" @mouseenter="commonImg('img_'+waybill.id,waybill.url,waybill.suffix)">
+                            <img v-if="waybill.url" :id="'img_'+waybill.id"  :data-src="waybill.url+'-thumbnail.'+waybill.suffix" src="{{url('icon/img404-thumbnail.jpg')}}">
+                            @can('运输管理-图片上传')<div v-if="!waybill.url">
+                                <input class="btn  btn-sm btn-outline-info" type="button" @click="certiimg(waybill.waybill_number)" value="上传图片"/>
+                                <input type="file" @change="submitFile($event,waybill.waybill_number)" :id="waybill.waybill_number"
+                                       style="display: none" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg"/>
+                            </div>@endcan
+                        </div>
+                    </td>
                     <td class="td-transit">@{{waybill.recipient}}</td>
                     <td class="td-transit">@{{waybill.recipient_mobile}}</td>
                     <td class="td-transit text-muted">@{{waybill.origination}}</td>
@@ -258,7 +268,7 @@
                     {{--                            @can('运输管理-运单审核')--}}
                     {{--                                <button class="btn btn-outline-success btn-sm" @click="waybillAudit(waybill.id,waybill.waybill_number)">审核</button>--}}
                     {{--                            @endcan--}}
-                    {{--                            @can('运输管理-运单编辑')--}}
+                    {{--                            @can('运输管理-编辑')--}}
                     {{--                                <button class="btn btn-outline-secondary btn-sm" @click="waybillUpdate(waybill.id)">修改</button>--}}
                     {{--                            @endcan--}}
                     {{--                        </div>--}}
@@ -323,7 +333,7 @@
                 waybills:[
                         @foreach($waybills as $waybill)
                     {
-                        id:'{{$waybill->id}}',created_at:'{{$waybill->created_at}}',updated_at:'{{$waybill->updated_at}}',
+                        id:'{{$waybill->id}}',created_at:'{{$waybill->created_at}}',updated_at:'{{$waybill->updated_at}}',url:'{{$waybill->upload_file_url}}',suffix:'{{$waybill->upload_file_type}}',
                         status:'{{$waybill->status}}',type:'{{$waybill->type}}',waybill_number:'{{$waybill->waybill_number}}',
                         owner:'{{$waybill->owner_name}}',source_bill:'{{$waybill->source_bill}}',wms_bill_number:'{{$waybill->wms_bill_number}}',origination:'{{$waybill->origination}}',
                         destination:'{{$waybill->destination}}',recipient:'{{$waybill->recipient}}',recipient_mobile:'{{$waybill->recipient_mobile}}',
@@ -357,7 +367,10 @@
                     {!! $owner !!},
                     @endforeach
                 ],
+                isOut:false,
+                isBlur:false,
                 isOwnersBtn:false,
+                imgs:'',
             },
             computed:{
                 isBeingFilterConditions:function(){
@@ -388,8 +401,30 @@
                 this.initInputs();
                 $(".tooltipTarget").tooltip({'trigger':'hover'});
                 $('#list').removeClass('d-none');
+                this.imgs=Array.from(document.getElementById('list').querySelectorAll('img'));
+                this.lazy();
+                if (this.imgs&&this.imgs.length>0){
+                    window.addEventListener('scroll',this.lazy)
+                }
             },
             methods:{
+                lazy(){
+                    //可视区域高度
+                    let height=window.innerHeight;
+                    //滚动区域高度
+                    let scrollHeight = document.documentElement.scrollTop || document.body.scrollTop;
+                    let _this=this;
+                    this.imgs.forEach(function (img,i) {
+                        if ((height+scrollHeight)>$('#'+img.getAttribute('id')).offset().top && img.getAttribute('data-src')){
+                            let temp=new Image();
+                            temp.src=img.getAttribute('data-src');
+                            temp.onload=function () {
+                                img.src=img.getAttribute('data-src');
+                                _this.$delete(_this.imgs,i);
+                            }
+                        }
+                    });
+                },
                 initInputs:function(){
                     let data=this;
                     let uriParts =decodeURI(location.href).split("?");
@@ -444,7 +479,7 @@
                     if(!confirm('确定要驳回“'+waybill_number+'”的审核吗?')){return};
                     let _this=this;
                     let w;
-                    let url='{{url('waybill/waybillRetreatAudit')}}';
+                    let url='{{url('files')}}';
                     axios.post(url,{id:id})
                         .then(
                             function (response) {
@@ -601,8 +636,111 @@
                         return;
                     }
                     this.$set(this.filterData.owners,'_'+id,id);
-                    if (this.filterData.owners.length===1)this.filterData.owner_id=id;
+                    if (Object.keys(this.filterData.owners).length===1)this.filterData.owner_id=id;
                     else this.filterData.owner_id='';
+                },
+                owner_seek:function (e) {
+                    let val=e.target.value;
+                    if (this.owners.length<1)return;
+                    let _this=this;
+                    let ownerTemp=_this.owners[0];
+                    this.owners.every(function (owner,i) {
+                        if (owner.name.includes(val)){
+                            if (i===0)return ;
+                            _this.$set(_this.owners,0,owner);
+                            _this.$set(_this.owners,i,ownerTemp);
+                            return false;
+                        }
+                        return  true;
+                    });
+                },
+                mouseleaveOwner:function () {
+                    if(!this.isOut&&!this.isBlur){
+                        this.isOwnersBtn=false;
+                    }
+                },
+                blurOwner:function () {
+                    if (!this.isOut&&!this.isBlur){
+                        this.isOwnersBtn=false;
+                    }
+                },
+                certiimg(waybill_number){
+                    $('#'+waybill_number).click();
+                },
+                submitFile(e,waybill_number){
+                    let file=e.target.files[0];
+                    if (file.size >=5242880){
+                        tempTip.setDuration(3000);
+                        tempTip.show("图片大小不能超过5MB!");
+                        return;
+                    }
+                    let _this=this;
+                    let formData=new FormData();
+                    formData.append("file",file);
+                    formData.append("waybill_number",waybill_number);
+                    axios.post('{{url('waybill/upload')}}',formData)
+                        .then(function (response) {
+                            if (!response.data.success){
+                                tempTip.setDuration(4000);
+                                tempTip.show(response.data.error);
+                                return;
+                            }
+                            _this.waybills.some(function (waybill) {
+                                if (waybill.waybill_number===waybill_number){
+                                    waybill.url=response.data.data.url;
+                                    waybill.suffix=response.data.data.type;
+                                    setTimeout(function () {
+                                        _this.imgs.push(document.getElementById('img_'+waybill.id));
+                                        _this.lazy();
+                                    },1);
+                                    tempTip.setDuration(3000);
+                                    tempTip.showSuccess("上传成功!");
+                                    return true;
+                                }
+                            });
+                        }).catch(function (err) {
+                        tempTip.setDuration(4000);
+                        tempTip.show("网络错误:"+err);
+                    })
+                },
+                commonImg(id,url,suffix){
+                    $('#'+id).after("<div id=\"common_"+id+"\" style=\"position: relative;margin-top: 2px\">" +
+                        "                        <a target='_blank' href='"+url+'-bulky.'+suffix+"'><img src=\""+url+'-common.'+suffix+"\" style=\"position: absolute;left:-50px; \" ></a>" +
+                        "                        <p class='title text-center'><button class='btn btn-outline-light btn-sm'>删除</button></p>" +
+                        "                        </div>");
+                },
+                removeCommonImg(id){
+                    $('#'+id).remove();
+                },
+                deleteImg(){
+                    if (this.checkData.length <= 0) {
+                        tempTip.setDuration(2000);
+                        tempTip.showSuccess('没有勾选任何记录');
+                        return;
+                    }
+                    if (!confirm('确定要删除所选图片吗?'))return;
+                    let _this=this;
+                    axios.post('{{url('waybill/deleteImg')}}',{ids:_this.checkData})
+                        .then(function (response) {
+                            if (!response.data.success){
+                                tempTip.setDuration(4000);
+                                tempTip.show("删除失败");
+                                return;
+                            }
+                            _this.checkData.forEach(function (id) {
+                                _this.waybills.some(function (waybill) {
+                                    if (waybill.id===id){
+                                        waybill.url='';
+                                        return true;
+                                    }
+                                });
+                            });
+                            tempTip.setDuration(3000);
+                            tempTip.showSuccess("删除成功!");
+                        }).catch(function (err) {
+                            tempTip.setDuration(4000);
+                            tempTip.show("网络错误:"+err);
+                        });
                 }
             },
             filters:{

+ 1 - 1
resources/views/waybill/waybillFinancialSnapshot/index.blade.php

@@ -12,7 +12,7 @@
                     <ul class="nav nav-pills">
                         @can('财务报表-查询')
                             <li class="nav-item">
-                                <a class="nav-link" href="@if(!isset($excepted)) {{url('waybill/waybillFinancialSnapshot')}} @else {{url('waybill/waybillFinancialExcepted')}} @endif" :class="{active:isActive('',3)}">全部</a>
+                                <a class="nav-link" href="@if(!isset($excepted)) {{url('files')}} @else {{url('waybill/waybillFinancialExcepted')}} @endif" :class="{active:isActive('',3)}">全部</a>
                             </li> @endcan
                         @can('财务报表-查询')
                             <li class="nav-item">

+ 50 - 0
routes/web.php

@@ -19,6 +19,7 @@ Route::any('test/{method}', 'TestController@method'); //测试
 
 Auth::routes();
 Route::get('/home', 'HomeController@index')->name('home');
+Route::get('/homeTemp', 'HomeController@home');
 
 Route::get('password/change', 'Auth\PasswordController@change');
 Route::post('password/update', 'Auth\PasswordController@update');
@@ -42,6 +43,7 @@ Route::resource('maintenance/measuringMachine', 'MeasuringMachineController');
 Route::resource('maintenance/userWorkgroup', 'UserWorkgroupController');
 Route::resource('maintenance/laborCompany', 'LaborCompanyController');
 Route::resource('maintenance/warehouse', 'WarehouseController');
+Route::resource('maintenance/jobType', 'JobTypeController');
 //教程管理
 Route::resource('maintenance/tutorial', 'TutorialController');
 //停用货主
@@ -63,6 +65,8 @@ Route::post('maintenance/paperBox/excel/import','PaperBoxController@import');
 Route::resource('maintenance/paperBox', 'PaperBoxController');
 Route::get('maintenance/paperBox/excel/goImport',function (){return view('maintenance.paperBox.import');});
 
+Route::post('waybill/deleteImg','WaybillsController@deleteImg');
+Route::post('waybill/upload','WaybillsController@upload');
 Route::get('waybill/relating',function (){return view('waybill.menuWaybill');});
 Route::resource('maintenance/waybillPriceModel','WaybillPriceModelsController');
 Route::get('maintenance/waybillPriceModel/excel/goImport',function (){return view('maintenance.waybillPriceModel.import');});
@@ -250,4 +254,50 @@ Route::group(['prefix'=>'order'],function(){
     Route::get('index/delivering','OrderController@delivering');
     //批量备注
     Route::post('create/batchComments','OrderController@batchComments');
+    //冻结订单
+    Route::post('freeze','OrderController@freeze');
+});
+
+
+
+/**
+ * 客户
+ */
+Route::group(['prefix'=>'client'],function(){
+    //基础资料
+    Route::resource('base','ClientController');
+    //面积盘点
+    Route::get('areaCheck','ClientController@areaCheckIndex');
+    //面积盘点录入
+    Route::get('areaCheck/create','ClientController@areaCheckCreate');
+    //账单确认
+    Route::get('billCheck','ClientController@billCheckIndex');
+    //账单确认录入
+    Route::get('billCheck/create','ClientController@billCheckCreate');
+    //绩效报表
+    Route::get('performanceReport','ClientController@performanceReportIndex');
+    //即时账单
+    Route::get('instantBill','ClientController@instantBillIndex');
+    //增值服务
+    Route::get('valueAddedService','ClientController@valueAddedServiceIndex');
+    //增值服务录入
+    Route::get('valueAddedService/create','ClientController@valueAddedServiceCreate');
+    //相关设置
+    Route::get('relating','ClientController@relating');
+});
+
+/**
+ * 计价模型
+ */
+Route::group(['prefix'=>'maintenance/priceModel'],function(){
+    //仓储
+    Route::resource('storage','PriceModelStorageController');
+    //作业
+    Route::resource('task','PriceModelTaskController');
+    //快递
+    Route::resource('expressage','PriceModelExpressageController');
+    //物流
+    Route::resource('logistic','PriceModelLogisticController');
+    //直发车
+    Route::resource('nonstop','PriceModelNonstopController');
 });

+ 4 - 0
runServes.sh

@@ -1,3 +1,7 @@
+#!/bin/sh
+ps -aux|grep laravel-echo-server |grep -v grep|awk '{print $2}'|xargs kill
+ps -aux|grep artisan |grep -v grep|awk '{print $2}'|xargs kill
+
 nohup laravel-echo-server start >/dev/null 2>&1 &
 
 nohup php artisan queue:work --tries=2 --delay=2 >/dev/null 2>&1 &

+ 15 - 0
tests/webApi/thirdPart/weight/PackageController.http

@@ -0,0 +1,15 @@
+# For a quick start check out our HTTP Requests collection (Tools|HTTP Client|Open HTTP Requests Collection).
+##
+## Following HTTP Request Live Templates are available:
+## * 'gtrp' and 'gtr' create a GET request with or without query parameters;
+## * 'ptr' and 'ptrp' create a POST request with a simple or parameter-like body;
+## * 'mptr' and 'fptr' create a POST request to submit a form with a text or file field (multipart/form-data);
+
+POST http://bswas/api/thirdPart/weight/new
+Content-Type: application/json
+
+{"barcode":"test","weight":"5","id":"00C66186389","key":"2C7FACD3AFC3FFE547FC54CDA076A25D","time":"2020-2-26 14:17:07"}
+###
+
+
+

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません