|
@@ -5,7 +5,7 @@
|
|
|
秒杀点击跳商品详情;团购点击跳团购详情页(开团/参团入口)
|
|
秒杀点击跳商品详情;团购点击跳团购详情页(开团/参团入口)
|
|
|
-->
|
|
-->
|
|
|
<template>
|
|
<template>
|
|
|
- <view v-if="isActive && data && data.enabled == 1 && data.goods && data.goods.length" class="home-activity">
|
|
|
|
|
|
|
+ <view v-if="isActive && data && data.enabled == 1 && displayGoods.length" class="home-activity">
|
|
|
<view class="activity-head">
|
|
<view class="activity-head">
|
|
|
<view class="activity-head-row">
|
|
<view class="activity-head-row">
|
|
|
<view class="activity-title-row">
|
|
<view class="activity-title-row">
|
|
@@ -30,7 +30,7 @@
|
|
|
|
|
|
|
|
<!-- 1排1列:左图右文,底部价格与按钮同行 -->
|
|
<!-- 1排1列:左图右文,底部价格与按钮同行 -->
|
|
|
<view v-if="cols === 1" class="list-1">
|
|
<view v-if="cols === 1" class="list-1">
|
|
|
- <view v-for="g in data.goods" :key="g.id" class="row-card" @click="goDetail(g)">
|
|
|
|
|
|
|
+ <view v-for="g in displayGoods" :key="g.id" class="row-card" @click="goDetail(g)">
|
|
|
<image class="row-cover" :src="g.coverUrl" mode="aspectFill" />
|
|
<image class="row-cover" :src="g.coverUrl" mode="aspectFill" />
|
|
|
<view class="row-content">
|
|
<view class="row-content">
|
|
|
<text class="row-name">{{ g.name }}</text>
|
|
<text class="row-name">{{ g.name }}</text>
|
|
@@ -48,7 +48,7 @@
|
|
|
|
|
|
|
|
<!-- 1排2列 / 1排3列:网格 -->
|
|
<!-- 1排2列 / 1排3列:网格 -->
|
|
|
<view v-else class="goods-grid" :class="'cols-' + cols">
|
|
<view v-else class="goods-grid" :class="'cols-' + cols">
|
|
|
- <view v-for="g in data.goods" :key="g.id" class="grid-card" @click="goDetail(g)">
|
|
|
|
|
|
|
+ <view v-for="g in displayGoods" :key="g.id" class="grid-card" @click="goDetail(g)">
|
|
|
<view class="grid-cover-wrap">
|
|
<view class="grid-cover-wrap">
|
|
|
<image class="grid-cover" :src="g.coverUrl" mode="aspectFill" />
|
|
<image class="grid-cover" :src="g.coverUrl" mode="aspectFill" />
|
|
|
<view v-if="isGroupBuy" class="group-badge">{{ g.groupSize }}人团</view>
|
|
<view v-if="isGroupBuy" class="group-badge">{{ g.groupSize }}人团</view>
|
|
@@ -106,6 +106,14 @@ export default {
|
|
|
const c = parseInt(this.data && this.data.layoutCols, 10)
|
|
const c = parseInt(this.data && this.data.layoutCols, 10)
|
|
|
return [1, 2, 3].includes(c) ? c : 3
|
|
return [1, 2, 3].includes(c) ? c : 3
|
|
|
},
|
|
},
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 仅展示有库存活动商品:stock <= 0 视为售罄,专区不展示
|
|
|
|
|
+ * @returns {Array}
|
|
|
|
|
+ */
|
|
|
|
|
+ displayGoods() {
|
|
|
|
|
+ const list = (this.data && this.data.goods) || []
|
|
|
|
|
+ return list.filter(g => Number(g && g.stock) > 0)
|
|
|
|
|
+ },
|
|
|
/** 展示数量小于商品总数时显示「更多」 */
|
|
/** 展示数量小于商品总数时显示「更多」 */
|
|
|
showMore() {
|
|
showMore() {
|
|
|
return Number(this.data && this.data.goodsTotal || 0) > ((this.data && this.data.goods) || []).length
|
|
return Number(this.data && this.data.goodsTotal || 0) > ((this.data && this.data.goods) || []).length
|