|
|
|
@ -7,7 +7,7 @@ |
|
|
|
|
<view class="header"> |
|
|
|
|
<view class="head-menu"> |
|
|
|
|
<view class="iconfont icon-xiangzuo" @click="goback" style="color: #fff;"></view> |
|
|
|
|
<view class="iconfont icon-shouye4" @click="goHome" style="color: #fff;"></view> |
|
|
|
|
<!-- <view class="iconfont icon-shouye4" @click="goHome" style="color: #fff;"></view> --> |
|
|
|
|
</view> |
|
|
|
|
<navigator :url="'/pages/store/list/index?mer_id='+id" hover-class="none" class="search"><text class="iconfont icon-xiazai5"></text>搜索商品</navigator> |
|
|
|
|
</view> |
|
|
|
@ -16,12 +16,12 @@ |
|
|
|
|
<view class="header" :class="{noPointer : preview}"> |
|
|
|
|
<view class="head-menu"> |
|
|
|
|
<view class="iconfont icon-xiangzuo" @click="goback"></view> |
|
|
|
|
<view class="iconfont icon-shouye4" @click="goHome"></view> |
|
|
|
|
<!-- <view class="iconfont icon-shouye4" @click="goHome"></view> --> |
|
|
|
|
</view> |
|
|
|
|
<navigator :url="'/pages/store/list/index?mer_id='+id" hover-class="none" class="search"><text class="iconfont icon-xiazai5"></text>搜索商品</navigator> |
|
|
|
|
</view> |
|
|
|
|
<!-- #endif --> |
|
|
|
|
<view v-show="navShow && tabActive === 3" class="nav" :style="viewColor"> |
|
|
|
|
<!-- <view v-show="navShow && tabActive === 3" class="nav" :style="viewColor"> |
|
|
|
|
<view class="nav-cont" :class="{noPointer : preview}"> |
|
|
|
|
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show"> |
|
|
|
|
<view class="cont"> |
|
|
|
@ -51,9 +51,9 @@ |
|
|
|
|
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> --> |
|
|
|
|
<!--diy页面的导航--> |
|
|
|
|
<view v-show="navShow && tabActive == 1" class="nav" :style="viewColor"> |
|
|
|
|
<!-- <view v-show="navShow && tabActive == 1" class="nav" :style="viewColor"> |
|
|
|
|
<view class="nav-cont" :class="{noPointer : preview}"> |
|
|
|
|
<view :class="{ active: diyActive == 0 }" class="item" @click="setDiy"> |
|
|
|
|
<view class="cont">精选</view> |
|
|
|
@ -68,7 +68,7 @@ |
|
|
|
|
<view class="cont">领券</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> --> |
|
|
|
|
<scroll-view class="main" scroll-y="true" @scroll="scrollHome" catchtouchmove :style="viewColor"> |
|
|
|
|
<!-- 店铺信息 --> |
|
|
|
|
<view id="store" class="store" :class="{noPointer : preview}"> |
|
|
|
@ -98,16 +98,16 @@ |
|
|
|
|
<view v-else class="kefu" @click="call(0)"> |
|
|
|
|
<text class="iconfont icon-kefu3"></text> |
|
|
|
|
</view> |
|
|
|
|
<button hover-class="none" :class="store.care ? 'care' : ''" v-if="!isLogin" @click="authOpen"> |
|
|
|
|
<!-- <button hover-class="none" :class="store.care ? 'care' : ''" v-if="!isLogin" @click="authOpen"> |
|
|
|
|
<text v-show="!store.care" class="iconfont icon-guanzhu"></text> |
|
|
|
|
{{ store.care ? '已关注' : '关注' }} |
|
|
|
|
</button> |
|
|
|
|
<button v-else hover-class="none" :class="store.care ? 'care' : ''" @click="followToggle"> |
|
|
|
|
<text v-show="!store.care" class="iconfont icon-guanzhu"></text> |
|
|
|
|
{{ store.care ? '已关注' : '关注' }} |
|
|
|
|
</button> |
|
|
|
|
</button> --> |
|
|
|
|
</view> |
|
|
|
|
<view v-show="!navShow && tabActive === 3" class="nav"> |
|
|
|
|
<view class="nav"> |
|
|
|
|
<view class="nav-cont" :class="{noPointer : preview}"> |
|
|
|
|
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show"> |
|
|
|
|
<view class="cont"> |
|
|
|
@ -141,7 +141,7 @@ |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<!--diy导航--> |
|
|
|
|
<view v-show="!navShow && tabActive === 1" class="nav"> |
|
|
|
|
<!-- <view v-show="!navShow && tabActive === 1" class="nav"> |
|
|
|
|
<view class="nav-cont" :class="{noPointer : preview}"> |
|
|
|
|
<view :class="{ active: diyActive == 0 }" class="item" @click="setDiy"> |
|
|
|
|
<view class="cont">精选</view> |
|
|
|
@ -162,51 +162,11 @@ |
|
|
|
|
<text v-if="item.id === select.selected" class="iconfont icon-gou"></text> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> --> |
|
|
|
|
<view class="tab-cont" :style="viewColor" :class="{noPointer : preview}"> |
|
|
|
|
<!-- diy组件 --> |
|
|
|
|
<view v-show="diyActive == 0 && tabActive == 1"> |
|
|
|
|
<!-- #ifdef H5 --> |
|
|
|
|
<view v-for="(item, index) in styleConfig" :key="index"> |
|
|
|
|
<block v-if="item.name != 'headerSerch' && item.name != 'tabNav'"> |
|
|
|
|
<component |
|
|
|
|
:is="item.name" |
|
|
|
|
:index="index" |
|
|
|
|
:dataConfig="item" |
|
|
|
|
:merId="id" |
|
|
|
|
@detail="goGoodsDetail" |
|
|
|
|
></component> |
|
|
|
|
</block> |
|
|
|
|
</block> |
|
|
|
|
</view> |
|
|
|
|
<!-- #endif --> |
|
|
|
|
<!-- #ifdef MP || APP-PLUS--> |
|
|
|
|
<block v-for="(item, index) in styleConfig" :key="index" > |
|
|
|
|
<view> |
|
|
|
|
<activeParty v-if="item.name == 'activeParty'" :merId="id" :dataConfig="item"></activeParty> |
|
|
|
|
<articleList v-if="item.name == 'articleList'" :merId="id" :dataConfig="item"></articleList> |
|
|
|
|
<bargain v-if="item.name == 'bargain'" :merId="id" :dataConfig="item"></bargain> |
|
|
|
|
<blankPage v-if="item.name == 'blankPage'" :merId="id" :dataConfig="item"></blankPage> |
|
|
|
|
<combination v-if="item.name == 'combination'" :merId="id" :dataConfig="item"></combination> |
|
|
|
|
<topic v-if="item.name == 'topic'" :merId="id" :dataConfig="item"></topic> |
|
|
|
|
<coupon v-if="item.name == 'coupon'" :merId="id" :dataConfig="item"></coupon> |
|
|
|
|
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item" @detail="goGoodsDetail"></goodList> |
|
|
|
|
<guide v-if="item.name == 'guide'" :merId="id" :dataConfig="item"></guide> |
|
|
|
|
<!-- <liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item"></liveBroadcast> --> |
|
|
|
|
<menus v-if="item.name == 'menus'" :merId="id" :dataConfig="item"></menus> |
|
|
|
|
<presellList v-if="item.name == 'presellList'" :merId="id" :dataConfig="item"></presellList> |
|
|
|
|
<richText v-if="item.name == 'richText'" :merId="id" :dataConfig="item"></richText> |
|
|
|
|
<seckill v-if="item.name == 'seckill'" :merId="id" :dataConfig="item"></seckill> |
|
|
|
|
<swiperBg v-if="item.name == 'swiperBg'" :merId="id" :dataConfig="item"></swiperBg> |
|
|
|
|
<pictureCube v-if="item.name == 'pictureCube'" :merId="id" :dataConfig="item"></pictureCube> |
|
|
|
|
<swipers v-if="item.name == 'swipers'" :merId="id" :dataConfig="item"></swipers> |
|
|
|
|
<titles v-if="item.name == 'titles'" :merId="id" :dataConfig="item"></titles> |
|
|
|
|
</view> |
|
|
|
|
</block> |
|
|
|
|
<!-- #endif --> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<!-- 首页 --> |
|
|
|
|
<view v-show="(tabActive == 3 || diyActive == 1 || diyActive == 2) && tabActive != 5 && tabActive != 2"> |
|
|
|
|
<view> |
|
|
|
|
<!-- 商品 --> |
|
|
|
|
<view v-if="goods.length" class="goods-wrap" id="goods" @touchmove="onTouchmove"> |
|
|
|
|
<view v-if="isColumn" class="goods column"> |
|
|
|
@ -256,144 +216,16 @@ |
|
|
|
|
</view> |
|
|
|
|
<emptyPage v-if="goods.length == 0 && !goodsLoading" title="暂无商品~"></emptyPage> |
|
|
|
|
</view> |
|
|
|
|
<!-- 分类 --> |
|
|
|
|
<view v-show="tabActive == 2"> |
|
|
|
|
<view class="category"> |
|
|
|
|
<view class="section"> |
|
|
|
|
<view class="head" @click="goCategoryGoods('')"> |
|
|
|
|
<view class="title">全部</view> |
|
|
|
|
<view class="iconfont icon-xiangyou"></view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view v-for="item in category" :key="item.store_category_id" class="section"> |
|
|
|
|
<view class="head" @click="goCategoryGoods(item.store_category_id)"> |
|
|
|
|
<view class="title">{{ item.cate_name }}</view> |
|
|
|
|
<view class="iconfont icon-xiangyou"></view> |
|
|
|
|
</view> |
|
|
|
|
<view v-if="item.children" class="body"> |
|
|
|
|
<view v-for="value in item.children" :key="value.store_category_id" class="item" @click="goCategoryGoods(value.store_category_id)">{{ value.cate_name }}</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="acea-row row-center-wrapper loadingicon"> |
|
|
|
|
<text :hidden="!categoryLoading" class="iconfont icon-jiazai loading"></text> |
|
|
|
|
{{loadTitle}} |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
<!--生活服务--> |
|
|
|
|
<view v-show="tabActive === 5" id="product" @touchmove="onTouchmoves"> |
|
|
|
|
<view v-if="productList.length" class="goods column"> |
|
|
|
|
<view v-for="item in productList" :key="item.product_id" class="item" @click="goGoodsDetail(item)"> |
|
|
|
|
<view class="image"> |
|
|
|
|
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage> |
|
|
|
|
</view> |
|
|
|
|
<view class="text acea-row row-between-wrapper"> |
|
|
|
|
<view class="name line2"> |
|
|
|
|
<text class="name_text line1">{{ item.store_name }}</text> |
|
|
|
|
</view> |
|
|
|
|
<view class="item_bot"> |
|
|
|
|
<view class="money-wrap acea-row"> |
|
|
|
|
<view class="money"> |
|
|
|
|
¥ |
|
|
|
|
<text>{{ item.price }}</text> |
|
|
|
|
</view> |
|
|
|
|
<view v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price" class="acea-row row-middle"> |
|
|
|
|
<text class='vip-money'>¥{{item.svip_price}}</text> |
|
|
|
|
<view class="vipImg"> |
|
|
|
|
<image class="image" :src="`${domain}/static/images/svip.png`"></image> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1" class="item_tags"> |
|
|
|
|
<text v-if="item.product_type != 0" :class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text> |
|
|
|
|
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text> |
|
|
|
|
<text class="tags_item delivery" v-if="item.delivery_free == 1">包邮</text> |
|
|
|
|
</view> |
|
|
|
|
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view v-if="item.max_extension && (item.product_type == 0 || item.product_type == 2)" class="foot"> |
|
|
|
|
<text v-show="!isColumn" class="iconfont"></text> |
|
|
|
|
最高赚 ¥{{ item.max_extension }} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view v-if="goodsLoading" class="acea-row row-center-wrapper loadingicon"> |
|
|
|
|
<text :hidden="!goodsLoading" class="iconfont icon-jiazai loading"></text> |
|
|
|
|
{{loadTitle}} |
|
|
|
|
</view> |
|
|
|
|
<emptyPage v-if="productList.length == 0 && !goodsLoading" title="暂无商品~"></emptyPage> |
|
|
|
|
</view> |
|
|
|
|
<!-- 优惠券 --> |
|
|
|
|
<view v-show="diyActive == 3 && tabActive == 1"> |
|
|
|
|
<view v-if="coupon.length" class="coupon"> |
|
|
|
|
<view v-for="item in coupon" :key="item.coupon_id" class="item"> |
|
|
|
|
<view class="left gary" v-if="item.issue"> |
|
|
|
|
<view class="money"> |
|
|
|
|
¥ |
|
|
|
|
<text>{{ item.coupon_price }}</text> |
|
|
|
|
</view> |
|
|
|
|
<view>满{{ item.use_min_price }}元可用</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="left" v-else :style="{ 'background-image': `url(${domain}/static/diy/couponBg${keyColor}.png)` }"> |
|
|
|
|
<view class="money"> |
|
|
|
|
¥ |
|
|
|
|
<text>{{ item.coupon_price }}</text> |
|
|
|
|
</view> |
|
|
|
|
<view>满{{ item.use_min_price }}元可用</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="right"> |
|
|
|
|
<view class="name line1"> |
|
|
|
|
<text :class="{gary:item.issue}">{{item.type===0?'店铺券':'商品券'}}</text> |
|
|
|
|
{{ item.title }} |
|
|
|
|
</view> |
|
|
|
|
<view class="time-wrap" style="justify-content: space-between;"> |
|
|
|
|
<block v-if="item.coupon_type == 1"> |
|
|
|
|
<view class="time">{{ item.use_start_time | dateFormat }}-{{ item.use_end_time | dateFormat }}</view> |
|
|
|
|
</block> |
|
|
|
|
<block v-if="item.coupon_type == 0"> |
|
|
|
|
<view>领取后{{ item.coupon_time}}天内可用</view> |
|
|
|
|
</block> |
|
|
|
|
<block v-if="item.issue"> |
|
|
|
|
<view class="gary iconfont icon-yilingqu2"></view> |
|
|
|
|
</block> |
|
|
|
|
<block v-else> |
|
|
|
|
<view class="button" @click="receiveCoupon(item)">立即领取</view> |
|
|
|
|
</block> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<emptyPage v-if="coupon.length == 0" title="暂无优惠券~"></emptyPage> |
|
|
|
|
</view> |
|
|
|
|
<!--活动专场--> |
|
|
|
|
<view v-show="tabActive === 4"> |
|
|
|
|
<block v-if="topicList.length>0"> |
|
|
|
|
<view class="main_count"> |
|
|
|
|
<navigator v-for="(item,index) in topicList" :key='item.group_data_id' :url="`/pages/activity/topic_detail/index?id=${item.group_data_id}`" hover-class="none"> |
|
|
|
|
<view class='list'> |
|
|
|
|
<image :src="item.pic" class="picture"></image> |
|
|
|
|
</view> |
|
|
|
|
</navigator> |
|
|
|
|
</view> |
|
|
|
|
</block> |
|
|
|
|
<block v-else> |
|
|
|
|
<view class='empty-box' v-cloak> |
|
|
|
|
<image src='../static/images/no-topic.png'></image> |
|
|
|
|
<view class="txt">暂无活动专场哦~</view> |
|
|
|
|
</view> |
|
|
|
|
</block> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
</scroll-view> |
|
|
|
|
<view class="footer" :style="viewColor" :class="{noPointer : preview}"> |
|
|
|
|
<!-- <view class="footer" :style="viewColor" :class="{noPointer : preview}"> |
|
|
|
|
<view v-for="(item, index) in tabs" :key="index" :class="{ active: tabActive === item.value }" class="item" @click="tab(item.value)"> |
|
|
|
|
<view :class="['iconfont', item.icon]"></view> |
|
|
|
|
<view>{{ item.name }}</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> --> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|