115 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Vue
		
	
	
<template>
 | 
						||
  <view class="bg-white order-list-card-box ss-r-10 ss-m-t-14 ss-m-20"
 | 
						||
        :key="orderData.id">
 | 
						||
    <view class="order-card-header ss-flex ss-col-center ss-row-between ss-p-x-20">
 | 
						||
      <view class="order-no">订单号:{{ orderData.no }}</view>
 | 
						||
      <view class="order-state ss-font-26" :class="formatOrderColor(orderData)">
 | 
						||
        {{ formatOrderStatus(orderData) }}
 | 
						||
      </view>
 | 
						||
    </view>
 | 
						||
    <view class="border-bottom" v-for="item in orderData.items" :key="item.id">
 | 
						||
      <s-goods-item
 | 
						||
        :img="item.picUrl"
 | 
						||
        :title="item.spuName"
 | 
						||
        :skuText="item.properties.map((property) => property.valueName).join(' ')"
 | 
						||
        :price="item.price"
 | 
						||
        :num="item.count"
 | 
						||
      />
 | 
						||
    </view>
 | 
						||
    <view class="pay-box ss-m-t-30 ss-flex ss-row-right ss-p-r-20">
 | 
						||
      <view class="ss-flex ss-col-center">
 | 
						||
        <view class="discounts-title pay-color">共 {{ orderData.productCount }} 件商品,总金额:</view>
 | 
						||
        <view class="discounts-money pay-color">
 | 
						||
          ¥{{ fen2yuan(orderData.payPrice) }}
 | 
						||
        </view>
 | 
						||
      </view>
 | 
						||
    </view>
 | 
						||
  </view>
 | 
						||
</template>
 | 
						||
 | 
						||
<script setup>
 | 
						||
  import { fen2yuan, formatOrderColor, formatOrderStatus } from '@/sheep/hooks/useGoods';
 | 
						||
 | 
						||
  const props = defineProps({
 | 
						||
    orderData: {
 | 
						||
      type: Object,
 | 
						||
      default: {},
 | 
						||
    },
 | 
						||
  });
 | 
						||
</script>
 | 
						||
 | 
						||
<style lang="scss" scoped>
 | 
						||
  .order-list-card-box {
 | 
						||
    .order-card-header {
 | 
						||
      height: 80rpx;
 | 
						||
 | 
						||
      .order-no {
 | 
						||
        font-size: 26rpx;
 | 
						||
        font-weight: 500;
 | 
						||
      }
 | 
						||
 | 
						||
      .order-state {}
 | 
						||
    }
 | 
						||
    .pay-box {
 | 
						||
      .discounts-title {
 | 
						||
        font-size: 24rpx;
 | 
						||
        line-height: normal;
 | 
						||
        color: #999999;
 | 
						||
      }
 | 
						||
 | 
						||
      .discounts-money {
 | 
						||
        font-size: 24rpx;
 | 
						||
        line-height: normal;
 | 
						||
        color: #999;
 | 
						||
        font-family: OPPOSANS;
 | 
						||
      }
 | 
						||
 | 
						||
      .pay-color {
 | 
						||
        color: #333;
 | 
						||
      }
 | 
						||
    }
 | 
						||
    .order-card-footer {
 | 
						||
      height: 100rpx;
 | 
						||
 | 
						||
      .more-item-box {
 | 
						||
        padding: 20rpx;
 | 
						||
 | 
						||
        .more-item {
 | 
						||
          height: 60rpx;
 | 
						||
 | 
						||
          .title {
 | 
						||
            font-size: 26rpx;
 | 
						||
          }
 | 
						||
        }
 | 
						||
      }
 | 
						||
 | 
						||
      .more-btn {
 | 
						||
        color: $dark-9;
 | 
						||
        font-size: 24rpx;
 | 
						||
      }
 | 
						||
 | 
						||
      .content {
 | 
						||
        width: 154rpx;
 | 
						||
        color: #333333;
 | 
						||
        font-size: 26rpx;
 | 
						||
        font-weight: 500;
 | 
						||
      }
 | 
						||
    }
 | 
						||
  }
 | 
						||
  .warning-color {
 | 
						||
    color: #faad14;
 | 
						||
  }
 | 
						||
 | 
						||
  .danger-color {
 | 
						||
    color: #ff3000;
 | 
						||
  }
 | 
						||
 | 
						||
  .success-color {
 | 
						||
    color: #52c41a;
 | 
						||
  }
 | 
						||
 | 
						||
  .info-color {
 | 
						||
    color: #999999;
 | 
						||
  }
 | 
						||
</style>
 |