|
|
|
@ -1,77 +1,79 @@ |
|
|
|
<template> |
|
|
|
<view> |
|
|
|
<!-- 商品图片轮播 --> |
|
|
|
<swiper :current="current" :indicator-dots="true" :circular="true" class="swiper-box"> |
|
|
|
<swiper-item v-for="item in goods_detail.banners" :key="item.id"> |
|
|
|
<image :src="item.cover" style="width: 100%; height: 100%;"></image> |
|
|
|
<!-- <image :src="item.cover" mode="aspectFit"></image> --> |
|
|
|
</swiper-item> |
|
|
|
</swiper> |
|
|
|
<!-- 商品主要信息 --> |
|
|
|
<view class="head-info"> |
|
|
|
<view class="lf-font-40">{{ goods_detail.name }}</view> |
|
|
|
<view class="lf-row-between lf-font-24 lf-m-t-30 lf-p-b-20"> |
|
|
|
<view class="lf-flex price"> |
|
|
|
<view>¥{{ goods_detail.specs[0].selling_price }}</view> |
|
|
|
<view>¥{{ goods_detail.specs[0].original_price }}</view> |
|
|
|
<view v-if="goods_detail.specs[0].cost">{{ goods_detail.specs[0].cost }}</view> |
|
|
|
<block v-if="isRight(goods_detail)"> |
|
|
|
<!-- 商品图片轮播 --> |
|
|
|
<swiper :current="current" :indicator-dots="true" :circular="true" class="swiper-box"> |
|
|
|
<swiper-item v-for="item in goods_detail.banners" :key="item.id"> |
|
|
|
<image :src="item.cover" style="width: 100%; height: 100%;"></image> |
|
|
|
<!-- <image :src="item.cover" mode="aspectFit"></image> --> |
|
|
|
</swiper-item> |
|
|
|
</swiper> |
|
|
|
<!-- 商品主要信息 --> |
|
|
|
<view class="head-info"> |
|
|
|
<view class="lf-font-40">{{ goods_detail.name }}</view> |
|
|
|
<view class="lf-row-between lf-font-24 lf-m-t-30 lf-p-b-20"> |
|
|
|
<view class="lf-flex price"> |
|
|
|
<view>¥{{ goods_detail.specs[0].selling_price }}</view> |
|
|
|
<view>¥{{ goods_detail.specs[0].original_price }}</view> |
|
|
|
<view v-if="goods_detail.specs[0].cost">{{ goods_detail.specs[0].cost }}</view> |
|
|
|
</view> |
|
|
|
<view> |
|
|
|
<view class="lf-color-gray">{{ goods_detail.specs[0].sold_stock_text }}</view> |
|
|
|
<view class="lf-color-primary">{{ goods_detail.specs[0].stock_text }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view> |
|
|
|
<view class="lf-color-gray">{{ goods_detail.specs[0].sold_stock_text }}</view> |
|
|
|
<view class="lf-color-primary">{{ goods_detail.specs[0].stock_text }}</view> |
|
|
|
<view class="label-box" v-if="goods_detail.tags && goods_detail.tags.length"> |
|
|
|
<view class="label-item" v-for="(item, index) in goods_detail.tags" :key="index">{{ item }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="label-box" v-if="goods_detail.tags && goods_detail.tags.length"> |
|
|
|
<view class="label-item" v-for="(item, index) in goods_detail.tags" :key="index">{{ item }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<!-- 地址信息 --> |
|
|
|
<view class="address-box"> |
|
|
|
<view class="lf-font-32 lf-font-bold">适用门店</view> |
|
|
|
<view class="lf-m-t-20 lf-row-between"> |
|
|
|
<view class="lf-flex"> |
|
|
|
<image class="lf-fle shop-img" :src="goods_detail.store.cover"></image> |
|
|
|
<view class="lf-font-32 lf-m-l-20" style="max-width: 512rpx;">{{ goods_detail.store.name }}</view> |
|
|
|
<!-- 地址信息 --> |
|
|
|
<view class="address-box"> |
|
|
|
<view class="lf-font-32 lf-font-bold">适用门店</view> |
|
|
|
<view class="lf-m-t-20 lf-row-between"> |
|
|
|
<view class="lf-flex"> |
|
|
|
<image class="lf-fle shop-img" :src="goods_detail.store.cover"></image> |
|
|
|
<view class="lf-font-32 lf-m-l-20" style="max-width: 512rpx;">{{ goods_detail.store.name }}</view> |
|
|
|
</view> |
|
|
|
<view @click="makePhoneCall(goods_detail.store.tel)"> |
|
|
|
<u-icon name="phone" color="#3A62FF" size="46"></u-icon> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view @click="makePhoneCall(goods_detail.store.tel)"> |
|
|
|
<u-icon name="phone" color="#3A62FF" size="46"></u-icon> |
|
|
|
<view class="lf-flex lf-m-t-20" @click="openMap"> |
|
|
|
<u-icon name="map-fill" size="60"></u-icon> |
|
|
|
<view class="lf-m-l-20 lf-font-32">{{ goods_detail.store.address }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="lf-flex lf-m-t-20" @click="openMap"> |
|
|
|
<u-icon name="map-fill" size="60"></u-icon> |
|
|
|
<view class="lf-m-l-20 lf-font-32">{{ goods_detail.store.address }}</view> |
|
|
|
<!-- 商品详情 --> |
|
|
|
<view class="goods-detail"> |
|
|
|
<view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view> |
|
|
|
<image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index"></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<!-- 商品详情 --> |
|
|
|
<view class="goods-detail"> |
|
|
|
<view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view> |
|
|
|
<image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index"></image> |
|
|
|
</view> |
|
|
|
<!-- 修饰专用 --> |
|
|
|
<view class="extra"></view> |
|
|
|
<!-- 吸底操作按钮 --> |
|
|
|
<view class="lf-row-between fixed-bottom"> |
|
|
|
<view class="lf-flex lf-p-t-10 lf-p-b-10"> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="$url('/pages/index/index', {type: 'switch'})"> |
|
|
|
<u-icon name="home" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">首页</view> |
|
|
|
</view> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="$url('/pages/contactService/index')"> |
|
|
|
<u-icon name="server-fill" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">客服</view> |
|
|
|
</view> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="switchCollect"> |
|
|
|
<u-icon name="heart-fill" size="50" color="#FF0000" v-if="is_collect"></u-icon> |
|
|
|
<u-icon name="heart" size="50" v-else></u-icon> |
|
|
|
<view class="lf-m-t-1">{{ is_collect ? '已收藏' : '收藏' }}</view> |
|
|
|
<!-- 修饰专用 --> |
|
|
|
<view class="extra"></view> |
|
|
|
<!-- 吸底操作按钮 --> |
|
|
|
<view class="lf-row-between fixed-bottom"> |
|
|
|
<view class="lf-flex lf-p-t-10 lf-p-b-10"> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="$url('/pages/index/index', {type: 'switch'})"> |
|
|
|
<u-icon name="home" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">首页</view> |
|
|
|
</view> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="$url('/pages/contactService/index')"> |
|
|
|
<u-icon name="server-fill" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">客服</view> |
|
|
|
</view> |
|
|
|
<view class="lf-flex-column lf-row-center icon-item" @click="switchCollect"> |
|
|
|
<u-icon name="heart-fill" size="50" color="#FF0000" v-if="is_collect"></u-icon> |
|
|
|
<u-icon name="heart" size="50" v-else></u-icon> |
|
|
|
<view class="lf-m-t-1">{{ is_collect ? '已收藏' : '收藏' }}</view> |
|
|
|
</view> |
|
|
|
<button class="lf-flex-column lf-row-center icon-item" open-type="share"> |
|
|
|
<u-icon name="share" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">分享</view> |
|
|
|
</button> |
|
|
|
</view> |
|
|
|
<button class="lf-flex-column lf-row-center icon-item" open-type="share"> |
|
|
|
<u-icon name="share" size="50"></u-icon> |
|
|
|
<view class="lf-m-t-1">分享</view> |
|
|
|
</button> |
|
|
|
<button class="btn" @click="toAddOrder">立即抢购</button> |
|
|
|
</view> |
|
|
|
<button class="btn" @click="toAddOrder">立即抢购</button> |
|
|
|
</view> |
|
|
|
</block> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
@ -85,6 +87,13 @@ |
|
|
|
is_collect: 0 // 1为当前收藏商品了,0为否 |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
isRight(){ |
|
|
|
return function(val){ |
|
|
|
return this.$shared.isRight(val); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(options){ |
|
|
|
this.goods_id = options.id; |
|
|
|
this.getGoodsDetail(); |
|
|
|
@ -129,7 +138,7 @@ |
|
|
|
onShareAppMessage(){ |
|
|
|
let goods = this.goods_detail; |
|
|
|
let title = goods.name; |
|
|
|
let imageUrl = goods.cover; |
|
|
|
let imageUrl = goods.share_cover || goods.cover; |
|
|
|
let path = '/pages/route/index'; |
|
|
|
|
|
|
|
return { |
|
|
|
|