Files
MER-2.2_2601/mer_uniapp/pages/activity/components/PointsGoods.vue

107 lines
2.3 KiB
Vue
Raw Normal View History

<template>
<view class="flex pointsGoods" :style="[pointsGoodsStyle.boxStyle]">
<view class="product-item " :style="[pointsGoodsStyle.imageBoxStyle]" v-for="(item, index) in integralGood" :key="index" @click="goGoodsDetail(item)">
<view class="relative">
<easy-loadimage
:image-src="item.image"
:width="pointsGoodsStyle._imageWidth"
:height="pointsGoodsStyle._imageHeight"
:radius="pointsGoodsStyle.radius"></easy-loadimage>
<view v-show="item.stock===0" class="sellOut">已售罄</view>
</view>
<view class="info">
<view class="title line1" :style="[pointsGoodsStyle.nameStyle]">{{ item.name }}</view>
<view class="sales text-999 mt-8 mb-20" :style="[pointsGoodsStyle.salesStyle]">已有{{item.sales}}人兑换</view>
<PointsPrice :pointsPrice="item" :pointsGoodsStyle="pointsGoodsStyle" v-model="isShowSamll"></PointsPrice>
</view>
</view>
</view>
</template>
<script>
import {
goProductDetail
} from "@/libs/order";
import PointsPrice from '@/components/PointsPrice.vue';
import easyLoadimage from '@/components/base/easy-loadimage.vue';
export default {
components: {
easyLoadimage,
PointsPrice
},
props: {
//积分商品列表
integralGood: {
type: Array,
default: function() {
return [];
}
},
//商品大小样式
pointsGoodsStyle: {
type: Object,
default: function() {
return {};
}
},
//视图宽
width: {
type: String,
default: ''
},
marginRight: {
type: String,
default: ''
},
// 积分图标大小
iconWidth: {
type: String,
default: ''
},
isShowSamll: {
type: Boolean,
default: false
}
},
computed: {
boxStyle() {
return {
width: this.width,
marginRight: this.marginRight
}
},
iconStyle() {
return {
width: this.iconWidth,
height: this.iconWidth
}
}
},
data(){
return {
urlDomain: this.$Cache.get("imgHost"),
}
},
methods: {
goGoodsDetail(item){
goProductDetail(item.id, 0, '',1)
},
}
}
</script>
<style scoped lang="scss">
.fs-22{
margin-left: 4rpx;
}
.product-item {
position: relative;
background: #fff;
border-radius: 10rpx;
margin-bottom: 20rpx;
.info {
margin-top: 20rpx;
}
}
</style>