瀏覽代碼

盘收一体导入name or code查找货主

Zhouzhendong 5 年之前
父節點
當前提交
d6e8cd044b

+ 20 - 0
app/Http/Controllers/PriceModelController.php

@@ -28,4 +28,24 @@ class PriceModelController extends Controller
         if(!Gate::allows('计费模型-作业-录入')){ return redirect('denied');  }
         return response()->view('maintenance.priceModel.operation.create');
     }
+
+    public function expressIndex(){
+        if(!Gate::allows('计费模型-快递-查询')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.express.index');
+    }
+
+    public function expressCreate(){
+        if(!Gate::allows('计费模型-快递-录入')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.express.create');
+    }
+
+    public function logisticIndex(){
+        if(!Gate::allows('计费模型-物流-查询')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.logistic.index');
+    }
+
+    public function logisticCreate(){
+        if(!Gate::allows('计费模型-物流-录入')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.logistic.create');
+    }
 }

+ 4 - 2
app/Http/Controllers/TestController.php

@@ -105,8 +105,10 @@ class TestController extends Controller
                      'OUT_Return_Code:'.$result
                  );*/
     public function test4(){
-        if (array_search("CGRK",array_values(config('stores.types'))) === false)return ['success'=>false, 'data'=>"该单据类型不允许被入库"];
-        return "SUCCESS";
+        $owner_name = "BAOSHI";
+        $owner = app('ownerService')->first(["code"=>$owner_name,"name"=>$owner_name],["name"=>"or"]);
+        if (!$owner) $owner = app('ownerService')->create(["name"=>$owner_name, "code"=>$owner_name]);
+        dd($owner);
     }
 
     public function test2(){

+ 2 - 1
app/Imports/StoreCheckingReceiveImport.php

@@ -111,7 +111,8 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
             Cache::put("storeCheckingReceive",["success"=>false, "data"=>"货主为空,不允许录入,至少为一行标明货主!"],86400);
             return false;
         }
-        $owner = app('ownerService')->firstOrCreate(["name"=>$owner_name],["name"=>$owner_name, "code"=>$owner_name]);
+        $owner = app('ownerService')->first(["code"=>$owner_name,"name"=>$owner_name],["name"=>"or"]);
+        if (!$owner) $owner = app('ownerService')->create(["name"=>$owner_name, "code"=>$owner_name]);
 
         //使用条码同步
         $commodityController = new CommodityController();

+ 9 - 2
app/Services/OwnerService.php

@@ -54,10 +54,17 @@ Class OwnerService
         return $owners;
     }
 
-    public function first(array $params){
+    public function first(array $params, array $rules =[]){
         $owner = Owner::query();
         foreach ($params as $column => $value){
-            $owner->where($column, $value);
+            if (!isset($rules[$column]))$owner->where($column, $value);
+            else{
+                switch ($rules[$column]){
+                    case "or":
+                        $owner->orWhere($column, $value);
+                        break;
+                }
+            }
         }
         return $owner->first();
     }

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

@@ -0,0 +1,62 @@
+@extends('layouts.app')
+@section('title')计费模型-快递计费-录入@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.priceModel.express.menu')@endcomponent
+    </div>
+    <div class="container-fluid mt-2 card" id="container">
+        <form method="GET" action="{{url('')}}" class="card-body offset-3">
+            <div class="row">
+                <label for="name" class="col-2">价格名称</label>
+                <input id="name" type="text" name="name" required class="col-6 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="code" class="col-2">价格编号</label>
+                <input id="code" type="text" name="code" class="col-6 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="initial_weight_unit_id" class="col-2">首重单位</label>
+                <select id="initial_weight_unit_id" name="initial_weight_unit_id" class="col-3 form-control">
+                    <option></option>
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label for="additional_weight_unit_id" class="col-2">续重单位</label>
+                <select id="additional_weight_unit_id" name="additional_weight_unit_id" class="col-3 form-control">
+                    <option></option>
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label class="col-2" for="owner_id">项目</label>
+                <select id="owner_id" name="owner_id" class="selectpicker" multiple data-live-search="true" title="项目(多选)">
+
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label class="col-2" for="logistic_id">承运商</label>
+                <select id="logistic_id" name="logistic_id" class="selectpicker" multiple data-live-search="true" title="承运商(多选)">
+
+                </select>
+            </div>
+            <div class="row mt-3 offset-1">
+                <button type="submit" class="btn btn-success col-7">提交</button>
+            </div>
+        </form>
+    </div>
+@stop
+
+@section("lastScript")
+    <script>
+        new Vue({
+            el:"#container",
+            data:{
+                priceTypes : [],
+                types : [],
+                discountTypes : [],
+                units : [],
+            },
+        });
+    </script>
+@stop

+ 39 - 0
resources/views/maintenance/priceModel/express/index.blade.php

@@ -0,0 +1,39 @@
+@extends('layouts.app')
+@section('title')计费模型-快递计费@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.priceModel.express.menu')@endcomponent
+    </div>
+    <div class="container-fluid mt-2" id="container">
+        <table class="table table-hover table-striped text-nowrap">
+            <tr>
+                <th>序号</th>
+                <th>价格名称</th>
+                <th>价格编号</th>
+                <th>操作</th>
+                <th>首重单位</th>
+                <th>续重单位</th>
+                <th>项目</th>
+                <th>承运商</th>
+                <th>录入时间</th>
+                <th>操作</th>
+            </tr>
+            <tr v-for="model in models">
+                <td></td>
+            </tr>
+        </table>
+    </div>
+@stop
+
+@section("lastScript")
+    <script>
+        new Vue({
+            el:"#container",
+            data:{
+                models : [],
+            },
+        });
+    </script>
+@stop

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

@@ -0,0 +1,15 @@
+@component('maintenance.priceModel.menu')@endcomponent
+<div class="container-fluid nav4">
+    <div class="card menu-third" >
+        <ul class="nav nav-pills">
+            @can('计费模型-快递-查询')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/express')}}" :class="{active:isActive('',4)}">查询</a>
+            </li> @endcan
+            @can('计费模型-快递-录入')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/express/create')}}" :class="{active:isActive('create',4)}">录入</a>
+            </li> @endcan
+        </ul>
+    </div>
+</div>

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

@@ -0,0 +1,70 @@
+@extends('layouts.app')
+@section('title')计费模型-快递计费-录入@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.priceModel.logistic.menu')@endcomponent
+    </div>
+    <div class="container-fluid mt-2 card" id="container">
+        <form method="GET" action="{{url('')}}" class="card-body offset-3">
+            <div class="row">
+                <label for="name" class="col-2">价格名称</label>
+                <input id="name" type="text" name="name" required class="col-6 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="pick_up_price" class="col-2">提货费</label>
+                <input id="pick_up_price" type="number" name="pick_up_price" class="col-3 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="fuel_price" class="col-2">燃油附加费</label>
+                <input id="fuel_price" type="number" name="fuel_price" class="col-3 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="service_price" class="col-2">信息服务费</label>
+                <input id="service_price" type="number" name="service_price" class="col-3 form-control">
+            </div>
+            <div class="row mt-3">
+                <label for="initial_weight_unit_id" class="col-2">单位一</label>
+                <select id="initial_weight_unit_id" name="initial_weight_unit_id" class="col-3 form-control">
+                    <option></option>
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label for="additional_weight_unit_id" class="col-2">续重单位</label>
+                <select id="additional_weight_unit_id" name="additional_weight_unit_id" class="col-3 form-control">
+                    <option></option>
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label class="col-2" for="owner_id">项目</label>
+                <select id="owner_id" name="owner_id" class="selectpicker" multiple data-live-search="true" title="项目(多选)">
+
+                </select>
+            </div>
+            <div class="row mt-3">
+                <label class="col-2" for="logistic_id">承运商</label>
+                <select id="logistic_id" name="logistic_id" class="selectpicker" multiple data-live-search="true" title="承运商(多选)">
+
+                </select>
+            </div>
+            <div class="row mt-3 offset-1">
+                <button type="submit" class="btn btn-success col-7">提交</button>
+            </div>
+        </form>
+    </div>
+@stop
+
+@section("lastScript")
+    <script>
+        new Vue({
+            el:"#container",
+            data:{
+                priceTypes : [],
+                types : [],
+                discountTypes : [],
+                units : [],
+            },
+        });
+    </script>
+@stop

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

@@ -0,0 +1,43 @@
+@extends('layouts.app')
+@section('title')计费模型-快递计费@endsection
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.priceModel.logistic.menu')@endcomponent
+    </div>
+    <div class="container-fluid mt-2" id="container">
+        <table class="table table-hover table-striped text-nowrap">
+            <tr>
+                <th>序号</th>
+                <th>操作</th>
+                <th>价格名称</th>
+                <th>项目</th>
+                <th>承运商</th>
+                <th>单位一</th>
+                <th>单位一区间</th>
+                <th>单位二</th>
+                <th>单位二区间</th>
+                <th>提货费</th>
+                <th>燃油附加费</th>
+                <th>信息服务费</th>
+                <th>录入时间</th>
+                <th>操作</th>
+            </tr>
+            <tr v-for="model in models">
+                <td></td>
+            </tr>
+        </table>
+    </div>
+@stop
+
+@section("lastScript")
+    <script>
+        new Vue({
+            el:"#container",
+            data:{
+                models : [],
+            },
+        });
+    </script>
+@stop

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

@@ -0,0 +1,15 @@
+@component('maintenance.priceModel.menu')@endcomponent
+<div class="container-fluid nav4">
+    <div class="card menu-third" >
+        <ul class="nav nav-pills">
+            @can('计费模型-物流-查询')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/express')}}" :class="{active:isActive('',4)}">查询</a>
+            </li> @endcan
+            @can('计费模型-物流-录入')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/express/create')}}" :class="{active:isActive('create',4)}">录入</a>
+            </li> @endcan
+        </ul>
+    </div>
+</div>

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

@@ -13,6 +13,14 @@
             <li class="nav-item">
                 <a class="nav-link" href="{{url('maintenance/priceModel/operation')}}" :class="{active:isActive('operation',3)}">作业计费</a>
             </li> @endcan
+            @can('计费模型-快递')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/express')}}" :class="{active:isActive('express',3)}">快递计费</a>
+            </li> @endcan
+            @can('计费模型-物流')
+            <li class="nav-item">
+                <a class="nav-link" href="{{url('maintenance/priceModel/logistic')}}" :class="{active:isActive('logistic',3)}">物流计费</a>
+            </li> @endcan
         </ul>
     </div>
 </div>

+ 54 - 51
resources/views/maintenance/priceModel/operation/create.blade.php

@@ -11,51 +11,37 @@
             <div class="modal-dialog">
                 <div class="modal-content">
                     <div class="modal-body">
-                        <div>
-                            <div class="col-3 form-inline">
-                                <label for="feature_type">类型:</label>
-                                <select id="feature_type" class="form-control form-control-sm">
-                                    <option>商品名称</option>
-                                </select>
-                            </div>
-                            <div class="col-3 form-inline">
-                                <label for="feature_logic">逻辑:</label>
-                                <select id="feature_logic" class="form-control form-control-sm">
-                                    <option>不包含</option>
-                                </select>
-                            </div>
-                            <div class="col-4 form-inline">
-                                <label for="feature">特征:</label>
-                                <input id="feature" type="text" class="form-control form-control-sm">
-                            </div>
-                            <div class="col-2 form-inline">
-
-                            </div>
+                        <div class="row text-center text-primary">
+                            <div class="col-2">运算</div>
+                            <div class="col-3">类型</div>
+                            <div class="col-3">逻辑</div>
+                            <div class="col-3">特征</div>
+                            <div class="col-1 pull-right"><span class="fa fa-plus-square" style="cursor: pointer" @click="addFeatureDom()"></span></div>
                         </div>
-                        <div class="row">
-                            <div class="col-3 form-inline">
-                                <label for="feature_type">类型:</label>
-                                <select id="feature_type" class="form-control form-control-sm">
+                        <div class="row mt-1" v-for="(feature,i) in features">
+                            <label class="col-2">
+                                <select class="form-control form-control-sm" v-model="feature.calculation" v-if="ponds[thisIndex] || i>0">
+                                    <option value="&&">并且</option>
+                                    <option value="||">或</option>
+                                </select>
+                            </label>
+                            <label class="col-3">
+                                <select id="feature_type" v-model="feature.type" class="form-control form-control-sm">
                                     <option>商品名称</option>
                                 </select>
-                            </div>
-                            <div class="col-3 form-inline">
-                                <label for="feature_logic">逻辑:</label>
-                                <select id="feature_logic" class="form-control form-control-sm">
+                            </label>
+                            <label class="col-3">
+                                <select id="feature_logic" v-model="feature.logic" class="form-control form-control-sm">
                                     <option>不包含</option>
                                 </select>
-                            </div>
-                            <div class="col-4 form-inline">
-                                <label for="feature">特征:</label>
-                                <input id="feature" type="text" class="form-control form-control-sm">
-                            </div>
-                            <div class="col-2 form-inline">
-
-                            </div>
+                            </label>
+                            <label class="col-4">
+                                <input id="feature_describe" type="text" v-model="feature.describe" class="form-control form-control-sm">
+                            </label>
                         </div>
                     </div>
                     <div class="modal-footer">
-                        <button type="button" class="btn btn-success">提交更改</button>
+                        <button type="button" class="btn btn-success" @click="addFeature()">提交特征</button>
                     </div>
                 </div>
             </div>
@@ -118,23 +104,15 @@
                         <div class="row mt-2" v-if="type=='出库'">
                             <label for="describe" class="col-2">特征:</label>
                             <input id="describe" type="text" :value="pond" v-if="pond" disabled class="col-5 form-control"/>
-                            <button type="button" class="btn btn-dark col-2" v-else @click="showModal()">添加特征</button>
+                            <button type="button" class="btn btn-dark col-2" v-else @click="showModal(i)">添加特征</button>
                         </div>
                     </div>
                 </div>
             </div>
-
-
-                    <div class="row mt-3">
-                        <label for="discount_value" class="col-2">减免值</label>
-                        <input id="discount_value" type="number" name="discount_value" class="col-6 form-control">
-                    </div>
-                    <div class="row mt-3">
-                        <label for="unit_id" class="col-2">单位</label>
-                        <select id="unit_id" name="unit_id" class="col-3 form-control">
-                            <option></option>
-                        </select>
-                    </div>
+            <div class="row mt-3">
+                <label for="remark" class="col-2">备注</label>
+                <textarea id="remark" name="remark" class="col-6 form-control"></textarea>
+            </div>
 
             <div class="row mt-3 offset-1">
                 <button type="submit" class="btn btn-success col-7">提交</button>
@@ -155,6 +133,13 @@
                 ponds : [""],
                 len : 0,
                 type : "",
+                features : [{
+                    calculation : "",
+                    type : "",
+                    logic : "",
+                    describe : "",
+                }],
+                thisIndex : "",
             },
             methods:{
                 addDom(){
@@ -165,8 +150,26 @@
                     this.$delete(this.ponds,index);
                     this.len--;
                 },
-                showModal(){
+                showModal(index){
+                    this.thisIndex = index;
+                    this.features = [{
+                        calculation : "",
+                        type : "",
+                        logic : "",
+                        describe : "",
+                    }];
                     $("#modal").modal("show");
+                },
+                addFeatureDom(){
+                    this.features.push({
+                        calculation : "",
+                        type : "",
+                        logic : "",
+                        describe : "",
+                    });
+                },
+                addFeature(){
+                    console.log(this.features);
                 }
             },
         });

