express.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <view class="wrap">
  3. <view class="base">
  4. <view class="title">{{expressInfo.expressCompany}}</view>
  5. <view class="item"> 快递单号:{{expressInfo.shippingSn}}</view>
  6. <view class="item"> 收货地址:{{order.consigneeAddress}}</view>
  7. </view>
  8. <view class="list">
  9. <uv-steps direction="column">
  10. <uv-steps-item v-for="(item, index) in expressInfo.infoList" :key="index">
  11. <template v-slot:title>
  12. <view>
  13. <view v-if="index==0" class="uv-order-title">{{expressInfo.stateStr}}</view>
  14. <view class="uv-order-desc">{{item.AcceptStation}}</view>
  15. </view>
  16. </template>
  17. <template v-slot:desc>
  18. <view class="uv-order-time">{{ item.AcceptTime }}</view>
  19. </template>
  20. </uv-steps-item>
  21. </uv-steps>
  22. </view>
  23. </view>
  24. </template>
  25. <script>
  26. import {
  27. getRequest
  28. } from '@/request/api/shop.js'
  29. export default {
  30. data() {
  31. return {
  32. order: {
  33. consigneeAddress: '',
  34. orderSn: '',
  35. address: {
  36. name: ''
  37. }
  38. },
  39. expressInfo: {
  40. shippingSn: ''
  41. }
  42. }
  43. },
  44. onLoad(option) {
  45. this.order.orderSn = option.orderSn;
  46. this.init();
  47. },
  48. methods: {
  49. init() {
  50. getRequest('user/order/getExpressInfo/' + this.order.orderSn).then(res => {
  51. if (res.state) {
  52. this.order = res.data.order;
  53. this.expressInfo = res.data.expressInfo;
  54. }
  55. });
  56. }
  57. }
  58. }
  59. </script>
  60. <style lang="scss" scoped>
  61. page {
  62. height: 100%;
  63. background-color: #f2f2f2;
  64. }
  65. .base {
  66. background-color: #FFFFFF;
  67. padding: 20rpx;
  68. margin: 30rpx 0;
  69. .title {
  70. color: #F59A23;
  71. font-size: 30rpx;
  72. }
  73. .item {
  74. padding-top: 10rpx;
  75. }
  76. }
  77. .list {
  78. background-color: #FFFFFF;
  79. padding: 30rpx;
  80. }
  81. .uv-node {
  82. width: 44rpx;
  83. height: 44rpx;
  84. border-radius: 100rpx;
  85. display: flex;
  86. justify-content: center;
  87. align-items: center;
  88. background: #d0d0d0;
  89. }
  90. .uv-order-title {
  91. color: #333333;
  92. font-weight: bold;
  93. font-size: 32rpx;
  94. }
  95. .uv-order-desc {
  96. color: rgb(150, 150, 150);
  97. font-size: 28rpx;
  98. margin-bottom: 6rpx;
  99. }
  100. .uv-order-time {
  101. color: rgb(200, 200, 200);
  102. font-size: 26rpx;
  103. }
  104. </style>