【优化】重写商品详情,拼团详情,秒杀详情,团购详情,服务商品详情风格

This commit is contained in:
大灰灰
2022-09-15 23:51:38 +08:00
parent 72534e1beb
commit 150eaf267d
8 changed files with 689 additions and 779 deletions

View File

@@ -4,8 +4,10 @@
<u-navbar title="团购详情" safeAreaInsetTop fixed placeholder>
<view class="coreshop-navbar-left-slot" slot="left">
<u-icon name="arrow-left" size="19" @click="goNavigateBack"></u-icon>
<u-line direction="column" :hairline="false" margin="0 8px"></u-line>
<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
<u-icon name="home" size="22" @click="goHome"></u-icon>
<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
<u-icon name="share-fill" size="22" @click="goShare"></u-icon>
</view>
<view slot="right">
</view>
@@ -16,71 +18,108 @@
<u-swiper height="calc(750rpx * 6 / 6)" radius="0" :list="goodsInfo.album" :autoplay="autoplay" indicator indicatorMode="line" circular @click="clickImg"></u-swiper>
</view>
<!--限时秒杀-->
<view class="coreshop-limited-seckill-box coreshop-bg-orange">
<text class="coreshop-text-price coreshop-font-20">{{ product.price || '0.00' }}</text>
<view class="coreshop-font-xs coreshop-cost-price-num price-4">
<view>已售{{ goodsInfo.buyCount || '0' }}/剩余{{ product.stock || '0' }}</view>
<view>累计销售{{ goodsInfo.buyCount || '0' }}</view>
</view>
<view class="coreshop-text-right coreshop-time-right">
<view>距结束仅剩</view>
<u-count-down :time="goodsInfo.groupTimestamp*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss"></u-count-down>
</view>
</view>
<!--标题-->
<view class="coreshop-bg-white coreshop-common-view-box coreshop-good-title-view-box">
<view class="title-view coreshop-text-black coreshop-font-lg coreshop-text-bold">
<view class="brand-tag" v-if="goodsInfo.brand"><u-tag :text="goodsInfo.brand.name" type="error" size="mini" /></view>
{{ goodsInfo.name || '' }}
</view>
<view class="coreshop-bg-red-light radius coreshop-margin-top-10 coreshop-title-tip-box">
<text class="coreshop-font-sm">{{ goodsInfo.brief || '' }}</text>
</view>
</view>
<!--服务-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">服务</text>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-justify-between coreshop-align-center">
<view class="coreshop-text-red coreshop-font-weight-bold">
<text class="coreshop-font-16">¥</text>
<text class="coreshop-font-24">{{ product.price || '0.00' }}</text>
</view>
<view class="coreshop-basis-8">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-flex-sub coreshop-flex coreshop-text-left coreshop-justify-center coreshop-align-center">
<view class="coreshop-text-right coreshop-time-right">
<u-count-down :time="goodsInfo.groupTimestamp*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss" @change="onChange">
<view class="time">
<view class="coreshop-font-12">仅剩</view>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.days }}</text>
</view>
<text class="time__doc"></text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
</view>
</view>
<view class="coreshop-flex coreshop-align-center">
<u-icon name="star-fill" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-else></u-icon>
</view>
</view>
<view class="coreshop-margin-top-12 coreshop-multiple-line-clamp">
<text class="coreshop-font-16 coreshop-text-black coreshop-font-weight-bold">{{ goodsInfo.name || '' }}</text>
</view>
<view class="coreshop-margin-top-8 coreshop-multiple-line-clamp">
<text class="coreshop-font-14 coreshop-text-gray">{{ goodsInfo.brief || '' }}</text>
</view>
<view class="coreshop-flex coreshop-margin-top-8" v-if="goodsInfo.brand || goodsInfo.labels">
<u-tag :text="goodsInfo.brand.name" v-if="goodsInfo.brand"></u-tag>
<view class="coreshop-margin-left-6" v-for="item in goodsInfo.labels" :key="item.id">
<u-tag :text="item.name" :bgColor="item.style" :borderColor="item.style"></u-tag>
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-padding-top-16 coreshop-solid-top coreshop-flex coreshop-justify-between coreshop-align-center coreshop-text-gray">
<view class="coreshop-font-12">
<text>已售</text>
<text class="font-color-orange">{{ goodsInfo.buyCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>累计销售</text>
<text>{{ goodsInfo.buyCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>库存</text>
<text>{{product.stock}}</text>
</view>
</view>
</view>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--服务-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">服务</text>
</view>
<view class="coreshop-basis-7 coreshop-flex coreshop-align-center">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-align-center">
<u-icon name="checkmark-circle" size="12" labelSize="12" color="#e54d42" :label="item.title" v-for="(item, index) in serviceDescription.service" :key="index" class="coreshop-margin-right-10"></u-icon>
</view>
</view>
<view class="coreshop-basis-1">
<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
<!--发货/规格-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">发货</text>
<!--发货-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-padding-top-10" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">发货</text>
</view>
<view class="coreshop-coreshop-basis-9" v-for="(item, index) in serviceDescription.delivery" :key="index">
<text class="coreshop-font-sm">{{item.description}}</text>
<view class="coreshop-coreshop-basis-8 coreshop-flex coreshop-align-center">
<text class="coreshop-font-sm" v-for="(item, index) in serviceDescription.delivery" :key="index">{{item.description}}</text>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<!--规格-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10" @tap="openSkuPopup">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">规格</text>
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">规格</text>
</view>
<view class="coreshop-basis-8">
<view class="coreshop-basis-7 coreshop-flex coreshop-align-center">
<text class="coreshop-font-sm">{{ product.spesDesc || ''}}</text>
</view>
<view class="coreshop-basis-1">
<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
@@ -120,25 +159,38 @@
</view>
</view>
<!--内容区-->
<view class="coreshop-margin-top-10 coreshop-bg-white">
<view class="coreshop-font-md coreshop-padding-top-10 coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row">
<u-icon name="more-circle" color="#e54d42" label="商品详情" labelSize="15px" label-pos="right"></u-icon>
<!--参数-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white" v-if="goodsParams.length>0">
<view>
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">参数</text>
</view>
<!--参数-->
<view class="coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row" v-for="(item, index) in goodsParams" :key="index">
<text class="coreshop-text-gray">{{ item.name || ''}}</text>
<text class="coreshop-text-black">{{ item.value || ''}}</text>
</view>
<view class="coreshop-padding-10">
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
<view class="goods-param-box">
<view class="goods-param-line" v-for="(item, index) in goodsParams" :key="index">
<view class="name">
<text>{{item.name}}</text>
</view>
<view class="value">
<text>{{item.value}}</text>
</view>
</view>
</view>
</view>
<!--内容区-->
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">详情介绍</view>
<view class="line-70"></view>
</view>
<view class="coreshop-margin-top-10 coreshop-bg-white">
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox coreshop-padding-10" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
</view>
<!-- 分享弹窗 -->
<view class="coreshop-padding-0">
<u-popup mode="bottom" :show="shareBox" ref="share">
@@ -156,86 +208,32 @@
</view>
<!--常见问题-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-margin-bottom-30 coreshop-common-view-box">
<view class="coreshop-font-md coreshop-padding-bottom-20 coreshop-flex-direction-row">
<u-icon name="question-circle" color="#e54d42" label="常见说明" labelSize="15px" label-pos="right"></u-icon>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-margin-bottom-16">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">常见问题</text>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10 coreshop-flex-direction-row" v-for="(item, index) in serviceDescription.commonQuestion" :key="index">
<view class="coreshop-basis-2">
<view class="coreshop-basis-2 coreshop-font-13">
{{item.title}}
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">{{item.description}}</view>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10" @tap="goArticleList()">查看更多问题</view>
</view>
<!--商家及推荐-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box coreshop-goods-shop-info-view-box">
<view class="coreshop-shop-view">
<view class="coreshop-position-absolute">
<u-avatar :src="shopLogo"></u-avatar>
</view>
<view class="coreshop-margin-left-10 coreshop-padding-left-40 coreshop-padding-right-40">
<view class="coreshop-margin-bottom-5">{{shopName}}</view>
<view class="coreshop-font-sm u-line-1">{{shareTitle}}</view>
</view>
<u-button type="error" size="mini" :plain="true" @click="doPhoneCall">联系商家</u-button>
</view>
<view class="coreshop-solid-bottom coreshop-padding-top-5 coreshop-padding-bottom-5" />
<view class="live-tag-view coreshop-margin-top-10 coreshop-margin-bottom-10">
<view class="text-view">
<view class="location-tag"><u-tag text="已定位" mode="plain" size="mini" type="warning" /></view>
<text class="coreshop-margin-left-10 u-line-1">可直接获取商家地理位置信息</text>
</view>
<view class="coreshop-font-sm coreshop-text-red go-map-box" @tap="goShopMap">
<text class="coreshop-margin-right-10">去地图</text>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-good-shop-recommend-list-box">
<view class="coreshop-font-sm coreshop-padding-top-10 ">本店推荐</view>
<!--滑动列表-->
<view class="recommend-scroll-box">
<scroll-view class="recommend-scroll" scroll-x>
<block v-for="(items,indexs) in shopRecommendData" :key="indexs">
<view :id="['scroll' + (indexs + 1 )]" class="recommend-scroll-item" @tap="goGoodsDetail(items.id)">
<u--image :src="items.image" mode="widthFix" width="91px" height="91px" radius="10"></u--image>
<view class="u-line-2 coreshop-font-sm coreshop-text-black coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-min-height-34">{{items.name}}</view>
<view class="coreshop-text-red coreshop-text-price coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-font-md coreshop-flex-direction-row">
{{items.price}}
</view>
</view>
</block>
</scroll-view>
</view>
</view>
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10 coreshop-font-13" @tap="goArticleList()">查看更多问题</view>
</view>
<!--为您推荐-->
<view class="coreshop-recommended-title-view">
<view class="coreshop-flex coreshop-flex-wrap coreshop-flex-direction-row">
<view class="coreshop-flex-4 coreshop-text-right">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
<view class="coreshop-flex-4 coreshop-text-center">
<text class="coreshop-text-black coreshop-font-lg">为您推荐</text>
</view>
<view class="coreshop-flex-4 coreshop-text-left">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">为您推荐</view>
<view class="line-70"></view>
</view>
<!--推荐列表-->
<view class="coreshop-goods-group" v-if="otherRecommendData.length>0">
<view class="coreshop-goods-group" v-if="shopRecommendData.length>0">
<u-grid col="2" :border="false" align="left">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in otherRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in shopRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<view class="good_box">
<u--image :src="item.image" mode="widthFix" width="100%" height="174px" radius="10"></u--image>
<view class="good_title u-line-2 coreshop-min-height-34">
@@ -255,7 +253,6 @@
</u-grid>
</view>
<u-popup class="coreshop-bottom-popup-box" :show="bottomModal" mode="bottom" height="70%" @close="hideModal" :closeable="true">
<view class="radius coreshop-bg-white">
<!--标题-->
@@ -294,7 +291,7 @@
<!--底部操作-->
<view class="coreshop-good-footer-fixed">
<view class="tabbar">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-5">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-start coreshop-basis-4">
<!-- 客服按钮 -->
<!-- #ifdef H5 || APP-PLUS-NVUE || APP-PLUS -->
<view class="action" @click="showChat()">
@@ -310,16 +307,10 @@
</button>
</view>
<!-- #endif -->
<view class="action" @click="collection">
<button class="noButtonStyle">
<u-icon name="star-fill" :size="20" label="已收藏" :labelSize="12" labelPos="bottom" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="加收藏" :labelSize="12" labelPos="bottom" v-else></u-icon>
</button>
</view>
<view class="action" @click="redirectCart">
<button class="noButtonStyle">
<u-badge type="warning" :value="cartNums" showZero="false" absolute="true" :offset="[1, 4]"></u-badge>
<u-icon name="shopping-cart" :size="20" label="购物车" :labelSize="12" labelPos="bottom"></u-icon>
<u-icon name="shopping-cart-fill" :size="24" label="购物车" :labelSize="12" space="1px" labelPos="bottom"></u-icon>
</button>
</view>
</view>
@@ -336,7 +327,9 @@
:localdata="goodsSkuInfo"
mode="3"
@add-cart="addCart"
@buy-now="buyNow"></vk-data-goods-sku-popup>
@buy-now="buyNow"
buy-now-text="立即团购"
></vk-data-goods-sku-popup>
<!-- 右边浮动球 -->
<coreshop-fab horizontal="right" vertical="bottom" direction="vertical"></coreshop-fab>
@@ -363,7 +356,6 @@
goodsParams: [], // 商品参数信息
goodsComments: [], // 商品评论信息
shopRecommendData: [], // 本店推荐数据
otherRecommendData: [], // 其他数据
type: 2,
cartType: this.$globalConstVars.paymentType.group,
isfav: false, // 商品是否收藏
@@ -385,7 +377,8 @@
commonQuestion: [],
delivery: [],
service: [],
}
},
timeData: {},
};
},
onLoad(e) {
@@ -452,12 +445,12 @@
// #ifdef H5 || MP-WEIXIN || APP-PLUS || APP-PLUS-NVUE
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.route + '?id=' + this.goodsId + '&groupId=' + this.groupId;
// #endif
// #ifdef MP-ALIPAY
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.__proto__.route + '?id=' + this.goodsId + '&groupId=' + this.groupId;
// #endif
}
},
methods: {
onChange(e) {
this.timeData = e
},
// 打开sku弹出
openSkuPopup() {
this.skuKey = true;
@@ -600,17 +593,6 @@
_this.$u.toast(res.msg)
}
});
let data = {
id: 10
}
_this.$u.api.getGoodsRecommendList(data).then(res => {
if (res.status) {
_this.otherRecommendData = _this.$u.randomArray(res.data);
} else {
_this.$u.toast(res.msg)
}
});
},
// 获取购物车数量
getCartNums() {

View File

@@ -18,248 +18,269 @@
<u-swiper height="calc(750rpx * 6 / 6)" radius="0" :list="goodsInfo.album" :autoplay="autoplay" indicator indicatorMode="line" circular @click="clickImg"></u-swiper>
</view>
<!--限时秒杀-->
<view class="coreshop-limited-seckill-box coreshop-bg-pink">
<text class="coreshop-text-price coreshop-font-20">{{ price || '0.00' }}</text>
<view class="coreshop-font-xs coreshop-cost-price-num price-4">
<view class="coreshop-text-through">已售{{ goodsInfo.buyPinTuanCount || '0' }}/剩余{{ product.stock || '0' }}</view>
<view>累计销售{{ goodsInfo.buyCount || '0' }}</view>
</view>
<view class="coreshop-text-right coreshop-time-right" v-if="goodsInfo.pinTuanRule && goodsInfo.pinTuanRule.pinTuanStartStatus == 1">
<view>距结束仅剩</view>
<u-count-down :time="goodsInfo.pinTuanRule.lastTime*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss"></u-count-down>
</view>
<view class="coreshop-text-right coreshop-time-right" v-if="goodsInfo.pinTuanRule && goodsInfo.pinTuanRule.pinTuanStartStatus == 2">
<view>即将开团</view>
<u-count-down :time="goodsInfo.pinTuanRule.lastTime*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss"></u-count-down>
</view>
</view>
<!--标题-->
<view class="coreshop-bg-white coreshop-common-view-box coreshop-good-title-view-box">
<view class="title-view coreshop-text-black coreshop-font-lg coreshop-text-bold">
<view class="brand-tag" v-if="goodsInfo.brand"><u-tag :text="goodsInfo.brand.name" type="error" size="mini" /></view>
{{ goodsInfo.name || '' }}
</view>
<view class="coreshop-bg-red-light radius coreshop-margin-top-10 coreshop-title-tip-box">
<text class="coreshop-font-sm">{{ goodsInfo.brief || '' }}</text>
</view>
</view>
<!--服务-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">服务</text>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-justify-between coreshop-align-center">
<view class="coreshop-text-red coreshop-font-weight-bold">
<text class="coreshop-font-16">¥</text>
<text class="coreshop-font-24">{{ price || '0.00' }}</text>
</view>
<view class="coreshop-basis-8">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-flex-sub coreshop-flex coreshop-text-left coreshop-justify-center coreshop-align-center">
<view class="coreshop-text-right coreshop-time-right" v-if="goodsInfo.pinTuanRule && goodsInfo.pinTuanRule.pinTuanStartStatus == 1">
<u-count-down :time="goodsInfo.pinTuanRule.lastTime*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss" @change="onChange">
<view class="time">
<view class="coreshop-font-12">仅剩</view>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.days }}</text>
</view>
<text class="time__doc"></text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
</view>
<view class="coreshop-text-right coreshop-time-right" v-if="goodsInfo.pinTuanRule && goodsInfo.pinTuanRule.pinTuanStartStatus == 2">
<u-count-down :time="goodsInfo.pinTuanRule.lastTime*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss">
<view class="time">
<view class="coreshop-font-12">即将开团</view>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.days }}</text>
</view>
<text class="time__doc"></text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
</view>
</view>
<view class="coreshop-flex coreshop-align-center">
<u-icon name="star-fill" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-else></u-icon>
</view>
</view>
<view class="coreshop-margin-top-12 coreshop-multiple-line-clamp">
<text class="coreshop-font-16 coreshop-text-black coreshop-font-weight-bold">{{ goodsInfo.name || '' }}</text>
</view>
<view class="coreshop-margin-top-8 coreshop-multiple-line-clamp">
<text class="coreshop-font-14 coreshop-text-gray">{{ goodsInfo.brief || '' }}</text>
</view>
<view class="coreshop-flex coreshop-margin-top-8" v-if="goodsInfo.brand || goodsInfo.labels">
<u-tag :text="goodsInfo.brand.name" v-if="goodsInfo.brand"></u-tag>
<view class="coreshop-margin-left-6" v-for="item in goodsInfo.labels" :key="item.id">
<u-tag :text="item.name" :bgColor="item.style" :borderColor="item.style"></u-tag>
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-padding-top-16 coreshop-solid-top coreshop-flex coreshop-justify-between coreshop-align-center coreshop-text-gray">
<view class="coreshop-font-12">
<text>已售</text>
<text class="font-color-orange">{{ goodsInfo.buyPinTuanCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>累计销售</text>
<text>{{ goodsInfo.buyCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>库存</text>
<text>{{product.stock}}</text>
</view>
</view>
</view>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--服务-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">服务</text>
</view>
<view class="coreshop-basis-7 coreshop-flex coreshop-align-center">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-align-center">
<u-icon name="checkmark-circle" size="12" labelSize="12" color="#e54d42" :label="item.title" v-for="(item, index) in serviceDescription.service" :key="index" class="coreshop-margin-right-10"></u-icon>
</view>
</view>
<view class="coreshop-basis-1">
<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
<!--发货/规格-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">发货</text>
</view>
<view class="coreshop-coreshop-basis-9" v-for="(item, index) in serviceDescription.delivery" :key="index">
<text class="coreshop-font-sm">{{item.description}}</text>
</view>
</view>
<!--发货/规格-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10" v-if="isSpes">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">规格</text>
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10 coreshop-flex-direction-row" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">发货</text>
</view>
<view class="coreshop-basis-8">
<text class="coreshop-font-sm">{{ product.spesDesc || ''}}</text>
</view>
<view class="coreshop-basis-1">
<!--<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
</view>-->
<view class="coreshop-coreshop-basis-8 coreshop-flex coreshop-align-center">
<text class="coreshop-font-sm" v-for="(item, index) in serviceDescription.delivery" :key="index">{{item.description}}</text>
</view>
</view>
</view>
</view>
<!-- 团购拼单 -->
<view class="tuan">
<view class="coreshop-cell-group coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="pinTuanRecord.length > 0">
<view class="coreshop-cell-item right-img">
<view class="coreshop-cell-item-hd">
<view class="coreshop-cell-hd-title">{{ teamCount || '0' }}人在拼单可直接参与</view>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-margin-bottom-16">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">开团信息</text>
</view>
<view class="tuan">
<view class="coreshop-cell-group coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="pinTuanRecord.length > 0">
<view class="coreshop-cell-item right-img">
<view class="coreshop-cell-item-hd">
<view class="coreshop-cell-hd-title">{{ teamCount || '0' }}人在拼单可直接参与</view>
</view>
</view>
</view>
<view class="group-swiper">
<swiper class="group-swiper-c" :class="swiperSet.groupHeight" :indicator-dots="swiperSet.indicatorDots" :autoplay="swiperSet.autoplay" vertical="true" circular="true" :interval="swiperSet.interval" :duration="swiperSet.duration">
<swiper-item v-for="(item, index) in pinTuanRecord" :key="index">
<view class="swiper-item">
<view class="coreshop-cell-item" :class="item[0].isOverdue?'coreshop-lower-shelf':''">
<view class="img-lower-box" :class="item[0].isOverdue?'coreshop-lower-box':''" v-if="item[0].isOverdue">已结束</view>
<view class="coreshop-cell-item-hd">
<u--image width="35px" height="35px" :src="item[0].userAvatar" shape="circle"></u--image>
<view class="coreshop-cell-hd-title coreshop-margin-left-8">{{ item[0].nickName || '' }}</view>
</view>
<view class="coreshop-cell-item-bd">
<view class="coreshop-cell-bd-view">
<text class="coreshop-cell-bd-text coreshop-font-xs">
还差
<text class="coreshop-text-red">{{ item[0].teamNums || '' }}</text>
拼成
</text>
<view class="group-swiper">
<swiper class="group-swiper-c" :class="swiperSet.groupHeight" :indicator-dots="swiperSet.indicatorDots" :autoplay="swiperSet.autoplay" vertical="true" circular="true" :interval="swiperSet.interval" :duration="swiperSet.duration">
<swiper-item v-for="(item, index) in pinTuanRecord" :key="index">
<view class="swiper-item">
<view class="coreshop-cell-item" :class="item[0].isOverdue?'coreshop-lower-shelf':''">
<view class="img-lower-box" :class="item[0].isOverdue?'coreshop-lower-box':''" v-if="item[0].isOverdue">已结束</view>
<view class="coreshop-cell-item-hd">
<u--image width="35px" height="35px" :src="item[0].userAvatar" shape="circle"></u--image>
<view class="coreshop-cell-hd-title coreshop-margin-left-8">{{ item[0].nickName || '' }}</view>
</view>
<view class="coreshop-cell-bd-view coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center coreshop-align-center">
<text class="coreshop-font-xs">剩余</text>
<u-count-down :time="item[0].lastTime * 1000 " class="coreshop-font-12"></u-count-down>
</view>
</view>
<view class="coreshop-cell-item-ft">
<u-button type="success" size="mini" @click="selectTap(2, item[0].teamId)" v-if="!item[0].isOverdue">去拼单</u-button>
<u-button type="default" size="mini" v-if="item[0].isOverdue">已结束</u-button>
</view>
</view>
<view class="coreshop-cell-item" v-if="item[1]" :class="item[1].isOverdue?'coreshop-lower-shelf':''">
<view class="img-lower-box" :class="item[1].isOverdue?'coreshop-lower-box':''" v-if="item[1].isOverdue">已结束</view>
<view class="coreshop-cell-item-hd">
<u--image width="40px" height="40px" :src="item[1].userAvatar" shape="circle" class="coreshop-margin-right-8"></u--image>
<view class="coreshop-cell-hd-title">{{ item[1].nickName || '' }}</view>
</view>
<view class="coreshop-cell-item-bd">
<view class="coreshop-cell-bd-view">
<text class="coreshop-cell-bd-text coreshop-font-xs">
还差
<text class="coreshop-text-red">{{ item[1].teamNums || '' }}</text>
拼成
</text>
</view>
<view class="coreshop-cell-bd-view">
<view class="commodity-day">
<view class="coreshop-cell-item-bd">
<view class="coreshop-cell-bd-view">
<text class="coreshop-cell-bd-text coreshop-font-xs">
还差
<text class="coreshop-text-red">{{ item[0].teamNums || '' }}</text>
拼成
</text>
</view>
<view class="coreshop-cell-bd-view coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center coreshop-align-center">
<text class="coreshop-font-xs">剩余</text>
<u-count-down :timestamp="item[1].lastTime" separator="zh" :show-days="true" :show-hours="true" :show-minutes="true" :show-seconds="true" font-size="22" separator-size="22" color="#ff7300" bg-color="#ffd4b0" @end="end(index,1)"></u-count-down>
<u-count-down :time="item[0].lastTime * 1000 " class="coreshop-font-12"></u-count-down>
</view>
</view>
<view class="coreshop-cell-item-ft">
<u-button type="success" size="mini" @click="selectTap(2, item[0].teamId)" v-if="!item[0].isOverdue">去拼单</u-button>
<u-button type="default" size="mini" v-if="item[0].isOverdue">已结束</u-button>
</view>
</view>
<view class="coreshop-cell-item-ft">
<u-button type="success" size="mini" @click="selectTap(2, item[1].teamId)" v-if="!item[1].isOverdue">去拼单</u-button>
<u-button type="default" size="mini" v-if="item[1].isOverdue">已结束</u-button>
<view class="coreshop-cell-item" v-if="item[1]" :class="item[1].isOverdue?'coreshop-lower-shelf':''">
<view class="img-lower-box" :class="item[1].isOverdue?'coreshop-lower-box':''" v-if="item[1].isOverdue">已结束</view>
<view class="coreshop-cell-item-hd">
<u--image width="40px" height="40px" :src="item[1].userAvatar" shape="circle" class="coreshop-margin-right-8"></u--image>
<view class="coreshop-cell-hd-title">{{ item[1].nickName || '' }}</view>
</view>
<view class="coreshop-cell-item-bd">
<view class="coreshop-cell-bd-view">
<text class="coreshop-cell-bd-text coreshop-font-xs">
还差
<text class="coreshop-text-red">{{ item[1].teamNums || '' }}</text>
拼成
</text>
</view>
<view class="coreshop-cell-bd-view">
<view class="commodity-day">
<text class="coreshop-font-xs">剩余</text>
<u-count-down :timestamp="item[1].lastTime" separator="zh" :show-days="true" :show-hours="true" :show-minutes="true" :show-seconds="true" font-size="22" separator-size="22" color="#ff7300" bg-color="#ffd4b0" @end="end(index,1)"></u-count-down>
</view>
</view>
</view>
<view class="coreshop-cell-item-ft">
<u-button type="success" size="mini" @click="selectTap(2, item[1].teamId)" v-if="!item[1].isOverdue">去拼单</u-button>
<u-button type="default" size="mini" v-if="item[1].isOverdue">已结束</u-button>
</view>
</view>
</view>
</view>
</swiper-item>
</swiper>
</swiper-item>
</swiper>
</view>
</view>
</view>
<view class="coreshop-cell-group coreshop-margin-top-10 coreshop-margin-bottom-10" v-else>
<view class="coreshop-cell-item right-img">
<view class="coreshop-cell-item-hd"><view class="coreshop-cell-hd-title">暂无开团信息</view></view>
<view class="coreshop-cell-group coreshop-margin-top-10 coreshop-margin-bottom-10" v-else>
<view class="coreshop-cell-item right-img">
<view class="coreshop-cell-item-hd"><view class="coreshop-cell-hd-title">暂无开团信息</view></view>
</view>
</view>
</view>
</view>
<!--评论-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-padding-left-10 coreshop-padding-right-10 coreshop-padding-bottom-10" v-if="goodsComments.length">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10 coreshop-flex-direction-row">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-md">评价{{goodsComments.length}}</text>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-3">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">评价{{goodsComments.length}}</text>
</view>
<view class="coreshop-basis-7"></view>
<view class="coreshop-basis-1">
<view class="coreshop-basis-3"></view>
<view class="coreshop-basis-4">
<view class="coreshop-float-right">
<u-icon name="arrow-right" @tap="goGoodComments(goodsInfo.id)"></u-icon>
<u-icon name="arrow-right" label="查看更多" labelPos="left" labelSize="12px" labelColor="color['u-content-color']" @tap="goGoodComments(goodsInfo.id)"></u-icon>
</view>
</view>
</view>
<view v-for="(item, index) in goodsComments" :key="index">
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-10 coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<view class="coreshop-avatar sm round" :style="[{backgroundImage:'url('+ item.avatarImage +')'}]" />
<view v-if="goodsComments.length">
<view v-for="(item, index) in goodsComments" :key="index">
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-10 coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<view class="coreshop-avatar sm round" :style="[{backgroundImage:'url('+ item.avatarImage +')'}]" />
</view>
<view class="coreshop-basis-9 coreshop-font-sm">
<view>{{ (item.nickName && item.nickName != '')?item.nickName:item.mobile }}</view>
<view class="coreshop-margin-top-10">{{ item.contentBody || ''}}</view>
<view class="coreshop-text-gray coreshop-margin-top-5">
<u-rate v-model="item.score" :count="5" size="15"></u-rate>
</view>
<view class="coreshop-margin-top-10" v-if="item.imagesArr">
<u-album :urls="item.imagesArr" rowCount="4"></u-album>
</view>
<view class="coreshop-text-gray coreshop-margin-top-5 coreshop-font-12">{{ item.createTime || ''}} {{ item.addon || ''}}</view>
</view>
</view>
<view class="coreshop-basis-9 coreshop-font-sm">
<view>{{ (item.nickName && item.nickName != '')?item.nickName:item.mobile }}</view>
<view class="coreshop-margin-top-10">{{ item.contentBody || ''}}</view>
<view class="coreshop-text-gray coreshop-margin-top-5">
<u-rate v-model="item.score" :count="5" size="13"></u-rate>
</view>
<view class="coreshop-margin-top-10" v-if="item.imagesArr">
<u-album :urls="item.imagesArr" rowCount="4"></u-album>
</view>
<view class="coreshop-text-gray coreshop-margin-top-5 coreshop-font-12">{{ item.createTime || ''}} {{ item.addon || ''}}</view>
</view>
</view>
<view class="coreshop-margin-top-16" v-else>
<text class="coreshop-text-gray coreshop-font-12">该商品暂无评价</text>
</view>
</view>
<!--参数-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white" v-if="goodsParams.length>0">
<view>
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">参数</text>
</view>
<view class="goods-param-box">
<view class="goods-param-line" v-for="(item, index) in goodsParams" :key="index">
<view class="name">
<text>{{item.name}}</text>
</view>
<view class="value">
<text>{{item.value}}</text>
</view>
</view>
</view>
</view>
<!--内容区-->
<view class="coreshop-margin-top-10 coreshop-bg-white">
<view class="coreshop-font-md coreshop-padding-top-10 coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row">
<u-icon name="more-circle" color="#e54d42" label="商品详情" labelSize="15px" label-pos="right"></u-icon>
</view>
<!--参数-->
<view class="coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row" v-for="(item, index) in goodsParams" :key="index">
<text class="coreshop-text-gray">{{ item.name || ''}}</text>
<text class="coreshop-text-black">{{ item.value || ''}}</text>
</view>
<view class="coreshop-padding-10">
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">详情介绍</view>
<view class="line-70"></view>
</view>
<!--商家及推荐-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box coreshop-goods-shop-info-view-box">
<view class="coreshop-shop-view">
<view class="coreshop-position-absolute">
<u-avatar :src="shopLogo"></u-avatar>
</view>
<view class="coreshop-margin-left-10 coreshop-padding-left-40 coreshop-padding-right-40">
<view class="coreshop-margin-bottom-5">{{shopName}}</view>
<view class="coreshop-font-sm u-line-1">{{shareTitle}}</view>
</view>
<u-button type="error" size="mini" :plain="true" @click="doPhoneCall">联系商家</u-button>
</view>
<view class="coreshop-solid-bottom coreshop-padding-top-5 coreshop-padding-bottom-5" />
<view class="live-tag-view coreshop-margin-top-10 coreshop-margin-bottom-10">
<view class="text-view">
<view class="location-tag"><u-tag text="已定位" mode="plain" size="mini" type="warning" /></view>
<text class="coreshop-margin-left-10 u-line-1">可直接获取商家地理位置信息</text>
</view>
<view class="coreshop-font-sm coreshop-text-red go-map-box" @tap="goShopMap">
<text class="coreshop-margin-right-10">去地图</text>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-good-shop-recommend-list-box">
<view class="coreshop-font-sm coreshop-padding-top-10 ">本店推荐</view>
<!--滑动列表-->
<view class="recommend-scroll-box">
<scroll-view class="recommend-scroll" scroll-x>
<block v-for="(items,indexs) in shopRecommendData" :key="indexs">
<view :id="['scroll' + (indexs + 1 )]" class="recommend-scroll-item" @tap="goGoodsDetail(items.id)">
<u--image :src="items.image" mode="widthFix" width="91px" height="91px" radius="10"></u--image>
<view class="u-line-1-2 coreshop-font-sm coreshop-text-black coreshop-margin-top-10 coreshop-margin-bottom-10 u-line-2 coreshop-min-height-34">{{items.name}}</view>
<view class="coreshop-text-red coreshop-text-price coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-font-md coreshop-flex-direction-row">
{{items.price}}
</view>
</view>
</block>
</scroll-view>
</view>
<view class="coreshop-margin-top-10 coreshop-bg-white">
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox coreshop-padding-10" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
</view>
@@ -306,47 +327,33 @@
<div id="qrCode" ref="qrCodeDiv"></div>
</view>
<!--常见问题-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-margin-bottom-30 coreshop-common-view-box">
<view class="coreshop-font-md coreshop-padding-bottom-20 coreshop-flex-direction-row">
<u-icon name="question-circle" color="#e54d42" label="常见说明" labelSize="15px" label-pos="right"></u-icon>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-margin-bottom-16">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">常见问题</text>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10 coreshop-flex-direction-row" v-for="(item, index) in serviceDescription.commonQuestion" :key="index">
<view class="coreshop-basis-2">
<view class="coreshop-basis-2 coreshop-font-13">
{{item.title}}
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">{{item.description}}</view>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10" @tap="goArticleList()">查看更多问题</view>
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10 coreshop-font-13" @tap="goArticleList()">查看更多问题</view>
</view>
<!--为您推荐-->
<view class="coreshop-recommended-title-view">
<view class="coreshop-flex coreshop-flex-wrap coreshop-flex-direction-row">
<view class="coreshop-flex-4 coreshop-text-right">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
<view class="coreshop-flex-4 coreshop-text-center">
<text class="coreshop-text-black coreshop-font-lg">为您推荐</text>
</view>
<view class="coreshop-flex-4 coreshop-text-left">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">为您推荐</view>
<view class="line-70"></view>
</view>
<!--推荐列表-->
<view class="coreshop-goods-group" v-if="otherRecommendData.length>0">
<view class="coreshop-goods-group" v-if="shopRecommendData.length>0">
<u-grid col="2" :border="false" align="left">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in otherRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in shopRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<view class="good_box">
<u--image :src="item.image" mode="widthFix" width="100%" height="174px" radius="10"></u--image>
<view class="good_title u-line-2 coreshop-min-height-34">
@@ -371,32 +378,26 @@
<!--底部操作-->
<view class="coreshop-good-footer-fixed">
<view class="tabbar">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-5">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-start coreshop-basis-4">
<!-- 客服按钮 -->
<!-- #ifdef H5 || APP-PLUS-NVUE || APP-PLUS -->
<view class="action" @click="showChat()">
<u-icon name="server-fill" :size="20" label="撩客服" :labelSize="12" labelPos="bottom"></u-icon>
<button class="noButtonStyle">
<u-icon name="server-fill" :size="20" label="找客服" :labelSize="12" labelPos="bottom"></u-icon>
</button>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="action">
<button open-type="contact" bindcontact="showChat" class="noButtonStyle" :send-message-title="goodsInfo.name" :send-message-path="'/pages/goods/goodDetails/goodDetails?id='+goodsInfo.id" :send-message-img="goodsInfo.image" show-message-card="true">
<u-icon name="server-fill" :size="20" label="客服" :labelSize="12" labelPos="bottom"></u-icon>
<u-icon name="server-fill" :size="20" label="客服" :labelSize="12" space="5px" labelPos="bottom"></u-icon>
</button>
</view>
<!-- #endif -->
<view class="action" @click="collection">
<button class="noButtonStyle">
<u-icon name="star-fill" :size="20" label="已收藏" :labelSize="12" labelPos="bottom" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="加收藏" :labelSize="12" labelPos="bottom" v-else></u-icon>
</button>
</view>
<view class="action" @click="redirectCart">
<button class="noButtonStyle">
<u-badge type="warning" :value="cartNums" showZero="false" absolute="true" :offset="[1, 4]"></u-badge>
<u-icon name="shopping-cart" :size="20" label="购物车" :labelSize="12" labelPos="bottom"></u-icon>
<u-icon name="shopping-cart-fill" :size="24" label="购物车" :labelSize="12" space="1px" labelPos="bottom"></u-icon>
</button>
</view>
</view>
@@ -461,13 +462,9 @@
</view>
</u-popup>
<vk-data-goods-sku-popup v-model="skuKey" border-radius="20" :amount-type="0" :localdata="goodsSkuInfo" mode="3" @open="openSkuPopup" @close="closeSkuPopup" @buy-now="buyNow"></vk-data-goods-sku-popup>
<vk-data-goods-sku-popup v-model="skuSingleKey" border-radius="20" :amount-type="0" :localdata="discountsGoodsSkuInfo" mode="3" @open="openSkuSinglePopup" @close="closeSkuSinglePopup" @buy-now="buyNow"></vk-data-goods-sku-popup>
<!-- 右边浮动球 -->
<coreshop-fab horizontal="right" vertical="bottom" direction="vertical"></coreshop-fab>
<!-- 登录提示 -->
@@ -496,7 +493,6 @@
cartNums: 0, // 购物车数量
product: {}, // 货品详情
shopRecommendData: [], // 本店推荐数据
otherRecommendData: [], // 其他数据
goodsParams: [], // 商品参数信息
goodsComments: [], // 商品评论信息
pinTuanType: 2, // 1单独购买 2拼团
@@ -533,7 +529,8 @@
commonQuestion: [],
delivery: [],
service: [],
}
},
timeData: {},
};
},
onLoad(e) {
@@ -612,15 +609,15 @@
// #ifdef H5 || MP-WEIXIN || APP-PLUS || APP-PLUS-NVUE
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.route + '?id=' + this.goodsId + '&pinTuanId=' + this.pinTuanId;
// #endif
// #ifdef MP-ALIPAY
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.__proto__.route + '?id=' + this.goodsId + '&pinTuanId=' + this.pinTuanId;
// #endif
},
defaultSpesDesc() {
return this.product.defaultSpecificationDescription;
}
},
methods: {
onChange(e) {
this.timeData = e
},
// 打开sku弹出
openSkuPopup() {
this.skuKey = true;
@@ -798,17 +795,6 @@
_this.$u.toast(res.msg)
}
});
let data = {
id: 10
}
_this.$u.api.getGoodsRecommendList(data).then(res => {
if (res.status) {
_this.otherRecommendData = _this.$u.randomArray(res.data);
} else {
_this.$u.toast(res.msg)
}
});
},
// 获取通过分享进来的拼团数据
getTeam(id) {

View File

@@ -18,127 +18,180 @@
<u-swiper height="calc(750rpx * 6 / 6)" radius="0" :list="goodsInfo.album" :autoplay="autoplay" indicator indicatorMode="line" circular @click="clickImg"></u-swiper>
</view>
<!--限时秒杀-->
<view class="coreshop-limited-seckill-box coreshop-bg-mauve">
<text class="coreshop-text-price coreshop-font-20">{{ product.price || '0.00' }}</text>
<view class="coreshop-font-xs coreshop-cost-price-num price-4">
<view>已售{{ goodsInfo.buyCount || '0' }}/剩余{{ product.stock || '0' }}</view>
<view>累计销售{{ goodsInfo.buyCount || '0' }}</view>
</view>
<view class="coreshop-text-right coreshop-time-right">
<view>距结束仅剩</view>
<u-count-down :time="goodsInfo.groupTimestamp*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss"></u-count-down>
</view>
</view>
<!--标题-->
<view class="coreshop-bg-white coreshop-common-view-box coreshop-good-title-view-box">
<view class="title-view coreshop-text-black coreshop-font-lg coreshop-text-bold">
<view class="brand-tag" v-if="goodsInfo.brand"><u-tag :text="goodsInfo.brand.name" type="error" size="mini" /></view>
{{ goodsInfo.name || '' }}
</view>
<view class="coreshop-bg-red-light radius coreshop-margin-top-10 coreshop-title-tip-box">
<text class="coreshop-font-sm">{{ goodsInfo.brief || '' }}</text>
</view>
</view>
<!--服务-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">服务</text>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-justify-between coreshop-align-center">
<view class="coreshop-text-red coreshop-font-weight-bold">
<text class="coreshop-font-16">¥</text>
<text class="coreshop-font-24">{{ product.price || '0.00' }}</text>
</view>
<view class="coreshop-basis-8">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-flex-sub coreshop-flex coreshop-text-left coreshop-justify-center coreshop-align-center">
<view class="coreshop-text-right coreshop-time-right">
<u-count-down :time="goodsInfo.groupTimestamp*1000" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss" @change="onChange">
<view class="time">
<view class="coreshop-font-12">仅剩</view>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.days }}</text>
</view>
<text class="time__doc"></text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
</view>
</view>
<view class="coreshop-flex coreshop-align-center">
<u-icon name="star-fill" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="收藏" :labelSize="14" labelPos="right" @click="collection" v-else></u-icon>
</view>
</view>
<view class="coreshop-margin-top-12 coreshop-multiple-line-clamp">
<text class="coreshop-font-16 coreshop-text-black coreshop-font-weight-bold">{{ goodsInfo.name || '' }}</text>
</view>
<view class="coreshop-margin-top-8 coreshop-multiple-line-clamp">
<text class="coreshop-font-14 coreshop-text-gray">{{ goodsInfo.brief || '' }}</text>
</view>
<view class="coreshop-flex coreshop-margin-top-8" v-if="goodsInfo.brand || goodsInfo.labels">
<u-tag :text="goodsInfo.brand.name" v-if="goodsInfo.brand"></u-tag>
<view class="coreshop-margin-left-6" v-for="item in goodsInfo.labels" :key="item.id">
<u-tag :text="item.name" :bgColor="item.style" :borderColor="item.style"></u-tag>
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-padding-top-16 coreshop-solid-top coreshop-flex coreshop-justify-between coreshop-align-center coreshop-text-gray">
<view class="coreshop-font-12">
<text>运费</text>
<text class="font-color-orange">包邮</text>
</view>
<view class="coreshop-font-12">
<text>销量</text>
<text>{{ goodsInfo.buyCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>库存</text>
<text>{{product.stock}}</text>
</view>
</view>
</view>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--服务-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">服务</text>
</view>
<view class="coreshop-basis-7 coreshop-flex coreshop-align-center">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-align-center">
<u-icon name="checkmark-circle" size="12" labelSize="12" color="#e54d42" :label="item.title" v-for="(item, index) in serviceDescription.service" :key="index" class="coreshop-margin-right-10"></u-icon>
</view>
</view>
<view class="coreshop-basis-1">
<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
<!--发货/规格-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">发货</text>
<!--发货-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-padding-top-10" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">发货</text>
</view>
<view class="coreshop-coreshop-basis-9" v-for="(item, index) in serviceDescription.delivery" :key="index">
<text class="coreshop-font-sm">{{item.description}}</text>
<view class="coreshop-coreshop-basis-8 coreshop-flex coreshop-align-center">
<text class="coreshop-font-sm" v-for="(item, index) in serviceDescription.delivery" :key="index">{{item.description}}</text>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10" @tap="openSkuPopup()" v-if="isSpes">
<view class="coreshop-basis-1">
<text class="coreshop-text-gray">规格</text>
<!--规格-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10" @tap="openSkuPopup">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">规格</text>
</view>
<view class="coreshop-basis-8">
<view class="coreshop-basis-7 coreshop-flex coreshop-align-center">
<text class="coreshop-font-sm">{{ product.spesDesc || ''}}</text>
</view>
<view class="coreshop-basis-1">
<view class="coreshop-float-right">
<u-icon name="arrow-right-double"></u-icon>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
<!--评论-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-padding-left-10 coreshop-padding-right-10 coreshop-padding-bottom-10" v-if="goodsComments.length">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10 coreshop-flex-direction-row">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-md">评价{{goodsComments.length}}</text>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-basis-3">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">评价{{goodsComments.length}}</text>
</view>
<view class="coreshop-basis-7"></view>
<view class="coreshop-basis-1">
<view class="coreshop-basis-3"></view>
<view class="coreshop-basis-4">
<view class="coreshop-float-right">
<u-icon name="arrow-right" @tap="goGoodComments(goodsInfo.id)"></u-icon>
<u-icon name="arrow-right" label="查看更多" labelPos="left" labelSize="12px" labelColor="color['u-content-color']" @tap="goGoodComments(goodsInfo.id)"></u-icon>
</view>
</view>
</view>
<view v-for="(item, index) in goodsComments" :key="index">
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-10 coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<view class="coreshop-avatar sm round" :style="[{backgroundImage:'url('+ item.avatarImage +')'}]" />
<view v-if="goodsComments.length">
<view v-for="(item, index) in goodsComments" :key="index">
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-10 coreshop-flex-direction-row">
<view class="coreshop-basis-1">
<view class="coreshop-avatar sm round" :style="[{backgroundImage:'url('+ item.avatarImage +')'}]" />
</view>
<view class="coreshop-basis-9 coreshop-font-sm">
<view>{{ (item.nickName && item.nickName != '')?item.nickName:item.mobile }}</view>
<view class="coreshop-margin-top-10">{{ item.contentBody || ''}}</view>
<view class="coreshop-text-gray coreshop-margin-top-5">
<u-rate v-model="item.score" :count="5" size="15"></u-rate>
</view>
<view class="coreshop-margin-top-10" v-if="item.imagesArr">
<u-album :urls="item.imagesArr" rowCount="4"></u-album>
</view>
<view class="coreshop-text-gray coreshop-margin-top-5 coreshop-font-12">{{ item.createTime || ''}} {{ item.addon || ''}}</view>
</view>
</view>
<view class="coreshop-basis-9 coreshop-font-sm">
<view>{{ (item.nickName && item.nickName != '')?item.nickName:item.mobile }}</view>
<view class="coreshop-margin-top-10">{{ item.contentBody || ''}}</view>
<view class="coreshop-text-gray coreshop-margin-top-5">
<u-rate v-model="item.score" :count="5" size="13"></u-rate>
</view>
<view class="coreshop-margin-top-10" v-if="item.imagesArr">
<u-album :urls="item.imagesArr" rowCount="4"></u-album>
</view>
<view class="coreshop-text-gray coreshop-margin-top-5 coreshop-font-12">{{ item.createTime || ''}} {{ item.addon || ''}}</view>
</view>
</view>
<view class="coreshop-margin-top-16" v-else>
<text class="coreshop-text-gray coreshop-font-12">该商品暂无评价</text>
</view>
</view>
<!--参数-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white" v-if="goodsParams.length>0">
<view>
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">参数</text>
</view>
<view class="goods-param-box">
<view class="goods-param-line" v-for="(item, index) in goodsParams" :key="index">
<view class="name">
<text>{{item.name}}</text>
</view>
<view class="value">
<text>{{item.value}}</text>
</view>
</view>
</view>
</view>
<!--内容区-->
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">详情介绍</view>
<view class="line-70"></view>
</view>
<view class="coreshop-margin-top-10 coreshop-bg-white">
<view class="coreshop-font-md coreshop-padding-top-10 coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row">
<u-icon name="more-circle" color="#e54d42" label="商品详情" labelSize="15px" label-pos="right"></u-icon>
</view>
<!--参数-->
<view class="coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row" v-for="(item, index) in goodsParams" :key="index">
<text class="coreshop-text-gray">{{ item.name || ''}}</text>
<text class="coreshop-text-black">{{ item.value || ''}}</text>
</view>
<view class="coreshop-padding-10">
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
<u-parse :content="goodsInfo.intro" :selectable="true" v-if="goodsInfo.intro"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox coreshop-padding-10" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
</view>
@@ -159,87 +212,32 @@
</view>
<!--常见问题-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-margin-bottom-30 coreshop-common-view-box">
<view class="coreshop-font-md coreshop-padding-bottom-20 coreshop-flex-direction-row">
<u-icon name="question-circle" color="#e54d42" label="常见说明" labelSize="15px" label-pos="right"></u-icon>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-margin-bottom-16">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">常见问题</text>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10 coreshop-flex-direction-row" v-for="(item, index) in serviceDescription.commonQuestion" :key="index">
<view class="coreshop-basis-2">
<view class="coreshop-basis-2 coreshop-font-13">
{{item.title}}
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">{{item.description}}</view>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10" @tap="goArticleList()">查看更多问题</view>
</view>
<!--商家及推荐-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box coreshop-goods-shop-info-view-box">
<view class="coreshop-shop-view">
<view class="coreshop-position-absolute">
<u-avatar :src="shopLogo"></u-avatar>
</view>
<view class="coreshop-margin-left-10 coreshop-padding-left-40 coreshop-padding-right-40">
<view class="coreshop-margin-bottom-5">{{shopName}}</view>
<view class="coreshop-font-sm u-line-1">{{shareTitle}}</view>
</view>
<u-button type="error" size="mini" :plain="true" @click="doPhoneCall">联系商家</u-button>
</view>
<view class="coreshop-solid-bottom coreshop-padding-top-5 coreshop-padding-bottom-5" />
<view class="live-tag-view coreshop-margin-top-10 coreshop-margin-bottom-10">
<view class="text-view">
<view class="location-tag"><u-tag text="已定位" mode="plain" size="mini" type="warning" /></view>
<text class="coreshop-margin-left-10 u-line-1">可直接获取商家地理位置信息</text>
</view>
<view class="coreshop-font-sm coreshop-text-red go-map-box" @tap="goShopMap">
<text class="coreshop-margin-right-10">去地图</text>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-good-shop-recommend-list-box">
<view class="coreshop-font-sm coreshop-padding-top-10 ">本店推荐</view>
<!--滑动列表-->
<view class="recommend-scroll-box">
<scroll-view class="recommend-scroll" scroll-x>
<block v-for="(items,indexs) in shopRecommendData" :key="indexs">
<view :id="['scroll' + (indexs + 1 )]" class="recommend-scroll-item" @tap="goGoodsDetail(items.id)">
<u--image :src="items.image" mode="widthFix" width="91px" height="91px" radius="10"></u--image>
<view class="u-line-2 coreshop-font-sm coreshop-text-black coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-min-height-34">{{items.name}}</view>
<view class="coreshop-text-red coreshop-text-price coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-font-md coreshop-flex-direction-row">
{{items.price}}
</view>
</view>
</block>
</scroll-view>
</view>
</view>
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10 coreshop-font-13" @tap="goArticleList()">查看更多问题</view>
</view>
<!--为您推荐-->
<view class="coreshop-recommended-title-view">
<view class="coreshop-flex coreshop-flex-wrap coreshop-flex-direction-row">
<view class="coreshop-flex-4 coreshop-text-right">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
<view class="coreshop-flex-4 coreshop-text-center">
<text class="coreshop-text-black coreshop-font-lg">为您推荐</text>
</view>
<view class="coreshop-flex-4 coreshop-text-left">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">为您推荐</view>
<view class="line-70"></view>
</view>
<!--推荐列表-->
<view class="coreshop-goods-group" v-if="otherRecommendData.length>0">
<view class="coreshop-goods-group" v-if="shopRecommendData.length>0">
<u-grid col="2" :border="false" align="left">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in otherRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in shopRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<view class="good_box">
<u--image :src="item.image" mode="widthFix" width="100%" height="174px" radius="10"></u--image>
<view class="good_title u-line-2 coreshop-min-height-34">
@@ -259,7 +257,6 @@
</u-grid>
</view>
<u-popup class="coreshop-bottom-popup-box" :show="bottomModal" mode="bottom" height="70%" @close="hideModal" :closeable="true">
<view class="radius coreshop-bg-white">
<!--标题-->
@@ -298,7 +295,7 @@
<!--底部操作-->
<view class="coreshop-good-footer-fixed">
<view class="tabbar">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-5">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-start coreshop-basis-4">
<!-- 客服按钮 -->
<!-- #ifdef H5 || APP-PLUS-NVUE || APP-PLUS -->
<view class="action" @click="showChat()">
@@ -314,22 +311,20 @@
</button>
</view>
<!-- #endif -->
<view class="action" @click="collection">
<button class="noButtonStyle">
<u-icon name="star-fill" :size="20" label="已收藏" :labelSize="12" labelPos="bottom" v-if="isfav"></u-icon>
<u-icon name="star" :size="20" label="加收藏" :labelSize="12" labelPos="bottom" v-else></u-icon>
</button>
</view>
<view class="action" @click="redirectCart">
<button class="noButtonStyle">
<u-badge type="warning" :value="cartNums" showZero="false" absolute="true" :offset="[1, 4]"></u-badge>
<u-icon name="shopping-cart" :size="20" label="购物车" :labelSize="12" labelPos="bottom"></u-icon>
<u-icon name="shopping-cart-fill" :size="24" label="购物车" :labelSize="12" space="1px" labelPos="bottom"></u-icon>
</button>
</view>
</view>
<!--<view class="coreshop-border-radius-20 coreshop-flex coreshop-align-end">
<view class="btn-buy" @click="openSkuPopup">
<text>立即秒杀</text>
</view>
</view>-->
<view class="btn-group coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-5">
<u-button type="error" size="normal" @click="openSkuPopup()" shape="circle" color="#9c26b0">立即秒杀</u-button>
<u-button type="error" size="normal" @click="openSkuPopup" shape="circle">立即秒杀</u-button>
</view>
</view>
</view>
@@ -341,7 +336,9 @@
:localdata="goodsSkuInfo"
mode="3"
@add-cart="addCart"
@buy-now="buyNow"></vk-data-goods-sku-popup>
@buy-now="buyNow"
buy-now-text="立即秒杀"
></vk-data-goods-sku-popup>
<!-- 右边浮动球 -->
<coreshop-fab horizontal="right" vertical="bottom" direction="vertical"></coreshop-fab>
@@ -368,7 +365,6 @@
goodsParams: [], // 商品参数信息
goodsComments: [], // 商品评论信息
shopRecommendData: [], // 本店推荐数据
otherRecommendData: [], // 其他数据
type: 2,
cartType: this.$globalConstVars.paymentType.seckill,
isfav: false, // 商品是否收藏
@@ -391,7 +387,8 @@
commonQuestion: [],
delivery: [],
service: [],
}
},
timeData: {},
};
},
onLoad(e) {
@@ -458,12 +455,12 @@
// #ifdef H5 || MP-WEIXIN || APP-PLUS || APP-PLUS-NVUE
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.route + '?id=' + this.goodsId + '&groupId=' + this.groupId;
// #endif
// #ifdef MP-ALIPAY
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.__proto__.route + '?id=' + this.goodsId + '&groupId=' + this.groupId;
// #endif
},
},
methods: {
onChange(e) {
this.timeData = e
},
// 打开sku弹出
openSkuPopup() {
this.skuKey = true;
@@ -608,17 +605,6 @@
_this.$u.toast(res.msg)
}
});
let data = {
id: 10
}
_this.$u.api.getGoodsRecommendList(data).then(res => {
if (res.status) {
_this.otherRecommendData = _this.$u.randomArray(res.data);
} else {
_this.$u.toast(res.msg)
}
});
},
// 获取购物车数量
getCartNums() {
@@ -741,6 +727,10 @@
this.modalType = 'promotion';
this.showModal();
},
showModal() {
this.bottomModal = true;
console.log("打开弹窗");
},
hideModal(e) {
this.bottomModal = false;
this.modalTitle = "";

View File

@@ -4,10 +4,10 @@
<u-navbar title="商品详情" safeAreaInsetTop fixed placeholder>
<view class="coreshop-navbar-left-slot" slot="left">
<u-icon name="arrow-left" size="19" @click="goNavigateBack"></u-icon>
<u-line direction="column" :hairline="false" margin="0 8px"></u-line>
<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
<u-icon name="home" size="22" @click="goHome"></u-icon>
<u-line direction="column" :hairline="false" margin="0 8px"></u-line>
<u-icon name="share" size="22" @click="goShare"></u-icon>
<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
<u-icon name="share-fill" size="22" @click="goShare"></u-icon>
</view>
<view slot="right">
</view>
@@ -46,7 +46,7 @@
<view class="coreshop-margin-top-12 coreshop-multiple-line-clamp">
<text class="coreshop-font-16 coreshop-text-black coreshop-font-weight-bold">{{ goodsInfo.name || '' }}</text>
</view>
<view class="coreshop-margin-top-8 coreshop-single-line-clamp">
<view class="coreshop-margin-top-8 coreshop-multiple-line-clamp">
<text class="coreshop-font-14 coreshop-text-gray">{{ goodsInfo.brief || '' }}</text>
</view>
<view class="coreshop-flex coreshop-margin-top-8" v-if="goodsInfo.brand || goodsInfo.labels">
@@ -91,9 +91,9 @@
</view>
</view>
<!--服务-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--服务-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row" @tap="serviceTap" v-if="serviceDescription.service.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">服务</text>
</view>
@@ -108,11 +108,9 @@
</view>
</view>
</view>
</view>
<!--发货/规格-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row">
<!--发货-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-padding-top-10" v-if="serviceDescription.delivery.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">发货</text>
</view>
@@ -120,7 +118,8 @@
<text class="coreshop-font-sm" v-for="(item, index) in serviceDescription.delivery" :key="index">{{item.description}}</text>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="serviceDescription.delivery.length>0" />
<!--规格-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10" @tap="openSkuPopup">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">规格</text>
@@ -297,14 +296,6 @@
</button>
</view>
</view>
<!--<view class="btn-group coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-6">
<u-button type="warning" size="normal" :plain="true" shape="circle" @click="openSkuPopup">
<text class="coreshop-font-12">加购物车</text>
</u-button>
<u-button type="error" size="normal" shape="circle" @click="openSkuPopup">
<text class="coreshop-font-12">立即购买</text>
</u-button>
</view>-->
<view class="coreshop-border-radius-20 coreshop-flex coreshop-align-end coreshop-flex-sub">
<view class="btn-add-shopcar" @click="openSkuPopup">
@@ -508,9 +499,6 @@
// #ifdef H5 || MP-WEIXIN || APP-PLUS || APP-PLUS-NVUE
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.route + '?id=' + this.goodsId;
// #endif
// #ifdef MP-ALIPAY
return this.$globalConstVars.apiBaseUrl + 'wap/' + page.__proto__.route + '?id=' + this.goodsId;
// #endif
},
},
methods: {

View File

@@ -7,7 +7,6 @@
<u-no-network></u-no-network>
<!--头部组件-->
<u-navbar :is-back="false" :title="appTitle" :background="background" :title-color="titleColor" :custom-back="about" safeAreaInsetTop fixed placeholder @leftClick="goNavigateBack"></u-navbar>
<!--首页模块化组合组件-->
<coreshop-page :coreshopdata="pageData"></coreshop-page>
<!--版权组件-->
@@ -23,17 +22,10 @@
<u-icon name="server-man" color="#e54d42" size="60"></u-icon>
</button>
<!-- #endif -->
<!-- #ifdef MP-ALIPAY -->
<contact-button class="floatingButton icon" icon="/static/images/common/seller-content.png" size="40px*40px" tnt-inst-id="" scene="" hover-class="none" />
<!-- #endif -->
<!-- #ifdef MP-TOUTIAO -->
<!-- 头条客服 -->
<!-- #endif -->
<!--返回顶部组件-->
<u-back-top :scroll-top="scrollTop" :duration="500"></u-back-top>
<!--弹出框-->
<!--<coreshop-modal-img :show="modalShow" :src="$globalConstVars.apiFilesUrl+'/static/images/empty/reward.png'" @imgTap="imgTap" @closeTap="closeTap" />-->
<coreshop-modal-img :show="modalShow" :src="$globalConstVars.apiFilesUrl+'/static/images/empty/reward.png'" @imgTap="imgTap" @closeTap="closeTap" />
<!-- 登录提示 -->
<coreshop-login-modal></coreshop-login-modal>
</view>

View File

@@ -6,18 +6,7 @@
<!--无网络组件-->
<u-no-network></u-no-network>
<!--头部组件-->
<!--<u-navbar leftIcon="search" :title="appTitle" safeAreaInsetTop fixed placeholder @leftClick="goSearch"></u-navbar>-->
<u-navbar safeAreaInsetTop fixed placeholder>
<view class="coreshop-navbar-left-slot" slot="left">
<view class="u-icon-wrap u-back-text u-line-1 coreshop-text-white coreshop-font-20">
<u--image :showLoading="true" src="/static/images/logo/logo2.png" width="201px" height="45px"></u--image>
</view>
</view>
<view slot="right">
</view>
</u-navbar>
<u-navbar leftIcon="search" :title="appTitle" safeAreaInsetTop fixed placeholder @leftClick="goSearch"></u-navbar>
<!--首页模块化组合组件-->
<nsts-page :coreshopdata="pageData" :isScorll="isScorll"></nsts-page>
<!--版权组件-->
@@ -33,15 +22,10 @@
<u-icon name="server-man" color="#e54d42" size="45"></u-icon>
</button>
<!-- #endif -->
<!-- #ifdef MP-ALIPAY -->
<contact-button class="floatingButton icon" icon="/static/images/common/seller-content.png" size="40px*40px" tnt-inst-id="" scene="" hover-class="none" />
<!-- #endif -->
<!-- #ifdef MP-TOUTIAO -->
<!-- 头条客服 -->
<!-- #endif -->
<!--返回顶部组件-->
<u-back-top :scroll-top="scrollTop" :duration="500"></u-back-top>
<!--弹出框-->
<coreshop-modal-img :show="modalShow" :src="$globalConstVars.apiFilesUrl+'/static/images/empty/reward.png'" @imgTap="imgTap" @closeTap="closeTap" />
<!-- 登录提示 -->
<coreshop-login-modal></coreshop-login-modal>
</view>
@@ -63,6 +47,7 @@
shareUrl: '/pages/share/jump/jump',
isScorll: false,
homeTitle: '',
modalShow: true,
};
},
updated() {
@@ -102,6 +87,15 @@
this.initData();
},
methods: {
imgTap() {
this.modalShow = false;
uni.navigateTo({
url: "/pages/reward/reward"
});
},
closeTap() {
this.modalShow = false;
},
// 首页初始化获取数据
initData() {
uni.showLoading({

View File

@@ -16,176 +16,142 @@
<u--image width="100%" height="375px" :src="info.thumbnail && info.thumbnail!='null' ? info.thumbnail+'?x-oss-process=image/resize,m_lfit,h_320,w_240' : '/static/images/common/empty-banner.png'"></u--image>
</view>
<!--限时秒杀-->
<view class="coreshop-limited-seckill-box coreshop-bg-green">
<text class="coreshop-text-price coreshop-font-20">{{ info.money || '0.00' }}</text>
<view class="coreshop-font-xs coreshop-cost-price-num price-4">
<view>单包量{{ info.ticketNumber }}</view>
<view>剩余{{ info.amount || '0' }} </view>
</view>
<view class="coreshop-text-right coreshop-time-right">
<!--<view>限时秒杀</view>-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-align-center coreshop-font-12">
距结束剩余
<u-count-down :time="timestamp" autoStart millisecond @change="onChange">
<view class="time">
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-flex coreshop-justify-between coreshop-align-center">
<view class="coreshop-text-red coreshop-font-weight-bold">
<text class="coreshop-font-16">¥</text>
<text class="coreshop-font-24">{{ info.money || '0.00' }}</text>
</view>
</view>
</view>
<!--标题-->
<view class="coreshop-bg-white coreshop-common-view-box coreshop-good-title-view-box">
<view class="title-view">
<text class="coreshop-text-black coreshop-font-lg coreshop-text-bold">{{ info.title || '' }}</text>
</view>
<view class="coreshop-bg-red-light radius coreshop-margin-top-10 coreshop-title-tip-box">
<text class="coreshop-font-sm">{{ info.description || '' }}</text>
</view>
</view>
<!--会员级别-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-common-view-box" v-if="info.allowedMemberships">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm">
<view class="coreshop-basis-2">
<text class="coreshop-text-gray">会员级别</text>
</view>
<view class="coreshop-basis-8 coreshop-text-gray coreshop-font-xs coreshop-flex coreshop-flex-nowrap">
<view class="coreshop-width-fit-content coreshop-margin-right-5" v-for="(item, indexChild) in info.allowedMemberships" :key="indexChild">
<u-tag :text="item" :plain="true" mode="light" size="mini" />
<view class="coreshop-flex-sub coreshop-flex coreshop-text-left coreshop-justify-end coreshop-align-center">
<view class="coreshop-text-right coreshop-time-right">
<u-count-down :time="timestamp" :autoStart="true" :millisecond="true" format="DD天HH时mm秒ss" @change="onChange">
<view class="time">
<view class="coreshop-font-12">仅剩</view>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.days }}</text>
</view>
<text class="time__doc"></text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.minutes }}</text>
</view>
<text class="time__doc">:</text>
<view class="time__custom">
<text class="time__custom__item">{{ timeData.seconds }}</text>
</view>
</view>
</u-count-down>
</view>
</view>
</view>
<view class="coreshop-margin-top-12 coreshop-multiple-line-clamp">
<text class="coreshop-font-16 coreshop-text-black coreshop-font-weight-bold">{{ info.title || '' }}</text>
</view>
<view class="coreshop-margin-top-8 coreshop-multiple-line-clamp">
<text class="coreshop-font-14 coreshop-text-gray">{{ info.description || '' }}</text>
</view>
<view class="coreshop-margin-top-16 coreshop-padding-top-16 coreshop-solid-top coreshop-flex coreshop-justify-between coreshop-align-center coreshop-text-gray">
<view class="coreshop-font-12">
<text>已售</text>
<text class="font-color-orange">{{ goodsInfo.buyCount || '0' }}</text>
</view>
<view class="coreshop-font-12">
<text>单包量</text>
<text>{{ info.ticketNumber }}</text>
</view>
<view class="coreshop-font-12">
<text>剩余</text>
<text>{{info.amount || '0'}}</text>
</view>
</view>
</view>
<!--服务网点-->
<view class="coreshop-bg-white coreshop-common-view-box ">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm">
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--服务-->
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row" v-if="info.allowedMemberships.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-gray">服务网点</text>
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">会员级别</text>
</view>
<view class="coreshop-basis-8 coreshop-flex coreshop-flex-nowrap coreshop-align-center">
<view class="coreshop-basis-8 coreshop-flex coreshop-align-center">
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-align-center">
<view class="coreshop-margin-left-10" v-for="(item, indexChild) in info.allowedMemberships" :key="indexChild">
<u-tag :text="item" :plain="true" mode="light" size="mini" />
</view>
</view>
</view>
</view>
<!--发货-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" v-if="info.consumableStores.length>0" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-flex-direction-row coreshop-padding-top-10" v-if="info.consumableStores.length>0">
<view class="coreshop-basis-2">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">服务网点</text>
</view>
<view class="coreshop-coreshop-basis-8 coreshop-flex coreshop-align-center">
<u-icon name="checkmark-circle" size="14" labelSize="12" color="#e54d42" :label="item" v-for="(item, index) in info.consumableStores" :key="index" class="coreshop-margin-right-10"></u-icon>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10 coreshop-padding-top-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm">
<!--规格-->
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-flex coreshop-flex-wrap coreshop-font-sm coreshop-padding-top-10">
<view class="coreshop-basis-2">
<text class="coreshop-text-gray">有效期</text>
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">有效期</text>
</view>
<view class="coreshop-basis-8">
<text class="coreshop-font-12">
{{info.startTime}} {{info.endTime}}
</text>
<view class="coreshop-basis-8 coreshop-flex coreshop-align-center coreshop-font-12">
{{info.startTime}} {{info.endTime}}
</view>
</view>
</view>
<!--内容区-->
<view class="coreshop-margin-top-10 coreshop-padding-top-10 coreshop-bg-white">
<view class="coreshop-font-md coreshop-padding-top-10 coreshop-padding-bottom-10 coreshop-padding-left-10 coreshop-padding-right-10 coreshop-flex-direction-row">
<u-icon name="more-circle" color="#e54d42" label="服务详情" labelSize="15px" label-pos="right"></u-icon>
<!--参数-->
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<!--内容区-->
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">详情介绍</view>
<view class="line-70"></view>
</view>
<view class="coreshop-padding-10 coreshop-good-rich-text-view">
<view class="coreshop-margin-top-10 coreshop-bg-white">
<u-parse :content="info.contentBody" :selectable="true" v-if="info.contentBody"></u-parse>
<!-- 无数据时默认显示 -->
<view class="coreshop-emptybox" v-else>
<view class="coreshop-emptybox coreshop-padding-10" v-else>
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="详情为空" mode="list"></u-empty>
</view>
</view>
</view>
<!--常见问题-->
<view class="coreshop-margin-top-10 coreshop-bg-white coreshop-margin-bottom-30 coreshop-common-view-box">
<view class="coreshop-font-md coreshop-padding-bottom-20 coreshop-flex-direction-row">
<u-icon name="question-circle" color="#e54d42" label="常见说明" labelSize="15px" label-pos="right"></u-icon>
<view class="coreshop-margin-left-16 coreshop-margin-right-16 coreshop-margin-top-12 coreshop-padding-16 coreshop-border-radius-9 coreshop-bg-white">
<view class="coreshop-margin-bottom-16">
<text class="coreshop-text-black coreshop-font-weight-bold coreshop-font-15">常见问题</text>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
服务说明
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10 coreshop-flex-direction-row" v-for="(item, index) in serviceDescription.commonQuestion" :key="index">
<view class="coreshop-basis-2 coreshop-font-13">
{{item.title}}
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-sm">服务是对商品概念的扩展商品订单为单次交易但很多是否需要购买的商品或产品能够进行多次次数消费特推出此服务包</view>
</view>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
权利声明
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">本站商品信息均来自于合作方其真实性准确性和合法性由信息拥有者合作方负责本站不提供任何保证并不承担任何法律责任</view>
</view>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
销售价
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">销售价为商品的销售价格是您最终决定是否购买商品的依据</view>
</view>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
划线价
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">商品展示的划横线价格为参考价并非原价该价格可能是品牌专柜标价商品吊牌价或由品牌供应商提供的正品零售价如厂商指导价建议零售价等或该商品在平台上曾经展示过的销售价由于地区时间的差异性和市场行情波动品牌专柜标价商品吊牌价等可能会与您购物时展示的不一致该价格仅供您参考</view>
</view>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
折扣
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">如无特殊说明折扣指销售商在原价或划线价如品牌专柜标价商品吊牌价厂商指导价厂商建议零售价等某一价格基础上计算出的优惠比例或优惠金额如有疑问您可在购买前联系销售商进行咨询</view>
</view>
</view>
<view class="coreshop-flex coreshop-flex-wrap coreshop-margin-bottom-10">
<view class="coreshop-basis-2">
异常问题
</view>
<view class="coreshop-basis-8">
<view class="coreshop-font-12">商品促销信息以商品详情页促销栏中的信息为准商品的具体售价以订单结算页价格为准如您发现活动商品售价或促销信息有异常建议购买前先联系销售商咨询</view>
<view class="coreshop-font-12">{{item.description}}</view>
</view>
</view>
<view class="coreshop-solid-bottom coreshop-margin-top-10 coreshop-margin-bottom-10" />
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10" @tap="goArticleList()">查看更多问题</view>
<view class="coreshop-text-center coreshop-text-blue coreshop-padding-top-10 coreshop-font-13" @tap="goArticleList()">查看更多问题</view>
</view>
<!--为您推荐-->
<view class="coreshop-recommended-title-view">
<view class="coreshop-flex coreshop-flex-wrap">
<view class="coreshop-flex-4 coreshop-text-right">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
<view class="coreshop-flex-4 coreshop-text-center">
<text class="coreshop-text-black coreshop-font-lg">为您推荐</text>
</view>
<view class="coreshop-flex-4 coreshop-text-left">
<image class="img-anc" src="/static/images/common/anc.png" mode="widthFix" />
</view>
</view>
<view class="coreshop-margin-top-16 coreshop-margin-bottom-12 coreshop-flex coreshop-justify-center coreshop-align-center">
<view class="line-70"></view>
<view class="coreshop-margin-left-12 coreshop-margin-right-12 coreshop-text-gray">为您推荐</view>
<view class="line-70"></view>
</view>
<!--推荐列表-->
<view class="coreshop-goods-group" v-if="otherRecommendData.length>0">
<view class="coreshop-goods-group" v-if="shopRecommendData.length>0">
<u-grid col="2" :border="false" align="left">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in otherRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<u-grid-item bg-color="transparent" :custom-style="{padding: '0px'}" v-for="(item, index) in shopRecommendData" :key="index" @click="goGoodsDetail(item.id)">
<view class="good_box">
<u--image :src="item.image" mode="widthFix" width="174px" height="174px" radius="10"></u--image>
<view class="good_title u-line-2">
<u--image :src="item.image" mode="widthFix" width="100%" height="174px" radius="10"></u--image>
<view class="good_title u-line-2 coreshop-min-height-34">
{{item.name}}
</view>
<view class="good-price">
@@ -207,22 +173,24 @@
<!--底部操作-->
<view class="coreshop-good-footer-fixed">
<view class="tabbar">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-4">
<view class="coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-start coreshop-basis-4">
<!-- 客服按钮 -->
<!-- #ifdef H5 || APP-PLUS-NVUE || APP-PLUS -->
<view class="action" @click="showChat()">
<u-icon name="server-fill" :size="20" label="撩客服" :labelSize="12" labelPos="bottom"></u-icon>
<button class="noButtonStyle">
<u-icon name="server-fill" :size="20" label="找客服" :labelSize="12" labelPos="bottom"></u-icon>
</button>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="action">
<button open-type="contact" bindcontact="showChat" class="noButtonStyle" :send-message-title="info.title" :send-message-path="'/pages/serviceGoods/details/details?id='+info.id" :send-message-img="info.thumbnail" show-message-card="true">
<u-icon name="server-fill" :size="20" label="客服" :labelSize="12" labelPos="bottom"></u-icon>
<button open-type="contact" bindcontact="showChat" class="noButtonStyle" :send-message-title="goodsInfo.name" :send-message-path="'/pages/goods/goodDetails/goodDetails?id='+goodsInfo.id" :send-message-img="goodsInfo.image" show-message-card="true">
<u-icon name="server-fill" :size="20" label="客服" :labelSize="12" labelPos="bottom"></u-icon>
</button>
</view>
<!-- #endif -->
</view>
<view class="btn-group coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-8">
<view class="btn-group coreshop-flex coreshop-align-center coreshop-flex-direction-row coreshop-justify-between coreshop-basis-4">
<u-button type="success" size="normal" @click="toAddOrder">立刻购买</u-button>
</view>
</view>
@@ -243,7 +211,7 @@
info: {},
timestamp: 86400,
orderType: this.$globalConstVars.paymentType.serviceOrder, // 订单类型
otherRecommendData: [], // 其他数据
shopRecommendData: [], // 其他数据
timeData: {},
}
},
@@ -279,7 +247,7 @@
}
_this.$u.api.getGoodsRecommendList(data).then(res => {
if (res.status) {
_this.otherRecommendData = _this.$u.randomArray(res.data);
_this.shopRecommendData = _this.$u.randomArray(res.data);
} else {
_this.$u.toast(res.msg)
}

View File

@@ -687,7 +687,17 @@ u-icon { line-height: 0; }
.line-70 { background: #c3c3c3; height: 1px; margin-top: 3px; width: 34.5px; }
/*购买按钮*/
.btn-add-shopcar { border: 1rpx solid #ff8512; border-radius: 12rpx; color: #ff8512; font-size: 32rpx; width: 210rpx; }
.btn-add-shopcar, .btn-buy { font-weight: bolder; height: 72rpx; line-height: 72rpx; text-align: center; }
.btn-buy { background: #ff3b3b; border-radius: 12rpx; color: #fff; margin-left: 14rpx; width: 220rpx; }
/*倒计时自定义样式*/
.time { display: flex; align-items: center;
&__custom { width: 22px; height: 22px; background-color: $u-primary; border-radius: 4px; /* #ifndef APP-NVUE */ display: flex; /* #endif */ justify-content: center; align-items: center;
&__item { color: #fff; font-size: 12px; text-align: center; }
}
&__doc { color: $u-primary; padding: 0px 4px; font-size: 12px; }
&__item { color: #606266; font-size: 15px; margin-right: 4px; }
}