list.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <view class="list">
  3. <van-tabs sticky animated :active="active" @change="onChange">
  4. <van-tab title="待付款">
  5. <view v-for="(order, index) in orders.records" :key="order">
  6. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  7. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  8. :thumb="item.pic">
  9. <view slot="footer">
  10. <van-button size="mini" type="danger" @click="payNow(order)">去付款</van-button>
  11. </view>
  12. </van-card>
  13. </view>
  14. <van-cell center title="订单号" :value="order.orderNumber" :border="false" />
  15. <van-cell center title="订单号" :value="'¥' + order.actualTotal" />
  16. </view>
  17. <van-empty v-if="orders.records.length == 0" description="当前内容为空" />
  18. </van-tab>
  19. <van-tab title="待发货">
  20. <view v-for="(order, index) in orders.records" :key="order">
  21. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  22. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  23. :thumb="item.pic">
  24. </van-card>
  25. </view>
  26. <van-cell center title="订单号" :value="order.orderNumber" :border="false" />
  27. <van-cell center title="订单号" :value="'¥' + order.actualTotal" />
  28. </view>
  29. <van-empty v-if="orders.records.length == 0" description="当前内容为空" />
  30. </van-tab>
  31. <van-tab title="待收货">
  32. <view v-for="(order, index) in orders.records" :key="order">
  33. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  34. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  35. :thumb="item.pic">
  36. </van-card>
  37. </view>
  38. <van-cell center title="订单号" :value="order.orderNumber" :border="false" />
  39. <van-cell center title="订单号" :value="'¥' + order.actualTotal" />
  40. </view>
  41. <van-empty v-if="orders.records.length == 0" description="当前内容为空" />
  42. </van-tab>
  43. <van-tab title="待评价">
  44. <view v-for="(order, index) in orders.records" :key="order">
  45. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  46. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  47. :thumb="item.pic">
  48. </van-card>
  49. </view>
  50. <van-cell center title="订单号" :value="order.orderNumber" :border="false" />
  51. <van-cell center title="订单号" :value="'¥' + order.actualTotal" />
  52. </view>
  53. <van-empty v-if="orders.records.length == 0" description="当前内容为空" />
  54. </van-tab>
  55. </van-tabs>
  56. </view>
  57. </template>
  58. <script>
  59. import {
  60. myOrder,
  61. pay
  62. } from '@/api/order.js'
  63. export default {
  64. data() {
  65. return {
  66. active: 0,
  67. orders: {
  68. records: []
  69. },
  70. fatch: {
  71. current: 1,
  72. status: 1
  73. }
  74. }
  75. },
  76. onShow() {
  77. this.init();
  78. },
  79. methods: {
  80. onChange(event) {
  81. this.active = event.detail.name;
  82. this.init();
  83. },
  84. payNow(order) {
  85. let _this = this
  86. pay({
  87. orderNumbers: order.orderNumber,
  88. payType: 1
  89. }).then(res => {
  90. uni.showModal({
  91. title: '支付成功',
  92. content: '恭喜您支付已完成',
  93. success: function(res) {
  94. _this.init()
  95. }
  96. })
  97. })
  98. },
  99. async init() {
  100. this.fatch.status = this.active + 1;
  101. const result = await myOrder(this.fatch)
  102. this.orders.records = [];
  103. if (result.records.length > 0) {
  104. this.orders.records = [...result.records]
  105. }
  106. }
  107. }
  108. }
  109. </script>
  110. <style lang="less">
  111. </style>