<template>
|
|
<view class="goods-info" v-show="isShow">
|
|
<view class="goods-info-banner m-b-20">
|
|
<view class="position-relative m-b-10 overflow-hidden">
|
|
<view class="w-100 goods-info-swiper">
|
|
<swiper-video-image v-if="hackReset" :list="swiperData[swiperKey]" height="560rpx" autoplay circular
|
|
autoPlayVideo ref="swiperVideoImage" @swiperClick="swiperClick" @swiperChange="swiperChange" />
|
|
</view>
|
|
<view class="position-absolute goods-info-segmented-control flex align-center" id="segmentedControl"
|
|
v-if="goodsDetail.voType == 1">
|
|
<view class="goods-info-segmented-control-item flex align-center justify-center flex-1"
|
|
:class="{ 'goods-info-segmented-control-item--active': segmentedControlCurrent === index }"
|
|
v-for="(item, index) in subsectionList" :key="index"
|
|
@click.stop="onSegmentedControl(item, index)">
|
|
{{ item.name }}
|
|
</view>
|
|
<view class="goods-info-segmented-control-bar" :style="[segmentedControlLeft]"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 价格展示 -->
|
|
<template v-if="type">
|
|
<!-- <view
|
|
v-if="type =='membersArea' || type == 'ZeroMoneyBuy' || type == 'todayAllReturn'|| type == 'PreferentialSpellGroup' "
|
|
class="goods-info-price" :style="'background-image: url('+IMG_URL+'goods/goodsInfoPriceBg.png);'">
|
|
<view class="goods-info-price-box">
|
|
本网价<text class="font-42">{{goodsDetail.payMoney}}</text>元
|
|
<text v-if="type" class="goods-info-price-box-oldPrice">市场价{{goodsDetail.price}}元</text>
|
|
<text class="text-grey grey_one">{{ goodsDetail.sumShop }}盒起售</text>
|
|
</view> -->
|
|
|
|
|
|
<!-- 普通订单 -->
|
|
<!-- <view class="towReturn"
|
|
|
|
v-if="(type =='ZeroMoneyBuy' || type =='todayAllReturn' || type== 'membersArea') && goodsDetail.giveType == 1">
|
|
|
|
<text class="goods-info-price-box"
|
|
v-if="goodsDetail.oneMomey !== 0 || goodsDetail.oneInteger !== 0 ">次卡再返:{{ goodsDetail.oneMomey == 0 ? '' : goodsDetail.oneMomey + '元消费金' }} {{ goodsDetail.oneInteger == 0 ? '' : goodsDetail.oneInteger + '元兑购金' }}</text>
|
|
<text class="goods-info-price-box"
|
|
v-if="goodsDetail.twoMomey !== 0 || goodsDetail.twoInteger !== 0 ">银卡再返:{{ goodsDetail.twoMomey == 0 ? '' : goodsDetail.twoMomey + '元消费金' }} {{ goodsDetail.twoInteger == 0 ? '' : goodsDetail.twoInteger + '元兑购金' }}</text>
|
|
<text class="goods-info-price-box"
|
|
v-if="goodsDetail.threeMomey !== 0 || goodsDetail.threeInteger !== 0 ">金卡再返:{{ goodsDetail.threeMomey == 0 ? '' : goodsDetail.threeMomey + '元消费金' }} {{ goodsDetail.threeInteger == 0 ? '' : goodsDetail.threeInteger + '元兑购金' }}</text>
|
|
<text class="goods-info-price-box"
|
|
v-if="goodsDetail.fourMomey !== 0 || goodsDetail.fourInteger !== 0 ">钻石卡再返:{{ goodsDetail.fourMomey == 0 ? '' : goodsDetail.fourMomey + '元消费金' }} {{ goodsDetail.fourInteger == 0 ? '' : goodsDetail.fourInteger + '元兑购金' }}</text>
|
|
|
|
</view>
|
|
<view
|
|
v-if="goodsDetail.giveType == 0">
|
|
<text class="rebate font-36 flex flex-column" v-if="!(goodsDetail.allMoney==0 && goodsDetail.allInteger==0) ">
|
|
再返:{{goodsDetail.allMoney==0? '':goodsDetail.allMoney+'元消费金'}} {{goodsDetail.allInteger==0?'':goodsDetail.allInteger+'元兑购金'}}
|
|
</text>
|
|
</view> -->
|
|
|
|
<!-- 拼团 -->
|
|
<!-- <view class="towReturn" v-if="type =='PreferentialSpellGroup' && goodsDetail.giveType == 1">
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 1 && goodsDetail.oneMomey !== 0">再返:{{goodsDetail.oneMomey}}元消费金</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 2 && goodsDetail.threeMomey !== 0 ">再返:{{goodsDetail.threeMomey}}元消费金</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 3 && goodsDetail.twoMomey !== 0 ">再返:{{goodsDetail.twoMomey}}元消费金</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 4 && goodsDetail.fourMomey !== 0 ">再返:{{goodsDetail.fourMomey}}元消费金</text>
|
|
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 1 && !(goodsDetail.oneMomey==0 && goodsDetail.oneInteger==0)">
|
|
再返:{{goodsDetail.oneMomey==0? '':goodsDetail.oneMomey+'元消费金'}} {{goodsDetail.oneInteger==0?'':goodsDetail.oneInteger+'元兑购金'}}
|
|
</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 2 && !(goodsDetail.twoMomey==0 && goodsDetail.twoInteger==0)">
|
|
再返:{{goodsDetail.twoMomey==0? '':goodsDetail.twoMomey+'元消费金'}} {{goodsDetail.twoInteger==0?'':goodsDetail.twoInteger+'元兑购金'}}
|
|
</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 3 && !(goodsDetail.threeMomey==0 && goodsDetail.threeInteger==0)">
|
|
再返:{{goodsDetail.threeMomey==0? '':goodsDetail.threeMomey+'元消费金'}} {{goodsDetail.threeInteger==0?'':goodsDetail+'元兑购金'}}
|
|
</text>
|
|
<text class="goods-info-price-alt"
|
|
v-if="userInfo.level == 4 && !(goodsDetail.fourMomey==0 && goodsDetail.fourInteger==0)">
|
|
再返:{{goodsDetail.fourMomey==0? '':goodsDetail.fourMomey+'元消费金'}} {{goodsDetail.fourInteger==0?'':goodsDetail.fourInteger+'元兑购金'}}
|
|
</text>
|
|
</view> -->
|
|
<!-- <view class="towReturn" v-if="type =='PreferentialSpellGroup' && goods.giveType == 0">
|
|
<text class="goods-info-price-alt"
|
|
v-if="goods.allMoney == 0 && goods.allMoney == 0">再返:{{goods.allMoney}}元消费金</text>
|
|
<text class="goods-info-price-alt" v-if="!(goodsDetail.allMoney==0 && goodsDetail.allInteger==0) ">
|
|
再返:{{goodsDetail.allMoney==0? '':goodsDetail.allMoney+'元消费金'}} {{goodsDetail.allInteger==0?'':goodsDetail.allInteger+'元兑购金'}}
|
|
</text>
|
|
</view> -->
|
|
|
|
<!-- <text class="goods-info-price-alt" v-if="(type == 'ZeroMoneyBuy' || type == 'membersArea'|| type == 'todayAllReturn') && goodsDetail.giveType == 0">
|
|
返:3 元消费金 +2.99 元 兑购金</text> -->
|
|
<!-- <text class="goods-info-price-alt" v-else>返:50 元消费金</text> -->
|
|
<!-- <view class="rebate font-30 flex flex-column" v-if="goodsDetail.giveType == 0">
|
|
<text class="bg_style bgcolor1"
|
|
v-if="goodsDetail.oneMomey !== 0 || goodsDetail.oneInteger !== 0 ">次卡再返:{{ goodsDetail.oneMomey == 0 ? '' : goodsDetail.oneMomey + '元消费金' }} {{ goodsDetail.oneInteger == 0 ? '' : goodsDetail.oneInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor2"
|
|
v-if="userInfo.level == 2 && goodsDetail.threeMomey !== 0 ">银卡再返:{{ goodsDetail.twoMomey == 0 ? '' : goodsDetail.twoMomey + '元消费金' }} {{ goodsDetail.twoInteger == 0 ? '' : goodsDetail.twoInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor3"
|
|
v-if="userInfo.level == 3 && goodsDetail.twoMomey !== 0 ">金卡再返:{{ goodsDetail.threeMomey == 0 ? '' : goodsDetail.threeMomey + '元消费金' }} {{ goodsDetail.threeInteger == 0 ? '' : goodsDetail.threeInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor4"
|
|
v-if="userInfo.level == 4 && goodsDetail.fourMomey !== 0 ">钻石卡再返:{{ goodsDetail.fourMomey == 0 ? '' : goodsDetail.fourMomey + '元消费金' }} {{ goodsDetail.fourInteger == 0 ? '' : goodsDetail.fourInteger + '元兑购金' }}</text>
|
|
</view>
|
|
<view class="rebate font-30 flex flex-column" v-else>
|
|
<text class="bg_style bgcolor1"
|
|
v-if="goodsDetail.oneMomey !== 0 || goodsDetail.oneInteger !== 0 ">次卡再返:{{ goodsDetail.oneMomey == 0 ? '' : goodsDetail.oneMomey + '元消费金' }} {{ goodsDetail.oneInteger == 0 ? '' : goodsDetail.oneInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor2"
|
|
v-if="userInfo.level == 2 && goodsDetail.threeMomey == 0 ">银卡再返:{{ goodsDetail.twoMomey == 0 ? '' : goodsDetail.twoMomey + '元消费金' }} {{ goodsDetail.twoInteger == 0 ? '' : goodsDetail.twoInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor3"
|
|
v-if="userInfo.level == 3 && goodsDetail.twoMomey == 0 ">金卡再返:{{ goodsDetail.threeMomey == 0 ? '' : goodsDetail.threeMomey + '元消费金' }} {{ goodsDetail.threeInteger == 0 ? '' : goodsDetail.threeInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor4"
|
|
v-if="userInfo.level == 4 && goodsDetail.fourMomey == 0 ">钻石卡再返:{{ goodsDetail.fourMomey == 0 ? '' : goodsDetail.fourMomey + '元消费金' }} {{ goodsDetail.fourInteger == 0 ? '' : goodsDetail.fourInteger + '元兑购金' }}</text>
|
|
</view> -->
|
|
|
|
<!-- </view> -->
|
|
<view class="goods-info-price" :style="'background-image: url('+IMG_URL+'goods/goodsInfoPriceBg.png);'">
|
|
<view v-if="
|
|
type=='home'
|
|
|| type=='specialOfferArea'
|
|
|| type=='highReturn'
|
|
|| type=='festivaIActivity'
|
|
|| type=='scienceIsTie-in'
|
|
|| type=='sort'
|
|
|| type =='ZeroMoneyBuy'
|
|
|| type =='todayAllReturn'
|
|
|| type== 'membersArea'
|
|
" class="goods-info-price-box box_centter">
|
|
<text class="font-42" v-if="
|
|
type=='home'
|
|
|| type=='highReturn'
|
|
|| type=='scienceIsTie-in'
|
|
|| type=='sort'
|
|
|| type =='ZeroMoneyBuy'
|
|
|| type =='todayAllReturn'
|
|
|| type== 'membersArea'
|
|
">本网价</text>
|
|
<text v-if="type=='specialOfferArea' || type=='festivaIActivity'">特价</text>
|
|
<text>{{goodsDetail.payMoney}}</text>元
|
|
<text class="goods-info-price-box-oldPrice"
|
|
v-if="goodsDetail.price || goodsDetail.price == 0">市场价{{goodsDetail.price}}元</text>
|
|
<text class="text-grey"
|
|
v-if="goodsDetail.sumShop || goodsDetail.sumShop == 0">{{ goodsDetail.sumShop }}盒起售</text>
|
|
</view>
|
|
<view v-if="type=='integralStore' " class="goods-info-price-integral_centter">
|
|
<text>{{goodsDetail.integerPrice}}兑购金兑购</text>
|
|
<text class="text-grey">{{ goodsDetail.sumShop }}盒起售</text>
|
|
</view>
|
|
<view class="rebate font-40 flex flex-column" v-if="goodsDetail.giveType == 1">
|
|
<text class="bg_style bgcolor1"
|
|
v-if="goodsDetail.oneMomey !== 0 || goodsDetail.oneInteger !== 0">次卡再返:{{ goodsDetail.oneMomey == 0 ? '' : goodsDetail.oneMomey + '元消费金' }} {{ goodsDetail.oneInteger == 0 ? '' : goodsDetail.oneInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor2"
|
|
v-if="goodsDetail.twoMomey !== 0 || goodsDetail.twoInteger !== 0 ">银卡再返:{{ goodsDetail.twoMomey == 0 ? '' : goodsDetail.twoMomey + '元消费金' }} {{ goodsDetail.twoInteger == 0 ? '' : goodsDetail.twoInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor3"
|
|
v-if="goodsDetail.threeMomey !== 0 || goodsDetail.threeInteger !== 0 ">金卡再返:{{ goodsDetail.threeMomey == 0 ? '' : goodsDetail.threeMomey + '元消费金' }} {{ goodsDetail.threeInteger == 0 ? '' : goodsDetail.threeInteger + '元兑购金' }}</text>
|
|
<text class="bg_style bgcolor4"
|
|
v-if="goodsDetail.fourMomey !== 0 || goodsDetail.fourInteger !== 0 ">钻石卡再返:{{ goodsDetail.fourMomey == 0 ? '' : goodsDetail.fourMomey + '元消费金' }} {{ goodsDetail.fourInteger == 0 ? '' : goodsDetail.fourInteger + '元兑购金' }}</text>
|
|
</view>
|
|
<view class="rebate font-40 flex flex-colum" v-if="goodsDetail.endTime">
|
|
<text class="bg_style bgcolor4">
|
|
活动结束时间: {{ goodsDetail.endTime }}</text>
|
|
</view>
|
|
|
|
<view class="rebate font-40 flex flex-column" v-if="goodsDetail.giveType == 0">
|
|
<text class="bg_style bgcolor4" v-if="!(goodsDetail.allMoney==0 && goodsDetail.allInteger==0) ">
|
|
再返:{{goodsDetail.allMoney==0? '':goodsDetail.allMoney+'元消费金'}} {{goodsDetail.allInteger==0?'':goodsDetail.allInteger+'元兑购金'}}
|
|
</text>
|
|
</view>
|
|
|
|
<view class="flex flex-column m-b-10">
|
|
<!-- <text class="return_text" v-if="goods.payMoney !== 0 && goods.bottonType == 0 && thereTo == 'sort'" >可用{{goods.payMoney}}元消费金兑购</text> -->
|
|
<!-- 兑购专区不显示 消费金抵购-->
|
|
{{}}
|
|
<text class="return_text" v-if="goodsDetail.payMoney !== 0 && type !=='integralStore'">可用{{goodsDetail.payMoney}}元消费金抵购</text>
|
|
<text class="return_text" v-if="goodsDetail.integerOldPrice !== 0 && type !=='integralStore'" >可用{{goodsDetail.integerOldPrice}}兑购金兑购</text>
|
|
<div class="flex justify-between">
|
|
<!-- <text class="return_text" v-if="goods.getInteger !== 0">推广可得兑购金{{goods.getInteger}}元</text> -->
|
|
<text class="return_text return_text_1"
|
|
v-if="goodsDetail.getMoney!==0">推广可得兑购金{{goodsDetail.getMoney}}元</text>
|
|
<!-- <text class="return_text return_text_1"
|
|
v-if="thereTo !== 'sort'">推广可得兑购金{{goodsDetail.getInteger}}元</text> -->
|
|
</div>
|
|
</view>
|
|
</view>
|
|
|
|
</template>
|
|
|
|
<!-- 选择是看评论 还是 商品详情 -->
|
|
<view class="goods-info-select-show flex ">
|
|
<view @click="isShowDetale = true;showComment=false"
|
|
:class="isShowDetale?'goods-info-select-show-goods flex justify-center align-center selectactive':'goods-info-select-show-goods flex justify-center align-center'">
|
|
商品参数
|
|
</view>
|
|
<view @click="isShowDetale =false;showComment=true"
|
|
:class="isShowDetale?'goods-info-select-show-comment flex justify-center align-center':'goods-info-select-show-comment flex justify-center align-center selectactive'">
|
|
评论
|
|
</view>
|
|
</view>
|
|
<template v-if="isShowDetale">
|
|
<!-- 商品详情 -->
|
|
<view class="goods-info-container">
|
|
<view class="goods-info-container-title flex align-end justify-between">
|
|
<text
|
|
class="font-36 text-black font-weight-bold">【{{goodsDetail.subTitle}}】{{goodsDetail.title}}</text>
|
|
</view>
|
|
|
|
<view class="goods-info-container-params">
|
|
<!-- <view class="goods-info-container-params-image">
|
|
<image :src="IMG_URL + 'goods/params.png'" mode="widthFix"></image>
|
|
</view> -->
|
|
|
|
<view class="goods-info-container-params-content">
|
|
<!-- <view class="flex align-start m-b-20" v-for="item in 3" :key="item">
|
|
<text class="goods-info-container-params-content-left text-grey font-28">功能主治</text>
|
|
<text class="text-black font-28">成人儿童风热感冒,用于感冒引起的头痛、 发热、鼻塞、流涕、喉咙痛</text>
|
|
</view> -->
|
|
<rich-text :nodes="goodsDetail.detail" image-menu-prevent></rich-text>
|
|
<!-- <u-parse :html="goodsDetail.detail"></u-parse> -->
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="goods-info-other" v-if="goodsDetail.goodsRelationList.length !== 0">
|
|
<view class="goods-info-other-image m-b-20">
|
|
<image :src="IMG_URL + 'goods/test.png'" mode="widthFix"></image>
|
|
</view>
|
|
<view class="goods-info-other-item" v-for="(item2,index) in goodsDetail.goodsRelationList" :key="index">
|
|
<goods-item :type='type' :thereTo="type" :goods="item2"></goods-item>
|
|
</view>
|
|
</view>
|
|
|
|
</template>
|
|
<template v-else>
|
|
<!-- 评论 -->
|
|
<view class="comment">
|
|
<view class="comment-item" v-for="(item,index) in pingList" :key="index">
|
|
<view class="comment-item-user-info">
|
|
<img class="comment-item-user-info-userImg" :src="item.headUrl" alt="">
|
|
<text>{{item.name}}</text>
|
|
</view>
|
|
<view class="comment-conter">
|
|
{{item.connet}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<!-- <com-view class="goods-info-doctor position-fixed"> -->
|
|
<button open-type="contact" bindcontact="handleContact" session-from="sessionFrom"
|
|
class="wechatBtn goods-info-doctor position-fixed">
|
|
<image :src="IMG_URL + 'goods/doctor.png'" mode="widthFix"></image>
|
|
</button>
|
|
<!-- </com-view> -->
|
|
|
|
<view class="goods-info-footer position-fixed vw-100 left-0 bottom-0 flex align-center justify-between">
|
|
<view class="flex showCommtBox" v-if="showComment">
|
|
<input type="text" placeholder="发表评论" class="input-commit" indconfirm="toSendCommit"
|
|
v-model="commitKey">
|
|
<button class="flex font-24 send_commit_btn" @click="toSendCommit">发送</button>
|
|
</view>
|
|
<view class="flex align-center">
|
|
<!-- <com-view @click="toHome">
|
|
<view class="flex flex-column h-100 justify-between align-center m-r-50">
|
|
<image class="goods-info-footer-icon" :src="IMG_URL + 'goods/home.png'">
|
|
<text class="text-black font-24">分享</text>
|
|
</view>
|
|
</com-view> -->
|
|
<button class="goods-info-footer-share" @click="showShare = true">
|
|
<view class="flex flex-column h-100 justify-between align-center m-l-25 m-r-25">
|
|
<image class="goods-info-footer-icon" :src="IMG_URL + 'goods/share.png'">
|
|
<text class="text-black font-32">分享</text>
|
|
</view>
|
|
</button>
|
|
<com-view @click="toCollection">
|
|
<view class="flex flex-column h-100 justify-between align-center m-r-25">
|
|
<image v-if="goodsDetail.skuListSku[0].collection" class="goods-info-footer-icon"
|
|
:src="IMG_URL + 'goods/isCollection.png'">
|
|
<!-- 已收藏 -->
|
|
<image v-else class="goods-info-footer-icon" :src="IMG_URL + 'goods/collection.png'">
|
|
<!-- 未收藏 -->
|
|
<text class="text-black font-32">收藏</text>
|
|
</view>
|
|
</com-view>
|
|
<!-- <com-view @click="toAddCart"
|
|
v-if=" !(type == 'PreferentialSpellGroup' || type =='integralStore') && goodsDetail.payNum != 1">
|
|
<view>
|
|
<view class="flex flex-column h-100 justify-between align-center position-relative m-r-28"
|
|
style="width: 120rpx; !important">
|
|
<image class="goods-info-footer-icon" :src="IMG_URL + 'goods/cart.png'">
|
|
<text class="text-black font-24">加入购物车</text>
|
|
</view>
|
|
</view>
|
|
</com-view> -->
|
|
<!-- 特惠拼团和兑购兑换商品详情太过空旷 增加购物车按钮 -->
|
|
<!-- <com-view @click="toShoppingCart" v-else-if="goodsDetail.payNum != 1">
|
|
<view>
|
|
<view class="flex flex-column justify-between align-center position-relative m-r-28"
|
|
style="width: 120rpx; !important">
|
|
<image class="goods-info-footer-icon" :src="IMG_URL + 'goods/cart.png'">
|
|
<text class="text-black font-24">购物车</text>
|
|
<u-badge :offset="[-8,0]" type="error" :count="goodsDetail.shopCartNum"
|
|
v-if="goodsDetail.shopCartNum"></u-badge>
|
|
</view>
|
|
</view>
|
|
</com-view> -->
|
|
</view>
|
|
<!-- 老的逻辑 -->
|
|
<!-- <u-button type="primary" shape="circle" @click="showParameter = true">查看参数</u-button> -->
|
|
<!-- <u-button type="primary" shape="circle" @click="toAddCart" class="changeWidth" v-if="goodsDetail.payNum == 1 && !(type == 'PreferentialSpellGroup' && type =='integralStore')">加入购物车</u-button>
|
|
<u-button type="primary" shape="circle" :class="textBtnPrimary=='立即购买'? 'changeColor': '' " @click="toShowS" v-else>{{textBtnPrimary}}</u-button>
|
|
<!-- 加入购物车 -->
|
|
<!-- <u-button type="primary" shape="circle" v-if="!(goodsDetail.payNum == 1 && !(type == 'PreferentialSpellGroup' && type =='integralStore'))" @click="toAddCart">加入购物车</u-button> -->
|
|
<u-button type="primary" shape="circle"
|
|
:class="[textBtnPrimary=='立即购买'||textBtnPrimary=='立即预约'? 'changeColor': '',textBtnPrimary=='立即兑换'? 'changeWidth': '','fontSize' ]"
|
|
@click="toShowS">{{textBtnPrimary}}</u-button>
|
|
<u-button type="primary" shape="circle" v-if="type !== 'integralStore'" @click="toAddCart" class='fontSize' >加入购物车</u-button>
|
|
</view>
|
|
<!-- 弹出查看参数 -->
|
|
<u-popup v-model="showParameter" mode="bottom" border-radius="40" height="70%" @close="showParameter = false"
|
|
@touchmove.prevent="">
|
|
<scroll-view scroll-y="true">
|
|
<rich-text :nodes="goodsDetail.parameter"></rich-text>
|
|
</scroll-view>
|
|
</u-popup>
|
|
|
|
<!-- 分享选择 -->
|
|
<u-popup v-model="showShare" mode="bottom" border-radius="20" height="15%" @close="showShare = false">
|
|
<view class="flex align-center shareBox">
|
|
<!-- 分享 -->
|
|
<button class="imgwH" data-name="shareBtn" open-type="share">
|
|
<image class="imgwH" :src="IMG_URL + 'goods/weixin.png'">
|
|
</button>
|
|
<!-- 海报 -->
|
|
<image class="imgwH" :src="IMG_URL + 'goods/pic.png'" mode="" @click="toPages"></image>
|
|
</view>
|
|
</u-popup>
|
|
<spec-popup ref="specPopup" :type="type" :goodsDetail="goodsDetail" @addShopping="addShoppingBefore" />
|
|
<!-- 自定义提示组件 -->
|
|
<view class="showToastStyle" v-if="isShowToast">
|
|
<text class="showToastText">加入购物车成功!</text>
|
|
</view>
|
|
<!-- 返回首页 -->
|
|
<view class="showToBack" v-if="toBackHome" @click="toBachHome">
|
|
返回首页
|
|
</view>
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import SpecPopup from './components/specPopup'
|
|
import {
|
|
IMG_URL
|
|
} from '@/env.js'
|
|
let subsectionList = [{
|
|
name: '图片',
|
|
key: 'image'
|
|
},
|
|
{
|
|
name: '视频',
|
|
key: 'video'
|
|
}
|
|
]
|
|
export default {
|
|
data() {
|
|
return {
|
|
isShowToast: false,
|
|
toBackHome: false,
|
|
pingList: [],
|
|
IMG_URL,
|
|
type: '',
|
|
swiperData: {},
|
|
swiperKey: 'image',
|
|
hackReset: true,
|
|
subsectionList,
|
|
showParameter: false,
|
|
segmentedControlCurrent: 0,
|
|
show_pic_viode: 0,
|
|
bannerList: [
|
|
IMG_URL + 'home/test14.png',
|
|
IMG_URL + 'home/test14.png',
|
|
IMG_URL + 'home/test14.png'
|
|
],
|
|
goodsDetail: {},
|
|
goodsId: '',
|
|
segmentedControlInfo: null,
|
|
textBtnPrimary: '立即购买', // 加入按钮
|
|
isShowDetale: true,
|
|
showShare: false, // 分享选择显示
|
|
showComment: false, // 显示输入框
|
|
commitKey: '', //发送评论文字
|
|
isLock: true, // 防止重复发评论
|
|
shareInfo: {}, // 分享信息
|
|
}
|
|
},
|
|
components: {
|
|
SpecPopup
|
|
},
|
|
onShareAppMessage(res) {
|
|
return {
|
|
title: `【好友推荐】${this.goodsDetail.title}`,
|
|
imageUrl: this.goodsDetail.pic[0],
|
|
path: `/pagesC/goodsInfo/goodsInfo?id=${this.goodsId}&type=${this.type}&shareId=${this.userInfo.invitationCode}`
|
|
}
|
|
},
|
|
computed: {
|
|
segmentedControlLeft() {
|
|
let width = this.segmentedControlInfo?.width ?? 0 / 2;
|
|
let left = width * this.segmentedControlCurrent;
|
|
return {
|
|
transform: `translateX(${left}rpx)`
|
|
};
|
|
},
|
|
isShow() {
|
|
return Object.keys(this.goodsDetail).length
|
|
},
|
|
userInfo() {
|
|
return this.$store.state.userInfo
|
|
}
|
|
},
|
|
async onLoad(options) {
|
|
console.log(options)
|
|
uni.setStorageSync('shareId', options.shareId);
|
|
this.type = options.type;
|
|
this.goodsId = options.id;
|
|
// 返回首页
|
|
const pages = getCurrentPages();
|
|
console.log(pages)
|
|
this.toBackHome = pages[0].route == 'pagesC/goodsInfo/goodsInfo' ? true : false
|
|
// 要么跳首页
|
|
const token = this.$store.state.userToken
|
|
if (options.shareId) {
|
|
this.getGoodsdetail(options.id)
|
|
} else {
|
|
console.log(12313)
|
|
await this.getGoodsdetail(options.id)
|
|
await this.goodsFenGoods();
|
|
// 获取分享信息
|
|
}
|
|
},
|
|
onShow() {
|
|
// 返回是提示 添加购物车成功
|
|
uni.$on("isUpdataShowToast", (time = 1500) => {
|
|
this.isShowToast = true;
|
|
setTimeout(() => {
|
|
this.isShowToast = false;
|
|
}, time)
|
|
})
|
|
},
|
|
onUnload() {
|
|
uni.$off('isUpdataShowToast')
|
|
const pages = getCurrentPages();
|
|
if (pages[0].route == 'pagesC/goodsInfo/goodsInfo') {
|
|
uni.switchTab({
|
|
url: "/pages/home/home"
|
|
})
|
|
}
|
|
},
|
|
methods: {
|
|
toBachHome() {
|
|
uni.switchTab({
|
|
url: "/pages/home/home"
|
|
})
|
|
},
|
|
// 获取分享信息
|
|
goodsFenGoods() {
|
|
return new Promise((req, rej) => {
|
|
this.$api('goodsFenGoods', {
|
|
goodId: this.goodsId,
|
|
type: this.type,
|
|
path: '/pagesC/goodsInfo/goodsInfo',
|
|
}).then(res => {
|
|
let {
|
|
code,
|
|
result,
|
|
message
|
|
} = res;
|
|
if (code == 200) {
|
|
// console.log(result);
|
|
this.shareInfo = result
|
|
req(result)
|
|
} else {
|
|
this.$Toast(message);
|
|
}
|
|
})
|
|
})
|
|
},
|
|
// 发送评论
|
|
toSendCommit() {
|
|
const keyName = this.commitKey
|
|
if (keyName == "") {
|
|
this.$Toast("请输入评论内容!")
|
|
return
|
|
}
|
|
if (!this.isLock) {
|
|
this.$Toast("请休息一下吧!")
|
|
return
|
|
}
|
|
this.isLock = false
|
|
const params = {
|
|
goodId: this.goodsId,
|
|
name: this.userInfo.nickName,
|
|
headUrl: this.userInfo.headUrl,
|
|
connet: keyName
|
|
}
|
|
// console.log(params)
|
|
this.$api("setCommit", params).then(res => {
|
|
const {
|
|
code,
|
|
result,
|
|
message
|
|
} = res;
|
|
if (code !== 200) {
|
|
this.$Toast(message)
|
|
this.isLock = true;
|
|
return
|
|
}
|
|
this.isLock = true;
|
|
this.commitKey = '';
|
|
this.$Toast(message);
|
|
this.getPing(params.goodId);
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
this.isLock = true;
|
|
})
|
|
},
|
|
// swiper切换时触发的回调
|
|
swiperChange(index) {
|
|
// console.log(index)
|
|
},
|
|
// 点击当前视频或图片的回调
|
|
swiperClick(item, index) {
|
|
item.type === 'video' && this.play(item.link)
|
|
},
|
|
// 暂停当前视频播放
|
|
pause() {
|
|
this.$refs.swiperVideoImage.pause()
|
|
},
|
|
toShowS() {
|
|
this.$refs.specPopup.show(true, 'confirm', this.type)
|
|
},
|
|
onSegmentedControl(item, index) {
|
|
// 显示图片还是视频
|
|
this.swiperKey = item.key
|
|
this.segmentedControlCurrent = index;
|
|
this.hackReset = false;
|
|
this.$nextTick(() => {
|
|
console.log('---reset')
|
|
this.hackReset = true;
|
|
})
|
|
// if (item.key === 'video') return this.$nextTick(() => console.log(this.$refs.swiperVideoImage.play),this.$refs.swiperVideoImage.play())
|
|
},
|
|
//加入购物车 之前判断条件
|
|
addShoppingBefore(params, type) {
|
|
let tips = ''
|
|
console.log(params, type, '数据')
|
|
for (let key in params.spec) {
|
|
if (!params.spec[key]) {
|
|
this.$Toast(`请选择${key}`)
|
|
return
|
|
}
|
|
}
|
|
if (this.type == 'integralStore') {
|
|
// if (params.num * params.price > this.userInfo.integral) return this.$Toast('兑购金不足'); // 如果解开,请加上刷新个人信息,更新缓存
|
|
console.log(params)
|
|
uni.showModal({
|
|
title: '确定使用消费' + parseFloat(params.price * params.num).toFixed(2) + '元兑购金兑购',
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
if (type === 'confirm') return this.confirmShopping(params)
|
|
this.confirmShopping(params);
|
|
} else if (res.cancel) {
|
|
this.$Toast("您取消了兑换")
|
|
}
|
|
},
|
|
fail: () => {
|
|
this.$Toast("您取消了兑换")
|
|
}
|
|
})
|
|
} else {
|
|
if (type === 'confirm') return this.confirmShopping(params)
|
|
this.addShopping(params)
|
|
}
|
|
},
|
|
confirmShopping(params) {
|
|
let {
|
|
num,
|
|
price,
|
|
spec
|
|
} = params
|
|
let arr = Object.values(spec)
|
|
let goodSkuParam = arr.join(',')
|
|
const payNum = this.goodsDetail.payNum
|
|
|
|
// if (this.type == 'PreferentialSpellGroup' || this.type=='integralStore') { // 拼团 1 && 兑购金 2
|
|
let orderType = this.type == 'PreferentialSpellGroup' ? 1 : this.type == 'integralStore' ? 2 : 3
|
|
let payType = this.type == 'PreferentialSpellGroup' ? 0 : this.type == 'integralStore' ? 2 : 0
|
|
if (payNum == 1) { // 处方药
|
|
// 传递goodsId 和 type
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/subscribe/subscribe?goodsId=${this.goodsId}&orderType=${orderType}&isSituation=${this.goodsDetail.isSituation}&num=${num}&price=${price}&goodSkuParam=${goodSkuParam}&prescriptionId=${this.goodsDetail.payNum}&createOrderType=confirm&payType=${payType}&isZone=${this.goodsDetail.bottonType}`
|
|
})
|
|
} else {
|
|
uni.showLoading()
|
|
this.$api('teamCreateOrder', {
|
|
type: payType,
|
|
id: this.goodsDetail.id,
|
|
goodsPrice: price,
|
|
goodsNum: num,
|
|
goodsSku: goodSkuParam,
|
|
orderType
|
|
})
|
|
.then(res => {
|
|
uni.hideLoading()
|
|
let {
|
|
code,
|
|
message,
|
|
result
|
|
} = res
|
|
if (code === 200) {
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/confirmOrder/confirmOrder?ids=${result.order.id}&orderType=${orderType}&payType=${payType}&isZone=${this.goodsDetail.bottonType}`
|
|
})
|
|
} else if (code === 902) {
|
|
const that = this
|
|
uni.showModal({
|
|
title: "疫情防控药品登记提示",
|
|
content: "您好,您购买的商品中含疫情防控类商品,请您登记用药人信息后下单",
|
|
success(res) {
|
|
if (res.confirm) {
|
|
setTimeout(() => {
|
|
that.$refs.specPopup.hide();
|
|
that.$tools.navigateTo({
|
|
url: `/pagesB/epidemicPrevention/index?goodsId=${that.goodsId}&orderType=${orderType}&isSituation=${that.goodsDetail.isSituation}&num=${num}&price=${price}&goodSkuParam=${goodSkuParam}&prescriptionId=${that.goodsDetail.payNum}&createOrderType=confirm&payType=${payType}&isZone=${that.goodsDetail.bottonType}`
|
|
}, 800)
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
// this.$Toast(message)
|
|
if(message == "兑购金不足"){
|
|
uni.showModal({
|
|
title: `兑购金不足,兑购失败`,
|
|
content: '可以去充值/或分享推广/或答题有奖/或购物........获得兑购金',
|
|
showCancel: false,
|
|
confirmText: '我知道了',
|
|
success(res) {
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
})
|
|
}
|
|
// } else {
|
|
|
|
// }
|
|
},
|
|
// 加入购物车
|
|
addShopping(params) {
|
|
let {
|
|
num,
|
|
price,
|
|
spec
|
|
} = params
|
|
let arr = Object.values(spec)
|
|
let goodSkuParam = arr.join(',')
|
|
const payNum = this.goodsDetail.payNum
|
|
|
|
// 兑购金提示是否确定使用多少兑购金兑购
|
|
// 防疫药
|
|
|
|
if (payNum == 1) { // 处方药
|
|
// 传递goodsId 和 type
|
|
let orderType = this.type == 'PreferentialSpellGroup' ? 1 : this.type == 'integralStore' ? 2 : 0
|
|
this.$refs.specPopup.hide();
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/subscribe/subscribe?goodsId=${this.goodsId}&orderType=${orderType}&isSituation=${this.goodsDetail.isSituation}&num=${num}&price=${price}&goodSkuParam=${goodSkuParam}&prescriptionId=${this.goodsDetail.payNum}&createOrderType=shoppingCart`
|
|
})
|
|
} else { // 加入购物车接口
|
|
// if (this.type == 'PreferentialSpellGroup' || this.type=='integralStore') { // 拼团 1 && 兑购金 2
|
|
// let orderType = this.type == 'PreferentialSpellGroup' ? 1 : this.type=='integralStore' ? 2 : 0
|
|
// uni.showLoading()
|
|
// this.$api('teamCreateOrder', {type:2, id: this.goodsDetail.id,goodsPrice: price, goodsNum: num, goodsSku: goodSkuParam, orderType })
|
|
// .then(res => {
|
|
// uni.hideLoading()
|
|
// let { code, message, result } = res
|
|
// if (code === 200) {
|
|
// this.$tools.navigateTo({
|
|
// url: `/pagesC/confirmOrder/confirmOrder?ids=${result.order.id}&type=${orderType}`
|
|
// })
|
|
// }else if(code === 902){
|
|
// setTimeout(() => {
|
|
// this.$tools.navigateTo({
|
|
// url: `/pagesB/epidemicPrevention/index?goodsId=${this.goodsId}&orderType=${orderType}&isSituation=${this.goodsDetail.isSituation}&num=${num}&price=${price}&goodSkuParam=${goodSkuParam}&prescriptionId=${this.goodsDetail.payNum}`
|
|
// }, 800)
|
|
// })
|
|
// } else {
|
|
// this.$Toast(message)
|
|
// }
|
|
// }).catch(err => {
|
|
// this.$Toast(err.message)
|
|
// })
|
|
// } else { // 购物车
|
|
this.$api('addShoppingCart', {
|
|
id: this.goodsDetail.id,
|
|
num,
|
|
price,
|
|
goodSkuParam
|
|
})
|
|
.then(res => {
|
|
this.$refs.specPopup.hide()
|
|
// this.$Toast(res.message)
|
|
if (res.code === 200) {
|
|
|
|
uni.$emit('updateShoppingCartList')
|
|
this.$Toast('加入成功')
|
|
// setTimeout(() => {
|
|
// this.$tools.switchTab({
|
|
// url: '/pages/shoppingCart/shoppingCart'
|
|
// }, 800)
|
|
// })
|
|
|
|
} else if (res.code === 902) {
|
|
const that = this
|
|
uni.showModal({
|
|
title: "疫情防控药品登记提示",
|
|
content: "您好,您购买的商品中含疫情防控类商品,请您登记用药人信息后下单",
|
|
success(res) {
|
|
if (res.confirm) {
|
|
// 防疫药
|
|
setTimeout(() => {
|
|
that.$refs.specPopup.hide();
|
|
that.$tools.navigateTo({
|
|
url: `/pagesB/epidemicPrevention/index?goodsId=${that.goodsId}&isSituation=${that.goodsDetail.isSituation}&num=${num}&price=${price}&goodSkuParam=${goodSkuParam}&prescriptionId=${that.goodsDetail.payNum}&createOrderType=shoppingCart`
|
|
}, 800)
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
this.$Toast(res.message)
|
|
}
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
})
|
|
// }
|
|
}
|
|
},
|
|
// 获取商品详情
|
|
getGoodsdetail(id) {
|
|
uni.showLoading();
|
|
this.$api('getGoodsdetail', {
|
|
id
|
|
})
|
|
.then(res => {
|
|
let {
|
|
code,
|
|
result,
|
|
message
|
|
} = res;
|
|
uni.hideLoading();
|
|
if (code == 200) {
|
|
this.getPing(this.goodsId);
|
|
result.pic = result.pic ? result.pic.split(',') : []
|
|
result.picVo = result.picVo ? result.picVo.split(',') : []
|
|
result.goodsRelationList.forEach(item => {
|
|
if (item) {
|
|
item.pic = item.pic.split(',')[0]
|
|
}
|
|
})
|
|
|
|
this.swiperData = {
|
|
video: result.picVo.map(item => ({
|
|
type: 'video',
|
|
link: item
|
|
})),
|
|
image: result.pic.map(item => ({
|
|
type: 'img',
|
|
link: item
|
|
}))
|
|
}
|
|
let detail = result.detail.replace(/\<img/gi,
|
|
`<img style="width:${uni.upx2px(750)}px;height:auto;display:block;"`)
|
|
// .replace(/\<li style="[^"]+"/gi, `<li style="display:flex;flex-wrap:wrap"`)
|
|
// .replace(/\<p class="drug-explain-txt" style="[^"]+"/gi, `<p style="flex:1"`)
|
|
this.goodsDetail = {
|
|
...result,
|
|
detail
|
|
}
|
|
// 处方显示立即预约 其他显示立即购买 .type== 'PreferentialSpellGroup' integralStore
|
|
let btnTxt = this.textBtnPrimary
|
|
// if (result.payNum == 1 && this.type !== 'PreferentialSpellGroup' && this.type !==
|
|
// 'integralStore') {
|
|
// btnTxt = "加入购物车"
|
|
// } else
|
|
if (result.payNum !== 1 && (this.type !== 'PreferentialSpellGroup' && this.type !==
|
|
'integralStore')) {
|
|
btnTxt = "立即购买"
|
|
} else if (this.type === 'PreferentialSpellGroup') {
|
|
btnTxt = '立即参团'
|
|
} else if (this.type == 'integralStore') {
|
|
btnTxt = '立即兑换'
|
|
}
|
|
if (result.payNum == 1) {
|
|
btnTxt = '立即预约'
|
|
}
|
|
this.$nextTick(async () => {
|
|
this.segmentedControlInfo = await this.$util.getDomInfo(
|
|
'#segmentedControl', this);
|
|
this.textBtnPrimary = btnTxt
|
|
console.log('this.segmentedControlInfo', this.segmentedControlInfo)
|
|
})
|
|
} else {
|
|
let tips = message.indexOf('操作失败') > -1 ? '商品不存在' : message
|
|
this.$Toast(tips);
|
|
}
|
|
}).catch(err => {
|
|
uni.hideLoading();
|
|
this.$Toast(err.message)
|
|
})
|
|
},
|
|
|
|
//获取评论
|
|
getPing(goodId) {
|
|
let that = this;
|
|
let pamas = {
|
|
goodId: goodId
|
|
}
|
|
this.$api('getGoodsPing', pamas).then(res => {
|
|
console.log(res)
|
|
if (res.code == 200) {
|
|
that.pingList = res.result;
|
|
console.log(that.pingList)
|
|
}
|
|
}).catch(err => {
|
|
uni.hideLoading();
|
|
this.$Toast(err.message)
|
|
})
|
|
},
|
|
play(picVo) {
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/videoPlay/videoPlay?picVo=${picVo}`
|
|
});
|
|
},
|
|
toAddCart() {
|
|
// uni.switchTab({
|
|
// url: '/pages/shoppingCart/shoppingCart'
|
|
// })
|
|
// if (this.goodsDetail.shopCardType === 1 && this.goodsDetail.bottonType === 0 ) return this.$Toast('购物车中有专区商品,请先支付')
|
|
// if (this.goodsDetail.shopCardType === 0 && this.goodsDetail.bottonType === 1 && this.goodsDetail.shopCartNum * 1 > 0 ) return this.$Toast('购物车中有普通商品,请先支付')
|
|
this.$refs.specPopup.show(true, 'shoppingCart', this.type)
|
|
},
|
|
|
|
toShoppingCart() {
|
|
uni.switchTab({
|
|
url: '/pages/shoppingCart/shoppingCart'
|
|
})
|
|
},
|
|
toCollection() {
|
|
|
|
uni.showLoading();
|
|
const params = {
|
|
goodId: this.goodsDetail.id,
|
|
thereTo: this.type // 从那元页面来的
|
|
}
|
|
this.$api('saveCollectionPage', params).then(res => {
|
|
let {
|
|
code,
|
|
result,
|
|
message
|
|
} = res;
|
|
uni.hideLoading();
|
|
if (code == 200) {
|
|
this.goodsDetail.skuListSku[0].collection = !this.goodsDetail.skuListSku[0].collection
|
|
this.$Toast(result);
|
|
} else {
|
|
this.$Toast(message);
|
|
}
|
|
}).catch(err => {
|
|
uni.hideLoading();
|
|
this.$Toast(err.message);
|
|
})
|
|
},
|
|
toHome() {
|
|
|
|
this.$tools.switchTab({
|
|
url: '/pages/home/home'
|
|
})
|
|
},
|
|
// 分享海报
|
|
toPages() {
|
|
const goodsInfo = encodeURIComponent(JSON.stringify(this.goodsDetail));
|
|
const shareInfo = encodeURIComponent(JSON.stringify(this.shareInfo));
|
|
if (Object.keys(this.shareInfo).length == 0) {
|
|
this.$Toast("请等会儿点击,资源正在加载!");
|
|
return;
|
|
}
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/sharePic/sharePic?goodsInfo=${goodsInfo}&shareInfo=${shareInfo}`,
|
|
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.towReturn {
|
|
padding-left: 40rpx;
|
|
}
|
|
|
|
.rebate {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-top: 10rpx;
|
|
margin-left: 20rpx;
|
|
|
|
// margin-bottom: 6rpx;
|
|
.bg_style {
|
|
width: fit-content;
|
|
font-size: 30rpx;
|
|
font-weight: bold;
|
|
padding-left: 20rpx;
|
|
margin-bottom: 10rpx;
|
|
border-radius: 12rpx;
|
|
color: #fff;
|
|
}
|
|
|
|
|
|
// .bgcolor1 {
|
|
// background-color: #58efa9;
|
|
// display: inline-block;
|
|
// }
|
|
|
|
// .bgcolor2 {
|
|
// background-color: #ffa952;
|
|
// display: inline-block;
|
|
// }
|
|
|
|
// .bgcolor3 {
|
|
// background-color: #f94343;
|
|
// display: inline-block;
|
|
// }
|
|
|
|
// .bgcolor4 {
|
|
// background-color: #000000;
|
|
// display: inline-block;
|
|
// }
|
|
}
|
|
|
|
.text-grey {
|
|
font-size: 28rpx !important;
|
|
}
|
|
|
|
.goods-info {
|
|
padding-bottom: 150rpx;
|
|
|
|
&-swiper {
|
|
width: 100%;
|
|
height: 560rpx;
|
|
}
|
|
|
|
&-play {
|
|
left: 50%;
|
|
bottom: 50%;
|
|
transform: translate(-50%, 50%);
|
|
}
|
|
|
|
&-segmented-control {
|
|
width: 200rpx;
|
|
height: 50rpx;
|
|
background: #fff;
|
|
border-radius: 40rpx;
|
|
left: 50%;
|
|
bottom: 20rpx;
|
|
transform: translateX(-50%);
|
|
|
|
&-item {
|
|
position: relative;
|
|
z-index: 1;
|
|
color: #000;
|
|
font-size: 34rpx;
|
|
transition: all 0.2s linear;
|
|
|
|
&--active {
|
|
color: #fff;
|
|
}
|
|
}
|
|
|
|
&-bar {
|
|
width: 50%;
|
|
height: 100%;
|
|
border-radius: 40rpx;
|
|
position: absolute;
|
|
background-color: $u-type-primary;
|
|
z-index: 0;
|
|
transition: all 0.2s linear;
|
|
}
|
|
}
|
|
|
|
&-price {
|
|
width: 714rpx;
|
|
// height: 176rpx;
|
|
margin: 20rpx auto 20rpx;
|
|
border-radius: 14rpx;
|
|
box-shadow: 0 3rpx 6rpx 0 rgba(0, 0, 0, 0.16);
|
|
background-size: 100% 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
|
|
&-box {
|
|
color: #fff;
|
|
margin-top: 34rpx;
|
|
padding-left: 40rpx;
|
|
font-size: 30rpx;
|
|
|
|
text {
|
|
font-size: 36rpx;
|
|
}
|
|
|
|
width: 100%;
|
|
|
|
&-oldPrice {
|
|
text-decoration: line-through;
|
|
color: #fff;
|
|
font-size: 24rpx !important;
|
|
margin-left: 12rpx;
|
|
}
|
|
|
|
.text-grey {
|
|
display: inline-block;
|
|
float: right;
|
|
flex: 1;
|
|
margin-right: 20rpx;
|
|
font-size: 28rpx !important;
|
|
vertical-align: initial;
|
|
}
|
|
|
|
.grey_one {
|
|
margin-top: 8rpx;
|
|
}
|
|
}
|
|
|
|
.box_centter {
|
|
// line-height: 176rpx;
|
|
|
|
padding-top: 10rpx;
|
|
// padding-left: 40rpx;
|
|
margin-top: 0rpx;
|
|
padding-right: 20rpx;
|
|
}
|
|
|
|
&-integral_centter {
|
|
flex: 1;
|
|
line-height: 176rpx;
|
|
padding-left: 20rpx;
|
|
padding-top: 0rpx;
|
|
font-size: 43rpx;
|
|
color: #fff;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
.text-grey {
|
|
margin-right: 20rpx;
|
|
}
|
|
}
|
|
|
|
&-alt {
|
|
margin-left: 37rpx;
|
|
margin-top: 13rpx;
|
|
display: inline-block;
|
|
height: 61rpx;
|
|
border-radius: 30rpx;
|
|
text-align: center;
|
|
line-height: 52rpx;
|
|
padding: 0 17rpx;
|
|
background-color: #fff;
|
|
color: #DB0618;
|
|
box-sizing: border-box;
|
|
font-size: 24rpx;
|
|
border: 1px solid #DB0618;
|
|
}
|
|
}
|
|
|
|
&-footer {
|
|
box-sizing: border-box;
|
|
padding: 0 20rpx;
|
|
height: 130rpx;
|
|
background-color: #fff;
|
|
box-shadow: 0px 2rpx 16rpx 4px #d9d9d9;
|
|
|
|
.showCommtBox {
|
|
width: 100%;
|
|
position: fixed;
|
|
left: 0;
|
|
padding: 10rpx 0;
|
|
height: 60rpx;
|
|
background-color: #fff;
|
|
margin-bottom: 180rpx;
|
|
justify-content: space-around;
|
|
|
|
.input-commit {
|
|
// width: 640rpx;
|
|
flex: 1;
|
|
margin-left: 30rpx;
|
|
}
|
|
|
|
.send_commit_btn {
|
|
width: 120rpx;
|
|
height: 50rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 30rpx;
|
|
background-color: #01AEEA;
|
|
color: #fff;
|
|
}
|
|
}
|
|
|
|
&-share {
|
|
padding: 0;
|
|
border: 0;
|
|
background: transparent;
|
|
line-height: unset;
|
|
|
|
&::after {
|
|
border: 0;
|
|
background: transparent;
|
|
}
|
|
}
|
|
|
|
&-icon {
|
|
width: 80rpx;
|
|
height: 80rpx;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.changeWidth {
|
|
/deep/.u-btn {
|
|
width: 488rpx;
|
|
height: 90rpx;
|
|
font-size: 32rpx;
|
|
}
|
|
}
|
|
.fontSize{
|
|
/deep/ .u-btn {
|
|
font-size: 36rpx;
|
|
}
|
|
}
|
|
.changeColor {
|
|
/deep/ .u-btn {
|
|
background-color: #F8B66A;
|
|
}
|
|
}
|
|
|
|
/deep/.u-btn {
|
|
width: 236rpx;
|
|
height: 90rpx;
|
|
font-size: 32rpx;
|
|
}
|
|
}
|
|
|
|
&-select-show {
|
|
width: 500rpx;
|
|
margin: 0 auto;
|
|
height: 50rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
margin-bottom: 20rpx;
|
|
|
|
&-goods {
|
|
display: flex;
|
|
margin-left: 20rpx;
|
|
padding: 10rpx 20rpx;
|
|
border-radius: 10rpx;
|
|
}
|
|
|
|
&-comment {
|
|
display: flex;
|
|
margin-left: 20rpx;
|
|
padding: 10rpx 20rpx;
|
|
border-radius: 10rpx;
|
|
}
|
|
|
|
.selectactive {
|
|
background-color: #01AEEA;
|
|
color: #fff;
|
|
}
|
|
|
|
}
|
|
|
|
&-container {
|
|
padding: 0 20rpx;
|
|
margin-bottom: 40rpx;
|
|
|
|
&-params {
|
|
&-image {
|
|
width: 280rpx;
|
|
margin: 20rpx auto;
|
|
}
|
|
|
|
&-content {
|
|
padding: 0 10rpx;
|
|
|
|
&-left {
|
|
min-width: 5em;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.comment {
|
|
padding-bottom: 50rpx;
|
|
|
|
&-item {
|
|
margin-left: 20rpx;
|
|
margin-bottom: 20rpx;
|
|
|
|
&-user-info {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
&-userImg {
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
border-radius: 50%;
|
|
margin-right: 20rpx;
|
|
}
|
|
}
|
|
|
|
&-conter {}
|
|
}
|
|
|
|
}
|
|
|
|
&-other {
|
|
&-image {
|
|
width: 560rpx;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
&-item {
|
|
padding: 0 20rpx;
|
|
}
|
|
}
|
|
|
|
&-doctor {
|
|
right: -2%;
|
|
width: 200rpx;
|
|
top: 70%;
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
|
|
.goods-info-doctor {
|
|
z-index: 1000;
|
|
}
|
|
|
|
.wechatBtn {
|
|
background: transparent;
|
|
border: 0;
|
|
padding: 0;
|
|
|
|
&::after {
|
|
background: transparent;
|
|
border: 0;
|
|
}
|
|
}
|
|
|
|
// 分享弹出框
|
|
.shareBox {
|
|
width: 100%;
|
|
height: 100%;
|
|
justify-content: space-around;
|
|
}
|
|
|
|
.imgwH {
|
|
width: 94rpx;
|
|
height: 94rpx;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 50%;
|
|
background-color: #fff;
|
|
margin: 0;
|
|
}
|
|
|
|
.return_text {
|
|
width: fit-content;
|
|
// border: 1px solid #01AEEA;
|
|
// background-color: #fff;
|
|
// color: #01AEEA;
|
|
color: #000;
|
|
font-weight: bold;
|
|
border-radius: 6rpx;
|
|
font-size: 30rpx;
|
|
// padding: 6rpx 12rpx;
|
|
padding-left: 40rpx;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.return_text_1 {
|
|
color: #fff;
|
|
}
|
|
|
|
// 自定义提示
|
|
.showToastStyle {
|
|
position: fixed;
|
|
top: 0%;
|
|
left: 0%;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #fff;
|
|
font-size: 24rpx;
|
|
|
|
.showToastText {
|
|
border-radius: 20rpx;
|
|
padding: 20rpx 40rpx;
|
|
background-color: rgba(0, 0, 0, 0.3);
|
|
}
|
|
}
|
|
|
|
// 返回首页
|
|
.showToBack {
|
|
position: fixed;
|
|
top: 45%;
|
|
left: 0;
|
|
padding: 10rpx 20rpx;
|
|
border-radius: 20rpx;
|
|
background-color: #01AEEA;
|
|
color: #fff;
|
|
font-size: 36rpx;
|
|
}
|
|
|
|
</style>
|