123 lines
3.0 KiB
Vue
123 lines
3.0 KiB
Vue
<template>
|
|
<view class="order">
|
|
<view class="top ss-flex ss-row-between">
|
|
<span>{{ orderData.order_sn }}</span>
|
|
<span>{{ orderData.create_time.split(' ')[1] }}</span>
|
|
</view>
|
|
<template v-if="from != 'msg'">
|
|
<view class="bottom ss-flex" v-for="item in orderData.items" :key="item">
|
|
<image class="image" :src="sheep.$url.cdn(item.goods_image)" mode="aspectFill"> </image>
|
|
<view class="ss-flex-1">
|
|
<view class="title ss-line-2">
|
|
{{ item.goods_title }}
|
|
</view>
|
|
<view v-if="item.goods_num" class="num ss-m-b-10"> 数量:{{ item.goods_num }} </view>
|
|
<view class="ss-flex ss-row-between ss-m-t-8">
|
|
<span class="price">¥{{ item.goods_price }}</span>
|
|
<span class="status">{{ orderData.status_text }}</span>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<template v-else>
|
|
<view class="bottom ss-flex" v-for="item in [orderData.items[0]]" :key="item">
|
|
<image class="image" :src="sheep.$url.cdn(item.goods_image)" mode="aspectFill"> </image>
|
|
<view class="ss-flex-1">
|
|
<view class="title title-1 ss-line-1">
|
|
{{ item.goods_title }}
|
|
</view>
|
|
<view class="order-total ss-flex ss-row-between ss-m-t-8">
|
|
<span>共{{ orderData.items.length }}件商品</span>
|
|
<span>合计 ¥{{ orderData.pay_fee }}</span>
|
|
</view>
|
|
<view class="ss-flex ss-row-right ss-m-t-8">
|
|
<span class="status">{{ orderData.status_text }}</span>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import sheep from '@/sheep';
|
|
|
|
const props = defineProps({
|
|
from: String,
|
|
orderData: {
|
|
type: Object,
|
|
default: {},
|
|
},
|
|
});
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.order {
|
|
background: #fff;
|
|
padding: 20rpx;
|
|
border-radius: 12rpx;
|
|
|
|
.top {
|
|
line-height: 40rpx;
|
|
font-size: 24rpx;
|
|
font-weight: 400;
|
|
color: #999;
|
|
border-bottom: 1px solid rgba(223, 223, 223, 0.5);
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.bottom {
|
|
margin-bottom: 20rpx;
|
|
|
|
&:last-of-type {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.image {
|
|
flex-shrink: 0;
|
|
width: 116rpx;
|
|
height: 116rpx;
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.title {
|
|
height: 64rpx;
|
|
line-height: 32rpx;
|
|
font-size: 26rpx;
|
|
font-weight: 500;
|
|
color: #333;
|
|
|
|
&.title-1 {
|
|
height: 32rpx;
|
|
width: 300rpx;
|
|
}
|
|
}
|
|
|
|
.num {
|
|
font-size: 24rpx;
|
|
font-weight: 400;
|
|
color: #999;
|
|
}
|
|
|
|
.price {
|
|
font-size: 26rpx;
|
|
font-weight: 500;
|
|
color: #ff3000;
|
|
}
|
|
|
|
.status {
|
|
font-size: 24rpx;
|
|
font-weight: 500;
|
|
color: var(--ui-BG-Main);
|
|
}
|
|
|
|
.order-total {
|
|
line-height: 28rpx;
|
|
font-size: 24rpx;
|
|
font-weight: 400;
|
|
color: #999;
|
|
}
|
|
}
|
|
}
|
|
</style>
|