edit.blade.php 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. @extends('layouts.app')
  2. @section('content')
  3. <div id="nav2">
  4. @component('waybill.billingModel.menu')
  5. <li class="nav-item">
  6. <a class="nav-link" href="{{URL::current()}}" :class="{active:isActive('edit',4)}">修改</a>
  7. </li>
  8. @endcomponent
  9. </div>
  10. <div class="container-fluid mt-3" id="list">
  11. <div class="card">
  12. <div class="card-body">
  13. <form method="POST" action='{{url("billingModel/{$billingModel->id}")}}'>
  14. @csrf
  15. @method('PUT')
  16. <div class="form-group row">
  17. <label for="carrier_id" class="col-2 col-form-label text-right">承运商</label>
  18. <div class="col-8">
  19. <select name="BillingModel[carrier_id]" v-model="inputting.BillingModel.carrier_id" style="width: 30%;height: 30px">
  20. <option v-for="carrier in carriers" :value="carrier.id">@{{carrier.name}}</option>
  21. </select>
  22. <div class="col-sm-5">
  23. <p class="form-control-static text-danger small font-weight-bold">{{ $errors->first('BillingModel.carrier_id') }}</p>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="form-group row">
  28. <label for="province_id" class="col-2 col-form-label text-right">选择省份</label>
  29. <div class="col-8" >
  30. <select name="BillingModel[province_id]" v-model="inputting.BillingModel.province_id" @change="changeProvince($event)" style="width: 30%;height: 30px">
  31. <option v-for="province in provinces" :value="province.id">@{{province.name}}</option>
  32. </select>
  33. <div class="col-sm-5">
  34. <p class="form-control-static text-danger small font-weight-bold">{{ $errors->first('BillingModel.province_id') }}</p>
  35. </div>
  36. </div>
  37. </div>
  38. <div class="form-group row">
  39. <label for="city_id" class="col-2 col-form-label text-right">选择城市</label>
  40. <div class="col-8" >
  41. <select name="BillingModel[city_id]" v-model="inputting.BillingModel.city_id" style="width: 30%;height: 30px">
  42. <option v-for="city in cities" :value="city.id">@{{city.name}}</option>
  43. </select>
  44. <div class="col-sm-5">
  45. <p class="form-control-static text-danger small font-weight-bold">{{ $errors->first('BillingModel.city_id') }}</p>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="form-group row">
  50. <label for="unit_id" class="col-2 col-form-label text-right">货物单位</label>
  51. <div class="col-8" >
  52. <select name="BillingModel[unit_id]" style="width: 30%;height: 30px">
  53. <option v-for="unit in units" :value="unit.id" v-model="inputting.BillingModel.unit_id">@{{unit.name}}</option>
  54. </select>
  55. <div class="col-sm-5">
  56. <p class="form-control-static text-danger small font-weight-bold">{{ $errors->first('BillingModel.unit_id') }}</p>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="form-group row">
  61. <label for="range_min" class="col-2 col-form-label text-right">价格区间</label>
  62. <div class="col-8 form-inline">
  63. <input type="text" style="width: 20%" class="form-control @error('BillingModel.range_min') is-invalid @enderror"
  64. name="BillingModel[range_min]" autocomplete="off" value="{{old('BillingModel')['range_min']?old('BillingModel')['range_min']:$billingModel->range_min}}" >---
  65. <input type="text" style="width: 20%" class="form-control @error('BillingModel.range_max') is-invalid @enderror"
  66. name="BillingModel[range_max]" autocomplete="off" value="{{old('BillingModel')['range_max']?old('BillingModel')['range_max']:$billingModel->range_max}}" >
  67. @error('BillingModel.range_min')
  68. <span class="invalid-feedback" role="alert">
  69. <strong>{{ $message }}</strong>
  70. </span>
  71. @enderror
  72. @error('BillingModel.range_max')
  73. <span class="invalid-feedback" role="alert">
  74. <strong>{{ $message }}</strong>
  75. </span>
  76. @enderror
  77. </div>
  78. </div>
  79. <div class="form-group row">
  80. <label for="unit_price" class="col-2 col-form-label text-right">单价</label>
  81. <div class="col-8">
  82. <input type="text" class="form-control @error('BillingModel.unit_price') is-invalid @enderror"
  83. name="BillingModel[unit_price]" autocomplete="off" value="{{old('BillingModel')['unit_price']?old('BillingModel')['unit_price']:$billingModel->unit_price}}" >
  84. @error('BillingModel.unit_price')
  85. <span class="invalid-feedback" role="alert">
  86. <strong>{{ $message }}</strong>
  87. </span>
  88. @enderror
  89. </div>
  90. </div>
  91. <div class="form-group row">
  92. <label for="initial_weight" class="col-2 col-form-label text-right">始重</label>
  93. <div class="col-8">
  94. <input type="text" class="form-control @error('BillingModel.initial_weight') is-invalid @enderror"
  95. name="BillingModel[initial_weight]" autocomplete="off" value="{{old('BillingModel')['initial_weight']?old('BillingModel')['initial_weight']:$billingModel->initial_weight}}" >
  96. @error('BillingModel.initial_weight')
  97. <span class="invalid-feedback" role="alert">
  98. <strong>{{ $message }}</strong>
  99. </span>
  100. @enderror
  101. </div>
  102. </div>
  103. <div class="form-group row">
  104. <div class="col-8 offset-2">
  105. <input type="submit" class="btn btn-outline-dark form-control">
  106. </div>
  107. </div>
  108. </form>
  109. </div>
  110. </div>
  111. </div>
  112. @endsection
  113. @section('lastScript')
  114. <script>
  115. let insertVue=new Vue({
  116. el:'#list',
  117. data:{
  118. inputting:{
  119. BillingModel:{
  120. carrier_id:'{{old('BillingModel')['carrier_id']?old('BillingModel')['carrier_id']:$billingModel->carrier_id}}',
  121. province_id:'{{old('BillingModel')['province_id']?old('BillingModel')['province_id']:$billingModel->province_id}}',
  122. city_id:'{{old('BillingModel')['city_id']?old('BillingModel')['city_id']:$billingModel->city_id}}',
  123. unit_id:'{{old('BillingModel')['unit_id']?old('BillingModel')['unit_id']:$billingModel->unit_id}}',
  124. }
  125. },
  126. provinces:[
  127. @foreach($provinces as $province)
  128. {id:'{{$province->id}}',name:'{{$province->name}}',cities:{!! $province->cities !!} },
  129. @endforeach
  130. ],
  131. cities:[
  132. ],
  133. carriers:[
  134. @foreach($carriers as $carrier)
  135. {id:'{{$carrier->id}}',name:'{{$carrier->name}}'},
  136. @endforeach
  137. ],
  138. units:[
  139. @foreach($units as $unit)
  140. {id:'{{$unit->id}}',name:'{{$unit->name}}'},
  141. @endforeach
  142. ],
  143. billingModel:[
  144. {id:'{{$billingModel->id}}',created_at:'{{$billingModel->created_at}}',
  145. carrier_id:'{{$billingModel->carrier_id}}',province_id:'{{$billingModel->province_id}}',
  146. city_id:'{{$billingModel->city_id}}',unit_id:'{{$billingModel->unit_id}}',
  147. section:'{{$billingModel->section}}',unit_price:'{{$billingModel->unit_price}}',initial_weight:'{{$billingModel->initial_weight}}'},
  148. ]
  149. },
  150. mounted:function(){
  151. this.changeProvince();
  152. this.inputting.BillingModel.city_id='{{$billingModel->city_id}}';
  153. },
  154. methods:{
  155. changeProvince(){
  156. let _this=this;
  157. let province_id=this.inputting.BillingModel.province_id;
  158. this.provinces.forEach(function (province) {
  159. if(province.id+''===province_id+''){
  160. _this.cities=province.cities;
  161. return
  162. }
  163. return null
  164. })
  165. }
  166. },
  167. });
  168. </script>
  169. @endsection