edit.blade.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. @extends('layouts.app')
  2. @section('title')问题件-编辑@endsection
  3. @section('content')
  4. @component("order.issue.menu")
  5. @endcomponent
  6. <div class="container-fluid d-none" id="editOrderIssue">
  7. <div class="card col-md-8 offset-md-2 ">
  8. <div class="card-header">问题件修改</div>
  9. <input type="hidden" name="order_id" v-model="orderIssues.order_id">
  10. <input type="hidden" name="id" v-model="orderIssues.id">
  11. <input type="hidden" name="rejected_bill_id" v-model="orderIssues.rejected_bill_id">
  12. <input type="hidden" name="order_issue_type_id" v-model="orderIssues.order_issue_type_id">
  13. <input type="hidden" name="second_order_id" v-model="orderIssues.second_order_id">
  14. <div class="card-body">
  15. {{--WMS订单号--}}
  16. <div class="form-group row">
  17. <label for="name" class="col-2 col-form-label text-right">WMS订单号</label>
  18. <div class="col-8">
  19. <input type="text" class="form-control" name="name" v-model="order.code" disabled>
  20. </div>
  21. </div>
  22. {{--退回单号--}}
  23. <div class="form-group row">
  24. <label class="col-2 col-form-label text-right">退回单号</label>
  25. <div class="col-8">
  26. <input type="text" class="form-control" name="" v-model="rejectedBill.logistic_number_return"
  27. disabled>
  28. </div>
  29. </div>
  30. {{--处理状态--}}
  31. <div class="form-group row">
  32. <label class="col-2 col-form-label text-right">处理状态</label>
  33. <div class="col-8">
  34. <select name="handle_status" class="form-control" disabled v-model="orderIssues.handle_status">
  35. <option v-for="value in handleStatus" :value="value">@{{ value }}</option>
  36. </select>
  37. </div>
  38. </div>
  39. {{--问题类别--}}
  40. <div class="form-group row">
  41. <label class="col-2 col-form-label text-right">问题类别</label>
  42. <div class="col-8">
  43. <select name="order_issue_type_id" class="form-control" id="order_issue_type_id"
  44. v-model="orderIssues.order_issue_type_id">
  45. <option value></option>
  46. <option v-for="type in orderIssueType" :value="type.id">@{{ type.name }}</option>
  47. </select>
  48. </div>
  49. </div>
  50. {{--二次订单号--}}
  51. <div class="form-group row">
  52. <label class="col-2 col-form-label text-right">二次订单号</label>
  53. <div class="col-8">
  54. <input type="text" name="second_order_id" class="form-control" v-model="secondOrder.code" @blur="getSecondOrder($event)">
  55. </div>
  56. </div>
  57. {{--二次运单号--}}
  58. <div class="form-group row">
  59. <label class="col-2 col-form-label text-right">二次运单详情</label>
  60. <div class="col-8">
  61. <div class="alert alert-success" v-if="secondOrder.packages">
  62. 订单详情已填充
  63. </div>
  64. <div class="alert alert-secondary" v-else>
  65. 二次运单详情
  66. </div>
  67. <table class="table" v-if="secondOrder.packages">
  68. <tr>
  69. <th>条码</th><th>商品名</th><th>数量</th>
  70. </tr>
  71. <template v-for="package in secondOrder.packages">
  72. <tr v-for="commodity in package.commodities">
  73. <td>@{{ commodity.commodity.sku }}</td>
  74. <td>@{{ commodity.commodity.name }}</td>
  75. <td>@{{ commodity.amount }}</td>
  76. </tr>
  77. </template>
  78. </table>
  79. </div>
  80. </div>
  81. {{--最终状态--}}
  82. <div class="form-group row">
  83. <label class="col-2 col-form-label text-right">处理结果说明</label>
  84. <div class="col-8">
  85. <textarea name="result_explain" class="form-control" v-model="orderIssues.result_explain"></textarea>
  86. </div>
  87. </div>
  88. {{--最终状态--}}
  89. <div class="form-group row">
  90. <label class="col-2 col-form-label text-right">最终状态</label>
  91. <div class="col-8">
  92. <select name="final_status" class="form-control" v-model="orderIssues.final_status" id="final_status">
  93. <option></option>
  94. <option v-for="value in final_status" :value="value">@{{ value }}</option>
  95. </select>
  96. </div>
  97. </div>
  98. {{--承运商赔偿金额--}}
  99. <div class="form-group row">
  100. <label class="col-2 col-form-label text-right">承运商赔偿金额</label>
  101. <div class="col-8">
  102. <input type="number" name="logistic_indemnity_money" class="form-control" id="logistic_indemnity_money"
  103. v-model="orderIssues.logistic_indemnity_money">
  104. </div>
  105. </div>
  106. {{--承运商快递减免--}}
  107. <div class="form-group row">
  108. <label class="col-2 col-form-label text-right">承运商快递减免</label>
  109. <div class="col-8">
  110. <select name="logistic_express_remission" class="form-control"
  111. v-model="orderIssues.logistic_express_remission">
  112. <option value></option>
  113. <option v-for="remission in logisticExpressRemission" :value="remission">@{{ remission }}
  114. </option>
  115. </select>
  116. </div>
  117. </div>
  118. {{--宝时赔偿金额--}}
  119. <div class="form-group row">
  120. <label class="col-2 col-form-label text-right">宝时赔偿金额</label>
  121. <div class="col-8">
  122. <input type="number" name="baoshi_indemnity_money" class="form-control" id="baoshi_indemnity_money"
  123. v-model="orderIssues.baoshi_indemnity_money">
  124. </div>
  125. </div>
  126. {{--宝时快递减免--}}
  127. <div class="form-group row">
  128. <label class="col-2 col-form-label text-right">宝时快递减免</label>
  129. <div class="col-8">
  130. <select name="baoshi_express_remission" class="form-control" id="baoshi_express_remission"
  131. v-model="orderIssues.baoshi_express_remission">
  132. <option value></option>
  133. <option v-for="remission in baoShiExpressRemission" :value="remission">@{{ remission }}
  134. </option>
  135. </select>
  136. </div>
  137. </div>
  138. {{--事故责任方--}}
  139. <div class="form-group row">
  140. <label class="col-2 col-form-label text-right">事故责任方</label>
  141. <div class="col-8">
  142. <select name="user_workgroup_id" class="form-control" id="user_workgroup_id"
  143. v-model="orderIssues.user_workgroup_id">
  144. <option value></option>
  145. <option v-for="workgroup in userWorkgroup" :value="workgroup.id">@{{ workgroup.name }}</option>
  146. </select>
  147. </div>
  148. </div>
  149. {{--提交--}}
  150. <div class="form-group row">
  151. <label class="col-2 col-form-label text-right"></label>
  152. <div class="col-8">
  153. <button type="submit" class="btn btn-success form-control" @click="orderIssueUpdate">提交修改
  154. </button>
  155. </div>
  156. </div>
  157. </div>
  158. {{--deleteOrderIssue--}}
  159. <div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel" aria-hidden="true">
  160. <div class="modal-dialog modal-dialog-centered">
  161. <div class="modal-content">
  162. <div class="modal-header">
  163. <h5 class="modal-title" id="exampleModalLabel">提示</h5>
  164. {{-- <button type="button" class="close" data-dismiss="modal" aria-label="Close" >--}}
  165. {{-- <span aria-hidden="true">&times;</span>--}}
  166. {{-- </button>--}}
  167. </div>
  168. <div class="modal-body">
  169. <div class="alert alert-success">
  170. 订单问题件已修改
  171. </div>
  172. </div>
  173. <div class="modal-footer">
  174. <button type="button" class="btn btn-primary" data-dismiss="modal" @click="backOrderIssueIndex">返回查询页面</button>
  175. </div>
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. @endsection
  182. @section('lastScript')
  183. <script type="text/javascript">
  184. let editVue = new Vue({
  185. el: '#editOrderIssue',
  186. data: {
  187. orderIssues: {!! $orderIssue!!},
  188. order: {!! $order !!},
  189. secondOrder: @if($secondOrder){!! $secondOrder !!}@else ''@endif,
  190. rejectedBill: @if($rejectedBill){!! $rejectedBill !!}@else ''@endif,
  191. owners:{!! $owners !!},
  192. logistics:{!! $logistics !!},
  193. userWorkgroup: {!! $userWorkgroup !!},
  194. shops:{!! $shops !!},
  195. orderIssueType:{!! $orderIssueType !!},
  196. rejectingStatus: ['无', '未退回', '全部退回', '部分退回', '差异退回', '超量退回'],
  197. final_status: ['已解决', '待退回', '退回中',],
  198. logisticExpressRemission: ['原单减免', '部分减免', '全部减免'],
  199. baoShiExpressRemission: ['原单减免', '部分减免', '全部减免'],
  200. handleStatus: ['处理中', '已完结'],
  201. },
  202. mounted: function () {
  203. $("#editOrderIssue").removeClass('d-none');
  204. console.log(this.secondOrder);
  205. },
  206. watch:{
  207. secondOrder:{
  208. handler:function(value){
  209. if(value.code === ''){
  210. this.secondOrder.packages = '';
  211. }
  212. },
  213. deep:true,
  214. },
  215. },
  216. methods: {
  217. orderIssueUpdate() {
  218. let data = this.orderIssues;
  219. let arr = {
  220. '问题类别':'order_issue_type_id',
  221. '处理状态':'handle_status',
  222. '处理结果说明':'result_explain',
  223. '承运商赔偿金额':'logistic_indemnity_money',
  224. '承运商快递减免':'logistic_express_remission',
  225. '宝时赔偿金额':'baoshi_indemnity_money',
  226. '宝时快递减免':'baoshi_express_remission',
  227. }
  228. axios.post('{{url("apiLocal/order/issue/update")}}', data).then(function (res) {
  229. if (res.data.success) {
  230. $('#alertModal').modal('show');
  231. } else {
  232. tempTip.setDuration(3000);
  233. tempTip.show(res.data.errors[0][0]);
  234. res.data.errors.forEach(function(item){
  235. let target = $('#'+arr[item[1]]);
  236. target.addClass('is-invalid').change(function(){
  237. target.removeClass('is-invalid');
  238. });
  239. })
  240. $('#alertModal').modal('hide');
  241. }
  242. }).catch(function (err) {
  243. tempTip.setDuration(4000);
  244. tempTip.show('网络异常:' + err);
  245. $('#alertModal').modal('hide');
  246. });
  247. },
  248. getSecondOrder(e){
  249. let _this = this;
  250. let orderNo = $(e.target).val();
  251. if(!orderNo){
  252. return ;
  253. }
  254. if(orderNo){
  255. let data = {WMSOrderNo:orderNo};
  256. axios.post("{{url('apiLocal/order/issue/getOrderInfoByWMSOrderNo')}}",data).then(function(res){
  257. if(res.data.success){
  258. _this.secondOrder = res.data.data;
  259. _this.orderIssues.second_order_id = res.data.data.id;
  260. console.log(_this.orderIssues);
  261. } else {
  262. tempTip.setDuration(4000);
  263. tempTip.show('查询订单信息出现异常:' + res.data.fail_info);
  264. }
  265. }).catch(function(err){
  266. tempTip.setDuration(4000);
  267. tempTip.show('网络异常:' + err);
  268. });
  269. }
  270. },
  271. backOrderIssueIndex(){
  272. window.location.href="javascript:history.go(-1)";
  273. },
  274. }
  275. });
  276. $('.is-invalid').change(function(){
  277. $(this).removeClass('is-invalid');
  278. })
  279. </script>
  280. @endsection