瑶都万能墙
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

160 lines
3.1 KiB

<template>
<view class="list">
<view class="item"
v-for="(item, index) in productList"
@click="$utils.navigateTo('/pages_order/product/productDetail?id=' + item.id)"
:key="index">
<image
class="image"
:src="item.image ? item.image.split(',')[0] : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg'" mode="aspectFill"></image>
<view class="info">
<view class="title text-ellipsis">
{{ item.name }}
</view>
<!-- <view class="price">
<text>{{ item.originalPrice }}</text>/
</view>
<view class="favorable" v-if="item.goodsSku">
<view class="t">
限时优惠
</view>
<view class="p">
{{ item.goodsSku.price }}
</view>
</view> -->
<view class="price"
v-if="isProductPrice(item)">
现价<text>{{ item.price }}</text>
</view>
<view class="del"
v-if="isProductPrice(item)">
原价{{ item.oldPrice }}
</view>
<!-- <view class="favorable" v-if="item.oldPrice">
<view class="t">
原价
</view>
<view class="p">
{{ item.oldPrice }}
</view>
</view> -->
<view class="favorable"
v-if="item.points
&& isProductPoint(item)">
<view class="t">
积分兑换
</view>
<view class="p">
{{ item.points }}
</view>
</view>
<view class="num">
{{ item.shopId }}
</view>
<!-- <view class="num">
已售卖{{ item.soldNum || 0 }}+件
</view> -->
</view>
<view class="btn">
<uv-icon name="shopping-cart"
color="#fff"></uv-icon>
</view>
</view>
</view>
</template>
<script>
import productMixins from '@/mixins/product.js'
export default {
mixins : [productMixins],
name:"productList",
props : ['productList'],
data() {
return {
};
},
methods : {
},
}
</script>
<style scoped lang="scss">
.list{
display: flex;
flex-wrap: wrap;
.item{
position: relative;
width: 300rpx;
padding: 20rpx;
background-color: #fff;
border-radius: 20rpx;
margin-top: 20rpx;
&:nth-child(odd){
margin-right: 20rpx;
}
.image{
width: 300rpx;
height: 250rpx;
border-radius: 20rpx;
}
.info{
font-size: 26rpx;
.title{
font-size: 28rpx;
}
.price{
color: $uni-price-color;
margin-top: 6rpx;
text{
font-size: 30rpx;
font-weight: 900;
}
}
.del{
font-size: 22rpx;
color: #888;
font-weight: 500;
text-decoration : line-through;
}
.favorable{
display: flex;
// background-image: url(/static/image/product/favorable.png);
background-size: 100% 100%;
width: fit-content;
font-size: 20rpx;
margin-top: 6rpx;
border-radius: 10rpx;
overflow: hidden;
background-color: #ff000011;
.t{
padding: 5rpx 10rpx;
}
.p{
padding: 5rpx 10rpx;
color: #fff;
background-color: #F03F25;
height: 100%;
}
}
.num{
margin-top: 6rpx;
font-size: 22rpx;
color: #888;
}
}
.btn{
position: absolute;
right: 20rpx;
bottom: 20rpx;
padding: 10rpx;
border-radius: 50%;
background-color: $uni-color;
}
}
}
</style>