order.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <view class="bg-white order-list-card-box ss-r-10 ss-m-t-14 ss-m-20"
  3. :key="orderData.id">
  4. <view class="order-card-header ss-flex ss-col-center ss-row-between ss-p-x-20">
  5. <view class="order-no">订单号:{{ orderData.no }}</view>
  6. <view class="order-state ss-font-26" :class="formatOrderColor(orderData)">
  7. {{ formatOrderStatus(orderData) }}
  8. </view>
  9. </view>
  10. <view class="border-bottom" v-for="item in orderData.items" :key="item.id">
  11. <s-goods-item
  12. :img="item.picUrl"
  13. :title="item.spuName"
  14. :skuText="item.properties.map((property) => property.valueName).join(' ')"
  15. :price="item.price"
  16. :num="item.count"
  17. />
  18. </view>
  19. <view class="pay-box ss-m-t-30 ss-flex ss-row-right ss-p-r-20">
  20. <view class="ss-flex ss-col-center">
  21. <view class="discounts-title pay-color">共 {{ orderData.productCount }} 件商品,总金额:</view>
  22. <view class="discounts-money pay-color">
  23. ¥{{ fen2yuan(orderData.payPrice) }}
  24. </view>
  25. </view>
  26. </view>
  27. </view>
  28. </template>
  29. <script setup>
  30. import { fen2yuan, formatOrderColor, formatOrderStatus } from '@/sheep/hooks/useGoods';
  31. const props = defineProps({
  32. orderData: {
  33. type: Object,
  34. default: {},
  35. },
  36. });
  37. </script>
  38. <style lang="scss" scoped>
  39. .order-list-card-box {
  40. .order-card-header {
  41. height: 80rpx;
  42. .order-no {
  43. font-size: 26rpx;
  44. font-weight: 500;
  45. }
  46. .order-state {}
  47. }
  48. .pay-box {
  49. .discounts-title {
  50. font-size: 24rpx;
  51. line-height: normal;
  52. color: #999999;
  53. }
  54. .discounts-money {
  55. font-size: 24rpx;
  56. line-height: normal;
  57. color: #999;
  58. font-family: OPPOSANS;
  59. }
  60. .pay-color {
  61. color: #333;
  62. }
  63. }
  64. .order-card-footer {
  65. height: 100rpx;
  66. .more-item-box {
  67. padding: 20rpx;
  68. .more-item {
  69. height: 60rpx;
  70. .title {
  71. font-size: 26rpx;
  72. }
  73. }
  74. }
  75. .more-btn {
  76. color: $dark-9;
  77. font-size: 24rpx;
  78. }
  79. .content {
  80. width: 154rpx;
  81. color: #333333;
  82. font-size: 26rpx;
  83. font-weight: 500;
  84. }
  85. }
  86. }
  87. .warning-color {
  88. color: #faad14;
  89. }
  90. .danger-color {
  91. color: #ff3000;
  92. }
  93. .success-color {
  94. color: #52c41a;
  95. }
  96. .info-color {
  97. color: #999999;
  98. }
  99. </style>