Forráskód Böngészése

增加了货主定位,唯一校验,修饰了城市录入页面的省市样式框

Zhouzhendong 6 éve
szülő
commit
dd37662ae3

+ 2 - 1
app/Http/Controllers/CarTypesController.php

@@ -67,7 +67,7 @@ class CarTypesController extends Controller
 
     protected  function validatorCarType(Request $request){
         $validator=Validator::make($request->input(),[
-            'CarType.name'=>'required|max:50',
+            'CarType.name'=>'required|max:50|unique:car_types,name',
             'CarType.model'=>'nullable|alpha_dash|max:50',
             'CarType.length'=>'nullable|numeric|min:0',
             'CarType.load'=>'nullable|numeric|min:0',
@@ -77,6 +77,7 @@ class CarTypesController extends Controller
             'max'=>':attribute 字符过多或数值过大',
             'min'=>':attribute 不得为负',
             'numeric'=>':attribute 应为数字',
+            'unique'=>':attribute 已存在',
         ],[
             'CarType.name'=>'车辆名称',
             'CarType.model'=>'车辆型号',

+ 3 - 2
app/Http/Controllers/CarriersController.php

@@ -67,8 +67,8 @@ class CarriersController extends Controller
 
     protected function validatorCarrier(Request $request){
         $validator=Validator::make($request->input(),[
-            'Carrier.name'=>'max:50|required',
-            'Carrier.mobile'=>['required','regex:/^(\d{7,11})|(1[3|4|5|7|8][0-9]\d{4,8})$/'],
+            'Carrier.name'=>'max:50|required|unique:carriers,name',
+            'Carrier.mobile'=>['required','regex:/^(\d{7,11})|(1[3|4|5|7|8][0-9]\d{4,8})$/','unique:carriers,name'],
             'Carrier.delivery_fee'=>'nullable|min:0|numeric',
         ],[
             'digits_between'=>':attribute 最小一位,最大五十位',
@@ -77,6 +77,7 @@ class CarriersController extends Controller
             'integer'=>':attribute 应为数值',
             'min'=>':attribute 不得为0或为负',
             'numeric'=>':attribute 必须为数字',
+            'unique'=>':attribute 已存在',
         ],[
             'Carrier.name'=>'承运商名称',
             'Carrier.mobile'=>'承运商电话',

+ 2 - 1
app/Http/Controllers/CitiesController.php

@@ -69,9 +69,10 @@ class CitiesController extends Controller
 
     public function validatorCities(Request $request){
         $validator=Validator::make($request->input(),[
-            'City.name'=>'required|max:50',
+            'City.name'=>'required|max:50|unique:cities,name',
         ],[
             'required'=>':attribute 为必填项',
+            'unique'=>':attribute 已存在',
         ],[
             'City.name'=>'城市名称',
         ]);

+ 2 - 1
app/Http/Controllers/ProvincesController.php

@@ -66,9 +66,10 @@ class ProvincesController extends Controller
 
     protected function validatorProvinces(Request $request){
         $validator=Validator::make($request->input(),[
-            'Province.name'=>'required|max:50',
+            'Province.name'=>'required|max:50|unique:provinces,name',
         ],[
             'required'=>':attribute 为必填项',
+            'unique'=>':attribute 已存在',
         ],[
             'Province.name'=>'省份名称'
         ]);

+ 3 - 2
app/Http/Controllers/UnitsController.php

@@ -67,10 +67,11 @@ class UnitsController extends Controller
 
     protected function validatorUnit(Request $request){
         $validator=Validator::make($request->input(),[
-            'Unit.name'=>'required|max:10',
+            'Unit.name'=>'required|max:10|unique:units,name',
         ],[
             'required'=>':attribute 为必填项',
-            'max'=>':attribute 过长'
+            'max'=>':attribute 过长',
+            'unique'=>':attribute 已存在',
         ],[
             'Unit.name'=>'计量单位名称',
         ]);

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

@@ -507,7 +507,8 @@ class WaybillsController extends Controller
 
     protected function validatorWaybill(Request $request){
         $validator=Validator::make($request->input(),[
-            'wms_bill_number'=>'nullable|alpha_num|max:50',
+            'owner_id'=>'required',
+            'wms_bill_number'=>'nullable|alpha_num|max:50|unique:waybills,wms_bill_number',
             'origination'=>'required|max:255',
             'destination'=>'required|max:255',
             'recipient'=>'required|max:50',
@@ -522,7 +523,9 @@ class WaybillsController extends Controller
             'integer'=>':attribute 应为整数',
             'min'=>':attribute 不得为负',
             'numeric'=>':attribute 应为数字',
+            'unique'=>':attribute 已存在',
         ],[
+            'owner_id'=>'货主',
             'wms_bill_number'=>'WMS单号',
             'origination'=>'始发地',
             'destination'=>'目的地',
@@ -536,7 +539,7 @@ class WaybillsController extends Controller
     protected function validatorWaybillDispatch(Request $request){
         if ($request->input('type')=='直发车'){
             $validator=Validator::make($request->input(),[
-                'carrier_bill'=>'required|alpha_num|max:50',
+                'carrier_bill'=>'required|alpha_num|max:50|unique:waybills,carrier_bill',
                 'fee'=>'required|min:0|numeric',
                 'other_fee'=>'nullable|min:0|numeric',
             ],[
@@ -545,6 +548,7 @@ class WaybillsController extends Controller
                 'max'=>':attribute 字符过多',
                 'min'=>':attribute 不得为负',
                 'numeric'=>':attribute 应为数字',
+                'unique'=>':attribute 已存在',
             ],[
                 'carrier_bill'=>'承运商单号',
                 'fee'=>'运费',
@@ -553,7 +557,7 @@ class WaybillsController extends Controller
             return $validator;
         }else if ($request->input('type')=='专线'){
             $validator=Validator::make($request->input(),[
-                'carrier_bill'=>'required|alpha_num|max:50',
+                'carrier_bill'=>'required|alpha_num|max:50|unique:waybills,carrier_bill',
                 'warehouse_weight'=>'required|min:0|numeric',
                 'carrier_weight'=>'required|min:0|numeric',
                 'pick_up_fee'=>'required|min:0|numeric',
@@ -567,6 +571,7 @@ class WaybillsController extends Controller
                 'max'=>':attribute 字符过多',
                 'min'=>':attribute 不得为负',
                 'numeric'=>':attribute 应为数字',
+                'unique'=>':attribute 已存在',
             ],[
                 'carrier_bill'=>'承运商单号',
                 'warehouse_weight'=>'仓库计重(抛)',

+ 1 - 1
resources/views/maintenance/city/create.blade.php

@@ -13,7 +13,7 @@
                     <div class="form-group row">
                         <label for="province_id" class="col-2 col-form-label text-right">所属省份</label>
                         <div class="col-8">
-                            <select name="City[province_id]" style="width: 30%;height: 30px">
+                            <select name="City[province_id]" class="form-control" style="width: 30%;height: 30px">
                                 @foreach($provinces as $province)
                                     <option value="{{$province->id}}">{{$province->name}}</option>
                                 @endforeach

+ 37 - 6
resources/views/waybill/create.blade.php

@@ -18,7 +18,7 @@
                 </div>
             </div>
     </div>
-    <div class="container mt-3">
+    <div class="container mt-3" id="list">
         <div class="card col-md-8 offset-md-2">
             <div class="card-body">
                 <form method="POST" action="{{ url('waybill') }}">
@@ -26,13 +26,17 @@
                     <input name="type" hidden value="{{$type}}">
                     <div class="form-group row">
                         <label for="owner_id" class="col-2 col-form-label text-right text-primary">货主 *</label>
-                        <div class="col-8">
-                            <select name="owner_id" class="form-control" style="width: 30%">
-                                @foreach($owners as $owner)
-                                    <option value="{{$owner->id}}">{{$owner->name}}</option>
-                                @endforeach
+                        <div class="col-8 form-inline">
+                            <select name="owner_id" class="form-control" v-model="owner_name"  style="width: 30%">
+                                   <option v-for="owner in owners" :value="owner.id">@{{owner.name}}</option>
                             </select>
+                            <input class="form-control-sm" placeholder="输入关键字定位" @input="owner_id">
                         </div>
+                        @error('owner_id')
+                        <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                        @enderror
                     </div>
                     <div class="form-group row">
                         <label for="wms_bill_number" class="col-2 col-form-label text-right text-muted">WMS单号</label>
@@ -142,3 +146,30 @@
         </div>
     </div>
 @endsection
+
+@section('lastScript')
+    <script>
+        let vueList=new Vue({
+            el:'#list',
+            data:{
+                owners:[
+                        @foreach($owners as $owner)
+                        {id:'{{$owner->id}}',name:'{{$owner->name}}'},
+                        @endforeach
+                ],
+                owner_name:'',
+            },
+            methods:{
+                owner_id:function (e) {
+                    let _this=this;
+                    let $val=e.target.value;
+                    _this.owners.forEach(function (owner) {
+                        if (owner.name.includes($val)){
+                            _this.owner_name=owner.id;
+                        }
+                    });
+                },
+            },
+        });
+    </script>
+@endsection

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

@@ -17,7 +17,7 @@
                         </li> @endcan
                     @can('运单管理-查询')
                         <li class="nav-item">
-                            <a class="nav-link" href="{{url('waybill/index/ZF')}}" :class="{active:isActive('ZF',3)}">直发</a>
+                            <a class="nav-link" href="{{url('waybill/index/ZF')}}" :class="{active:isActive('ZF',3)}">直发</a>
                         </li> @endcan
 
                 </ul>