list.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. </van-card>
  10. </view>
  11. <van-cell center title="订单号" :value="order.orderNumber" :label="'¥' + order.actualTotal" />
  12. </view>
  13. </van-tab>
  14. <van-tab title="待发货">
  15. <view v-for="(order, index) in orders.records" :key="order">
  16. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  17. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  18. :thumb="item.pic">
  19. </van-card>
  20. </view>
  21. <van-cell center title="订单号" :value="order.orderNumber" :label="'¥' + order.actualTotal" />
  22. </view>
  23. </van-tab>
  24. <van-tab title="待收货">
  25. <view @click="payNow(order)" v-for="(order, index) in orders.records" :key="order">
  26. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  27. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  28. :thumb="item.pic">
  29. </van-card>
  30. </view>
  31. <van-cell center title="订单号" :value="order.orderNumber" :label="'¥' + order.actualTotal" />
  32. </view>
  33. </van-tab>
  34. <van-tab title="待评价">
  35. <view v-for="(order, index) in orders.records" :key="order">
  36. <view class="order-list" v-for="(item,index1) in order.orderItemDtos" :key="index1">
  37. <van-card :num="item.prodCount" :price="item.price" :desc="item.skuName" :title="item.prodName"
  38. :thumb="item.pic">
  39. </van-card>
  40. </view>
  41. <van-cell center title="订单号" :value="order.orderNumber" :label="'¥' + order.actualTotal" />
  42. </view>
  43. </van-tab>
  44. </van-tabs>
  45. </view>
  46. </template>
  47. <script>
  48. import {
  49. myOrder,
  50. pay
  51. } from '@/api/order.js'
  52. export default {
  53. data() {
  54. return {
  55. active: 0,
  56. orders: {
  57. records: []
  58. },
  59. fatch: {
  60. current: 1,
  61. status: 1
  62. }
  63. }
  64. },
  65. onShow() {
  66. this.init();
  67. },
  68. methods: {
  69. onChange(event) {
  70. this.active = event.detail.name;
  71. this.init();
  72. },
  73. async payNow(order) {
  74. await pay({
  75. orderNumbers: order.orderNumber,
  76. payType: 1
  77. })
  78. uni.showModal({
  79. title: '支付成功',
  80. content: '恭喜您支付已完成',
  81. success: function(res) {
  82. this.init()
  83. }
  84. })
  85. },
  86. async init() {
  87. this.fatch.status = this.active + 1;
  88. const result = await myOrder(this.fatch)
  89. this.orders.records = [];
  90. if (result.records.length > 0) {
  91. this.orders.records = [...result.records]
  92. }
  93. }
  94. }
  95. }
  96. </script>
  97. <style lang="less">
  98. </style>