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.
230 lines
5.4 KiB
230 lines
5.4 KiB
<template>
|
|
<view class="goodsList">
|
|
<view class="item acea-row row-between-wrapper" v-for="(item,index) in tempArr" :key='index'
|
|
@click="goDetail(item)">
|
|
<view class="pictrue">
|
|
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1' && $permission('seckill')">{{$t(`秒杀`)}}</span>
|
|
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2' && $permission('bargain')">{{$t(`砍价`)}}</span>
|
|
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3' && $permission('combination')">{{$t(`拼团`)}}</span>
|
|
<image :src="item.image" mode=""></image>
|
|
</view>
|
|
<view class="pictxt">
|
|
<view class="text line2">{{item.store_name}}</view>
|
|
<view class="bottom acea-row row-between-wrapper">
|
|
<view class="money font-color">
|
|
<text class="sign">{{$t(`¥`)}}</text>{{item.price}}
|
|
<!-- <span class="vip" v-if="item.vip_price">
|
|
<image src="../../static/images/vip01.png"></image>
|
|
¥{{item.vip_price}}
|
|
</span>
|
|
<text class="y_money" v-else>¥{{item.ot_price}}</text> -->
|
|
</view>
|
|
<view v-if="item.stock>0">
|
|
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper"
|
|
v-if="item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3')">
|
|
</view>
|
|
<view v-else>
|
|
<!-- 多规格 -->
|
|
<view class="bnt acea-row row-center-wrapper" @click.stop="goCartDuo(item)"
|
|
v-if="item.spec_type">
|
|
{{$t(`选规格`)}}
|
|
<text class="num" v-if="isLogin && item.cart_num">{{item.cart_num}}</text>
|
|
</view>
|
|
<!-- 单规格 -->
|
|
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper"
|
|
v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)"></view>
|
|
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
|
|
<view class="pictrue iconfont icon-jianhao acea-row row-center-wrapper"
|
|
@click.stop="CartNumDes(index,item)"></view>
|
|
<view class="num">{{item.cart_num}}</view>
|
|
<view class="pictrue iconfont icon-jiahao acea-row row-center-wrapper"
|
|
@click.stop="CartNumAdd(index,item)"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="bnt acea-row row-center-wrapper end" v-else>{{$t(`已售罄`)}}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'd_goodList',
|
|
props: {
|
|
dataConfig: {
|
|
type: Object,
|
|
default: () => {}
|
|
},
|
|
tempArr: {
|
|
type: Array,
|
|
default: []
|
|
},
|
|
isLogin: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
addIng: false
|
|
};
|
|
},
|
|
created() {},
|
|
mounted() {},
|
|
methods: {
|
|
goDetail(item) {
|
|
this.$emit('detail', item);
|
|
},
|
|
goCartDuo(item) {
|
|
this.$emit('gocartduo', item);
|
|
},
|
|
goCartDan(item, index) {
|
|
this.$emit('gocartdan', item, index);
|
|
},
|
|
CartNumDes(index, item) {
|
|
if (this.addIng) return
|
|
this.addIng = true
|
|
this.$emit('ChangeCartNumDan', false, index, item);
|
|
},
|
|
CartNumAdd(index, item) {
|
|
if (this.addIng) return
|
|
this.addIng = true
|
|
this.$emit('ChangeCartNumDan', true, index, item);
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.goodsList {
|
|
padding: 0 30rpx;
|
|
|
|
.item {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
margin-bottom: 63rpx;
|
|
|
|
.pictrue {
|
|
width: 140rpx;
|
|
height: 140rpx;
|
|
border-radius: 10rpx;
|
|
position: relative;
|
|
border-radius: 22rpx;
|
|
|
|
image {
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: 22rpx;
|
|
}
|
|
}
|
|
|
|
.pictxt {
|
|
width: 372rpx;
|
|
|
|
.text {
|
|
font-size: 26rpx;
|
|
font-family: PingFang SC;
|
|
font-weight: 500;
|
|
color: #333333;
|
|
}
|
|
|
|
.bottom {
|
|
margin-top: 22rpx;
|
|
|
|
.money {
|
|
font-size: 34rpx;
|
|
font-weight: 800;
|
|
|
|
.sign {
|
|
font-size: 24rpx;
|
|
}
|
|
|
|
.y_money {
|
|
font-size: 20rpx;
|
|
color: #999999;
|
|
margin-left: 14rpx;
|
|
font-weight: normal;
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
.vip {
|
|
font-size: 22rpx;
|
|
color: #333333;
|
|
font-weight: normal;
|
|
margin-left: 14rpx;
|
|
|
|
image {
|
|
width: 38rpx;
|
|
height: 18rpx;
|
|
margin-right: 6rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.cart {
|
|
height: 46rpx;
|
|
|
|
.pictrue {
|
|
color: var(--view-theme);
|
|
font-size: 46rpx;
|
|
width: 46rpx;
|
|
height: 46rpx;
|
|
text-align: center;
|
|
line-height: 46rpx;
|
|
|
|
&.icon-jiahao {
|
|
color: var(--view-theme);
|
|
}
|
|
}
|
|
|
|
.num {
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
font-weight: bold;
|
|
width: 60rpx;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.icon-gouwuche6 {
|
|
width: 46rpx;
|
|
height: 46rpx;
|
|
background-color: var(--view-theme);
|
|
border-radius: 50%;
|
|
color: #fff;
|
|
font-size: 30rpx;
|
|
}
|
|
|
|
.bnt {
|
|
padding: 0 20rpx;
|
|
height: 45rpx;
|
|
background: var(--view-theme);
|
|
border-radius: 23rpx;
|
|
font-size: 22rpx;
|
|
color: #fff;
|
|
position: relative;
|
|
|
|
&.end {
|
|
background: #cccccc;
|
|
}
|
|
|
|
.num {
|
|
min-width: 14rpx;
|
|
background-color: #fff;
|
|
color: var(--view-theme);
|
|
border-radius: 15px;
|
|
position: absolute;
|
|
right: -13rpx;
|
|
top: -11rpx;
|
|
font-size: 16rpx;
|
|
padding: 0 10rpx;
|
|
border: 1px solid var(--view-theme);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|