You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1798 lines
44 KiB
1798 lines
44 KiB
<template>
|
|
<view class="pages-product">
|
|
<block v-if="isload">
|
|
<block v-if="sysset.showgzts">
|
|
<view style="width:100%;height:88rpx"> </view>
|
|
<view class="follow_topbar">
|
|
<view class="headimg">
|
|
<image :src="sysset.logo" />
|
|
</view>
|
|
<view class="info">
|
|
<view class="i">欢迎进入 <text :style="{color:t('color1')}">{{sysset.name}}</text></view>
|
|
<view class="i">关注公众号享更多专属服务</view>
|
|
</view>
|
|
<view class="sub" @tap="showsubqrcode" :style="{'background-color':t('color1')}">立即关注</view>
|
|
</view>
|
|
<uni-popup id="qrcodeDialog" ref="qrcodeDialog" type="dialog">
|
|
<view class="qrcodebox">
|
|
<image :src="sysset.qrcode" @tap="previewImage" :data-url="sysset.qrcode" class="img" />
|
|
<view class="txt">长按识别二维码关注</view>
|
|
<view class="close" @tap="closesubqrcode">
|
|
<image :src="event_rul +'/static/img/static/img/close2.png'" style="width:100%;height:100%" />
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
</block>
|
|
<view
|
|
v-if="bboglist.length>0"
|
|
style="position:fixed;top:5vh;left:20rpx;z-index:9;background:rgba(153,153,153,0.8);border-radius:20rpx;color:#fff;padding:0 10rpx">
|
|
<swiper style="position:relative;height:54rpx;width:350rpx;" :autoplay="true" :interval="5000"
|
|
:vertical="true">
|
|
<swiper-item v-for="(item, index) in bboglist" :key="index" @tap="goto"
|
|
:data-url="'/pages/shop/product?id=' + item.proid" class="flex-y-center">
|
|
<image :src="item.headimg"
|
|
style="width:40rpx;height:40rpx;border:1px solid rgba(255,255,255,0.7);border-radius:50%;margin-right:4px" />
|
|
<view
|
|
style="width:300rpx;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;font-size:22rpx">
|
|
{{item.nickname}} {{item.showtime}}购买了该商品</view>
|
|
</swiper-item>
|
|
</swiper>
|
|
</view>
|
|
<view class="swiper-container" v-if="isplay==0">
|
|
<swiper class="swiper" :indicator-dots="false" :autoplay="true" :interval="5000" @change="swiperChange">
|
|
<block v-for="(item, index) in product.pics" :key="index">
|
|
<swiper-item class="swiper-item">
|
|
<view class="swiper-item-view">
|
|
<image class="img" @click="preImg(product.pics,index)" :src="item" mode="widthFix" />
|
|
</view>
|
|
</swiper-item>
|
|
</block>
|
|
</swiper>
|
|
<view class="imageCount">{{current+1}}/{{(product.pics).length}}</view>
|
|
<view v-if="product.video" class="provideo" @tap="payvideo">
|
|
<image :src="event_rul +'/static/img/static/img/video.png'" />
|
|
<view class="txt">{{product.video_duration}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="videobox" v-if="isplay==1">
|
|
<video autoplay="true" class="video" id="video" :src="product.video"></video>
|
|
<view class="parsevideo" @tap="parsevideo">退出播放</view>
|
|
</view>
|
|
<view class="product-detail__con">
|
|
<view class="product-detail__info">
|
|
<view class="info-hd flex al-item-center j-between">
|
|
<view class="price flex al-item-center">
|
|
<view class="current" :class="{'small-current': product.max_price!=product.min_price}">
|
|
<text class="symbol">¥</text>{{product.min_price}}<text
|
|
v-if="product.max_price!=product.min_price">-{{product.max_price}}</text>
|
|
</view>
|
|
<view class="original" v-if="product.market_price*1 > product.sell_price*1">
|
|
¥{{product.market_price}}<text v-if="product.max_price!=product.min_price">起</text>
|
|
</view>
|
|
<view class="txt" v-if="shopset.hide_sales != 1">
|
|
销量:{{product.sales}}
|
|
</view>
|
|
<view class="txt" v-if="shopset.hide_sales != 1">
|
|
库存:{{product.stock}}
|
|
</view>
|
|
</view>
|
|
<view class="info-hd__btn flex al-item-center j-between" @tap="showcuxiaodetail" v-if="couponlist.length>0">
|
|
<view class="btn-txt">领券</view>
|
|
<view class="icon-box flex al-item-center j-center">
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="info-bd">{{product.name}}</view>
|
|
<view class="info-ft flex">
|
|
<!-- <view class="playback">
|
|
<text class="iconfont icon-shipin"></text>
|
|
<text class="playback-txt">点击直播回放</text>
|
|
</view> -->
|
|
<view class="share" @tap="shareClick">
|
|
<text class="iconfont icon-fenxiang"></text>
|
|
<text class="share-txt">分享</text>
|
|
</view>
|
|
</view>
|
|
<view class="sellpoint" v-if="product.sellpoint">{{product.sellpoint}}</view>
|
|
<view class="commission" :style="{background:'rgba('+t('color1rgb')+',0.1)',color:t('color1')}"
|
|
v-if="shopset.showcommission==1 && product.commission > 0">分享好友购买预计可得{{t('佣金')}}:<text
|
|
style="font-weight:bold;padding:0 2px">{{product.commission}}</text>{{product.commission_desc}}
|
|
</view>
|
|
<view style="margin:20rpx 0;color:#333;font-size:22rpx" v-if="product.balance_price > 0">
|
|
首付款金额:{{product.advance_price}}元,尾款金额:{{product.balance_price}}元</view>
|
|
<view style="margin:20rpx 0;color:#666;font-size:22rpx" v-if="product.buyselect_commission > 0">
|
|
下单被选奖励预计可得{{t('佣金')}}:<text
|
|
style="font-weight:bold;padding:0 2px">{{product.buyselect_commission}}</text>元</view>
|
|
|
|
<view class="upsavemoney"
|
|
:style="{background:'linear-gradient(90deg, rgb(255, 180, 153) 0%, #ffcaa8 100%)',color:'#653a2b'}"
|
|
v-if="product.upsavemoney > 0">
|
|
<view class="flex1">升级到 {{product.nextlevelname}} 预计可节省<text
|
|
style="font-weight:bold;padding:0 2px;color:#ca4312">{{product.upsavemoney}}</text>元
|
|
</view>
|
|
<view style="margin-left:20rpx;font-weight:bold;display:flex;align-items:center;color:#ca4312"
|
|
@tap="goto" data-url="/pages/my/levelup">立即升级
|
|
<!-- <image :src="event_rul +'/static/img/static/img/arrowright2.png'" style="width:30rpx;height:30rpx"/> -->
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="choose" @tap="buydialogChange" data-btntype="2">
|
|
<view class="f0">规格</view>
|
|
<view class="f1 flex1">请选择商品规格及数量</view>
|
|
</view>
|
|
|
|
<view class="cuxiaodiv" v-if="product.givescore > 0">
|
|
<view class="cuxiaopoint">
|
|
<view class="f0">送{{t('积分')}}</view>
|
|
<view class="f1" style="font-size:26rpx">购买可得{{t('积分')}}{{product.givescore}}个</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="cuxiaodiv"
|
|
v-if="cuxiaolist.length>0 || couponlist.length>0 || fuwulist.length>0 || product.discount_tips!=''">
|
|
<view class="fuwupoint cuxiaoitem" v-if="fuwulist.length>0">
|
|
<view class="f0">服务</view>
|
|
<view class="f1" @tap="showfuwudetail">
|
|
<view class="t" v-for="(item, index) in fuwulist" :key="index">{{item.name}}</view>
|
|
</view>
|
|
<view class="f2" @tap="showfuwudetail">
|
|
<!-- <image :src="event_rul +'/static/img/static/img/arrow-point.png'" mode="widthFix"/> -->
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
<view class="cuxiaopoint cuxiaoitem" v-if="cuxiaolist.length>0">
|
|
<view class="f0">促销</view>
|
|
<view class="f1" @tap="showcuxiaodetail">
|
|
<view v-for="(item, index) in cuxiaolist" :key="index" class="t"
|
|
:style="{background:'rgba('+t('color1rgb')+',0.1)',color:t('color1')}"><text
|
|
class="t0">{{item.tip}}</text><text class="t1">{{item.name}}</text></view>
|
|
</view>
|
|
<view class="f2" @tap="showcuxiaodetail">
|
|
<!-- <image :src="event_rul +'/static/img/static/img/arrow-point.png'" mode="widthFix"/> -->
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
<view class="cuxiaopoint cuxiaoitem" v-if="product.discount_tips!=''">
|
|
<view class="f0">折扣</view>
|
|
<view class="f1" style="padding-left:10rpx">{{product.discount_tips}}</view>
|
|
<view class="f2" @tap="goto" data-url="/pages/my/levelinfo">
|
|
<!-- <image :src="event_rul +'/static/img/static/img/arrow-point.png'" mode="widthFix"/> -->
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view v-if="showfuwudialog" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="hidefuwudetail"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">服务</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="hidefuwudetail" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view v-for="(item, index) in fuwulist" :key="index" class="service-item">
|
|
<view class="fuwudialog-content">
|
|
<view class="f1">{{item.name}}</view>
|
|
<text class="f2">{{item.desc}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view v-if="showcuxiaodialog" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="hidecuxiaodetail"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">优惠促销</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="hidecuxiaodetail" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view v-for="(item, index) in cuxiaolist" :key="index" class="service-item">
|
|
<view class="suffix">
|
|
<view class="type-name"><text
|
|
style="border-radius:4px;border:1px solid #f05423;color: #ff550f;font-size:20rpx;padding:2px 5px">{{item.tip}}</text>
|
|
<text style="color:#333;margin-left:20rpx">{{item.name}}</text></view>
|
|
</view>
|
|
</view>
|
|
<couponlist :couponlist="couponlist" @getcoupon="getcoupon"></couponlist>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="commentbox" v-if="shopset.comment==1 && commentcount > 0">
|
|
<view class="commentbox-hd flex al-item-center j-between">
|
|
<view class="commentbox-hd__title">用户评价({{commentcount}})
|
|
</view>
|
|
<view class="commentbox-hd__more flex al-item-center" @tap="goto"
|
|
:data-url="'commentlist?proid=' + product.id">查看全部
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
</view>
|
|
<view class="commentbox-bd">
|
|
<view class="commentbox-bd__item" v-if="commentlist.length>0">
|
|
<view class="item-hd flex al-item-center j-between">
|
|
<view class="item-hd__userInfo flex al-item-center">
|
|
<image class="item-hd__userInfo-img" :src="commentlist[0].headimg" />
|
|
<view class="item-hd__userInfo-bd">
|
|
<view>
|
|
<view class="item-hd__userInfo-name">{{commentlist[0].nickname}}</view>
|
|
</view>
|
|
<view class="item-hd__userInfo-time">
|
|
{{commentlist[0].createtime}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="item-hd__userInfo-ft">
|
|
<image class="grade-star" v-for="(item2,index2) in [0,1,2,3,4]" :key="index2"
|
|
:src="event_rul +'/static/img/static/img/star' + (commentlist[0].score>item2?'2':'') + '.png'" />
|
|
</view>
|
|
</view>
|
|
|
|
<view class="item-bd">
|
|
<text class="item-bd__txt">{{commentlist[0].content}}</text>
|
|
<view class="item-bd__imgs">
|
|
<block v-if="commentlist[0].content_pic!=''">
|
|
<block v-for="(itemp, index) in commentlist[0].content_pic" :key="index">
|
|
<view @tap="previewImage" :data-url="itemp"
|
|
:data-urls="commentlist[0].content_pic">
|
|
<image :src="itemp"/>
|
|
</view>
|
|
</block>
|
|
</block>
|
|
</view>
|
|
</view>
|
|
<!-- <view class="f3" @tap="goto" :data-url="'commentlist?proid=' + product.id">查看全部评价</view> -->
|
|
</view>
|
|
<view v-else class="nocomment">暂无评价~</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="detail_title">
|
|
<image class="icon2" :src="event_rul +'/static/images/title-decorate.svg'" mode=""></image>
|
|
<view class="t0">商品描述</view>
|
|
<image class="icon2" :src="event_rul +'/static/images/title-decorate.svg'" mode=""></image>
|
|
</view>
|
|
<view class="detail">
|
|
<dp :pagecontent="pagecontent"></dp>
|
|
</view>
|
|
|
|
<!-- <view class="detail_title"><view class="t1"></view><view class="t2"></view><view class="t0">猜你喜欢</view><view class="t2"></view><view class="t1"></view></view> -->
|
|
<view class="detail_title">
|
|
<image class="icon2" :src="event_rul +'/static/images/title-decorate.svg'" mode=""></image>
|
|
<view class="t0">猜你喜欢</view>
|
|
<image class="icon2" :src="event_rul +'/static/images/title-decorate.svg'" mode=""></image>
|
|
</view>
|
|
<!-- <dp-product-itemlist :data="loveList" :menuindex="-1"></dp-product-itemlist> -->
|
|
<dp-product-item :data="loveList" :menuindex="-1"></dp-product-item>
|
|
<view class="bottombar flex-row" :class="menuindex>-1?'tabbarbot':''"
|
|
v-if="product.status==1">
|
|
<view class="f1">
|
|
<view class="item" @tap="goto" :data-url="product.bid== 0 ? '/pages/index/index':'/pagesA/shop/index?id=' + product.bid">
|
|
<!-- <image class="img" :src="event_rul +'/static/img/static/img/kefu.png'" /> -->
|
|
<text class="iconfont" :class="product.bid == 0 ? 'icon-shouye1' : 'icon-dianpu1'" style="font-size: 40rpx; margin-bottom: 3rpx;"></text>
|
|
<view class="t1">{{product.bid == 0 ? '首页' : '店铺'}}</view>
|
|
</view>
|
|
<!-- <button class="item" v-else open-type="contact">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/kefu.png'" />
|
|
<view class="t1">客服</view>
|
|
</button> -->
|
|
<!-- <view class="item flex1" @tap="goto" data-url="/pages/shop/cart">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/gwc.png'"/>
|
|
<view class="t1">购物车</view>
|
|
<view class="cartnum" v-if="cartnum>0" :style="{background:'rgba('+t('color1rgb')+',0.8)'}">{{cartnum}}</view>
|
|
</view> -->
|
|
<view class="item" @tap="addfavorite">
|
|
<!-- <image class="img" :src="event_rul +'/static/img/static/img/shoucang.png'" />
|
|
-->
|
|
<text class="iconfont icon-shoucang" v-if="!isfavorite" style="font-size: 40rpx; margin-bottom: 3rpx;"></text>
|
|
<text class="iconfont icon-Collection" v-else style="color:#0A5D3B; font-size: 40rpx; margin-bottom: 3rpx;"></text>
|
|
<view class="t1">{{isfavorite?'已收藏':'收藏'}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="op">
|
|
<view class="tocart flex-x-center flex-y-center"
|
|
@tap="buydialogChange" data-btntype="1"
|
|
v-if="product.freighttype!=3 && product.freighttype!=4">加入购物车</view>
|
|
<view class="tobuy flex-x-center flex-y-center"
|
|
@tap="buydialogChange" data-btntype="2">立即购买</view>
|
|
</view>
|
|
</view>
|
|
<buydialog v-if="buydialogShow" :proid="product.id" :btntype="btntype"
|
|
@buydialogChange="buydialogChange" :menuindex="menuindex" @addcart="addcart" @cartPuch="cartPuch" :showtaos="1"></buydialog>
|
|
<cart-full v-if="showPurchase" @closePur="closePur" :purchaseDetail="purchaseDetail" :goodscart="goodscart"></cart-full>
|
|
<scrolltop :isshow="scrolltopshow"></scrolltop>
|
|
|
|
<view v-if="sharetypevisible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal" style="height:320rpx;min-height:320rpx">
|
|
<!-- <view class="popup__title">
|
|
<text class="popup__title-text">请选择分享方式</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx" @tap.stop="hidePstimeDialog"/>
|
|
</view> -->
|
|
<view class="popup__content">
|
|
<view class="sharetypecontent">
|
|
<view class="f1" @tap="shareapp" v-if="getplatform() == 'app'">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/weixin.png'" />
|
|
<text class="t1">分享给好友</text>
|
|
</view>
|
|
<view class="f1" @tap="sharemp" v-else-if="getplatform() == 'mp'">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/weixin.png'" />
|
|
<text class="t1">分享给好友</text>
|
|
</view>
|
|
<view class="f1" @tap="sharemp" v-else-if="getplatform() == 'h5'">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/weixin.png'" />
|
|
<text class="t1">分享给好友</text>
|
|
</view>
|
|
<button class="f1" open-type="share" v-else>
|
|
<image class="img" :src="event_rul +'/static/img/static/img/weixin.png'" />
|
|
<text class="t1">分享给好友</text>
|
|
</button>
|
|
<view class="f2" @tap="showPoster">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/sharepic.png'" />
|
|
<text class="t1">生成分享图片</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="posterDialog" v-if="showposter">
|
|
<view class="main">
|
|
<view class="close" @tap="posterDialogClose">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/close.png'" />
|
|
</view>
|
|
<view class="content">
|
|
<image class="img" :src="posterpic" mode="widthFix" @tap="previewImage"
|
|
:data-url="posterpic"></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- new add -->
|
|
<view class="right_car" @tap="goto" data-url="/pages/shop/cart">
|
|
<text class="iconfont icon-gouwuche1" style="font-size: 42rpx; font-weight: bold; color: #0A5D3B;"></text>
|
|
</view>
|
|
|
|
</block>
|
|
<loading v-if="loading"></loading>
|
|
<dp-tabbar :opt="opt" @getmenuindex="getmenuindex"></dp-tabbar>
|
|
<popmsg ref="popmsg"></popmsg>
|
|
|
|
<view class="hitn-n position-f" v-show="hintShow">
|
|
<view class="hint-bx position-a">
|
|
<image class="hint-img" :src="event_rul + '/static/images/hint-n.png'" mode="widthFix"></image>
|
|
<view class="content position-a flex flex-colum al-item-center">
|
|
<text class="title font-w">温馨提示</text>
|
|
<text class="text">该商品已下架!</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 悬浮按钮 -->
|
|
<drag-button></drag-button>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
var app = getApp();
|
|
var interval = null;
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
loveList: [],
|
|
opt: {},
|
|
loading: false,
|
|
isload: false,
|
|
menuindex: -1,
|
|
textset: {},
|
|
isload: false,
|
|
buydialogShow: false,
|
|
btntype: 1,
|
|
isfavorite: false,
|
|
current: 0,
|
|
isplay: 0,
|
|
showcuxiaodialog: false,
|
|
showfuwudialog: false,
|
|
business: "",
|
|
product: [],
|
|
cartnum: "",
|
|
commentlist: "",
|
|
commentcount: "",
|
|
cuxiaolist: "",
|
|
couponlist: "",
|
|
fuwulist: [],
|
|
pagecontent: "",
|
|
shopset: {},
|
|
sysset: {},
|
|
title: "",
|
|
bboglist: "",
|
|
sharepic: "",
|
|
sharetypevisible: false,
|
|
showposter: false,
|
|
posterpic: "",
|
|
scrolltopshow: false,
|
|
kfurl: '',
|
|
showPurchase: false,
|
|
purchaseDetail: {},
|
|
goodscart: {},
|
|
|
|
event_rul: app.globalData.event_url,
|
|
|
|
hintShow:false,
|
|
hintTime: null,
|
|
};
|
|
},
|
|
onLoad: function(opt) {
|
|
this.opt = app.getopts(opt);
|
|
this.getdata();
|
|
},
|
|
onPullDownRefresh: function() {
|
|
this.getdata();
|
|
},
|
|
onShareAppMessage: function() {
|
|
return this._sharewx({
|
|
title: this.product.sharetitle || this.product.name,
|
|
pic: this.product.sharepic || this.product.pic
|
|
});
|
|
},
|
|
onShareTimeline: function() {
|
|
var sharewxdata = this._sharewx({
|
|
title: this.product.sharetitle || this.product.name,
|
|
pic: this.product.sharepic || this.product.pic
|
|
});
|
|
var query = (sharewxdata.path).split('?')[1];
|
|
console.log(sharewxdata)
|
|
console.log(query)
|
|
return {
|
|
title: sharewxdata.title,
|
|
imageUrl: sharewxdata.imageUrl,
|
|
query: query
|
|
}
|
|
},
|
|
onUnload: function() {
|
|
clearInterval(interval);
|
|
clearTimeout(this.hintTime)
|
|
},
|
|
|
|
methods: {
|
|
|
|
cartPuch(e) {
|
|
this.purchaseDetail = e
|
|
this.showPurchase = true
|
|
|
|
},
|
|
// 关闭购物车满弹框
|
|
closePur(e) {
|
|
this.showPurchase = e
|
|
},
|
|
preImg(arr,index){
|
|
console.log(arr,'weism')
|
|
uni.previewImage({urls:arr,current:index})
|
|
},
|
|
|
|
getdata: function() {
|
|
var that = this;
|
|
var id = this.opt.id || 0;
|
|
that.loading = true;
|
|
app.get('ApiShop/product', {
|
|
id: id
|
|
}, function(res) {
|
|
that.loading = false;
|
|
|
|
if (res.status == 0) {
|
|
// app.alert(res.msg);
|
|
that.hintShow = true
|
|
that.hintTime = setTimeout(() => {
|
|
that.hintShow = false
|
|
uni.navigateBack()
|
|
}, 2000)
|
|
return;
|
|
}
|
|
that.loveList = res.loveList;
|
|
that.textset = app.globalData.textset;
|
|
var product = res.product;
|
|
var pagecontent = JSON.parse(product.detail);
|
|
that.business = res.business;
|
|
that.product = product;
|
|
that.cartnum = res.cartnum;
|
|
that.commentlist = res.commentlist;
|
|
that.commentcount = res.commentcount;
|
|
that.cuxiaolist = res.cuxiaolist;
|
|
that.couponlist = res.couponlist;
|
|
that.fuwulist = res.fuwulist;
|
|
that.pagecontent = pagecontent;
|
|
that.shopset = res.shopset;
|
|
that.sysset = res.sysset;
|
|
that.title = product.name;
|
|
that.isfavorite = res.isfavorite;
|
|
that.bboglist = res.bboglist;
|
|
that.sharepic = product.pics[0];
|
|
uni.setNavigationBarTitle({
|
|
title: product.name
|
|
});
|
|
|
|
that.kfurl = '/pages/kefu/index?bid=' + product.bid;
|
|
if (app.globalData.initdata.kfurl != '') {
|
|
that.kfurl = app.globalData.initdata.kfurl;
|
|
}
|
|
that.loaded({
|
|
title: product.sharetitle || product.name,
|
|
pic: product.sharepic || product.pic,
|
|
desc: product.sharedesc || product.sellpoint
|
|
});
|
|
});
|
|
},
|
|
swiperChange: function(e) {
|
|
var that = this;
|
|
that.current = e.detail.current
|
|
},
|
|
payvideo: function() {
|
|
this.isplay = 1;
|
|
uni.createVideoContext('video').play();
|
|
},
|
|
parsevideo: function() {
|
|
this.isplay = 0;
|
|
uni.createVideoContext('video').stop();
|
|
},
|
|
buydialogChange: function(e) {
|
|
if (!this.buydialogShow) {
|
|
this.btntype = e.currentTarget.dataset.btntype
|
|
}
|
|
this.buydialogShow = !this.buydialogShow;
|
|
},
|
|
//收藏操作
|
|
addfavorite: function() {
|
|
var that = this;
|
|
var proid = that.product.id;
|
|
app.post('ApiShop/addfavorite', {
|
|
proid: proid,
|
|
type: 'shop'
|
|
}, function(data) {
|
|
if (data.status == 1) {
|
|
that.isfavorite = !that.isfavorite;
|
|
}
|
|
app.success(data.msg);
|
|
});
|
|
},
|
|
shareClick: function() {
|
|
this.sharetypevisible = true;
|
|
},
|
|
handleClickMask: function() {
|
|
this.sharetypevisible = false
|
|
},
|
|
showPoster: function() {
|
|
var that = this;
|
|
that.showposter = true;
|
|
that.sharetypevisible = false;
|
|
app.showLoading('生成海报中');
|
|
app.post('ApiShop/getposter', {
|
|
proid: that.product.id
|
|
}, function(data) {
|
|
app.showLoading(false);
|
|
if (data.status == 0) {
|
|
app.alert(data.msg);
|
|
} else {
|
|
that.posterpic = data.poster;
|
|
}
|
|
});
|
|
},
|
|
posterDialogClose: function() {
|
|
this.showposter = false;
|
|
},
|
|
showfuwudetail: function() {
|
|
this.showfuwudialog = true;
|
|
},
|
|
hidefuwudetail: function() {
|
|
this.showfuwudialog = false
|
|
},
|
|
showcuxiaodetail: function() {
|
|
this.showcuxiaodialog = true;
|
|
},
|
|
hidecuxiaodetail: function() {
|
|
this.showcuxiaodialog = false
|
|
},
|
|
getcoupon: function() {
|
|
this.showcuxiaodialog = false;
|
|
this.getdata();
|
|
},
|
|
onPageScroll: function(e) {
|
|
var that = this;
|
|
var scrollY = e.scrollTop;
|
|
if (scrollY > 200) {
|
|
that.scrolltopshow = true;
|
|
}
|
|
if (scrollY < 150) {
|
|
that.scrolltopshow = false
|
|
}
|
|
},
|
|
sharemp: function() {
|
|
app.error('点击右上角发送给好友或分享到朋友圈');
|
|
this.sharetypevisible = false
|
|
},
|
|
shareapp: function() {
|
|
var that = this;
|
|
that.sharetypevisible = false;
|
|
uni.showActionSheet({
|
|
itemList: ['发送给微信好友', '分享到微信朋友圈'],
|
|
success: function(res) {
|
|
if (res.tapIndex >= 0) {
|
|
var scene = 'WXSceneSession';
|
|
if (res.tapIndex == 1) {
|
|
scene = 'WXSenceTimeline';
|
|
}
|
|
var sharedata = {};
|
|
sharedata.provider = 'weixin';
|
|
sharedata.type = 0;
|
|
sharedata.scene = scene;
|
|
sharedata.title = that.product.sharetitle || that.product.name;
|
|
sharedata.summary = that.product.sharedesc || that.product.sellpoint;
|
|
sharedata.href = app.globalData.pre_url + '/h5/' + app.globalData.aid +
|
|
'.html#/pages/shop/product?scene=id_' + that.product.id + '-pid_' + app
|
|
.globalData.mid;
|
|
sharedata.imageUrl = that.product.pic;
|
|
var sharelist = app.globalData.initdata.sharelist;
|
|
if (sharelist) {
|
|
for (var i = 0; i < sharelist.length; i++) {
|
|
if (sharelist[i]['indexurl'] == '/pages/shop/product') {
|
|
sharedata.title = sharelist[i].title;
|
|
sharedata.summary = sharelist[i].desc;
|
|
sharedata.imageUrl = sharelist[i].pic;
|
|
if (sharelist[i].url) {
|
|
var sharelink = sharelist[i].url;
|
|
if (sharelink.indexOf('/') === 0) {
|
|
sharelink = app.globalData.pre_url + '/h5/' + app
|
|
.globalData.aid + '.html#' + sharelink;
|
|
}
|
|
if (app.globalData.mid > 0) {
|
|
sharelink += (sharelink.indexOf('?') === -1 ? '?' : '&') +
|
|
'pid=' + app.globalData.mid;
|
|
}
|
|
sharedata.href = sharelink;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
uni.share(sharedata);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
showsubqrcode: function() {
|
|
this.$refs.qrcodeDialog.open();
|
|
},
|
|
closesubqrcode: function() {
|
|
this.$refs.qrcodeDialog.close();
|
|
},
|
|
addcart: function(e) {
|
|
console.log(e)
|
|
this.cartnum = this.cartnum + e.num;
|
|
this.goodscart = e
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
</script>
|
|
<style lang="scss">
|
|
.pages-product {
|
|
min-height: 100vh;
|
|
box-sizing: border-box;
|
|
background: #F5F5F5;
|
|
padding-bottom: calc(124rpx + constant(safe-area-inset-bottom));
|
|
padding-bottom: calc(124rpx + env(safe-area-inset-bottom));
|
|
}
|
|
.icon2 {
|
|
height: 26rpx;
|
|
width: 50rpx;
|
|
}
|
|
|
|
.info_live {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 26rpx;
|
|
margin-top: 20rpx;
|
|
color: #999;
|
|
|
|
.left {
|
|
display: flex;
|
|
|
|
.icon {
|
|
padding: 0 10rpx;
|
|
border-radius: 6rpx;
|
|
color: #fff;
|
|
background-color: #f3bf72;
|
|
margin-right: 16rpx;
|
|
}
|
|
}
|
|
|
|
.right {
|
|
display: flex;
|
|
|
|
.iconfont {
|
|
margin-right: 16rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.right_car {
|
|
position: fixed;
|
|
padding: 15rpx;
|
|
top: 4vh;
|
|
right: 30rpx;
|
|
width: 80rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 2;
|
|
background-color: #e2f7ef;
|
|
height: 80rpx;
|
|
border-radius: 80rpx;
|
|
box-shadow: 0 0 10rpx 0 #ccc;
|
|
|
|
image {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.follow_topbar {
|
|
height: 88rpx;
|
|
width: 100%;
|
|
max-width: 640px;
|
|
background: rgba(0, 0, 0, 0.8);
|
|
position: fixed;
|
|
top: 0;
|
|
z-index: 13;
|
|
}
|
|
|
|
.follow_topbar .headimg {
|
|
height: 64rpx;
|
|
width: 64rpx;
|
|
margin: 6px;
|
|
float: left;
|
|
}
|
|
|
|
.follow_topbar .headimg image {
|
|
height: 64rpx;
|
|
width: 64rpx;
|
|
}
|
|
|
|
.follow_topbar .info {
|
|
height: 56rpx;
|
|
padding: 16rpx 0;
|
|
}
|
|
|
|
.follow_topbar .info .i {
|
|
height: 28rpx;
|
|
line-height: 28rpx;
|
|
color: #ccc;
|
|
font-size: 24rpx;
|
|
}
|
|
|
|
.follow_topbar .info {
|
|
height: 80rpx;
|
|
float: left;
|
|
}
|
|
|
|
.follow_topbar .sub {
|
|
height: 48rpx;
|
|
width: auto;
|
|
background: #FC4343;
|
|
padding: 0 20rpx;
|
|
margin: 20rpx 16rpx 20rpx 0;
|
|
float: right;
|
|
font-size: 24rpx;
|
|
color: #fff;
|
|
line-height: 52rpx;
|
|
border-radius: 6rpx;
|
|
}
|
|
|
|
.qrcodebox {
|
|
background: #fff;
|
|
padding: 50rpx;
|
|
position: relative;
|
|
border-radius: 20rpx
|
|
}
|
|
|
|
.qrcodebox .img {
|
|
width: 400rpx;
|
|
height: 400rpx
|
|
}
|
|
|
|
.qrcodebox .txt {
|
|
color: #666;
|
|
margin-top: 20rpx;
|
|
font-size: 26rpx;
|
|
text-align: center
|
|
}
|
|
|
|
.qrcodebox .close {
|
|
width: 50rpx;
|
|
height: 50rpx;
|
|
position: absolute;
|
|
bottom: -100rpx;
|
|
left: 50%;
|
|
margin-left: -25rpx;
|
|
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
border-radius: 50%;
|
|
padding: 8rpx
|
|
}
|
|
|
|
.swiper-container {
|
|
position: relative;
|
|
height: 750rpx;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.swiper {
|
|
width: 100%;
|
|
height: 750rpx;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.swiper-item-view {
|
|
width: 100%;
|
|
height: 750rpx;
|
|
}
|
|
|
|
.swiper .img {
|
|
width: 100%;
|
|
height: 750rpx;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.imageCount {
|
|
width: 100rpx;
|
|
height: 50rpx;
|
|
background-color: rgba(0, 0, 0, 0.3);
|
|
border-radius: 40rpx;
|
|
line-height: 50rpx;
|
|
color: #fff;
|
|
text-align: center;
|
|
font-size: 26rpx;
|
|
position: absolute;
|
|
right: 13px;
|
|
bottom: 20rpx;
|
|
}
|
|
|
|
.provideo {
|
|
background: rgba(255, 255, 255, 0.7);
|
|
width: 160rpx;
|
|
height: 54rpx;
|
|
padding: 0 20rpx 0 4rpx;
|
|
border-radius: 27rpx;
|
|
position: absolute;
|
|
bottom: 30rpx;
|
|
left: 50%;
|
|
margin-left: -80rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between
|
|
}
|
|
|
|
.provideo image {
|
|
width: 50rpx;
|
|
height: 50rpx;
|
|
}
|
|
|
|
.provideo .txt {
|
|
flex: 1;
|
|
text-align: center;
|
|
padding-left: 10rpx;
|
|
font-size: 24rpx;
|
|
color: #333
|
|
}
|
|
|
|
.videobox {
|
|
width: 100%;
|
|
height: 750rpx;
|
|
text-align: center;
|
|
background: #000
|
|
}
|
|
|
|
.videobox .video {
|
|
width: 100%;
|
|
height: 650rpx;
|
|
}
|
|
|
|
.videobox .parsevideo {
|
|
margin: 0 auto;
|
|
margin-top: 20rpx;
|
|
height: 40rpx;
|
|
line-height: 40rpx;
|
|
color: #333;
|
|
background: #ccc;
|
|
width: 140rpx;
|
|
border-radius: 25rpx;
|
|
font-size: 24rpx
|
|
}
|
|
.product-detail__con {
|
|
padding: 24rpx;
|
|
.product-detail__info {
|
|
padding: 14rpx 24rpx 24rpx;
|
|
background: #fff;
|
|
border-radius: 12rpx;
|
|
}
|
|
.current {
|
|
font-size: 56rpx;
|
|
color: #ED5925;
|
|
line-height: 80rpx;
|
|
padding-right: 20rpx;
|
|
&.small-current {
|
|
font-size: 40rpx;
|
|
}
|
|
.symbol {
|
|
font-size: 28rpx;
|
|
}
|
|
}
|
|
.original {
|
|
font-size: 24rpx;
|
|
color: #999999;
|
|
text-decoration: line-through;
|
|
margin-right: 20rpx;
|
|
}
|
|
.txt {
|
|
font-size: 26rpx;
|
|
color: #999999;
|
|
&:not(:last-child) {
|
|
margin-right: 20rpx;
|
|
}
|
|
}
|
|
.info-hd{
|
|
&__btn {
|
|
width: 104rpx;
|
|
height: 42rpx;
|
|
border-radius: 42rpx;
|
|
background: linear-gradient(to right, #00AE68 0%, #096742 100%);
|
|
padding: 0 8rpx 0 16rpx;
|
|
}
|
|
}
|
|
.btn-txt {
|
|
font-size: 24rpx;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
line-height: 34rpx;
|
|
}
|
|
.icon-box {
|
|
width: 22rpx;
|
|
height: 26rpx;
|
|
border-radius: 50%;
|
|
background: #FFFFFF;
|
|
}
|
|
.icon-arrow-right {
|
|
font-size: 20rpx;
|
|
}
|
|
.info-bd {
|
|
color: #333333;
|
|
font-size: 32rpx;
|
|
line-height: 44rpx;
|
|
font-weight: bold;
|
|
}
|
|
.info-ft {
|
|
justify-content: flex-end;
|
|
margin-top: 46rpx;
|
|
font-size: 26rpx;
|
|
color: #999999;
|
|
line-height: 36rpx;
|
|
.iconfont {
|
|
font-size: 30rpx;
|
|
margin-right: 12rpx;
|
|
}
|
|
.share {
|
|
margin-left: 54rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.product-detail__info .sellpoint {
|
|
font-size: 28rpx;
|
|
color: #666;
|
|
padding-top: 20rpx;
|
|
}
|
|
|
|
.product-detail__info .sales_stock {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
margin-top: 30rpx;
|
|
font-size: 24rpx;
|
|
color: #777777
|
|
}
|
|
|
|
.product-detail__info .commission {
|
|
display: inline-block;
|
|
margin-top: 20rpx;
|
|
margin-bottom: 10rpx;
|
|
border-radius: 10rpx;
|
|
font-size: 20rpx;
|
|
height: 44rpx;
|
|
line-height: 44rpx;
|
|
padding: 0 20rpx
|
|
}
|
|
|
|
.product-detail__info .upsavemoney {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 20rpx;
|
|
margin-bottom: 10rpx;
|
|
border-radius: 10rpx;
|
|
font-size: 20rpx;
|
|
height: 70rpx;
|
|
padding: 0 20rpx
|
|
}
|
|
|
|
.choose {
|
|
border-radius: 12rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
background: #fff;
|
|
margin-top: 24rpx;
|
|
font-size: 28rpx;
|
|
line-height: 40rpx;
|
|
padding: 20rpx 24rpx;
|
|
color: #333;
|
|
}
|
|
|
|
.choose .f0 {
|
|
color: #999999;
|
|
padding-right: 26rpx;
|
|
}
|
|
|
|
.choose .f2 {
|
|
flex: 1;
|
|
}
|
|
|
|
.cuxiaodiv {
|
|
border-radius: 20rpx;
|
|
background: #fff;
|
|
margin-top: 20rpx;
|
|
padding: 0 3%;
|
|
}
|
|
|
|
.fuwupoint {
|
|
width: 100%;
|
|
font-size: 24rpx;
|
|
color: #333;
|
|
height: 88rpx;
|
|
line-height: 88rpx;
|
|
padding: 12rpx 0;
|
|
display: flex;
|
|
align-items: center
|
|
}
|
|
|
|
.fuwupoint .f0 {
|
|
color: #555;
|
|
font-weight: bold;
|
|
height: 32rpx;
|
|
font-size: 24rpx;
|
|
padding-right: 30rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center
|
|
}
|
|
|
|
.fuwupoint .f1 {
|
|
margin-right: 20rpx;
|
|
flex: 1;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
overflow: hidden
|
|
}
|
|
|
|
.fuwupoint .f1 .t {
|
|
padding: 4rpx 20rpx 4rpx 0;
|
|
color: #777;
|
|
flex-shrink: 0
|
|
}
|
|
|
|
.fuwupoint .f1 .t:before {
|
|
content: "";
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
margin-top: -4rpx;
|
|
margin-right: 10rpx;
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURUdwTOU5O+Q5POU5POQ4O+U4PN80P+M4O+Q4O+Q4POQ5POQ4OuQ4O+Q4O+I4PuQ5PJxkAycAAAAPdFJOUwAf+VSoeAvzws7ka7miLboUzckAAADJSURBVBjTY2BgYGCMWVR5VIABDBid/gPBFwjP/JOzQKKtfjGIzf3fEUSJ/N8AJO21Iao3fQbqqA+AcLi/CzCwfGGAAn8HBnlFMIttBoP4R4b4C2BOzk8G3q8M5w3AnPsLGZj/MKwHW8b6/QED4y8G/QQQx14ZSHwCcWYkMOtvAHOAyvqnPf8KcuMvkAGZP9eDjAQaEO/AwDb/D0gj0GiQpRnTQIYIfUR1DopDGexVIZygz8ieC4B6WyzRBOJtBkZ/pAABBZUWOKgAispF5e7ibycAAAAASUVORK5CYII=') no-repeat;
|
|
background-size: 24rpx auto;
|
|
}
|
|
|
|
.fuwupoint .f2 {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
}
|
|
|
|
.fuwupoint .f2 .img {
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
}
|
|
|
|
.fuwudialog-content {
|
|
font-size: 24rpx
|
|
}
|
|
|
|
.fuwudialog-content .f1 {
|
|
color: #333;
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
font-weight: bold
|
|
}
|
|
|
|
.fuwudialog-content .f1:before {
|
|
content: "";
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
margin-top: -4rpx;
|
|
margin-right: 10rpx;
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURUdwTOU5O+Q5POU5POQ4O+U4PN80P+M4O+Q4O+Q4POQ5POQ4OuQ4O+Q4O+I4PuQ5PJxkAycAAAAPdFJOUwAf+VSoeAvzws7ka7miLboUzckAAADJSURBVBjTY2BgYGCMWVR5VIABDBid/gPBFwjP/JOzQKKtfjGIzf3fEUSJ/N8AJO21Iao3fQbqqA+AcLi/CzCwfGGAAn8HBnlFMIttBoP4R4b4C2BOzk8G3q8M5w3AnPsLGZj/MKwHW8b6/QED4y8G/QQQx14ZSHwCcWYkMOtvAHOAyvqnPf8KcuMvkAGZP9eDjAQaEO/AwDb/D0gj0GiQpRnTQIYIfUR1DopDGexVIZygz8ieC4B6WyzRBOJtBkZ/pAABBZUWOKgAispF5e7ibycAAAAASUVORK5CYII=') no-repeat;
|
|
background-size: 24rpx auto;
|
|
}
|
|
|
|
.fuwudialog-content .f2 {
|
|
color: #777
|
|
}
|
|
|
|
.cuxiaopoint {
|
|
width: 100%;
|
|
font-size: 24rpx;
|
|
color: #333;
|
|
height: 88rpx;
|
|
line-height: 88rpx;
|
|
padding: 12rpx 0;
|
|
display: flex;
|
|
align-items: center
|
|
}
|
|
|
|
.cuxiaopoint .f0 {
|
|
color: #555;
|
|
font-weight: bold;
|
|
height: 32rpx;
|
|
font-size: 24rpx;
|
|
padding-right: 20rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center
|
|
}
|
|
|
|
.cuxiaopoint .f1 {
|
|
margin-right: 20rpx;
|
|
flex: 1;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
overflow: hidden
|
|
}
|
|
|
|
.cuxiaopoint .f1 .t {
|
|
margin-left: 10rpx;
|
|
border-radius: 3px;
|
|
font-size: 24rpx;
|
|
height: 40rpx;
|
|
line-height: 40rpx;
|
|
padding-right: 10rpx;
|
|
flex-shrink: 0;
|
|
overflow: hidden
|
|
}
|
|
|
|
.cuxiaopoint .f1 .t0 {
|
|
display: inline-block;
|
|
padding: 0 5px;
|
|
}
|
|
|
|
.cuxiaopoint .f1 .t1 {
|
|
padding: 0 4px
|
|
}
|
|
|
|
.cuxiaopoint .f2 {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
}
|
|
|
|
.cuxiaopoint .f2 .img {
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
}
|
|
|
|
.cuxiaodiv .cuxiaoitem {
|
|
border-bottom: 1px solid #E6E6E6;
|
|
}
|
|
|
|
.cuxiaodiv .cuxiaoitem:last-child {
|
|
border-bottom: 0
|
|
}
|
|
|
|
.popup__container {
|
|
border-radius: 20rpx;
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
width: 100%;
|
|
height: auto;
|
|
z-index: 10;
|
|
background: #fff
|
|
}
|
|
|
|
.popup__overlay {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 11;
|
|
opacity: 0.3;
|
|
background: #000
|
|
}
|
|
|
|
.popup__modal {
|
|
width: 100%;
|
|
position: absolute;
|
|
bottom: 0;
|
|
color: #3d4145;
|
|
overflow-x: hidden;
|
|
overflow-y: hidden;
|
|
opacity: 1;
|
|
padding-bottom: 20rpx;
|
|
background: #fff;
|
|
border-radius: 20rpx 20rpx 0 0;
|
|
z-index: 12;
|
|
min-height: 600rpx;
|
|
max-height: 1000rpx;
|
|
}
|
|
|
|
.popup__title {
|
|
text-align: center;
|
|
padding: 30rpx;
|
|
position: relative;
|
|
position: relative
|
|
}
|
|
|
|
.popup__title-text {
|
|
font-size: 32rpx
|
|
}
|
|
|
|
.popup__close {
|
|
position: absolute;
|
|
top: 34rpx;
|
|
right: 34rpx
|
|
}
|
|
|
|
.popup__content {
|
|
width: 100%;
|
|
max-height: 880rpx;
|
|
overflow-y: scroll;
|
|
padding: 20rpx 0;
|
|
}
|
|
|
|
.service-item {
|
|
display: flex;
|
|
padding: 0 40rpx 20rpx 40rpx;
|
|
}
|
|
|
|
.service-item .prefix {
|
|
padding-top: 2px;
|
|
}
|
|
|
|
.service-item .suffix {
|
|
padding-left: 10rpx;
|
|
}
|
|
|
|
.service-item .suffix .type-name {
|
|
font-size: 28rpx;
|
|
color: #49aa34;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
|
|
.shop {
|
|
border-radius: 20rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
background: #fff;
|
|
margin-top: 20rpx;
|
|
padding: 20rpx 3%;
|
|
position: relative;
|
|
min-height: 100rpx;
|
|
}
|
|
|
|
.shop .p1 {
|
|
width: 90rpx;
|
|
height: 90rpx;
|
|
border-radius: 6rpx;
|
|
flex-shrink: 0
|
|
}
|
|
|
|
.shop .p2 {
|
|
padding-left: 10rpx
|
|
}
|
|
|
|
.shop .p2 .t1 {
|
|
width: 100%;
|
|
height: 40rpx;
|
|
line-height: 40rpx;
|
|
overflow: hidden;
|
|
color: #111;
|
|
font-weight: bold;
|
|
font-size: 30rpx;
|
|
}
|
|
|
|
.shop .p2 .t2 {
|
|
width: 100%;
|
|
height: 30rpx;
|
|
line-height: 30rpx;
|
|
overflow: hidden;
|
|
color: #999;
|
|
font-size: 24rpx;
|
|
margin-top: 8rpx
|
|
}
|
|
|
|
.shop .p4 {
|
|
height: 64rpx;
|
|
line-height: 64rpx;
|
|
color: #FFFFFF;
|
|
border-radius: 32rpx;
|
|
margin-left: 20rpx;
|
|
flex-shrink: 0;
|
|
padding: 0 30rpx;
|
|
font-size: 24rpx;
|
|
font-weight: bold
|
|
}
|
|
|
|
.detail {
|
|
border-radius: 20rpx;
|
|
min-height: 200rpx;
|
|
}
|
|
|
|
.detail_title {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 28rpx 0 24rpx;
|
|
}
|
|
|
|
.detail_title .t0 {
|
|
font-size: 36rpx;
|
|
font-weight: 500;
|
|
color: #0A5D3B;
|
|
line-height: 50rpx;
|
|
letter-spacing: 2rpx;
|
|
margin: 0 10rpx;
|
|
}
|
|
|
|
.detail_title .t1 {
|
|
width: 12rpx;
|
|
height: 12rpx;
|
|
background: rgba(253, 74, 70, 0.2);
|
|
transform: rotate(45deg);
|
|
margin: 0 4rpx;
|
|
margin-top: 6rpx
|
|
}
|
|
|
|
.detail_title .t2 {
|
|
width: 18rpx;
|
|
height: 18rpx;
|
|
background: rgba(253, 74, 70, 0.4);
|
|
transform: rotate(45deg);
|
|
margin: 0 4rpx
|
|
}
|
|
|
|
.commentbox {
|
|
border-radius: 12rpx;
|
|
background: #fff;
|
|
padding: 20rpx 24rpx 28rpx;
|
|
margin-top: 24rpx;
|
|
font-weight: 500;
|
|
&-hd {
|
|
&__title {
|
|
font-size: 32rpx;
|
|
color: #333333;
|
|
line-height: 50rpx;
|
|
}
|
|
&__more {
|
|
font-size: 24rpx;
|
|
color: #0A5D3B;
|
|
line-height: 34rpx;
|
|
.iconfont {
|
|
font-size: 36rpx;
|
|
font-weight: 500;
|
|
}
|
|
}
|
|
}
|
|
&-bd {
|
|
margin-top: 24rpx;
|
|
&__item {
|
|
&:not(:last-child) {
|
|
margin-bottom: 24rpx;
|
|
}
|
|
.item-hd {
|
|
&__userInfo {
|
|
flex: 1;
|
|
&-img {
|
|
width: 68rpx;
|
|
height: 68rpx;
|
|
box-sizing: border-box;
|
|
flex-shrink: 0;
|
|
margin-right: 14rpx;
|
|
}
|
|
&-bd {
|
|
flex: 1;
|
|
font-weight: 500;
|
|
}
|
|
&-name {
|
|
font-size: 26rpx;
|
|
color: #333333;
|
|
line-height: 36rpx;
|
|
}
|
|
&-time {
|
|
margin-top: 2rpx;
|
|
font-size: 22rpx;
|
|
color: #999999;
|
|
line-height: 32rpx;
|
|
}
|
|
&-ft {
|
|
.grade-star {
|
|
width: 28rpx;
|
|
height: 28rpx;
|
|
margin-left: 6rpx;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
.item-bd {
|
|
margin-top: 16rpx;
|
|
&__txt {
|
|
font-size: 26rpx;
|
|
font-weight: 500;
|
|
color: #333333;
|
|
line-height: 32rpx;
|
|
}
|
|
&__imgs {
|
|
margin: 24rpx -12rpx 0 0;
|
|
image {
|
|
margin-right: 12rpx;
|
|
width: 164rpx;
|
|
height: 164rpx;
|
|
border-radius: 12rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
.commentbox .title .f1 {
|
|
flex: 1;
|
|
color: #333;
|
|
font-weight: bold;
|
|
font-size: 30rpx;
|
|
}
|
|
|
|
.commentbox .title .f2 {
|
|
color: #666;
|
|
font-weight: bold;
|
|
font-size: 28rpx;
|
|
display: flex;
|
|
align-items: center
|
|
}
|
|
|
|
.commentbox .nocomment {
|
|
height: 100rpx;
|
|
line-height: 100rpx
|
|
}
|
|
|
|
.comment {
|
|
border-radius: 20rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 200rpx;
|
|
}
|
|
|
|
.comment .item {
|
|
background-color: #fff;
|
|
padding: 10rpx 20rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.comment .item .f1 {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
padding: 10rpx 0;
|
|
}
|
|
|
|
.comment .item .f1 .t1 {
|
|
width: 70rpx;
|
|
height: 70rpx;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.comment .item .f1 .t2 {
|
|
padding-left: 10rpx;
|
|
color: #333;
|
|
font-weight: bold;
|
|
font-size: 30rpx;
|
|
}
|
|
|
|
.comment .item .f1 .t3 {
|
|
text-align: right;
|
|
}
|
|
|
|
.comment .item .f1 .t3 .img {
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
margin-left: 10rpx
|
|
}
|
|
|
|
.comment .item .score {
|
|
font-size: 24rpx;
|
|
color: #f99716;
|
|
}
|
|
|
|
.comment .item .score image {
|
|
width: 140rpx;
|
|
height: 50rpx;
|
|
vertical-align: middle;
|
|
margin-bottom: 6rpx;
|
|
margin-right: 6rpx;
|
|
}
|
|
|
|
.comment .item .f2 {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
padding: 10rpx 0;
|
|
}
|
|
|
|
.comment .item .f2 .t1 {
|
|
color: #333;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
.comment .item .f2 .t2 {
|
|
display: flex;
|
|
width: 100%
|
|
}
|
|
|
|
.comment .item .f2 .t2 image {
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
margin: 10rpx;
|
|
}
|
|
|
|
.comment .item .f2 .t3 {
|
|
color: #aaa;
|
|
font-size: 24rpx;
|
|
}
|
|
|
|
.comment .item .f3 {
|
|
margin: 20rpx auto;
|
|
padding: 0 30rpx;
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
border: 1px solid #E6E6E6;
|
|
border-radius: 30rpx;
|
|
color: #111111;
|
|
font-weight: bold;
|
|
font-size: 26rpx
|
|
}
|
|
|
|
.bottombar {
|
|
position: fixed;
|
|
bottom: 0px;
|
|
left: 0px;
|
|
right: 0;
|
|
padding: 16rpx 24rpx 30rpx;
|
|
background: #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
padding-bottom: calc(20rpx + constant(safe-area-inset-bottom));
|
|
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
|
|
}
|
|
|
|
.bottombar .f1 {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
// margin-right: 30rpx
|
|
justify-content: space-around;
|
|
}
|
|
|
|
.bottombar .f1 .item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
width: 80rpx;
|
|
position: relative
|
|
}
|
|
|
|
.bottombar .f1 .item .img {
|
|
width: 44rpx;
|
|
height: 44rpx
|
|
}
|
|
|
|
.bottombar .f1 .item .t1 {
|
|
font-size: 20rpx;
|
|
color: #666666;
|
|
line-height: 28rpx;
|
|
}
|
|
|
|
.bottombar .op {
|
|
width: 520rpx;
|
|
border-radius: 78rpx;
|
|
overflow: hidden;
|
|
display: flex;
|
|
}
|
|
|
|
.bottombar .tocart,.bottombar .tobuy {
|
|
flex: 1;
|
|
height: 78rpx;
|
|
line-height: 78rpx;
|
|
font-size: 28rpx;
|
|
font-weight: bold
|
|
}
|
|
.bottombar .tocart {
|
|
background: linear-gradient(to right,#e9faf4 0%,#c1f9e5 100%);
|
|
color: #0A5D3B;
|
|
}
|
|
.bottombar .tobuy {
|
|
background: linear-gradient(to right,#00ad68 0%,#096741 100%);
|
|
color: #fff;
|
|
}
|
|
|
|
.bottombar .cartnum {
|
|
position: absolute;
|
|
right: 4rpx;
|
|
top: -4rpx;
|
|
color: #fff;
|
|
border-radius: 50%;
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
line-height: 32rpx;
|
|
text-align: center;
|
|
font-size: 22rpx;
|
|
}
|
|
|
|
.sharetypecontent {
|
|
border-radius: 20rpx;
|
|
height: 250rpx;
|
|
width: 710rpx;
|
|
margin: 20rpx;
|
|
display: flex;
|
|
padding: 50rpx;
|
|
align-items: flex-end
|
|
}
|
|
|
|
.sharetypecontent .f1 {
|
|
color: #51c332;
|
|
width: 50%;
|
|
height: 150rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
background: #fff;
|
|
font-size: 28rpx;
|
|
border: 0
|
|
}
|
|
|
|
.sharetypecontent button::after {
|
|
border: 0
|
|
}
|
|
|
|
.sharetypecontent .f1 .img {
|
|
width: 90rpx;
|
|
height: 90rpx
|
|
}
|
|
|
|
.sharetypecontent .f2 {
|
|
color: #51c332;
|
|
width: 50%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center
|
|
}
|
|
|
|
.sharetypecontent .f2 .img {
|
|
width: 90rpx;
|
|
height: 90rpx
|
|
}
|
|
|
|
.sharetypecontent .t1 {
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
color: #666
|
|
}
|
|
|
|
.posterDialog {
|
|
border-radius: 20rpx;
|
|
position: fixed;
|
|
z-index: 9;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.8);
|
|
top: var(--window-top);
|
|
left: 0
|
|
}
|
|
|
|
.posterDialog .main {
|
|
width: 80%;
|
|
margin: 60rpx 10% 30rpx 10%;
|
|
background: #fff;
|
|
position: relative;
|
|
border-radius: 20rpx
|
|
}
|
|
|
|
.posterDialog .close {
|
|
position: absolute;
|
|
padding: 20rpx;
|
|
top: 0;
|
|
right: 0
|
|
}
|
|
|
|
.posterDialog .close .img {
|
|
width: 40rpx;
|
|
height: 40rpx;
|
|
}
|
|
|
|
.posterDialog .content {
|
|
width: 100%;
|
|
padding: 70rpx 20rpx 30rpx 20rpx;
|
|
color: #333;
|
|
font-size: 30rpx;
|
|
text-align: center
|
|
}
|
|
|
|
.posterDialog .content .img {
|
|
width: 540rpx;
|
|
height: 960rpx
|
|
}
|
|
|
|
// 提示弹框
|
|
|
|
.hitn-n {
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
background-color: #7F7F7F;
|
|
z-index: 3;
|
|
.hint-bx {
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
z-index: 6;
|
|
.hint-img {
|
|
width: 600rpx;
|
|
}
|
|
|
|
.content {
|
|
width: 100%;
|
|
top: 180rpx;
|
|
left: 0;
|
|
.title {
|
|
font-size: 36rpx;
|
|
}
|
|
|
|
.text {
|
|
margin-top: 40rpx;
|
|
color: #666;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|