detail.vue 3.5 KB
Newer Older
sin's avatar
sin committed
1 2 3 4
<template>
  <div>
    <headerNav title="服务单详情"/>

sin's avatar
sin committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
    <div v-if="serviceType === 1">
      <van-steps :active="active">
        <van-step>提交申请</van-step>
        <van-step>客服审核</van-step>
        <van-step>客户确认</van-step>
        <van-step>仓库收货</van-step>
        <van-step>完成</van-step>

      </van-steps>

      <van-cell class="logistics"
                :to="`/user/aftersale/track/${lastLogisticsInfo.id}/${serviceNumber}`"
                :title="lastLogisticsDetail.logisticsInformation"
                :label="lastLogisticsDetail.logisticsTimeText" is-link/>
    </div>

    <div v-if="serviceType === 2">
      <van-steps v-if="serviceType === 2" :active="active">
        <van-step>提交申请</van-step>
        <van-step>客服审核</van-step>
        <van-step>客户确认</van-step>
        <van-step>仓库收货</van-step>
        <van-step>完成</van-step>
      </van-steps>
    </div>
sin's avatar
sin committed
30 31 32 33

    <div style="height:15px;"></div>
    <div v-for="(product,i) in products" :key="i">
      <product-card :product='product'/>
sin's avatar
sin committed
34
    </div>
sin's avatar
sin committed
35 36 37 38 39

    <div style="height:15px;"></div>
    <van-cell-group>
      <van-cell title="服务单号" :value="serviceNumber"/>
      <van-cell title="申请时间" :value="applyTime"/>
sin's avatar
sin committed
40 41
      <van-cell title="服务类型" :value="serviceTypeText"/>
      <van-cell title="退款金额" :value="refundPrice / 100"/>
sin's avatar
sin committed
42 43 44 45 46 47 48 49 50
    </van-cell-group>
    <div style="height:15px;"></div>

    <!-- 暂时没有 -->
    <!--<van-cell-group>-->
      <!--<van-cell title="联系人" value="张三"/>-->
      <!--<van-cell title="联系电话" value="138****6514"/>-->
    <!--</van-cell-group>-->
  </div>
sin's avatar
sin committed
51 52 53
</template>

<script>
sin's avatar
sin committed
54 55 56 57 58 59 60 61 62 63 64

  import moment from 'moment';
  import { getOrderReturnInfo } from '../../../api/order';

  export default {
    data() {
      return {
        active: 0,
        serviceNumber: -1,
        applyTime: '-1',
        serviceType: '',
sin's avatar
sin committed
65 66 67 68
        serviceTypeText: '',
        refundPrice: 0,
        lastLogisticsInfo: {},
        lastLogisticsDetail: {},
sin's avatar
sin committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82
        products: [
          {
            imageURL: 'https://pop.nosdn.127.net/19e33c9b-6c22-4a4b-96da-1cb7afb32712',
            title: 'BEYOND博洋家纺 床上套件 秋冬保暖纯棉床单被套 双人被罩 磨毛全棉印花床品四件套',
            price: '499',
            quantity: 2
          },
        ]
      }
    },
    mounted() {
      const { orderId } = this.$route.params;
      getOrderReturnInfo(orderId).then(res => {
        console.log('getOrderReturnInfo success', res)
sin's avatar
sin committed
83 84 85 86 87 88 89 90 91 92 93
        const { returnInfo, orderItems, lastLogisticsInfo } = res;
        this.lastLogisticsInfo = lastLogisticsInfo
        if (lastLogisticsInfo && lastLogisticsInfo.lastLogisticsDetail) {
          const lastLogisticsDetail = lastLogisticsInfo.lastLogisticsDetail;
          this.lastLogisticsDetail = {
            ...lastLogisticsDetail,
            logisticsTimeText: moment(lastLogisticsDetail.logisticsTime).format("YYYY-MM-DD HH:mm"),
          }
        }
        this.serviceType = returnInfo.serviceType
        this.serviceTypeText = returnInfo.serviceTypeText
sin's avatar
sin committed
94 95
        this.serviceNumber = returnInfo.serviceNumber
        this.applyTime = moment(returnInfo.createTime).format("YYYY-MM-DD HH:mm")
sin's avatar
sin committed
96
        this.refundPrice = returnInfo.refundPrice
sin's avatar
sin committed
97 98 99 100 101 102 103 104 105 106 107
        this.products = orderItems.map(item => {
          return {
            ...item,
            title: item.skuName,
            picUrls: [item.skuImage],
            price: item.presentTotal,
          }
        })
      })
    },
  }
sin's avatar
sin committed
108 109 110 111 112
</script>

<style>

</style>