Explorar el Código

Merge branch 'master' into Haozi

haozi hace 6 años
padre
commit
cb3c09127f
Se han modificado 35 ficheros con 1060 adiciones y 723 borrados
  1. 9 0
      app/Http/Controllers/ClientController.php
  2. 84 0
      app/Http/Controllers/JobTypeController.php
  3. 39 12
      app/Http/Controllers/OrderController.php
  4. 1 1
      app/Http/Controllers/ProcessController.php
  5. 3 3
      app/Http/Controllers/WaybillsController.php
  6. 8 4
      app/Http/Controllers/api/thirdPart/flux/ProcessController.php
  7. 1 4
      app/Imports/WaybillPriceModelsImport.php
  8. 10 0
      app/JobType.php
  9. 31 0
      database/migrations/2020_06_18_111452_create_job_types_table.php
  10. 0 0
      resources/icon/img404-bulky.jpg
  11. 0 0
      resources/icon/img404-thumbnail.jpg
  12. 2 3
      resources/views/client/base/index.blade.php
  13. 4 1
      resources/views/client/menu.blade.php
  14. 28 0
      resources/views/client/menuRelating.blade.php
  15. 9 0
      resources/views/client/relating.blade.php
  16. 41 0
      resources/views/client/valueAddedService/create.blade.php
  17. 51 0
      resources/views/client/valueAddedService/index.blade.php
  18. 16 0
      resources/views/client/valueAddedService/menu.blade.php
  19. 1 1
      resources/views/layouts/app.blade.php
  20. 2 2
      resources/views/layouts/menu.blade.php
  21. 31 0
      resources/views/maintenance/jobType/create.blade.php
  22. 29 0
      resources/views/maintenance/jobType/index.blade.php
  23. 13 0
      resources/views/maintenance/jobType/menu.blade.php
  24. 6 1
      resources/views/maintenance/menu.blade.php
  25. 53 0
      resources/views/maintenance/priceModel/create.blade.php
  26. 188 157
      resources/views/maintenance/priceModel/expressage/index.blade.php
  27. 66 0
      resources/views/maintenance/priceModel/import.blade.php
  28. 51 162
      resources/views/maintenance/priceModel/logistic/index.blade.php
  29. 11 5
      resources/views/maintenance/priceModel/menu.blade.php
  30. 115 157
      resources/views/maintenance/priceModel/nonstop/index.blade.php
  31. 46 27
      resources/views/maintenance/priceModel/storage/index.blade.php
  32. 41 162
      resources/views/maintenance/priceModel/task/index.blade.php
  33. 57 18
      resources/views/order/index/delivering.blade.php
  34. 3 3
      resources/views/process/edit.blade.php
  35. 10 0
      routes/web.php

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

@@ -51,6 +51,15 @@ class ClientController extends Controller
     public function instantBillIndex(){
         return view('client.instantBill.index');
     }
