|
@@ -1,382 +1,537 @@
|
|
|
<template>
|
|
|
- <view class="product" :style="{paddingBottom: userIdentity==1 && userIdentity == 3 ? '0rpx' :'188rpx',paddingTop:CustomBar+'px'}">
|
|
|
- <custom-p v-if="isHeaderPoduct"
|
|
|
- :systeminfo='systeminfo'
|
|
|
- :navbar-data='nvabarData'
|
|
|
- :headerBtnPosi ="headerBtnPosi"
|
|
|
- :headerColor="headerColor"
|
|
|
- :type="isShareType"
|
|
|
- :page='backPage'>
|
|
|
- </custom-p>
|
|
|
- <view class="product-topnav" v-if='isNavbarFiexd' :class="navbarFiexd" :style="{top:CustomBar +'px'}">
|
|
|
- <view class="search-input">
|
|
|
- <view class="gosearch-btn" :class="navbarFiexd" @click="this.$api.navigateTo(clickPath)">
|
|
|
- <view class="search-icon">
|
|
|
- <text class="iconfont icon-iconfonticonfontsousuo1"></text>
|
|
|
- </view>
|
|
|
- <view class="search-text">搜索商品/项目仪器</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="navbar">
|
|
|
- <view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 0 }" @click="tabClick(0)">
|
|
|
- <text>详情</text>
|
|
|
- <text class="line"></text>
|
|
|
- </view>
|
|
|
- <view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 1 }" @click="tabClick(1)">
|
|
|
- <text>服务项目</text>
|
|
|
- <text class="line"></text>
|
|
|
- </view>
|
|
|
- <view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 2 }" @click="tabClick(2)">
|
|
|
- <text>推荐</text>
|
|
|
- <text class="line"></text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading ="true" :loadingType="5"></tui-skeleton>
|
|
|
- <template v-else >
|
|
|
- <view class="cart-content empty" v-if="isInvalid">
|
|
|
- <view class="empty-container">
|
|
|
- <image class="empty-container-image" :src="productNoneImage" mode="aspectFit"></image>
|
|
|
- <text class="error-text">商品已失效,去商城逛逛别的吧~</text>
|
|
|
- <view class="login-btn" @click="goIndex">去商城</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="container-product tui-skeleton" v-else>
|
|
|
- <view class="container-product-main">
|
|
|
- <view class="product-top">
|
|
|
- <view class="banner-section">
|
|
|
- <uni-swiper-dot :info="productImage" :current="current" field="content" :mode="mode" >
|
|
|
- <swiper class="banner tui-banner tui-skeleton-rect" @change="swiperChange" :duration='800' :autoplay="false" :circular="true" >
|
|
|
- <swiper-item v-for="(item, index) in productImage" :key="index" class="banner-item">
|
|
|
- <image :src="item" @click="previewImg(index)" class="product-img" />
|
|
|
- <view class="cm-product-cover" v-if="product.appletsActType === 1">云上美博会</view>
|
|
|
- </swiper-item>
|
|
|
- </swiper>
|
|
|
- <view class="swiper__dots-box">
|
|
|
- <tui-tag padding="12rpx 24rpx"
|
|
|
- type="translucent"
|
|
|
- shape="circleLeft"
|
|
|
- size="32rpx"
|
|
|
- :scaleMultiple="0.82" originRight>
|
|
|
- {{ current + 1 }}/{{ productImage.length }}
|
|
|
- </tui-tag>
|
|
|
- </view>
|
|
|
- </uni-swiper-dot>
|
|
|
- </view>
|
|
|
- <view class="product-wrap clearfix">
|
|
|
- <view class="wrap-top" :class="goodsData.isNoneDisabled ? 'none' : ''">
|
|
|
- <view class="wrap-top-price">
|
|
|
- <cm-price v-if="isRequest"
|
|
|
- :product="product"
|
|
|
- :userIdentity="userIdentity"
|
|
|
- :shopID= "shopID"
|
|
|
- :promotions="product.promotions"
|
|
|
- :ladderPriceList="ladderPriceList"/>
|
|
|
- </view>
|
|
|
- <view class="p-title tui-skeleton-fillet">
|
|
|
- <view class="mclap-tag" v-if="product.beautyActFlag == '1'">美博会</view>
|
|
|
- <view class="p-title-name" :class="product.beautyActFlag == '1' ? 'indent' : ''">
|
|
|
- {{product.name == undefined ? '' : product.name}}
|
|
|
- </view>
|
|
|
- <button open-type="share" class="p-title-share tui-share-position" @tap="onShare">
|
|
|
- <view class=""><text class="iconfont icon-fenxiang1"></text></view>
|
|
|
- <view class="">分享</view>
|
|
|
- </button>
|
|
|
- </view>
|
|
|
- <view class="wrap-label" v-if="product.tagsList.length>0">
|
|
|
- <view class="label-a tui-skeleton-fillet" v-for="(label,index) in product.tagsList" :key="index">{{label}}</view>
|
|
|
- </view>
|
|
|
- <view class="product-seve" v-if="hasLogin">
|
|
|
- <text class="label">采美承诺:</text>
|
|
|
- <text class="iconfont icon-dui tui-skeleton-rect"><text class="text">无忧退货</text></text>
|
|
|
- <text class="iconfont icon-dui tui-skeleton-rect"><text class="text">快速退款</text></text>
|
|
|
- <text class="iconfont icon-dui tui-skeleton-rect"><text class="text">正品保证</text></text>
|
|
|
- </view>
|
|
|
- <view class="productRemarks" v-if="product.productRemarks!=''&&product.productRemarks!=null">
|
|
|
- 备注:{{product.productRemarks}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="product-item-none" v-if="goodsData.isNoneDisabled">
|
|
|
- <image class="none-image" :src="productNoneImage" mode=""></image>
|
|
|
- <view class="none-text">此商品已{{goodsData.disabledText}},请浏览以下推荐商品~</view>
|
|
|
- </view>
|
|
|
- <!-- 参数 -->
|
|
|
- <view class="product-parameter" @click="showPopup(0)" v-if="!goodsData.isNoneDisabled">
|
|
|
- <text class="title">参数:</text>
|
|
|
- <text class="name">品牌 起订量 分类...</text>
|
|
|
- <text class="iconfont icon-xiayibu"></text>
|
|
|
- </view>
|
|
|
- <!-- 优惠券 -->
|
|
|
- <view class="product-parameter coupon" v-if="isShowButton && productCoupon.length>0" @click="showPopup(2)">
|
|
|
- <text class="title">优惠券:</text>
|
|
|
- <view class="coupon">
|
|
|
- <text class="tags" v-for="(coupon, index) in productCoupon.slice(0,3)" :key="index">
|
|
|
- 满{{ coupon.touchPrice }}减{{ coupon.couponAmount }}
|
|
|
- </text>
|
|
|
- </view>
|
|
|
- <text class="iconfont icon-xiayibu"></text>
|
|
|
- </view>
|
|
|
- <!-- 仪器培训方案 -->
|
|
|
- <view class="product-parameter" @click="showPopup(1)" v-if='product.commodityType == 2 && product.trainingMethod'>
|
|
|
- <text class="title">培训方案:</text>
|
|
|
- <text class="name">{{ product.trainingMethod == 1 ? '线上培训' : '线下培训' }}</text>
|
|
|
- <text class="iconfont icon-xiayibu"></text>
|
|
|
- </view>
|
|
|
- <!-- 供应商 -->
|
|
|
- <view class="product-supplier" v-if="isNoneSupplier" @click="goSupplier">
|
|
|
- <view class="logo"><img :src="shop.logo ? shop.logo :'https://static.caimei365.com/app/img/icon/icon-shoplogo.png'" alt=""></view>
|
|
|
- <view class="main">
|
|
|
- <view class="name">{{shop.name}}</view>
|
|
|
- <view class="massgs">
|
|
|
- <view class="label">满意度:</view>
|
|
|
- <view class="p-stars">
|
|
|
- <uni-stars :stars="6" :iconClass="iconClass" :iconColor="iconColor" :fontSize="36" :widthInfo="176"></uni-stars>
|
|
|
- </view>
|
|
|
- <view class="acount">
|
|
|
- <text>{{ shop.normalNum }}</text>件商品
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="right"><text class="iconfont icon-xiayibu"></text></view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="product-details product-details0">
|
|
|
- <!-- 商品详情 -->
|
|
|
- <view class="title">
|
|
|
- <view class="title-tab">商品详情</view>
|
|
|
- </view>
|
|
|
- <view class="content tui-banner product-rich-text tui-skeleton-rect">
|
|
|
- <parser :html="html" :img-mode="widthFix" v-if="!goodsData.isNoneDisabled && product.productDetail.detailInfo"></parser>
|
|
|
- <view class="product-rich-text-none" v-else>暂无商品信息</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="product-details service product-details1">
|
|
|
- <!-- 服务项目 -->
|
|
|
- <view class="title">
|
|
|
- <view class="title-tab">服务项目</view>
|
|
|
- </view>
|
|
|
- <view class="content service" v-if="product.productDetail.orderInfo || product.productDetail.serviceInfo">
|
|
|
- <cm-service :product="product.productDetail" v-if="isRequest"></cm-service>
|
|
|
- </view>
|
|
|
- <view class="content-none" v-else>
|
|
|
- <text>暂无服务项目</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="product-details recommend product-details2">
|
|
|
- <!-- 相关推荐 -->
|
|
|
- <view class="title">
|
|
|
- <view class="title-tab">相关推荐</view>
|
|
|
- </view>
|
|
|
- <view class="content hot">
|
|
|
- <recommend :query-productid="product.productId" :query-type="product.recommendType" v-if="isRequest"></recommend>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 商品参数 -->
|
|
|
- <tui-bottom-popup :radius="true" :show="popupShow0" @close="hidePopup(0)">
|
|
|
- <view class="tui-popup-box clearfix">
|
|
|
- <view class="title">商品参数</view>
|
|
|
- <div class="tui-popup-main">
|
|
|
- <scroll-view class="tui-popup-scroll" scroll-y="true">
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">起订量</view>
|
|
|
- <view class="content-th">{{product.minBuyNumber}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">品牌</view>
|
|
|
- <view class="content-th">{{product.brandName == null? '其他' : product.brandName}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">分类</view>
|
|
|
- <view class="content-th">{{product.typeName == null? '暂无' : product.typeName}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">包装规格</view>
|
|
|
- <view class="content-th">{{product.unit}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">商品编码</view>
|
|
|
- <view class="content-th">{{product.productCode}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">库存</view>
|
|
|
- <view class="content-th">{{product.stock}}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr" v-if="product.parametersList.length>0" v-for="(item, index) in product.parametersList" :key="index">
|
|
|
- <view class="content-td">{{item.paramsName}}</view>
|
|
|
- <view class="content-th">{{item.paramsContent}}</view>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </div>
|
|
|
- <view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
|
|
|
- <view class="tui-flex-1">
|
|
|
- <view class="tui-button" @click="hidePopup(0)">收起</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </tui-bottom-popup>
|
|
|
- <!-- 优惠券 -->
|
|
|
- <tui-bottom-popup :radius="true" :show="popupShow2" @close="hidePopup(2)">
|
|
|
- <view class="tui-popup-box clearfix">
|
|
|
- <view class="title">优惠券</view>
|
|
|
- <view class="tui-popup-close" @click="hidePopup(2)">
|
|
|
- <text class="iconfont icon-iconfontguanbi"></text>
|
|
|
- </view>
|
|
|
- <view class="tui-popup-tabs">
|
|
|
- <coupon-tabs :tabs="navbar"
|
|
|
- :currentTab="currentTab > 2 ? 0 : currentTab"
|
|
|
- @change="couponChange"
|
|
|
- :itemWidth="(100/navbar.length)+'%'"
|
|
|
- selectedColor="#e15616"
|
|
|
- sliderBgColor="#e15616">
|
|
|
- </coupon-tabs>
|
|
|
- </view>
|
|
|
- <div class="tui-popup-main coupon">
|
|
|
- <scroll-view class="tui-popup-scroll" scroll-y="true">
|
|
|
- <view class="coupon-empty" v-if="isCouponEmpty">
|
|
|
- <image class="empty-container-image" :src="StaticUrl+'/icon/icon-coupon-empty@2x.png'"></image>
|
|
|
- <text class="error-text">暂无可领的优惠券~</text>
|
|
|
- </view>
|
|
|
- <template v-else>
|
|
|
- <view v-for="(coupon,index) in productCouponList"
|
|
|
- :key="index"
|
|
|
- :id="coupon.couponId"
|
|
|
- class="coupon-list"
|
|
|
- >
|
|
|
- <view class="list-cell-le">
|
|
|
- <view class="coupon-maxMoney"><text class="small">¥</text>{{ coupon.couponAmount }}</view>
|
|
|
- <view class="coupon-minMoney">满{{ coupon.touchPrice }}可用</view>
|
|
|
- </view>
|
|
|
- <view class="list-cell-ri">
|
|
|
- <view class="list-cell-top">
|
|
|
- <view class="list-cell-type">
|
|
|
- <view class="list-cell-tags">
|
|
|
- <text class="tags">{{ coupon.couponType | TypeFormat }}</text>
|
|
|
- </view>
|
|
|
- <view class="list-cell-texts">
|
|
|
- <text v-if="coupon.couponType == 0">
|
|
|
- {{ coupon.productType && coupon.productType == 1 ? '全商城商品通用' : '仅可购买指定商品' }}
|
|
|
- </text>
|
|
|
- <text v-if="coupon.couponType == 1">
|
|
|
- {{ coupon.categoryType == 1 ? '仅限购买产品类商品' : '仅限购买仪器类商品' }}
|
|
|
- </text>
|
|
|
- <text v-if="coupon.couponType == 3">仅限购买店铺【{{ coupon.shopName }}】的商品</text>
|
|
|
- <text v-if="coupon.couponType == 4 || coupon.couponType == 2">全商城商品通用</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="list-cell-btn">
|
|
|
- <view class="icon-used">
|
|
|
- <view class="icon-used-btn receive" v-if="currentTab == 0" @click="receiveCoupon(coupon)">领取</view>
|
|
|
- <view class="icon-used-btn make" v-if="currentTab == 1">已领取</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- </scroll-view>
|
|
|
- </div>
|
|
|
- </view>
|
|
|
- </tui-bottom-popup>
|
|
|
- <!-- 培训方案 -->
|
|
|
- <tui-bottom-popup :radius="true" :show="popupShow1" @close="hidePopup(1)">
|
|
|
- <view class="tui-popup-box clearfix">
|
|
|
- <view class="title">培训方案</view>
|
|
|
- <div class="tui-popup-main">
|
|
|
- <scroll-view class="tui-popup-scroll train" scroll-y="true">
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">培训方式:</view>
|
|
|
- <view class="content-th">{{ product.trainingMethod == 1 ? '线上培训' : '线下培训' }}</view>
|
|
|
- </view>
|
|
|
- <view class="content-tr">
|
|
|
- <view class="content-td">培训费用:</view>
|
|
|
- <view class="content-th">{{ product.trainingType == 1 ? '¥'+product.trainingFee : '售价已包含' }}</view>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </div>
|
|
|
- <view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
|
|
|
- <view class="tui-flex-1">
|
|
|
- <view class="tui-button" @click="hidePopup(1)">收起</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </tui-bottom-popup>
|
|
|
- <!-- 底部按钮 -->
|
|
|
- <view class="menu" v-if="isShowButton">
|
|
|
- <view class="bottom-btn" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
|
|
|
- <view class="bottom-le">
|
|
|
- <view class="item-bt" @click="this.$api.switchTabTo('/pages/tabBar/home/index')">
|
|
|
- <image src="../../static/icon-home-active@3x.png"></image>
|
|
|
- <text>首页</text>
|
|
|
- </view>
|
|
|
- <view class="item-bt" @click="handleCollection">
|
|
|
- <image :src="collectionType ? StaticUrl+'icon/icon-collection@2x.png' : StaticUrl+'icon/icon-collection-none@2x.png'"></image>
|
|
|
- <text>{{ collectionType ? '已收藏' : '收藏' }}</text>
|
|
|
- </view>
|
|
|
- <view class="item-bt" @click="buyProductCart()">
|
|
|
- <image src="https://static.caimei365.com/app/img/icon/icon-cart-active@3x.png"></image>
|
|
|
- <text>购物车</text>
|
|
|
- <text v-if="hasLogin && bottomCartNumber>0"
|
|
|
- class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
|
|
|
- :class="[bottomCartNumber < 10 ? 'goleft':'']">
|
|
|
- {{ bottomCartNumber >= 100 ? '99+': bottomCartNumber}}
|
|
|
- </text>
|
|
|
- <view class="animation-num" :class="isAnimation ? 'animation' : 'restion'">+1</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="bottom-ri">
|
|
|
- <button
|
|
|
- :disabled="goodsData.disabled"
|
|
|
- class="btn btn-cart"
|
|
|
- :class="[goodsData.disabled ? 'disabled':'']"
|
|
|
- @tap.stop="btnGetConfirm('add')">加入购物车</button>
|
|
|
- <button
|
|
|
- :disabled="goodsData.disabled"
|
|
|
- class="btn btn-bay"
|
|
|
- :class="[goodsData.disabled ? 'disabled':'']"
|
|
|
- @tap.stop="btnGetConfirm('buy')">立即购买</button>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!--底部选择模态层弹窗组件 -->
|
|
|
- <view class="popup spec" :class="specClass" @touchmove.stop.prevent="discard" @tap="hideSpec">
|
|
|
- <!-- 遮罩层 -->
|
|
|
- <view class="mask"></view>
|
|
|
- <view class="layer" @tap.stop="discard" :style="{paddingBottom :isIphoneX ? '68rpx' : '36rpx',bottom:isIphoneX ?'-352rpx' : '-296rpx'}">
|
|
|
- <view class="content">
|
|
|
- <view class="layer-smimg">
|
|
|
- <image :src="product.mainImage" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="layer-nunbox">
|
|
|
- <view class="layer-nunbox-t" v-if="product.step === 2">
|
|
|
- <view class="text">*该商品只能以起订量的整数倍购买</view>
|
|
|
- </view>
|
|
|
- <view class="layer-nunbox-t">
|
|
|
- <view class="layer-nunbox-text">数量:</view>
|
|
|
- <view class="number-box">
|
|
|
- <view class="iconfont icon-jianhao" :class="[isQuantity==true?'disabled':'']" @click="changeCountSub()"></view>
|
|
|
- <input class="btn-input" type="number" v-model="number" maxlength='4' @blur="changeNumber($event)">
|
|
|
- <view class="iconfont icon-jiahao" :class="[isStock==true?'disabled':'']" @click="changeCountAdd()"></view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="layer-nunbox-b">
|
|
|
- <view class="text">单价:
|
|
|
- <text class="p sm">¥</text>
|
|
|
- <text class="p bg">{{buyRetailPrice.toFixed(2)}}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="btn"><view class="button" @click.stop="btnConfirm">确定</view></view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 侧边 -->
|
|
|
- <scroll-top :isScrollTop="isScrollTop" :bottom="200"></scroll-top>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- </view>
|
|
|
+ <view
|
|
|
+ class="product "
|
|
|
+ :style="{
|
|
|
+ paddingBottom: userIdentity == 1 && userIdentity == 3 ? '0rpx' : '188rpx',
|
|
|
+ paddingTop: CustomBar + 'px'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <custom-p
|
|
|
+ v-if="isHeaderPoduct"
|
|
|
+ :systeminfo="systeminfo"
|
|
|
+ :navbar-data="nvabarData"
|
|
|
+ :headerBtnPosi="headerBtnPosi"
|
|
|
+ :headerColor="headerColor"
|
|
|
+ :type="isShareType"
|
|
|
+ :page="backPage"
|
|
|
+ >
|
|
|
+ </custom-p>
|
|
|
+ <view
|
|
|
+ class="product-topnav"
|
|
|
+ id="topBar"
|
|
|
+ v-show="isNavbarFiexd"
|
|
|
+ :class="navbarFiexd"
|
|
|
+ :style="{ top: CustomBar + 'px' }"
|
|
|
+ >
|
|
|
+ <view class="search-input">
|
|
|
+ <view class="gosearch-btn" :class="navbarFiexd" @click="this.$api.navigateTo(clickPath)">
|
|
|
+ <view class="search-icon"> <text class="iconfont icon-iconfonticonfontsousuo1"></text> </view>
|
|
|
+ <view class="search-text">搜索商品/项目仪器</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="navbar">
|
|
|
+ <view
|
|
|
+ class="nav-item tui-skeleton-fillet"
|
|
|
+ :class="{ current: tabCurrentIndex === 0 }"
|
|
|
+ @click="tabClick(0)"
|
|
|
+ >
|
|
|
+ <text>详情</text> <text class="line"></text>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="nav-item tui-skeleton-fillet"
|
|
|
+ :class="{ current: tabCurrentIndex === 1 }"
|
|
|
+ @click="tabClick(1)"
|
|
|
+ >
|
|
|
+ <text>服务项目</text> <text class="line"></text>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="nav-item tui-skeleton-fillet"
|
|
|
+ :class="{ current: tabCurrentIndex === 2 }"
|
|
|
+ @click="tabClick(2)"
|
|
|
+ >
|
|
|
+ <text>推荐</text> <text class="line"></text>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="nav-item tui-skeleton-fillet"
|
|
|
+ :class="{ current: tabCurrentIndex === 3 }"
|
|
|
+ @click="tabClick(3)"
|
|
|
+ v-if="product.archiveId !== 0"
|
|
|
+ >
|
|
|
+ <text>相关资料</text> <text class="line"></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <tui-skeleton
|
|
|
+ v-if="skeletonShow"
|
|
|
+ backgroundColor="#fafafa"
|
|
|
+ borderRadius="10rpx"
|
|
|
+ :isLoading="true"
|
|
|
+ :loadingType="5"
|
|
|
+ ></tui-skeleton>
|
|
|
+ <template v-else>
|
|
|
+ <view class="cart-content empty" v-if="isInvalid">
|
|
|
+ <view class="empty-container">
|
|
|
+ <image class="empty-container-image" :src="productNoneImage" mode="aspectFit"></image>
|
|
|
+ <text class="error-text">商品已失效,去商城逛逛别的吧~</text>
|
|
|
+ <view class="login-btn" @click="goIndex">去商城</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="container-product tui-skeleton" v-else>
|
|
|
+ <view class="container-product-main">
|
|
|
+ <view class="product-top">
|
|
|
+ <view class="banner-section">
|
|
|
+ <uni-swiper-dot :info="productImage" :current="current" field="content" :mode="mode">
|
|
|
+ <swiper
|
|
|
+ class="banner tui-banner tui-skeleton-rect"
|
|
|
+ @change="swiperChange"
|
|
|
+ :duration="800"
|
|
|
+ :autoplay="false"
|
|
|
+ :circular="true"
|
|
|
+ >
|
|
|
+ <swiper-item v-for="(item, index) in productImage" :key="index" class="banner-item">
|
|
|
+ <image :src="item" @click="previewImg(index)" class="product-img" />
|
|
|
+ <view class="cm-product-cover" v-if="product.appletsActType === 1"
|
|
|
+ >云上美博会</view
|
|
|
+ >
|
|
|
+ </swiper-item>
|
|
|
+ </swiper>
|
|
|
+ <view class="swiper__dots-box">
|
|
|
+ <tui-tag
|
|
|
+ padding="12rpx 24rpx"
|
|
|
+ type="translucent"
|
|
|
+ shape="circleLeft"
|
|
|
+ size="32rpx"
|
|
|
+ :scaleMultiple="0.82"
|
|
|
+ originRight
|
|
|
+ >
|
|
|
+ {{ current + 1 }}/{{ productImage.length }}
|
|
|
+ </tui-tag>
|
|
|
+ </view>
|
|
|
+ </uni-swiper-dot>
|
|
|
+ </view>
|
|
|
+ <view class="product-wrap clearfix">
|
|
|
+ <view class="wrap-top" :class="goodsData.isNoneDisabled ? 'none' : ''">
|
|
|
+ <view class="wrap-top-price">
|
|
|
+ <cm-price
|
|
|
+ v-if="isRequest"
|
|
|
+ :product="product"
|
|
|
+ :userIdentity="userIdentity"
|
|
|
+ :shopID="shopID"
|
|
|
+ :promotions="product.promotions"
|
|
|
+ :ladderPriceList="ladderPriceList"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <view class="p-title tui-skeleton-fillet">
|
|
|
+ <view class="mclap-tag" v-if="product.beautyActFlag == '1'">美博会</view>
|
|
|
+ <view class="p-title-name" :class="product.beautyActFlag == '1' ? 'indent' : ''">
|
|
|
+ {{ product.name == undefined ? '' : product.name }}
|
|
|
+ </view>
|
|
|
+ <button open-type="share" class="p-title-share tui-share-position" @tap="onShare">
|
|
|
+ <view class=""><text class="iconfont icon-fenxiang1"></text></view>
|
|
|
+ <view class="">分享</view>
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
+ <view class="wrap-label" v-if="product.tagsList.length > 0">
|
|
|
+ <view
|
|
|
+ class="label-a tui-skeleton-fillet"
|
|
|
+ v-for="(label, index) in product.tagsList"
|
|
|
+ :key="index"
|
|
|
+ >{{ label }}</view
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ <view class="product-seve" v-if="hasLogin">
|
|
|
+ <text class="label">采美承诺:</text>
|
|
|
+ <text class="iconfont icon-dui tui-skeleton-rect"
|
|
|
+ ><text class="text">无忧退货</text></text
|
|
|
+ >
|
|
|
+ <text class="iconfont icon-dui tui-skeleton-rect"
|
|
|
+ ><text class="text">快速退款</text></text
|
|
|
+ >
|
|
|
+ <text class="iconfont icon-dui tui-skeleton-rect"
|
|
|
+ ><text class="text">正品保证</text></text
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="productRemarks"
|
|
|
+ v-if="product.productRemarks != '' && product.productRemarks != null"
|
|
|
+ >
|
|
|
+ 备注:{{ product.productRemarks }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="product-item-none" v-if="goodsData.isNoneDisabled">
|
|
|
+ <image class="none-image" :src="productNoneImage" mode=""></image>
|
|
|
+ <view class="none-text">此商品已{{ goodsData.disabledText }},请浏览以下推荐商品~</view>
|
|
|
+ </view>
|
|
|
+ <!-- 参数 -->
|
|
|
+ <view class="product-parameter" @click="showPopup(0)" v-if="!goodsData.isNoneDisabled">
|
|
|
+ <text class="title">参数:</text> <text class="name">品牌 起订量 分类...</text>
|
|
|
+ <text class="iconfont icon-xiayibu"></text>
|
|
|
+ </view>
|
|
|
+ <!-- 优惠券 -->
|
|
|
+ <view
|
|
|
+ class="product-parameter coupon"
|
|
|
+ v-if="isShowButton && productCoupon.length > 0"
|
|
|
+ @click="showPopup(2)"
|
|
|
+ >
|
|
|
+ <text class="title">优惠券:</text>
|
|
|
+ <view class="coupon">
|
|
|
+ <text class="tags" v-for="(coupon, index) in productCoupon.slice(0, 3)" :key="index">
|
|
|
+ 满{{ coupon.touchPrice }}减{{ coupon.couponAmount }}
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <text class="iconfont icon-xiayibu"></text>
|
|
|
+ </view>
|
|
|
+ <!-- 仪器培训方案 -->
|
|
|
+ <view
|
|
|
+ class="product-parameter"
|
|
|
+ @click="showPopup(1)"
|
|
|
+ v-if="product.commodityType == 2 && product.trainingMethod"
|
|
|
+ >
|
|
|
+ <text class="title">培训方案:</text>
|
|
|
+ <text class="name">{{ product.trainingMethod == 1 ? '线上培训' : '线下培训' }}</text>
|
|
|
+ <text class="iconfont icon-xiayibu"></text>
|
|
|
+ </view>
|
|
|
+ <!-- 供应商 -->
|
|
|
+ <view class="product-supplier" v-if="isNoneSupplier" @click="goSupplier">
|
|
|
+ <view class="logo">
|
|
|
+ <img :src="shop.logo? shop.logo: 'https://static.caimei365.com/app/img/icon/icon-shoplogo.png'"alt=""/></view>
|
|
|
+ <view class="main">
|
|
|
+ <view class="name">{{ shop.name }}</view>
|
|
|
+ <view class="massgs">
|
|
|
+ <view class="label">满意度:</view>
|
|
|
+ <view class="p-stars">
|
|
|
+ <uni-stars
|
|
|
+ :stars="6"
|
|
|
+ :iconClass="iconClass"
|
|
|
+ :iconColor="iconColor"
|
|
|
+ :fontSize="36"
|
|
|
+ :widthInfo="176"
|
|
|
+ ></uni-stars>
|
|
|
+ </view>
|
|
|
+ <view class="acount">
|
|
|
+ <text>{{ shop.normalNum }}</text
|
|
|
+ >件商品
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="right"><text class="iconfont icon-xiayibu"></text></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 商品详情 -->
|
|
|
+ <view v-show="tabCurrentIndex !== 3">
|
|
|
+ <view class="product-details product-details0">
|
|
|
+ <view class="title"> <view class="title-tab">商品详情</view> </view>
|
|
|
+ <view class="content tui-banner product-rich-text tui-skeleton-rect">
|
|
|
+ <parser
|
|
|
+ :html="html"
|
|
|
+ :img-mode="widthFix"
|
|
|
+ v-if="!goodsData.isNoneDisabled && product.productDetail.detailInfo"
|
|
|
+ ></parser>
|
|
|
+ <view class="product-rich-text-none" v-else>暂无商品信息</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 服务项目 -->
|
|
|
+ <view class="product-details service product-details1">
|
|
|
+ <view class="title"> <view class="title-tab">服务项目</view> </view>
|
|
|
+ <view
|
|
|
+ class="content service"
|
|
|
+ v-if="product.productDetail.orderInfo || product.productDetail.serviceInfo"
|
|
|
+ >
|
|
|
+ <cm-service :product="product.productDetail" v-if="isRequest"></cm-service>
|
|
|
+ </view>
|
|
|
+ <view class="content-none" v-else> <text>暂无服务项目</text> </view>
|
|
|
+ </view>
|
|
|
+ <!-- 相关推荐 -->
|
|
|
+ <view class="product-details recommend product-details2">
|
|
|
+ <view class="title"> <view class="title-tab">相关推荐</view> </view>
|
|
|
+ <view class="content hot">
|
|
|
+ <recommend
|
|
|
+ :query-productid="product.productId"
|
|
|
+ :query-type="product.recommendType"
|
|
|
+ v-if="isRequest"
|
|
|
+ ></recommend>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 相关资料 -->
|
|
|
+ <view class="product-details recommend product-details3" v-show="tabCurrentIndex === 3">
|
|
|
+ <cm-product-doc @previewImage="changePreViewImageStatus" :archiveId="product.archiveId" :userId='userId'></cm-product-doc>
|
|
|
+ </view>
|
|
|
+ <!-- 商品参数 -->
|
|
|
+ <tui-bottom-popup :radius="true" :show="popupShow0" @close="hidePopup(0)">
|
|
|
+ <view class="tui-popup-box clearfix">
|
|
|
+ <view class="title">商品参数</view>
|
|
|
+ <div class="tui-popup-main">
|
|
|
+ <scroll-view class="tui-popup-scroll" scroll-y="true">
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">起订量</view>
|
|
|
+ <view class="content-th">{{ product.minBuyNumber }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">品牌</view>
|
|
|
+ <view class="content-th">{{
|
|
|
+ product.brandName == null ? '其他' : product.brandName
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">分类</view>
|
|
|
+ <view class="content-th">{{
|
|
|
+ product.typeName == null ? '暂无' : product.typeName
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">包装规格</view>
|
|
|
+ <view class="content-th">{{ product.unit }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">商品编码</view>
|
|
|
+ <view class="content-th">{{ product.productCode }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">库存</view>
|
|
|
+ <view class="content-th">{{ product.stock }}</view>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="content-tr"
|
|
|
+ v-if="product.parametersList.length > 0"
|
|
|
+ v-for="(item, index) in product.parametersList"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <view class="content-td">{{ item.paramsName }}</view>
|
|
|
+ <view class="content-th">{{ item.paramsContent }}</view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </div>
|
|
|
+ <view
|
|
|
+ class="tui-right-flex tui-popup-btn"
|
|
|
+ :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }"
|
|
|
+ >
|
|
|
+ <view class="tui-flex-1"> <view class="tui-button" @click="hidePopup(0)">收起</view> </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </tui-bottom-popup>
|
|
|
+ <!-- 优惠券 -->
|
|
|
+ <tui-bottom-popup :radius="true" :show="popupShow2" @close="hidePopup(2)">
|
|
|
+ <view class="tui-popup-box clearfix">
|
|
|
+ <view class="title">优惠券</view>
|
|
|
+ <view class="tui-popup-close" @click="hidePopup(2)">
|
|
|
+ <text class="iconfont icon-iconfontguanbi"></text>
|
|
|
+ </view>
|
|
|
+ <view class="tui-popup-tabs">
|
|
|
+ <coupon-tabs
|
|
|
+ :tabs="navbar"
|
|
|
+ :currentTab="currentTab > 2 ? 0 : currentTab"
|
|
|
+ @change="couponChange"
|
|
|
+ :itemWidth="100 / navbar.length + '%'"
|
|
|
+ selectedColor="#e15616"
|
|
|
+ sliderBgColor="#e15616"
|
|
|
+ >
|
|
|
+ </coupon-tabs>
|
|
|
+ </view>
|
|
|
+ <div class="tui-popup-main coupon">
|
|
|
+ <scroll-view class="tui-popup-scroll" scroll-y="true">
|
|
|
+ <view class="coupon-empty" v-if="isCouponEmpty">
|
|
|
+ <image
|
|
|
+ class="empty-container-image"
|
|
|
+ :src="StaticUrl + '/icon/icon-coupon-empty@2x.png'"
|
|
|
+ ></image>
|
|
|
+ <text class="error-text">暂无可领的优惠券~</text>
|
|
|
+ </view>
|
|
|
+ <template v-else>
|
|
|
+ <view
|
|
|
+ v-for="(coupon, index) in productCouponList"
|
|
|
+ :key="index"
|
|
|
+ :id="coupon.couponId"
|
|
|
+ class="coupon-list"
|
|
|
+ >
|
|
|
+ <view class="list-cell-le">
|
|
|
+ <view class="coupon-maxMoney"
|
|
|
+ ><text class="small">¥</text>{{ coupon.couponAmount }}</view
|
|
|
+ >
|
|
|
+ <view class="coupon-minMoney">满{{ coupon.touchPrice }}可用</view>
|
|
|
+ </view>
|
|
|
+ <view class="list-cell-ri">
|
|
|
+ <view class="list-cell-top">
|
|
|
+ <view class="list-cell-type">
|
|
|
+ <view class="list-cell-tags">
|
|
|
+ <text class="tags">{{ coupon.couponType | TypeFormat }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="list-cell-texts">
|
|
|
+ <text v-if="coupon.couponType == 0">
|
|
|
+ {{
|
|
|
+ coupon.productType && coupon.productType == 1
|
|
|
+ ? '全商城商品通用'
|
|
|
+ : '仅可购买指定商品'
|
|
|
+ }}
|
|
|
+ </text>
|
|
|
+ <text v-if="coupon.couponType == 1">
|
|
|
+ {{
|
|
|
+ coupon.categoryType == 1
|
|
|
+ ? '仅限购买产品类商品'
|
|
|
+ : '仅限购买仪器类商品'
|
|
|
+ }}
|
|
|
+ </text>
|
|
|
+ <text v-if="coupon.couponType == 3"
|
|
|
+ >仅限购买店铺【{{ coupon.shopName }}】的商品</text
|
|
|
+ >
|
|
|
+ <text v-if="coupon.couponType == 4 || coupon.couponType == 2"
|
|
|
+ >全商城商品通用</text
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-cell-btn">
|
|
|
+ <view class="icon-used">
|
|
|
+ <view
|
|
|
+ class="icon-used-btn receive"
|
|
|
+ v-if="currentTab == 0"
|
|
|
+ @click="receiveCoupon(coupon)"
|
|
|
+ >领取</view
|
|
|
+ >
|
|
|
+ <view class="icon-used-btn make" v-if="currentTab == 1"
|
|
|
+ >已领取</view
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-cell-time"
|
|
|
+ >{{ coupon.startDate }} - {{ coupon.endDate }}</view
|
|
|
+ >
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </scroll-view>
|
|
|
+ </div>
|
|
|
+ </view>
|
|
|
+ </tui-bottom-popup>
|
|
|
+ <!-- 培训方案 -->
|
|
|
+ <tui-bottom-popup :radius="true" :show="popupShow1" @close="hidePopup(1)">
|
|
|
+ <view class="tui-popup-box clearfix">
|
|
|
+ <view class="title">培训方案</view>
|
|
|
+ <div class="tui-popup-main">
|
|
|
+ <scroll-view class="tui-popup-scroll train" scroll-y="true">
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">培训方式:</view>
|
|
|
+ <view class="content-th">{{
|
|
|
+ product.trainingMethod == 1 ? '线上培训' : '线下培训'
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="content-tr">
|
|
|
+ <view class="content-td">培训费用:</view>
|
|
|
+ <view class="content-th">{{
|
|
|
+ product.trainingType == 1 ? '¥' + product.trainingFee : '售价已包含'
|
|
|
+ }}</view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </div>
|
|
|
+ <view
|
|
|
+ class="tui-right-flex tui-popup-btn"
|
|
|
+ :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }"
|
|
|
+ >
|
|
|
+ <view class="tui-flex-1"> <view class="tui-button" @click="hidePopup(1)">收起</view> </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </tui-bottom-popup>
|
|
|
+ <!-- 底部按钮 -->
|
|
|
+ <view class="menu" v-if="isShowButton">
|
|
|
+ <view class="bottom-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
|
|
|
+ <view class="bottom-le">
|
|
|
+ <view class="item-bt" @click="this.$api.switchTabTo('/pages/tabBar/home/index')">
|
|
|
+ <image src="../../static/icon-home-active@3x.png"></image> <text>首页</text>
|
|
|
+ </view>
|
|
|
+ <button class="item-bt" open-type="contact" @click="handleContact">
|
|
|
+ <image src="../../static/severs@3x.png"></image> <text>客服</text>
|
|
|
+ </button>
|
|
|
+ <view class="item-bt" @click="buyProductCart()">
|
|
|
+ <image src="https://static.caimei365.com/app/img/icon/icon-cart-active@3x.png"></image>
|
|
|
+ <text>购物车</text>
|
|
|
+ <text
|
|
|
+ v-if="hasLogin && bottomCartNumber > 0"
|
|
|
+ class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
|
|
|
+ :class="[bottomCartNumber < 10 ? 'goleft' : '']"
|
|
|
+ >
|
|
|
+ {{ bottomCartNumber >= 100 ? '99+' : bottomCartNumber }}
|
|
|
+ </text>
|
|
|
+ <view class="animation-num" :class="isAnimation ? 'animation' : 'restion'">+1</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="bottom-ri">
|
|
|
+ <button
|
|
|
+ :disabled="goodsData.disabled"
|
|
|
+ class="btn btn-cart"
|
|
|
+ :class="[goodsData.disabled ? 'disabled' : '']"
|
|
|
+ @tap.stop="btnGetConfirm('add')"
|
|
|
+ >
|
|
|
+ 加入购物车
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ :disabled="goodsData.disabled"
|
|
|
+ class="btn btn-bay"
|
|
|
+ :class="[goodsData.disabled ? 'disabled' : '']"
|
|
|
+ @tap.stop="btnGetConfirm('buy')"
|
|
|
+ >
|
|
|
+ 立即购买
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!--底部选择模态层弹窗组件 -->
|
|
|
+ <view class="popup spec" :class="specClass" @touchmove.stop.prevent="discard" @tap="hideSpec">
|
|
|
+ <!-- 遮罩层 -->
|
|
|
+ <view class="mask"></view>
|
|
|
+ <view
|
|
|
+ class="layer"
|
|
|
+ @tap.stop="discard"
|
|
|
+ :style="{
|
|
|
+ paddingBottom: isIphoneX ? '68rpx' : '36rpx',
|
|
|
+ bottom: isIphoneX ? '-352rpx' : '-296rpx'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <view class="content">
|
|
|
+ <view class="layer-smimg"> <image :src="product.mainImage" mode=""></image> </view>
|
|
|
+ <view class="layer-nunbox">
|
|
|
+ <view class="layer-nunbox-t" v-if="product.step === 2">
|
|
|
+ <view class="text">*该商品只能以起订量的整数倍购买</view>
|
|
|
+ </view>
|
|
|
+ <view class="layer-nunbox-t">
|
|
|
+ <view class="layer-nunbox-text">数量:</view>
|
|
|
+ <view class="number-box">
|
|
|
+ <view
|
|
|
+ class="iconfont icon-jianhao"
|
|
|
+ :class="[isQuantity == true ? 'disabled' : '']"
|
|
|
+ @click="changeCountSub()"
|
|
|
+ ></view>
|
|
|
+ <input
|
|
|
+ class="btn-input"
|
|
|
+ type="number"
|
|
|
+ v-model="number"
|
|
|
+ maxlength="4"
|
|
|
+ @blur="changeNumber($event)"
|
|
|
+ />
|
|
|
+ <view
|
|
|
+ class="iconfont icon-jiahao"
|
|
|
+ :class="[isStock == true ? 'disabled' : '']"
|
|
|
+ @click="changeCountAdd()"
|
|
|
+ ></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="layer-nunbox-b">
|
|
|
+ <view class="text"
|
|
|
+ >单价: <text class="p sm">¥</text>
|
|
|
+ <text class="p bg">{{ buyRetailPrice.toFixed(2) }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="btn"><view class="button" @click.stop="btnConfirm">确定</view></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 侧边 -->
|
|
|
+ <scroll-top :isScrollTop="isScrollTop" :bottom="200" v-show="tabCurrentIndex !== 3"></scroll-top>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -409,7 +564,6 @@
|
|
|
data(){
|
|
|
return{
|
|
|
StaticUrl:this.$Static, //静态图片路径
|
|
|
- collectionType:false,
|
|
|
clickPath:'/pages/search/search',
|
|
|
html:'<div style="text-align: center;color:#333333;">暂无内容</div>',
|
|
|
productNoneImage:'https://static.caimei365.com/app/img/icon/icon-pnone.png',
|
|
@@ -698,6 +852,10 @@
|
|
|
}).exec()
|
|
|
}).exec()
|
|
|
},
|
|
|
+ handleContact(e){//跳转小程序客服
|
|
|
+ console.log(e.detail.path)
|
|
|
+ console.log(e.detail.query)
|
|
|
+ },
|
|
|
buyProductCart(){//底部购物车按钮点击
|
|
|
if(this.hasLogin){
|
|
|
// 友盟埋点商品详情购物车入口点击事件
|
|
@@ -707,6 +865,7 @@
|
|
|
Um_Key_SourcePage: '商品详情购物车入口',
|
|
|
})
|
|
|
}
|
|
|
+ // this.$api.navigateTo('/pages/goods/cart')
|
|
|
this.$api.navigateTo('/pages/goods/cart-index')
|
|
|
}else{
|
|
|
this.$api.navigateTo('/pages/login/login?type=1')
|
|
@@ -879,10 +1038,7 @@
|
|
|
imageUrl:`${this.productImage[0]}`
|
|
|
}
|
|
|
},
|
|
|
- handleCollection(){// 收藏
|
|
|
- this.collectionType = !this.collectionType
|
|
|
- },
|
|
|
- showPopup(index){// 弹窗显示
|
|
|
+ showPopup(index){
|
|
|
switch(index){
|
|
|
case 0:
|
|
|
this.popupShow0 = true
|
|
@@ -900,7 +1056,7 @@
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
- hidePopup(index){// 弹窗隐藏
|
|
|
+ hidePopup(index){
|
|
|
switch(index){
|
|
|
case 0:
|
|
|
this.popupShow0 = false
|