express-list.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <app-layout>
  3. <view v-if="is_show" class='express-list-box dir-top-nowrap'>
  4. <view class="top-box cross-center">
  5. <view class="title">{{order.detailExpress.length}}个包裹已发出</view>
  6. </view>
  7. <view class="express-box" v-for="deItem in order.detailExpress" :key="item.id">
  8. <app-jump-button
  9. :url="getPageUrl(deItem, deItem.expressRelation[0].orderDetail.goods_info.goods_attr.cover_pic)">
  10. <view style="width: 100%">
  11. <view class="dir-left-nowrap express-item">
  12. <view v-if="deItem.send_type == 1" class="dir-top-nowrap box-grow-1 express-info">
  13. <view class="dir-left-nowrap item">
  14. <view class="box-grow-0">快递公司:</view>
  15. <view class="box-grow-1">{{deItem.express}}</view>
  16. </view>
  17. <view class="dir-left-nowrap item">
  18. <view class="box-grow-0">物流单号:</view>
  19. <view class="box-grow-1">{{deItem.express_no}}</view>
  20. </view>
  21. <view class="dir-left-nowrap item">
  22. <view class="box-grow-0">商家留言:</view>
  23. <view class="box-grow-1">{{deItem.merchant_remark}}</view>
  24. </view>
  25. </view>
  26. <view class="box-grow-1 express-info" v-else>物流信息:{{deItem.express_content}}</view>
  27. <view v-if="deItem.send_type == 1" class="cross-center box-grow-0">
  28. <app-image width="12rpx" height="22rpx"
  29. imgSrc="/static/image/icon/arrow-right.png"></app-image>
  30. </view>
  31. </view>
  32. <view class="dir-left-wrap">
  33. <view class="image" v-for="erItem in deItem.expressRelation" :key="erItem.id">
  34. <app-image width="124rpx" height="124rpx"
  35. :imgSrc="erItem.orderDetail.goods_info.goods_attr.cover_pic"></app-image>
  36. </view>
  37. </view>
  38. <view class="goods-num">共{{deItem.goods_num}}件商品</view>
  39. </view>
  40. </app-jump-button>
  41. </view>
  42. </view>
  43. </app-layout>
  44. </template>
  45. <script>
  46. import AppImage from "../../../components/basic-component/app-image/app-image.vue";
  47. import AppJumpButton from "../../../components/basic-component/app-jump-button/app-jump-button.vue";
  48. export default {
  49. components: {
  50. AppJumpButton,
  51. AppImage
  52. },
  53. data() {
  54. return {
  55. is_show: false,
  56. orderId: null,
  57. order: [],
  58. }
  59. },
  60. methods: {
  61. getOrderDetail() {
  62. this.$showLoading();
  63. this.$request({
  64. url: this.$api.order.order_express_list,
  65. data: {
  66. order_id: this.orderId,
  67. }
  68. }).then(response => {
  69. this.$hideLoading();
  70. this.is_show = true;
  71. if (response.code === 0) {
  72. this.order = response.data.order;
  73. } else {
  74. uni.showModal({
  75. title: '',
  76. content: response.msg,
  77. showCancel: false,
  78. });
  79. }
  80. }).catch(() => {
  81. this.$hideLoading();
  82. });
  83. },
  84. getPageUrl(expressInfo, coverPic) {
  85. if (expressInfo && expressInfo.send_type == 1) {
  86. return `/pages/order/express-detail/express-detail?express=${expressInfo.express}&customer_name=${expressInfo.customer_name}&express_no=${expressInfo.express_no}&cover_pic=${coverPic}`
  87. } else {
  88. return '';
  89. }
  90. },
  91. },
  92. onLoad(options) {
  93. this.orderId = options.order_id
  94. this.getOrderDetail();
  95. }
  96. }
  97. </script>
  98. <style lang="scss" scoped>
  99. .top-box {
  100. width: 100%;
  101. height: #{100rpx};
  102. background: #feeeee;
  103. margin-bottom: #{20rpx};
  104. .title {
  105. margin-left: #{24rpx};
  106. color: #ff4544;
  107. font-size: #{28rpx};
  108. }
  109. }
  110. .express-box {
  111. padding: #{32rpx} #{24rpx} #{20rpx};
  112. margin-bottom: #{20rpx};
  113. background: #ffffff;
  114. .express-info {
  115. font-size: #{28rpx};
  116. margin-bottom: #{20rpx};
  117. color: #353535;
  118. .item {
  119. margin-bottom: #{24rpx};
  120. }
  121. }
  122. .goods-num {
  123. font-size: #{24rpx};
  124. color: #999999;
  125. margin: #{20rpx} 0;
  126. }
  127. .image {
  128. margin-right: #{20rpx};
  129. margin-bottom: #{20rpx};
  130. }
  131. }
  132. </style>