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>
 |