tb-transport-order-settle-confirm.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>货运订单-超时结算确认</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <!-- 所有的 css js 资源 -->
  8. <link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
  9. <link rel="stylesheet" href="../../static/sa.css">
  10. <script src="../../static/kj/vue.min.js"></script>
  11. <script src="../../static/kj/element-ui/index.js"></script>
  12. <script src="../../static/kj/httpVueLoader.js"></script>
  13. <script src="../../static/kj/jquery.min.js"></script>
  14. <script src="../../static/kj/layer/layer.js"></script>
  15. <script src="../../static/sa.js"></script>
  16. <style type="text/css">
  17. .c-panel .c-label{width: 8em;}
  18. .info-table {
  19. width: 100%;
  20. border-collapse: collapse;
  21. margin-bottom: 20px;
  22. }
  23. .info-table th, .info-table td {
  24. border: 1px solid #ebeef5;
  25. padding: 12px 10px;
  26. font-size: 14px;
  27. line-height: 1.5;
  28. }
  29. .info-table th {
  30. border: 1px solid darkgray;
  31. text-align: left;
  32. height: 22px;
  33. padding: 8px;
  34. background-color: #dddddd;
  35. width: 15%;
  36. min-width: 120px;
  37. }
  38. .info-table td {
  39. border: 1px solid darkgray;
  40. text-align: left;
  41. width: 35%;
  42. }
  43. h3 {
  44. margin: 20px 0 15px 0;
  45. color: #303133;
  46. font-size: 16px;
  47. font-weight: bold;
  48. }
  49. .c-item .image-box{max-width: 700px; padding-left: 0px; display: flex;}
  50. .c-item .image-box-2{width: 90px; height: 125px; cursor: pointer; float: left;}
  51. </style>
  52. </head>
  53. <body>
  54. <div class="vue-box sbot" style="display: none;" :style="'display: block;'">
  55. <!-- ------- 内容部分 ------- -->
  56. <div class="s-body">
  57. <div class="c-panel">
  58. <el-form v-if="m">
  59. <h3>货运订单信息</h3>
  60. <table class="info-table">
  61. <tr>
  62. <th>货运单号</th>
  63. <td>{{m.orderId}}</td>
  64. <th>订单状态</th>
  65. <td>
  66. <span v-if="m.status === 0">待进场</span>
  67. <span v-else-if="m.status === 1">待装货</span>
  68. <span v-else-if="m.status === 2">已装货</span>
  69. <span v-else-if="m.status === 3">运输中</span>
  70. <span v-else-if="m.status === 4">待卸货</span>
  71. <span v-else-if="m.status === 5">卸货中</span>
  72. <span v-else-if="m.status === 6">已卸货</span>
  73. <span v-else-if="m.status === 7">已结算</span>
  74. <span v-else-if="m.status === 11">退款中</span>
  75. <span v-else-if="m.status === 12">已退款</span>
  76. </td>
  77. </tr>
  78. <tr>
  79. <th>货主</th>
  80. <td>{{m.shipperName}}</td>
  81. <th>商品名称</th>
  82. <td>{{m.itemName}}</td>
  83. </tr>
  84. <tr>
  85. <th>接单司机</th>
  86. <td>{{m.driverName}}</td>
  87. <th>接单车辆</th>
  88. <td>{{m.plateNo}}</td>
  89. </tr>
  90. <tr>
  91. <th>起运地</th>
  92. <td>{{m.originAddress}}</td>
  93. <th>目的地</th>
  94. <td>{{m.destAddress}}</td>
  95. </tr>
  96. <tr>
  97. <th>运输里程</th>
  98. <td>{{m.distance}}公里</td>
  99. <th>运输单价</th>
  100. <td>{{m.unitPrice}}元/公里</td>
  101. </tr>
  102. <tr>
  103. <th>本次运费</th>
  104. <td>{{m.freightAmount}}元</td>
  105. <th>本次服务费</th>
  106. <td>{{m.serviceFee}}元</td>
  107. </tr>
  108. <tr>
  109. <th>要求运达时间</th>
  110. <td>{{m.arrivalTime}}</td>
  111. <th>实际运达时间</th>
  112. <td>{{m.realArrivalTime}}</td>
  113. </tr>
  114. </table>
  115. <h3>照片信息</h3>
  116. <table class="info-table">
  117. <tr>
  118. <th style="width: 15%;">入场照片</th>
  119. <td style="width: 35%;">
  120. <sa-info type="img-list" :value="m.entrancePhotoList && m.entrancePhotoList.length > 0 ? m.entrancePhotoList.join(',') : null"></sa-info>
  121. </td>
  122. <th style="width: 15%;">装货照片</th>
  123. <td style="width: 35%;">
  124. <sa-info type="img-list" :value="m.loadingPhotoList && m.loadingPhotoList.length > 0 ? m.loadingPhotoList.join(',') : null"></sa-info>
  125. </td>
  126. </tr>
  127. <tr>
  128. <th>到货照片</th>
  129. <td>
  130. <sa-info type="img-list" :value="m.arrivalPhotoList && m.arrivalPhotoList.length > 0 ? m.arrivalPhotoList.join(',') : ''"></sa-info>
  131. </td>
  132. <th>卸货照片</th>
  133. <td >
  134. <sa-info type="img-list" :value="m.unloadingPhotoList && m.unloadingPhotoList.length > 0 ? m.unloadingPhotoList.join(',') : ''"></sa-info>
  135. </td>
  136. </tr>
  137. </table>
  138. <h3>结算确认信息</h3>
  139. <table class="info-table">
  140. <tr>
  141. <th style="width: 15%;">运费结算确认</th>
  142. <td colspan="3" style="width: 85%;">
  143. <el-radio-group v-model="settleConfirm">
  144. <el-radio :label="1">同意结算运费</el-radio>
  145. <el-radio :label="2">暂不结算运费</el-radio>
  146. </el-radio-group>
  147. </td>
  148. </tr>
  149. </table>
  150. </el-form>
  151. </div>
  152. </div>
  153. <!-- ------- 底部按钮 ------- -->
  154. <div class="s-foot">
  155. <el-button type="primary" @click="ok()">确认结算</el-button>
  156. <el-button @click="sa.closeCurrIframe()">取消</el-button>
  157. </div>
  158. </div>
  159. <script>
  160. var app = new Vue({
  161. components: {
  162. "sa-info": httpVueLoader('../../sa-frame/com/sa-info.vue'),
  163. "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue')
  164. },
  165. el: '.vue-box',
  166. data: {
  167. orderId: sa.p('orderId', 0), // 获取数据ID
  168. m: null,
  169. finishTime:null,
  170. settleConfirm: null,
  171. },
  172. methods: {
  173. // 提交数据
  174. ok: function(){
  175. // 表单校验
  176. sa.checkNull(this.settleConfirm, '请确认是否给司机结算运费');
  177. if( this.settleConfirm==1 ){
  178. if(this.finishTime==null)
  179. sa.alert('请选择 [订单完成时间]');
  180. else{
  181. const order = {"orderId":this.orderId}; //,"finishTime":this.finishTime
  182. sa.confirm('确定订单已完成并结算'+this.m.freightAmount+'元给司机['+this.m.driverName+']吗?', function () {
  183. sa.ajax('/transport-server/TbTransportOrder/confirmSettle', order, function (res) {
  184. if(res.code==200)
  185. sa.alert("运费结算成功",this.clean);
  186. else
  187. sa.alert('运费结算失败', this.clean);
  188. }.bind(this));
  189. }.bind(this));
  190. }
  191. }
  192. }
  193. },
  194. mounted: function() {
  195. sa.ajax('/transport-server/TbTransportOrder/getById?orderId=' + this.orderId, function(res) {
  196. this.m = res.data;
  197. this.finishTime = this.m.realArrivalTime;
  198. if(res.data == null) {
  199. sa.alert('未能查找到 orderId=' + this.orderId + " 详细数据");
  200. }
  201. }.bind(this))
  202. }
  203. })
  204. </script>
  205. </body>
  206. </html>