+    public function valueAddedServiceIndex(){
+        return view('client.valueAddedService.index');
+    }
+    public function valueAddedServiceCreate(){
+        return view('client.valueAddedService.create');
+    }
+    public function relating(){
+        return view('client.relating');
+    }
 
     /**
      * Store a newly created resource in storage.

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

@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class JobTypeController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('maintenance.jobType.index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        return view('maintenance.jobType.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)
+    {
+        //
+    }
+}

+ 39 - 12
app/Http/Controllers/OrderController.php

@@ -30,9 +30,11 @@ class OrderController extends Controller
         $notes=$request->input('notes');
         $addtime=$request->input('addtime');
         $checkData=$request->input('checkData');
+        $alternate_sku1=$request->input('alternate_sku1');
+        $waveno=$request->input('waveno');
         $export=$request->input('export');
         $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.C_Tel2,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,
        DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
@@ -42,7 +44,7 @@ class OrderController extends Controller
        from (";
         if (!$request->input('export')&&!$request->input('export'))$sql.=" select * from (";
         $sql.=" select ROWNUM as rn,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.C_Tel2,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,
                          DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
@@ -53,7 +55,21 @@ class OrderController extends Controller
         if ($orderno)$sql.=" and orderno like '".$orderno."%'";
         if ($codename_c)$sql.=" and sostatus = '".$codename_c."'";
         if ($carriername)$sql.=" and carriername like '".$carriername."%'";
-        if ($soreference1)$sql.=" and soreference1 like '".$soreference1."%'";
+        if ($soreference1){
+            $arr=array_filter(preg_split('/[,, ]+/is', $soreference1));
+            if (count($arr)>0){
+                $sql.=" and soreference1 in (";
+                foreach ($arr as $index=>$str){
+                    if ($index==0){
+                        $sql.="'".$str."'";
+                        continue;
+                    }
+                    $sql.=",'".$str."'";
+                }
+                $sql.=")";
+            }
+        }
+        if ($waveno)$sql.=" and WaveNo like '".$waveno."%'";
         if ($issuepartyname)$sql.=" and issuepartyname like '".$issuepartyname."%'";
         if ($notes){
             if ($addtime&&$addtime!=0)$sql.=" and addtime >= '".date('Y-m-d H:i:s',strtotime("-".$addtime." day"))."'";
@@ -93,9 +109,10 @@ 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,
+                      left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno ";
+        if ($alternate_sku1)$sql.=" where BAS_SKU.Alternate_SKU1 like '".$alternate_sku1."%'";
+        $sql.=" 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_Tel2,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,
          DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
@@ -125,7 +142,7 @@ class OrderController extends Controller
         return view('order/index/delivering',compact('orders','customers','request','codes','commodities','page'));
     }
     public function batchComments(Request $request){
-        if(!Gate::allows('订单管理-批量注')){ return redirect(url('/'));  }
+        if(!Gate::allows('订单管理-批量注')){ return redirect(url('/'));  }
         $checkData=$request->input('checkData');
         $content=$request->input('content');
         $ordersNotNull=OracleDOCOrderHeader::select('OrderNo','Notes')->whereIn('orderno',$checkData)
@@ -149,12 +166,22 @@ class OrderController extends Controller
         if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
         $orderno=$request->input('orderno');
         $waveno=$request->input('waveno');
-        OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'Y']);
+//        $order=OracleDOCOrderHeader::where('orderno',$orderno)->first();
+//        if(!($order['codename_c']==='创建订单'||$order['codename_c']==='分配完成'||$order['codename_c']==='拣货完成'||$order['codename_c']==='播种完成')){
+//            return ['success'=>false];
+//        }
+        OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'H','waveno'=>'*']);
         if ($waveno && $waveno!='*'){
             OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
         }
         return ['success'=>true];
     }
+    public function thaw(Request $request){
+        if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
+        $orderno=$request->input('orderno');
+        OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'N']);
+        return ['success'=>true];
+    }
 
     function export($orders,$commodities){
         if(!Gate::allows('订单管理')){ return redirect(url('/'));  }
@@ -171,7 +198,7 @@ class OrderController extends Controller
             'carriername'=>'承运人',
             'soreference5'=>'快递单号',
             'c_contact'=>'收货人名称',
-            'c_tel1'=>'收货人电话',
+            'c_tel2'=>'收货人电话',
             'c_province'=>'省',
             'c_city'=>'市',
             'c_district'=>'区',
@@ -187,7 +214,7 @@ class OrderController extends Controller
             'erpcancelflag'=>'接口取消标记',
             'picking_print_flag'=>'拣货单打印标记',
             'edisendflag'=>'接口回传标记',
-            'releasestatus'=>'订单冻结标记',
+            'releasestatus'=>'订单冻结',
 
         ]];
         $list=[];
@@ -201,7 +228,7 @@ class OrderController extends Controller
                 'warehouseid'=>$order->warehouseid,
                 'oracleBASCustomer_descr_c'=>$order->customer_descr_c,
                 'c_contact'=>$order->c_contact,
-                'c_tel1'=>$order->c_tel1,
+                'c_tel2'=>$order->c_tel2,
                 'c_province'=>$order->c_province,
                 'c_city'=>$order->c_city,
                 'c_district'=>$order->c_district,
@@ -234,7 +261,7 @@ class OrderController extends Controller
                 $data['qtyordered']=$oracleDOCOrderDetail['qtyordered'];
                 if (isset($sign[$order->orderno])){
                     $data['orderno']='';$data['sostatus']='';$data['warehouseid']='';$data['oracleBASCustomer_descr_c']='';$data['c_contact']='';$data['addtime']='';
-                    $data['c_tel1']='';$data['carriername']='';$data['issuepartyname']='';$data['waveno']='';$data['soreference1']='';$data['soreference5']='';
+                    $data['c_tel2']='';$data['carriername']='';$data['issuepartyname']='';$data['waveno']='';$data['soreference1']='';$data['soreference5']='';
                     $data['edisendflag2']='';$data['edisendtime2']='';$data['notes']='';$data['erpcancelflag']='';$data['picking_print_flag']='';$data['edisendflag']='';
                     $data['releasestatus']='';$data['c_address1']='';$data['c_province']='';$data['c_city']='';$data['c_district']='';
                     array_push($list,$data);

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

@@ -663,7 +663,7 @@ class ProcessController extends Controller
     //删除二次加工内容单
     public function deleteProcessContent($id){
         $processContent=ProcessesContent::find($id);
-        if (!$processContent) return ['success'=>false,'data'=>'找到对应二次加工内容单'];
+        if (!$processContent) return ['success'=>false,'data'=>'找到对应二次加工内容单'];
         $processContent->delete();
         return ['success'=>true];
     }

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

@@ -601,9 +601,9 @@ class WaybillsController extends Controller
         $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);
+        $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);

+ 8 - 4
app/Http/Controllers/api/thirdPart/flux/ProcessController.php

@@ -89,8 +89,12 @@ class ProcessController extends Controller
         }
         $docOrders=OracleDOCOrderDetail::where("OrderNo",$wms_code)->get();//出库单
         if (count($docOrders)>0){
-            $owner=Owner::where("code",$docOrders[0]->customerid)->first();
-            if (!$owner)$owner=$this->storeOwner($docOrders[0]->customerid);
+            $owners=Owner::withTrashed()->where("code",$docOrders[0]->customerid)->get();
+            if ($owners->isEmpty()){
+                $owner=$this->storeOwner($docOrders[0]->customerid);
+            }else{
+                $owner=$owners->first();
+            }
             if (!$owner)return ['error'=>'找到了入库单,但未查询到货主代码!'];
             $commodities=$this->resetData($docOrders,"sku","customerid","qtyordered",'orderlineno');
             $processContent=[
@@ -195,7 +199,7 @@ class ProcessController extends Controller
         $commodityBarCodeData=[];
         $commodityBarCodeTem=[];
         $owners_code=array_column($oracleBasSkus->toArray(),'customerid');
-        $ownersTem=Owner::whereIn('code',$owners_code)->get();
+        $ownersTem=Owner::withTrashed()->whereIn('code',$owners_code)->get();
         $owners=array_column($ownersTem->toArray(),'id','code');
         for($i=0;$i<count($oracleBasSkus);$i++){
             if (!$owners[$oracleBasSkus[$i]->customerid])$owners[$oracleBasSkus[$i]->customerid]=$this->storeOwner($oracleBasSkus[$i]->customerid);
@@ -227,4 +231,4 @@ class ProcessController extends Controller
         $this->log(__METHOD__, 'FLUX二次加工单接口录入货主__' . __FUNCTION__, json_encode($owner), Auth::user()['id']);
         return $owner;
     }
-}
+}

+ 1 - 4
app/Imports/WaybillPriceModelsImport.php

@@ -36,10 +36,7 @@ class WaybillPriceModelsImport implements ToCollection,WithHeadingRow
         if (isset($collection->toArray()[0]['承运商'])&&isset($collection->toArray()[0]['计数单位'])&&isset($collection->toArray()[0]['省份'])
             &&isset($collection->toArray()[0]['单价'])){
                 $endIs=true;
-        }else{
-                Cache::put('error','请检查您第一行标题是否存在承运商,计数单位,省份,单价,市,计数区间,起步费,最低计数',86400);
-                $endIs=false;
-        }
+        }else Cache::put('error','请检查您第一行标题是否存在承运商,计数单位,省份,单价,市,计数区间,起步费,最低计数',86400);
         $exception=[];
         $sum=2;
         if ($endIs) {

+ 10 - 0
app/JobType.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class JobType extends Model
+{
+    //
+}

+ 31 - 0
database/migrations/2020_06_18_111452_create_job_types_table.php

@@ -0,0 +1,31 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateJobTypesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('job_types', function (Blueprint $table) {
+            $table->id();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('job_types');
+    }
+}

+ 0 - 0
public/icon/img404-bulky.jpg → resources/icon/img404-bulky.jpg


+ 0 - 0
public/icon/img404-thumbnail.jpg → resources/icon/img404-thumbnail.jpg


+ 2 - 3
resources/views/client/base/index.blade.php

@@ -2,7 +2,7 @@
 
 @section('content')
     @component('client.base.menu')@endcomponent
-    <div class="card">
+    <div class="card" id="list">
         <form>
             <table class="table table-sm table-bordered  text-nowrap mb-0" style="background: #fff;min-width: 1500px">
                 <tr>
@@ -19,7 +19,7 @@
                 <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':''">
+                            <select name="owner_id"    class="form-control form-control-sm tooltipTarget "   style="vertical-align: middle;max-width: 100px">
                                 <option value="" class="text-secondary">货主 </option>
                                 <option  class="font-weight-bold"></option>
                             </select>
@@ -160,4 +160,3 @@
         </table>
     </div>
 @endsection
-

+ 4 - 1
resources/views/client/menu.blade.php

@@ -18,7 +18,10 @@
                 <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>
+                <a class="nav-link" href="{{url('client/valueAddedService')}}" :class="{active:isActive('valueAddedService',2)}">增值服务</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-muted" href="{{url('client/relating')}}" :class="{active:isActive('relating',2)}">相关设置</a>
             </li>
         </ul>
     </div>

+ 28 - 0
resources/views/client/menuRelating.blade.php

@@ -0,0 +1,28 @@
+<div class="container-fluid nav3">
+    <div class="card" >
+        <ul class="nav">
+
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/priceModel/storage')}}" :class="{active:isActive('storage',3)}">仓储费计价模型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/priceModel/task')}}" :class="{active:isActive('task',3)}">作业费计价模型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/priceModel/expressage')}}" :class="{active:isActive('expressage',3)}">快递费计价模型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/priceModel/logistic')}}" :class="{active:isActive('logistic',3)}">物流费计价模型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/priceModel/Nonstop')}}" :class="{active:isActive('Nonstop',3)}">直发车计价模型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/jobType')}}" :class="{active:isActive('jobType',2)}">类型</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-dark" href="{{url('maintenance/unit')}}" :class="{active:isActive('unit',3)}">单位</a>
+            </li>
+        </ul>
+    </div>
+</div>

+ 9 - 0
resources/views/client/relating.blade.php

@@ -0,0 +1,9 @@
+@extends('layouts.app')
+
+@section('content')
+    <div id="nav2">
+    @component('client.menu')@endcomponent
+    @component('client.menuRelating')@endcomponent
+    </div>
+@endsection
+

+ 41 - 0
resources/views/client/valueAddedService/create.blade.php

@@ -0,0 +1,41 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.valueAddedService.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>
+        <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
+

+ 51 - 0
resources/views/client/valueAddedService/index.blade.php

@@ -0,0 +1,51 @@
+@extends('layouts.app')
+
+@section('content')
+    @component('client.valueAddedService.menu')@endcomponent
+    <div class="card m-2">
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>货主名</th>
+                <th>子项目</th>
+                <th>类型</th>
+                <th>单位</th>
+                <th>单价</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td rowspan="4" style="vertical-align: middle">货主1</td>
+                <td rowspan="3" style="vertical-align: middle">子项目1</td>
+                <td>卸货费</td>
+                <td>T/m³</td>
+                <td>5.8</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+            <tr>
+                <td>集装箱掏箱费</td>
+                <td>个</td>
+                <td>200</td>
+                <td><button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button></td>
+            </tr>
+            <tr>
+                <td>打托</td>
+                <td>个</td>
+                <td>500</td>
+                <td><button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button></td>
+            </tr>
+            <tr>
+                <td>子项目2</td>
+                <td>贴标/制标</td>
+                <td>件</td>
+                <td>0.8</td>
+                <td><button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button></td>
+            </tr>
+        </table>
+    </div>
+@endsection
+

+ 16 - 0
resources/views/client/valueAddedService/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/valueAddedService')}}" :class="{active:isActive('',3)}">查询</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link text-dark" href="{{url('client/valueAddedService/create')}}" :class="{active:isActive('create',3)}">录入</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>

+ 1 - 1
resources/views/layouts/app.blade.php

@@ -14,7 +14,7 @@
 </head>
 <body>
 <div id="app">
-    <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm" style="padding: 0;height: 50px" >
+    <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm" style="padding: 0;max-height: 80px" >
         <div class="container-fluid">
             <a class="navbar-brand" href="{{ url('/') }}" title="宝时 Warehouse Assistance System" style="vertical-align: text-bottom">
                 <img src="{{asset('icon/logo100b.png')}}" alt="宝时 Warehouse Assistance System" height="30" >

+ 2 - 2
resources/views/layouts/menu.blade.php

@@ -1,4 +1,4 @@
-<div class="collapse navbar-collapse" id="navbarSupportedContent" style="height: 50px">
+<div class="collapse navbar-collapse" id="navbarSupportedContent" style="max-height: 80px">
     <!-- Left Side Of Navbar -->
     <ul class="navbar-nav mr-auto nav-tabs nav font-weight-bold" id="nav1" style="padding-top: 10px">
         @can('退货管理')
@@ -45,7 +45,7 @@
             <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
+                    客户管理</a></li>@endcan
         @can('基础设置')
             <li class="nav-item"><a href="{{url("maintenance/")}}" class="nav-link"
                                     :class="{active:isActive('maintenance',1)}">

+ 31 - 0
resources/views/maintenance/jobType/create.blade.php

@@ -0,0 +1,31 @@
+@extends('layouts.app')
+@section('title')新建作业类型@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.jobType.menu')@endcomponent
+    </div>
+    <div class="container-fluid">
+        <div class="card col-md-8 offset-md-2">
+            <div class="card-body">
+                <form method="POST" action="{{ url('maintenance/unit') }}">
+                    @csrf
+                    <div class="form-group row">
+                        <label class="col-2" >类型代码</label>
+                        <input class="form-control col-8">
+                    </div>
+                    <div class="form-group row">
+                        <label class="col-2" >类型名称</label>
+                        <input class="form-control col-8">
+                    </div>
+                    <div class="form-group row">
+                        <div class="col-8 offset-2">
+                            <input type="submit" class="btn btn-success form-control">
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+@endsection

+ 29 - 0
resources/views/maintenance/jobType/index.blade.php

@@ -0,0 +1,29 @@
+
+@extends('layouts.app')
+@section('title')运输价格模型@endsection
+
+@section('content')
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.jobType.menu')@endcomponent
+    </span>
+    <div class="container-fluid card">
+        <table class="m-2 table table-sm table-hover table-striped table-bordered text-nowrap">
+            <tr>
+                <th>ID</th>
+                <th>代码</th>
+                <th>名称</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td>1</td>
+                <td>TB</td>
+                <td>贴标</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+        </table>
+    </div>
+@endsection

+ 13 - 0
resources/views/maintenance/jobType/menu.blade.php

@@ -0,0 +1,13 @@
+
+<div class="container-fluid nav3">
+    <div class="card" >
+        <ul class="nav nav-pills">
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/jobType')}}" :class="{active:isActive('',3)}">查询</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/jobType/create')}}"  :class="{active:isActive('create',3)}">录入</a>
+            </li>
+        </ul>
+    </div>
+</div>

+ 6 - 1
resources/views/maintenance/menu.blade.php

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

+ 53 - 0
resources/views/maintenance/priceModel/create.blade.php

@@ -0,0 +1,53 @@
+@extends('layouts.app')
+@section('title')录入计价模型@endsection
+@section('content')
+<span id="nav2">
+    @component('maintenance.menu')@endcomponent
+    @component('maintenance.priceModel.menu')@endcomponent
+</span>
+
+<div class="col col-md-8 offset-2 card card-body mt-3">
+    <form >
+        <div  class="form-group row">
+            <div class="col-8 offset-2">
+                <button class="btn btn-outline-info">承运商</button>
+                <button class="btn btn-info">仓储费</button>
+                <button class="btn btn-outline-info">作业费</button>
+                <button class="btn btn-outline-info">快递费</button>
+                <button class="btn btn-outline-info">物流费</button>
+                <button class="btn btn-outline-info">直发车</button>
+            </div>
+        </div>
+        <div class="form-group row">
+            <label class="col-2">项目</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <label class="col-2">用仓类型</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <label class="col-2">最低起租面积</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <label class="col-2">单价</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <label class="col-2">减免类型</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <label class="col-2">减免方法</label>
+            <input class="form-control col-8">
+        </div>
+        <div class="form-group row">
+            <div class="col-7 offset-2">
+                <input type="submit" class="btn btn-success form-control">
+            </div>
+        </div>
+    </form>
+</div>
+
+@endsection

+ 188 - 157
resources/views/maintenance/priceModel/expressage/index.blade.php

@@ -1,168 +1,199 @@
 
 @extends('layouts.app')
-@section('title')运输价格模型@endsection
+@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 ">
+        <span id="nav2">
+            @component('maintenance.menu')@endcomponent
+            @component('maintenance.priceModel.menu')@endcomponent
+        </span>
+        <span class="dropdown ml-3">
+            <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget mt-2"
+                    data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
+                导出Excel
+            </button>
+            <div class="dropdown-menu">
+                <a class="dropdown-item">导出勾选内容</a>
+                <a class="dropdown-item">导出所有页</a>
+            </div>
+        </span>
+        <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>首重(kg)</th>
+                <th>续重(续重单位)</th>
+                <th>承运商</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>1</td>
+                <td rowspan="2" style="vertical-align: middle">
+                    <b data-toggle="modal" data-target="#staticBackdrop"
+                       style="cursor: pointer;color: #4aa0e6;text-decoration: underline">SHKD20092201</b>
+                </td>
+                <td>项目1</td>
+                <td>3</td>
+                <td>1</td>
+                <td>圆通</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    <input class="checkItem" type="checkbox" >
+                </td>
+                <td>2</td>
+                <td>项目2</td>
+                <td>2</td>
+                <td>1.5</td>
+                <td>中通</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+        </table>
+
+        <!-- Modal -->
+        <div class="modal fade" id="staticBackdrop"  tabindex="-1" role="dialog"  >
+            <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
+                <div class="modal-content" style="max-height: 500px;overflow-y:scroll; overflow-x:hidden;">
+                    <div class="modal-header form-inline ">
+                        <label class="text-center text-primary">SHKD20092201
+                            <input placeholder="省" class="form-control form-control-sm ml-2" style="max-width: 100px;">
+                        </label>
+
+                    </div>
+                    <table class="table table-sm m-2 table-striped table-hover">
+                        <tr>
+                            <th>省</th>
+                            <th>首重单价</th>
+                            <th>续重单价</th>
+                            <th>操作</th>
+                        </tr>
+                        <tr class="text-success font-weight-bold" {{--使用MAP进行哈希对比--}}>
+                            <td>上海</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>浙江</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>江苏</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>安徽</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>北京</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                        </tr>              <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                        </tr>
+                        <tr>
+                            <td>天津</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                        </tr>
                         <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>
+                            <td>河北</td>
+                            <td>4.5</td>
+                            <td>3</td>
                         </tr>
+                        <tr>
+                            <td>河北</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                        </tr>
+                        <tr>
+                            <td>河北</td>
+                            <td>4.5</td>
+                            <td>3</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>
-    </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
+@endsection

+ 66 - 0
resources/views/maintenance/priceModel/import.blade.php

@@ -0,0 +1,66 @@
+@extends('layouts.app')
+@section('title')导入计价模型@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.priceModel.menu')@endcomponent
+    </div>
+    <div class="container-fluid">
+        <div class="card col-md-8 offset-md-2">
+            <div class="card-body">
+                <form method="POST" action="{{ url('waybillPriceModel/excel/import') }}" enctype="multipart/form-data" target="_blank">
+                    <div  class="form-group row">
+                        <div class="col-8 offset-2">
+                            <button class="btn btn-info">承运商</button>
+                            <button class="btn btn-outline-info">快递费</button>
+                            <button class="btn btn-outline-info">物流费</button>
+                            <button class="btn btn-outline-info">直发车</button>
+                        </div>
+                    </div>
+                    @csrf
+                    <div class="form-group row text-center">
+                        <div class="col-12 text-danger">
+
+                            注意:请保证表第一行有以下对应的字段名<br>(可不按顺序,承运商,计数单位,省份,单价为必填项,其余字段不填或填入错误数据则导入默认值0):<br>
+                            承运商,计数单位,计数区间,省份,单价,市,起步费,最低计数<br>
+                        </div>
+                        <div class="col-12 text-info ">
+                            导入时间随文件大小可能达数十分钟以上,请耐心等候
+                            <hr>
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="sku" class="col-2 col-form-label text-right">选择EXCEL</label>
+                        <div class="col-8">
+                            <div class="form-control">
+                                <input type="file" class="form-control-file @error('file') is-invalid @enderror"
+                                       name="file" value="{{ old('file') }}" required>
+                                @error('file')
+                                <span class="invalid-feedback" role="alert">
+                                <strong>{{ $message }}</strong>
+                            </span>
+                                @enderror
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="sku" class="col-2 col-form-label text-right">是否覆盖</label>
+                        <div class="col-8">
+                            <select name="isOverride" id="isOverride" class="form-control" >
+                                <option value="0">仅新增</option>
+                                <option value="1">新增且覆盖</option>
+                            </select>
+                            <p class="text-muted">覆盖会以承运商,计数单位,计数区间,省份为依据,覆盖其余字段</p>
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <div class="col-8 offset-2">
+                            <input type="submit" class="btn btn-success form-control" value="执行导入">
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+@endsection

+ 51 - 162
resources/views/maintenance/priceModel/logistic/index.blade.php

@@ -1,168 +1,57 @@
 
 @extends('layouts.app')
-@section('title')运输价格模型@endsection
+@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>
+        <span id="nav2">
+            @component('maintenance.menu')@endcomponent
+            @component('maintenance.priceModel.menu')@endcomponent
+        </span>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>价格名称</th>
+                <th>价格编号</th>
+                <th>项目</th>
+                <th>单位1</th>
+                <th>单位2</th>
+                <th>提货费</th>
+                <th>燃油附加费</th>
+                <th>信息服务费</th>
+                <th>承运商</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td rowspan="3" style="vertical-align: middle">快递价格1</td>
+                <td rowspan="3" style="vertical-align: middle">SHKD20092201</td>
+                <td>项目1</td>
+                <td rowspan="3" style="vertical-align: middle">T</td>
+                <td rowspan="3" style="vertical-align: middle">m3</td>
+                <td rowspan="3" style="vertical-align: middle">0</td>
+                <td rowspan="3" style="vertical-align: middle">9</td>
+                <td rowspan="3" style="vertical-align: middle">6</td>
+                <td>圆通</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+            <tr>
+                <td>项目2</td>
+                <td>中通</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+            <tr>
+                <td>项目3</td>
+                <td>韵达</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+        </table>
     </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
+@endsection

+ 11 - 5
resources/views/maintenance/priceModel/menu.blade.php

@@ -9,17 +9,23 @@
                 <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>
+                <a class="nav-link" href="{{url('maintenance/priceModel/task')}}" :class="{active:isActive('task',3)}">作业费</a>
             </li>
             <li class="nav-item">
-                <a class="nav-link" href="{{url('maintenance/priceModel/expressage')}}" :class="{active:isActive('goImport',3)}">快递费</a>
+                <a class="nav-link" href="{{url('maintenance/priceModel/expressage')}}" :class="{active:isActive('expressage',3)}">快递费</a>
             </li>
             <li class="nav-item">
-                <a class="nav-link" href="{{url('maintenance/priceModel/logistics')}}" :class="{active:isActive('goImport',3)}">物流费</a>
+                <a class="nav-link" href="{{url('maintenance/priceModel/logistic')}}" :class="{active:isActive('logistic',3)}">物流费</a>
             </li>
             <li class="nav-item">
-                <a class="nav-link" href="{{url('maintenance/priceModel/nonstop')}}" :class="{active:isActive('goImport',3)}">直发车</a>
+                <a class="nav-link" href='{{url('maintenance/priceModel/nonstop')}}' :class="{active:isActive('nonstop',3)}">直发车</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-muted" href='{{url('maintenance/priceModel/create')}}' :class="{active:isActive('create',3)}">录入</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-muted" href='{{url('maintenance/priceModel/import')}}' :class="{active:isActive('import',3)}">导入</a>
             </li>
         </ul>
     </div>
-</div>
+</div>

+ 115 - 157
resources/views/maintenance/priceModel/nonstop/index.blade.php

@@ -1,168 +1,126 @@
 
 @extends('layouts.app')
-@section('title')运输价格模型@endsection
+@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 ">
+        <span id="nav2">
+            @component('maintenance.menu')@endcomponent
+            @component('maintenance.priceModel.menu')@endcomponent
+        </span>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>价格名称</th>
+                <th>价格编号</th>
+                <th>项目</th>
+                <th>起步公里数</th>
+                <th>承运商</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td>直发车价格1</td>
+                <td style="vertical-align: middle">
+                    <b data-toggle="modal" data-target="#staticBackdrop"
+                       style="cursor: pointer;color: #4aa0e6;text-decoration: underline">SHKD20092201</b>
+                </td>
+                <td>项目1</td>
+                <td>10</td>
+                <td>宝时直发车,宝时直发车到付</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+        </table>
+        <!-- Modal -->
+        <div class="modal fade" id="staticBackdrop"  tabindex="-1" role="dialog"  >
+            <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
+                <div class="modal-content" style="max-height: 500px;overflow-y:scroll; overflow-x:hidden;">
+                    <div class="modal-header form-inline">
+                        <label class="text-center text-primary  m-auto">SHKD20092201</label>
+                    </div>
+                    <table class="table table-sm m-2 table-striped table-hover">
                         <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>
+                            <th>车型</th>
+                            <th>起步费</th>
+                            <th>续费(元/KM)</th>
+                            <th>操作</th>
+                        </tr>
+                        <tr>
+                            <td>面包车</td>
+                            <td>140</td>
+                            <td>6</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>金杯车</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>依维柯</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>4.2米箱车</td>
+                            <td>4</td>
+                            <td>1</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>6.8米箱车</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>8米</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>9.6米箱车</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td>13米5箱车</td>
+                            <td>4.5</td>
+                            <td>3</td>
+                            <td>
+                                <button class="btn btn-sm btn-outline-info">改</button>
+                                <button class="btn btn-sm btn-outline-danger">删</button>
+                            </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>
-    </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
+@endsection

+ 46 - 27
resources/views/maintenance/priceModel/storage/index.blade.php

@@ -1,30 +1,49 @@
+
 @extends('layouts.app')
-@section('title')仓储价模型@endsection
+@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
-
+    <div id="list">
+        <span id="nav2">
+            @component('maintenance.menu')@endcomponent
+            @component('maintenance.priceModel.menu')@endcomponent
+        </span>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>项目</th>
+                <th>计费类型</th>
+                <th>用仓类型</th>
+                <th>最低起租面积</th>
+                <th>单价</th>
+                <th>减免类型</th>
+                <th>减免方法</th>
+                <th>操作</th>
+            </tr>
+            <tr>
+                <td rowspan="2" style="vertical-align: middle">项目1</td>
+                <td>包仓1</td>
+                <td>常温</td>
+                <td>14/m²</td>
+                <td>1.4</td>
+                <td>无减免</td>
+                <td>/</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+            <tr>
+                <td>包仓1</td>
+                <td>常温</td>
+                <td>10/m²</td>
+                <td>1.4</td>
+                <td>无减免</td>
+                <td>/</td>
+                <td>
+                    <button class="btn btn-sm btn-outline-info">改</button>
+                    <button class="btn btn-sm btn-outline-danger">删</button>
+                </td>
+            </tr>
+        </table>
+    </div>
+@endsection

+ 41 - 162
resources/views/maintenance/priceModel/task/index.blade.php

@@ -1,168 +1,47 @@
 
 @extends('layouts.app')
-@section('title')运输价格模型@endsection
+@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>
+        <span id="nav2">
+            @component('maintenance.menu')@endcomponent
+            @component('maintenance.priceModel.menu')@endcomponent
+        </span>
+        <table class="table table-sm table-hover table-bordered table-striped text-nowrap m-2">
+            <tr>
+                <th>类型</th>
+                <th>计费策略</th>
+                <th>作业费类型</th>
+                <th>费用名称</th>
+                <th>起步数</th>
+                <th>单位</th>
+                <th>单价</th>
+                <th>特征类型</th>
+                <th colspan="2" class="text-center">字段特征</th>
+            </tr>
+            <tr>
+                <td rowspan="2" style="vertical-align: middle">出库</td>
+                <td>默认</td>
+                <td>订单起步费1</td>
+                <td rowspan="2" style="vertical-align: middle">B2C订单处理费</td>
+                <td>起步数</td>
+                <td>件</td>
+                <td>2.5</td>
+                <td>/</td>
+                <td>/</td>
+                <td>/</td>
+            </tr>
+            <tr>
+                <td>默认</td>
+                <td>订单起步费1</td>
+                <td>起步数</td>
+                <td>件</td>
+                <td>2.5</td>
+                <td>/</td>
+                <td>/</td>
+                <td>/</td>
+            </tr>
+        </table>
     </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
+@endsection

+ 57 - 18
resources/views/order/index/delivering.blade.php

@@ -40,10 +40,7 @@
                             <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>
+                            <td colspan="6"></td>
                         </tr>
                         <tr>
                             <td >
@@ -58,17 +55,20 @@
                                 </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':''">
+                                <input style="max-width: 200px" name="orderno" v-model="filterData.orderno" class="form-control form-control-sm tooltipTarget" placeholder="编号" title="编号,糊模查找需要在左边打上%符号" autocomplete="off" :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':''">
+                                <input style="max-width: 200px" name="soreference5" placeholder="多快递单号" v-model="filterData.soreference5" class="form-control form-control-sm tooltipTarget" title="可支持多快递单号,糊模查找需要在左边打上%符号" autocomplete="off" :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':''">
+                                <input style="max-width: 200px" name="soreference1" v-model="filterData.soreference1" class="form-control form-control-sm tooltipTarget" placeholder="客户订单号" title="客户订单号,糊模查找需要在左边打上%符号" autocomplete="off" :class="filterData.soreference1?'bg-warning':''">
                             </td>
+                            <td colspan="6"></td>
+                        </tr>
+                        <tr>
                             <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':''">
+                                    <input style="max-width: 200px" name="notes" title="右侧选择查询范围,默认为一天内" v-model="filterData.notes" class="form-control form-control-sm tooltipTarget" placeholder="备注" autocomplete="off" :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>
@@ -77,7 +77,16 @@
                                         <option value="0">不限期</option>
                                     </select></div>
                             </td>
-                            <td colspan="5"><input hidden type="submit"></td>
+                            <td>
+                                <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>
+                                <input style="max-width: 200px" name="waveno" v-model="filterData.waveno" title="波次编号,模糊查找需要在左边打上%的符号" class="form-control form-control-sm tooltipTarget" placeholder="波次编号" :class="filterData.waveno?'bg-warning':''">
+                            </td>
+                            <td>
+                                <input style="max-width: 200px" name="alternate_sku1" v-model="filterData.alternate_sku1" title="产品条码,模糊查找需要在左边打上%的符号" class="form-control form-control-sm tooltipTarget" placeholder="产品条码" :class="filterData.alternate_sku1?'bg-warning':''">
+                            </td>
+                            <td colspan="6"><input hidden type="submit"></td>
                         </tr>
                         <tr>
                             <td colspan="10">
@@ -120,7 +129,6 @@
                             </label>
                         </th>
                         <th>序号</th>
-                        <th>操作</th>
                         <th>编号</th>
                         <th>订单状态</th>
                         <th>接口下发时间</th>
@@ -148,14 +156,13 @@
                         <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>@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>
@@ -166,7 +173,7 @@
                         <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-muted text-nowrap">@{{ order.c_tel2 }}</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>
@@ -196,7 +203,16 @@
                         <td>@{{ order.erpcancelflag }}</td>
                         <td>@{{ order.picking_print_flag }}</td>
                         <td>@{{ order.edisendflag }}</td>
-                        <td>@{{ order.releasestatus }}</td>
+                        <td>
+                            @can('订单管理-编辑')
+                                <button v-if="order.releasestatus!=='H'" @click="freeze(order.orderno,order.waveno)" class="btn btn-sm btn-outline-dark text-nowrap"
+                                :disabled="!(order.codename_c==='创建订单'||order.codename_c==='分配完成'||order.codename_c==='拣货完成'||order.codename_c==='播种完成')">冻结</button>
+                                <button v-else @click="thaw(order.orderno,order.waveno)" class="btn btn-sm btn-outline-danger text-nowrap"
+                                        :disabled="!(order.codename_c==='创建订单'||order.codename_c==='分配完成'||order.codename_c==='拣货完成'||order.codename_c==='播种完成')">解冻</button>
+                            @else
+                                @{{ order.releasestatus }}
+                            @endcan
+                        </td>
 
                     </tr>
                 </table>
@@ -216,7 +232,7 @@
             data:{
                 filterData:{
                     paginate:50,ordertime_start:'',ordertime_end:'',customerid:'',orderno:'',soreference5:'',codename_c:'',
-                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'31'
+                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'31',alternate_sku1:'',waveno:'',
                 },
                 page:Number('{{$page}}'),
                 maxPage:1,
@@ -314,6 +330,8 @@
                     if (this.filterData.issuepartyname)url+="&&issuepartyname="+this.filterData.issuepartyname;
                     if (this.filterData.notes)url+="&&notes="+this.filterData.notes;
                     if (this.filterData.addtime)url+="&&addtime="+this.filterData.addtime;
+                    if (this.filterData.alternate_sku1)url+="&&alternate_sku1="+this.filterData.alternate_sku1;
+                    if (this.filterData.waveno)url+="&&waveno="+this.filterData.waveno;
                     window.location.href=url;
                 },
                 //提交表单
@@ -366,7 +384,7 @@
                         +"&&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;
+                        +"&&addtime="+this.filterData.addtime+"&&alternate_sku1="+this.filterData.alternate_sku1+"&&waveno="+this.filterData.waveno;
                 },
                 modal(){
                     $("#myModal").modal('show');
@@ -419,12 +437,33 @@
                             if (response.data.success){
                                 _this.orders.some(function (order) {
                                     if (order.orderno===orderno){
-                                        order.releasestatus='Y';
+                                        order.releasestatus='H';
+                                        order.waveno='*';
+                                        return true;
+                                    }
+                                });
+                                tempTip.setDuration(3000);
+                                tempTip.showSuccess('订单已被冻结!');
+                            }
+                      }).catch(function (err) {
+                        tempTip.setDuration(3000);
+                        tempTip.show('网络异常:'+err);
+                      });
+                },
+                thaw(orderno,waveno){
+                  if(!confirm('确定要解冻“'+orderno+'”吗?'))return;
+                  let _this=this;
+                  axios.post('{{url('order/thaw')}}',{orderno:orderno,waveno:waveno})
+                      .then(function (response) {
+                            if (response.data.success){
+                                _this.orders.some(function (order) {
+                                    if (order.orderno===orderno){
+                                        order.releasestatus='N';
                                         return true;
                                     }
                                 });
                                 tempTip.setDuration(3000);
-                                tempTip.show('订单已被冻结!');
+                                tempTip.showSuccess('订单已成功冻结!');
                             }
                       }).catch(function (err) {
                         tempTip.setDuration(3000);

+ 3 - 3
resources/views/process/edit.blade.php

@@ -84,7 +84,7 @@
                 </div>
                 <div class="form-group row">
                     <label class="col-3 col-form-label text-right" >货主</label>
-                    <input readonly v-if="processContents.length>0" :value="processContents[processContents.length-1].owner_name??process.owner_name" class="form-control col-8" :class="error.owner_id && error.owner_id.length>0 ? 'is-invalid' :''">
+                    <input readonly v-if="processContents.length>0" :value="processContents[processContents.length-1].owner_name?process.owner_name:processContents[processContents.length-1].owner_name" class="form-control col-8" :class="error.owner_id && error.owner_id.length>0 ? 'is-invalid' :''">
                     <span v-if="error.owner_id && error.owner_id.length>0" class="invalid-feedback col-8 offset-3 mt-0" role="alert">
                         <strong>@{{ error.owner_id[0] }}</strong>
                     </span>
@@ -99,7 +99,7 @@
                     <label class="col-3 col-form-label text-right" >加工数量</label>
                     <input v-model="process.amount" type="text" class="form-control col-8" :class="error.amount && error.amount.length>0 ? 'is-invalid' :''">
                     <span v-if="error.amount && error.amount.length>0" class="invalid-feedback col-8 offset-3 mt-0" role="alert">
-                        <strong style="vertical-align: bo">@{{ error.amount[0] }}</strong>
+                        <strong >@{{ error.amount[0] }}</strong>
                     </span>
                 </div>
                 <div class="form-group row">
@@ -128,7 +128,7 @@
         let vueList=new Vue({
             el:'#list',
             data:{
-                process:{id:'{{$process->id}}',code:'{{$process->code}}',wms_code:'',owner_id:'{{$process->owner_id}}',amount:'{{$process->amount}}',owner_name:'{{$process->owner_name}}',owner_id:'{{$process->owner_id}}',
+                process:{id:'{{$process->id}}',code:'{{$process->code}}',wms_code:'',owner_id:'{{$process->owner_id}}',amount:'{{$process->amount}}',owner_name:'{{$process->owner_name}}',
                     process_method_id:'{{$process->process_method_id}}',unit_price:'{{$process->unit_price}}',remark:'{{$process->remark}}'},
                 error:{wms_code:[],owner_id:[],process_method_id:[],unit_price:[],amount:[]},
                 processContentError:[],

+ 10 - 0
routes/web.php

@@ -256,6 +256,8 @@ Route::group(['prefix'=>'order'],function(){
     Route::post('create/batchComments','OrderController@batchComments');
     //冻结订单
     Route::post('freeze','OrderController@freeze');
+    //解冻订单
+    Route::post('thaw','OrderController@thaw');
 });
 
 
@@ -300,4 +302,12 @@ Route::group(['prefix'=>'maintenance/priceModel'],function(){
     Route::resource('logistic','PriceModelLogisticController');
     //直发车
     Route::resource('nonstop','PriceModelNonstopController');
+    //录入
+    Route::get('create',function (){
+        return view('maintenance.priceModel.create');
+    });
+    //导入
+    Route::get('import',function (){
+        return view('maintenance.priceModel.import');
+    });
 });