+ 5 - 1
resources/views/maintenance/processMethod/create.blade.php

@@ -9,9 +9,13 @@
     <div class="container-fluid card" id="container">
        <form class="card-body offset-3" method="GET" action="{{url('')}}">
             <div class="row">
-                <label for="name" class="col-2">类型</label>
+                <label for="name" class="col-2">类型名称</label>
                 <input type="text" id="name" name="name" class="form-control col-5">
             </div>
+           <div class="row">
+               <label for="unit_price" class="col-2">单价</label>
+               <input type="number" id="unit_price" name="unit_price" class="form-control col-3">
+           </div>
            <div class="row mt-2">
                <label for="unit_id" class="col-2">单位</label>
                <select id="unit_id" name="unit_id" class="form-control col-2">

+ 1 - 0
resources/views/maintenance/processMethod/index.blade.php

@@ -11,6 +11,7 @@
             <tr>
                 <th>ID</th>
                 <th>类型</th>
+                <th>单价</th>
                 <th>单位</th>
                 <th>创建时间</th>
                 <th>操作</th>

+ 10 - 0
routes/web.php

@@ -90,6 +90,16 @@ Route::group(['prefix'=>'maintenance'],function(){
             Route::get('create','PriceModelController@operationCreate');
         });
         Route::get('operation','PriceModelController@operationIndex');
+
+        Route::group(['prefix'=>'express'],function(){
+            Route::get('create','PriceModelController@expressCreate');
+        });
+        Route::get('express','PriceModelController@expressIndex');
+
+        Route::group(['prefix'=>'logistic'],function(){
+            Route::get('create','PriceModelController@logisticCreate');
+        });
+        Route::get('logistic','PriceModelController@logisticIndex');
     });
 
     Route::resource('log', 'LogController');