Files
2025-04-30 14:04:34 +08:00

1854 lines
55 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center productDetails_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx', background: backgroundColor}">
<view class='flex flex-wrap align-center justify-between flex-sub productDetails_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 productDetails_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub text-white text-lg'>
{{opacity > 0.8 ? '商品详情' : ''}}
</view>
<view class='flex flex-wrap align-center productDetails_fd0_0_c2'>
</view>
</view>
</view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center productDetails_flex_1">
<view style="position: relative">
<swiper ref="benbenSwiperfd1_0" @change="bannerIndexfd1_0 = $event.detail.current"
class='flex position-relative productDetails_fd1_0' previous-margin="0rpx" next-margin="0rpx"
:display-multiple-items="1" :interval="5000" :duration="500" :autoplay='true' :circular='true'>
<swiper-item class='flex productDetails_fd1_0_c1' v-for="(item, index) in swiperList" :key="index">
<image class='productDetails_fd1_0_c1_c0' mode="aspectFill" :src='item'></image>
</swiper-item>
</swiper>
<view style="position: absolute"
class="flex dot flex align-center justify-center productDetails_swiperDotfd1_0">
<view class='flex flex align-center justify-center productDetails_numberfd1_0_c0'>
<text>{{bannerIndexfd1_0+1}}</text>
<text>/</text>
<text>{{swiperList.length}}</text>
</view>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout productDetails_flex_2">
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd2_0_c0'>{{info.name}}</text>
</view>
<!-- <view class='flex flex-wrap align-center productDetails_fd2_1'>
<text class='productDetails_fd2_1_c0'>月销</text>
<text class='productDetails_fd2_1_c1'>{{info.sales_sum}}</text>
</view> -->
<view class='flex flex-wrap align-center justify-between'>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd2_2_c0_c0_c0'>¥</text>
<text class='productDetails_fd2_2_c0_c0_c1'>{{info.shop_price}}</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd2_2_c0_c1'>
<text class='productDetails_fd2_2_c0_c1_c0'>¥</text>
<text class='productDetails_fd2_2_c0_c1_c1'>{{info.market_price}}</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd2_2_c0_c2'>
<text class='productDetails_fd2_2_c0_c2_c0'>打包费¥</text>
<text class='productDetails_fd2_2_c0_c2_c1'>{{info.packing_price}}</text>
<text class='productDetails_fd2_2_c0_c2_c2'>/份</text>
</view>
</view>
<view class='flex flex-wrap align-center justify-center productDetails_fd2_2_c1'
@tap.stop="handleShowPopupSpec" v-if="info.is_spec == 1">
<text class='productDetails_fd2_2_c1_c0'>选规格</text>
</view>
<view v-else style="display: flex; align-items: center;">
<image class="skuimg" v-if="number > 0" @tap.stop="handleUpdateCart(2)" :src='STATIC_URL+"101.png"'></image>
<view style="padding: 0 20rpx;" v-if="number > 0">{{number}}</view>
<image class="skuimg" @tap.stop="handleUpdateCart(1)" :src='STATIC_URL+"102.png"'></image>
</view>
<!-- <view class='flex flex-wrap align-center' v-if="number>'0'">
<benben-flex-number-box class-name='flex flex align-center'
input-class="productDetails_numberBoxInputfd2_2_c2_c0" v-model="number" :min="0" :step="1" :opacity="0.3">
<template #minus>
<image class='productDetails_fd2_2_c2_c0_c0' mode="aspectFit" :src='STATIC_URL+"101.png"'></image>
</template>
<template #plus>
<image class='productDetails_fd2_2_c2_c0_c2' mode="aspectFit" :src='STATIC_URL+"102.png"'></image>
</template>
</benben-flex-number-box>
</view> -->
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout productDetails_flex_3">
<view class='flex flex-wrap align-center productDetails_fd3_0'>
<text class='productDetails_fd3_0_c0'>商品详情</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd3_1'>
<text
class='productDetails_fd3_1_c0'>{{info.body}}</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd3_2'>
<image class='productDetails_fd3_2_c0' mode="widthFix" :src='info.thumb'></image>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center productDetails_flex_4">
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout productDetails_flex_5">
<view class='flex flex-wrap align-center justify-between'>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd5_0_c0_c0'>评价·</text>
<text class='productDetails_fd5_0_c0_c1'>{{evaluate_List.length && evaluate_List[0].num}}</text>
<text class='productDetails_fd5_0_c0_c2'>条评论</text>
</view>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpxq/allEvaluations/allEvaluations?id=${id}&sid=${sid}`">
<text class='productDetails_fd5_0_c1_c0'>查看全部</text>
<image class='productDetails_fd5_0_c1_c1' mode="aspectFill" :src='STATIC_URL+"84.png"'></image>
</view>
</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center flex-sub productDetails_fd5_1_c0'>
<!-- {{evaluate_id}} -->
<!-- <benben-select-diy ref="showSelectPopup1684737980924" class-name='flex flex-wrap flex'
:items.sync="evaluate_List" v-model="evaluate_id" default-type="value" default-label="name"
:allow-cancel='false' type="radio" :disabled='false' @change="handleCommentTypeChange"> -->
<view class="flex flex-wrap">
<template v-for='(item,key0) in evaluate_List'>
<view v-if="evaluate_id == item.value" class='flex align-center flex productDetails_fd5_1_c0_c0_c0' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='productDetails_fd5_1_c0_c0_c0_c1'>{{item.num}}</text>
</view>
<view v-else class='flex align-center flex productDetails_fd5_1_c0_c0_c1' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='productDetails_fd5_1_c0_c0_c1_c1'>{{item.num}}</text>
</view>
</template>
</view>
<!-- </benben-select-diy> -->
</view>
</view>
<fu-loading v-if="isShowLoading"></fu-loading>
<fu-empty-ui v-if="commentList.length === 0 && isInit"></fu-empty-ui>
<view class='flex flex-direction flex-wrap align-stretch productDetails_fd5_2' v-for="(item, index) in commentList" :key="index">
<view class='flex flex-wrap align-center justify-between productDetails_fd5_2_c0'>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center productDetails_fd5_2_c0_c0_c0'>
<image class='productDetails_fd5_2_c0_c0_c0_c0' mode="aspectFill" :src='item.avatar'></image>
</view>
<view class='flex flex-direction flex-wrap align-start'>
<text class='productDetails_fd5_2_c0_c0_c1_c0'>{{item.user_nickname}}</text>
<view class='flex flex-wrap align-center productDetails_fd5_2_c0_c0_c1_c1'>
<template v-for="starNum in [1,2,3,4,5]">
<image v-if="item.score >= starNum" :key="starNum"
class='productDetails_star1fd5_2_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image v-else :key="starNum" class='productDetails_star1fd5_2_c0_c0_c1_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd5_2_c0_c1_c0'>{{item.create_time}}</text>
</view>
</view>
<view class='flex flex-wrap align-center productDetails_fd5_2_c1'>
<text class='productDetails_fd5_2_c1_c0'>{{item.content}}</text>
</view>
<view class='flex flex-wrap align-center'>
<image @tap.stop="ViewImage(item.images,i)" v-for="(img, i) in item.images" :key="i" class='productDetails_fd5_2_c2_c0' mode="aspectFill" :src='img'>
</image>
</view>
</view>
<!-- <uni-load-more v-if="commentList.length !=0 " :status="status"></uni-load-more> -->
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center productDetails_flex_6">
</view>
<!---flex布局flex布局结束-->
<benben-popup v-model="popupShow1684722995767" :mask="true" mode='bottom'>
<!---弹窗购物车flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout productDetails_flex_7">
<view class='flex flex-wrap align-center justify-between productDetails_fd7_0'>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd7_0_c0_c0'>购物车</text>
<text class='productDetails_fd7_0_c0_c1'>打包费</text>
<text class='productDetails_fd7_0_c0_c2'>¥</text>
<text class='productDetails_fd7_0_c0_c3'>{{packingMoney}}</text>
</view>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd7_0_c1_c0' @click="handleDeleteCart">清空购物车</text>
</view>
</view>
<scroll-view scroll-y="true" class="cart-wrap">
<view class='flex flex-wrap align-start productDetails_fd7_1' v-for="(item, index) in cartList" :key="index">
<view class='flex flex-wrap align-center productDetails_fd7_1_c0'>
<image class='productDetails_fd7_1_c0_c0' mode="aspectFill" :src='item.thumb'></image>
</view>
<view class='flex flex-direction flex-wrap justify-around align-stretch flex-sub productDetails_fd7_1_c1'>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd7_1_c1_c0_c0'>{{item.name}}</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd7_1_c1_c1' v-if="item.attr_name">
<text class='productDetails_fd7_1_c1_c1_c0'>{{item.attr_name}}</text>
</view>
<view class='flex flex-wrap align-center justify-between productDetails_fd7_1_c1_c2'>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd7_1_c1_c2_c0_c0'>¥</text>
<text class='productDetails_fd7_1_c1_c2_c0_c1'>{{item.shop_price}}</text>
<text class='productDetails_fd7_1_c1_c2_c0_c2'>¥</text>
<text class='productDetails_fd7_1_c1_c2_c0_c3'>{{item.market_price}}</text>
</view>
<view class='flex flex-wrap align-center'>
<image class="skuimg" @tap.stop="handleUpdateCart(2, item)" :src='STATIC_URL+"101.png"'></image>
<view style="padding: 0 20rpx;">{{item.num}}</view>
<image class="skuimg" @tap.stop="handleUpdateCart(1, item)" :src='STATIC_URL+"102.png"'></image>
<!-- <benben-flex-number-box class-name='flex flex align-center'
input-class="productDetails_numberBoxInputfd7_1_c1_c2_c1_c0" :min="1" :step="1" :opacity="0.3">
<template #minus>
<image class='productDetails_fd7_1_c1_c2_c1_c0_c0' mode="aspectFit" :src='STATIC_URL+"101.png"'>
</image>
</template>
<template #plus>
<image class='productDetails_fd7_1_c1_c2_c1_c0_c2' mode="aspectFit" :src='STATIC_URL+"102.png"'>
</image>
</template>
</benben-flex-number-box> -->
</view>
</view>
</view>
</view>
</scroll-view>
<view class='flex flex-wrap align-center justify-between productDetails_fd7_2' v-if="popupShow1684722995767">
<view class='flex flex-wrap align-center flex-sub productDetails_fd7_2_c0'>
<view class='flex flex-wrap align-center productDetails_fd7_2_c0_c0'>
<text class='fu-iconfont2 productDetails_fd7_2_c0_c0_c0'>&#xe66a;</text>
<benben-message-num :messageNum="cartNum" class='productDetails_fd7_2_c0_c0_c1' size='24' color='#fff' background-color='red'>
</benben-message-num>
</view>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd7_2_c0_c1_c0'>¥</text>
<text class='productDetails_fd7_2_c0_c1_c1'>{{cartMoney}}</text>
</view>
</view>
<view class='flex flex-wrap align-center padding-right-lg' v-if="cartMoney < sinfo.start_price">
<view class='flex flex-wrap align-center storeDetails_fd8_0_c0_c1_c0'>
</view>
<view class='flex flex-wrap align-center'>
<text class='storeDetails_fd8_0_c0_c1_c1_c0'>¥</text>
<text class='storeDetails_fd8_0_c0_c1_c1_c1'>{{sinfo.start_price}}</text>
<text class='storeDetails_fd8_0_c0_c1_c1_c2'>起送</text>
</view>
</view>
<view v-else class='flex flex-wrap align-center justify-center productDetails_fd7_2_c1' @tap.stop="handleSettle"
data-type="navigateTo" :data-url="`/pages/dpxq/settlementPage/settlementPage`">
<text class='productDetails_fd7_2_c1_c0'>去结算</text>
</view>
</view>
</view>
<!---弹窗购物车flex布局结束-->
</benben-popup>
<view class="flex flex-direction flex-wrap align-stretch benben-position-layout flex productDetails_flex_8">
<view class='flex flex-direction flex-wrap align-stretch flex-sub productDetails_fd8_0'>
<view class='flex flex-wrap align-center justify-between productDetails_fd8_0_c0'>
<view class='flex flex-wrap align-center flex-sub productDetails_fd8_0_c0_c0'
@tap.stop="popupShow1684722995767=true">
<view class='flex flex-wrap align-center productDetails_fd8_0_c0_c0_c0'>
<text class='fu-iconfont2 productDetails_fd8_0_c0_c0_c0_c0'>&#xe66a;</text>
<benben-message-num :messageNum="cartNum" class='productDetails_fd8_0_c0_c0_c0_c1' size='24' color='#fff'
background-color='red'>
</benben-message-num>
</view>
<view class='flex flex-wrap align-center'>
<text class='productDetails_fd8_0_c0_c0_c1_c0'>¥</text>
<text class='productDetails_fd8_0_c0_c0_c1_c1'>{{cartMoney}}</text>
</view>
<view class='flex flex-wrap align-center productDetails_fd8_0_c0_c0_c2'>
<text class='productDetails_fd8_0_c0_c0_c2_c0'>¥</text>
<text class='productDetails_fd8_0_c0_c0_c2_c1'>{{marketMoney}}</text>
</view>
</view>
<view class='flex flex-wrap align-center padding-right-lg' v-if="cartMoney < sinfo.start_price">
<view class='flex flex-wrap align-center storeDetails_fd8_0_c0_c1_c0'>
</view>
<view class='flex flex-wrap align-center'>
<text class='storeDetails_fd8_0_c0_c1_c1_c0'>¥</text>
<text class='storeDetails_fd8_0_c0_c1_c1_c1'>{{sinfo.start_price}}</text>
<text class='storeDetails_fd8_0_c0_c1_c1_c2'>起送</text>
</view>
</view>
<view v-else class='flex flex-wrap align-center justify-center productDetails_fd8_0_c0_c1' @tap.stop="handleSettle"
data-type="navigateTo" :data-url="`/pages/dpxq/settlementPage/settlementPage`">
<text class='productDetails_fd8_0_c0_c1_c0'>去结算</text>
</view>
</view>
</view>
</view>
<view :style="{height: '148rpx'}"></view>
<benben-popup v-model="popupShowSpec" :mask="true" mode='center'>
<!---flex布局flex布局开始-->
<view class="flex flex-direction align-stretch benben-flex-layout productDetails_flex_9">
<view class='flex flex-direction flex-wrap align-stretch'>
<view class='flex flex-direction flex-wrap align-stretch productDetails_fd9_0_c0'>
<view class='flex flex-wrap align-start productDetails_fd9_0_c0_c0'>
<image class='productDetails_fd9_0_c0_c0_c0' mode="aspectFill" :src='info.thumb'></image>
<text class='productDetails_fd9_0_c0_c0_c1'>{{info.name}}…</text>
</view>
<block v-if="showSpec">
</block>
<view class='flex flex-direction align-stretch productDetails_fd9_0_c0_c1' v-for="(specItem, index) in selectGoodsItemSpec" :key="index">
<text class='productDetails_fd9_0_c0_c1_c0'>{{specItem.name}}</text>
<view class="flex flex-wrap productDetails_fd9_0_c0_c1_c1" >
<view class='flex justify-center' :class="item.checked ? 'productDetails_fd9_0_c0_c1_c1_c0' : 'productDetails_fd9_0_c0_c1_c1_c1'"
v-for="(item, key0) in specItem.spec_value" :key="key0" @tap="handleChooseSkuItem(index, item)">
<text>{{item.item}}</text>
</view>
<!-- <view v-else class='flex justify-center flex storeDetails_fd6_0_c0_c1_c1_c1' :key="key0"
@tap="$refs.showSelectPopup1684725100796.tapHandle(key0)">
<text>{{item.item}}</text>
</view> -->
</view>
<!-- <benben-select-diy ref="showSelectPopup1684738398960" class-name='flex flex productDetails_fd9_0_c0_c1_c1'
:items.sync="specifications_one" v-model="one_value" :label.sync="one_id" default-type="value"
default-label="name" :allow-cancel='false' type="radio">
<template v-for='(item,key0) in specifications_one'>
<view v-if="item.isSelected" class='flex justify-center flex productDetails_fd9_0_c0_c1_c1_c0'
:key="key0" @tap="$refs.showSelectPopup1684738398960.tapHandle(key0)">
<text>{{item.name}}</text>
</view>
<view v-else class='flex justify-center flex productDetails_fd9_0_c0_c1_c1_c1' :key="key0"
@tap="$refs.showSelectPopup1684738398960.tapHandle(key0)">
<text>{{item.name}}</text>
</view>
</template>
</benben-select-diy> -->
</view>
<!-- <view class='flex flex-direction align-stretch productDetails_fd9_0_c0_c2'>
<text class='productDetails_fd9_0_c0_c2_c0'>甜度</text>
<benben-select-diy ref="showSelectPopup1684738587501" class-name='flex flex productDetails_fd9_0_c0_c2_c1'
:items.sync="specifications_two" v-model="two_value" :label.sync="two_id" default-type="value"
default-label="name" :allow-cancel='false' type="radio">
<template v-for='(item,key0) in specifications_two'>
<view v-if="item.isSelected" class='flex justify-center flex productDetails_fd9_0_c0_c2_c1_c0'
:key="key0" @tap="$refs.showSelectPopup1684738587501.tapHandle(key0)">
<text>{{item.name}}</text>
</view>
<view v-else class='flex justify-center flex productDetails_fd9_0_c0_c2_c1_c1' :key="key0"
@tap="$refs.showSelectPopup1684738587501.tapHandle(key0)">
<text>{{item.name}}</text>
</view>
</template>
</benben-select-diy>
</view> -->
<view class='flex flex-wrap align-center productDetails_fd9_0_c0_c3'>
<text class='productDetails_fd9_0_c0_c3_c0'>已选择规格</text>
<text class='productDetails_fd9_0_c0_c3_c1'>{{selectSku.key_name}}</text>
<!-- <text class='productDetails_fd9_0_c0_c3_c2'></text>
<text class='productDetails_fd9_0_c0_c3_c3'>{{two_id}}</text> -->
</view>
<view class='flex flex-wrap align-center justify-between productDetails_fd9_0_c0_c4'>
<view class='flex flex-wrap align-end'>
<text class='productDetails_fd9_0_c0_c4_c0_c0'>售价</text>
<text class='productDetails_fd9_0_c0_c4_c0_c1'></text>
<view class='flex-wrap align-center productDetails_fd9_0_c0_c4_c0_c2'>
<text class=' productDetails_price1_fd9_0_c0_c4_c0_c2'>{{ selectSku.shop_price | frontPrice }}</text>
<text class=' productDetails_price2_fd9_0_c0_c4_c0_c2'>{{ selectSku.shop_price | laterPrice }}</text>
</view>
<text class='productDetails_fd9_0_c0_c4_c0_c3' style="text-decoration:line-through;"></text>
<text class='productDetails_fd9_0_c0_c4_c0_c4' style="text-decoration:line-through;">{{selectSku.market_price}}</text>
</view>
<button class='productDetails_fd9_0_c0_c4_c1' @tap.stop="handleAddCart">加入购物车</button>
</view>
</view>
<view class='flex flex-wrap align-center justify-center productDetails_fd9_0_c1'>
<image class='productDetails_fd9_0_c1_c0' :src='STATIC_URL+"103.png"'
@tap.stop="popupShowSpec=false"></image>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
</benben-popup>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
backgroundColor: 'rgba(255, 147, 0, 0)',
"popupShowSpec": false,
"popupShow1684722995767": false,
"fd5_2_c0_c0_c1_c1": "4",
"bannerIndexfd1_0": 0,
"tabls": "1",
"evaluate_List": [],
"evaluate_id": 1,
"deliveryPrice": "1",
"specifications_one": [{
"name": "常温",
"value": "1",
"image": ""
}, {
"name": "少冰",
"value": "2",
"image": ""
}, {
"name": "多冰",
"value": "3",
"image": ""
}],
"one_id": "1",
"specifications_two": [{
"name": "不加糖",
"value": "1",
"image": ""
}, {
"name": "多冰",
"value": "2",
"image": ""
}, {
"name": "少冰",
"value": "3",
"image": ""
}],
"two_id": "1",
"one_value": "1",
"two_value": "1",
number: "0",
"id": "",
sid: '',
info: {},
swiperList: [],
commentList: [],
isShowLoading: false,
isInit: false,
status: 'more', // 表示是否有数据可以请求
page: 1,
lists: [],
isRepetitionClick: false,
showSpec: true,
selectGoodsItemSpec: [],
skuList: [],
selectSku: {},
cartMoney: 0,
marketMoney: 0,
cartNum: 0,
packingMoney: 0,
cartList: [],
choosedIndexs: [],
choosedNames: [],
opacity: 0,
sinfo: {},
isSubmit: false
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.id = options.goods_id || ''
this.sid = options.sid || ''
},
onUnload() {
},
onReady() {
},
onShow() {
this.getGoodsDetail();
this.getShopCommentNums();
this.getCartList();
this.getShopDetail();
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
let opacity = e.scrollTop / 150
this.opacity = opacity;
this.backgroundColor =
`rgba(255, 147, 0, ${opacity})`;
},
methods: {
/**
* 获取店铺详情
*/
getShopDetail() {
this.$api.post(global.apiUrls.getShopDetail, {
aid: this.sid
}).then(res => {
if (res.data.code == 1) {
if (res.data.data.aid) {
this.isLoading = true
this.sinfo = res.data.data;
} else {
this.$message.info('暂无商品信息,请先浏览其他商品')
setTimeout(() => {
uni.navigateBack()
}, 1000)
}
} else {
this.$message.info(res.data.msg)
setTimeout(() => {
uni.navigateBack()
}, 1000)
}
})
.catch(err => {
console.log(err);
});
},
ViewImage(list, index) {
uni.previewImage({
urls: list,
current: index
});
},
handleDeleteCart() {
// if (!this.cartList.length) {
// return this.$message.info('')
// }
this.$util.showModal({
title: '提示',
content: '确定删除购物车所有商品?',
confirmColor: this.$store.state.themeColor,
success: (res) => {
if (res.confirm) {
this.$api.post(global.apiUrls.post649a5059d4e18, { store_id: this.sid })
.then(res => {
console.log(res);
if (res.data.code == 1) {
this.getCartList();
this.popupShow1684722995767 = false;
} else {
this.$message.info(res.data.msg);
}
});
}
}
})
},
// 获取购物车数据
getCartList() {
this.$api.post(global.apiUrls.getCartList, {
store_id: this.sid
})
.then(res => {
if (res.data.code == 1) {
this.cartList = res.data.data.goods_list;
let number = 0;
this.cartList.map((item) => {
if (item.goods_id == this.id) {
number = number + (item.num - 0)
}
})
this.number = number
this.cartMoney = res.data.data.shop_price
this.marketMoney = res.data.data.market_price
this.packingMoney = res.data.data.packing_price
this.cartNum = res.data.data.num
}
})
.catch(err => {
console.log(err);
});
},
handleUpdateCart(type, item) {
if (this.isRepetitionClick) return
this.isRepetitionClick = true
setTimeout(() => {
this.isRepetitionClick = false
}, 200)
let num = 0
let id = item ? item.goods_id : this.id
let params = {
goods_id: id,
store_id: this.sid
}
if (item && item.sku_id && (item.sku_id - 0 > 0)) {
params.sku_id = item.sku_id
}
if (type == 2) {
this.$api.post(global.apiUrls.postMinusCart, params).then(res => {
let data = res.data;
if (data.code == 1) {
this.number = this.number - 1
this.getCartList();
// this.calculateTotal()
} else {
this.$message.info(data.msg)
}
});
} else {
params.num = 1;
this.$api.post(global.apiUrls.postAddCart, params).then(res => {
let data = res.data;
if (data.code == 1) {
this.number = this.number - 0 + 1
this.getCartList();
// this.calculateTotal()
} else {
this.$message.info(data.msg)
}
});
}
},
handleAddCart(){
if (this.isRepetitionClick) return
this.isRepetitionClick = true
setTimeout(() => {
this.isRepetitionClick = false
}, 200)
this.$api.post(global.apiUrls.postAddCart, {
goods_id: this.id,
store_id: this.sid,
num: 1,
sku_id: this.selectSku.sku_id
}).then(res => {
let data = res.data;
if (data.code == 1) {
this.number = this.number - 0 + 1
this.popupShowSpec = false;
this.getCartList();
// this.calculateTotal()
} else {
this.$message.info(data.msg)
}
});
},
handleShowPopupSpec() {
this.info.spec_list.map((specItem, index) => {
specItem.spec_value.map((item, key) => {
item.checked = false
})
specItem.spec_value[0].checked = true;
})
this.selectGoodsItemSpec = this.info.spec_list;
this.skuList = this.info.sku_list;
this.updateChoosedSku();
this.popupShowSpec = true
},
// 获取选中的sku
updateChoosedSku(){
let { skuList } = this
let choosedIndexs = [];
let choosedNames = []
this.selectGoodsItemSpec.map((specItem, index) => {
specItem.spec_value.map((item, key) => {
if (item.checked) {
choosedIndexs.push(item.id);
choosedNames.push(item.item);
}
})
})
let choosedSkuAttrValue = choosedIndexs.join('_');
var arr = []
for (let i in skuList) {
arr.push(skuList[i]);
}
this.selectSku = arr.find(item => item.key == choosedSkuAttrValue)
console.log(this.selectSku)
if (!this.selectSku) {
this.$message.info('暂无此规格')
}
},
handleSettle() {
if (!this.cartList.length) return this.$message.info('请先选择商品~');
if (this.isSubmit) return false;
this.isSubmit = true;
let params = {
store_id: this.sid,
pick_type:this.tabls
}
this.$api.post(global.apiUrls.getSettleInfo, params).then(res => {
if (res.data.code == 1) {
this.isSubmit = false;
uni.navigateTo({
url: `/pages/dpxq/settlementPage/settlementPage?id=${this.sid}`
})
} else {
this.isSubmit = false;
this.$message.info(res.data.msg)
}
})
.catch(err => {
this.isSubmit = false;
console.log(err);
});
// uni.navigateTo({
// url: `/pages/dpxq/settlementPage/settlementPage?id=${this.sid}`
// })
},
handleChooseSkuItem(parentIndex, item){
this.showSpec = false;
this.selectGoodsItemSpec[parentIndex].spec_value.map((value) => {
value.checked = false;
})
this.showSpec = true;
item.checked = !item.checked;
// this.choosedIndexs.splice(parentIndex, 1, item.id)
// this.choosedNames.splice(parentIndex, 1, item.item)
this.updateChoosedSku()
},
/**
* 切换评论状态
*/
handleCommentTypeChange(value) {
this.evaluate_id = value;
this.status = 'more';
this.page = 1;
this.isInit = false;
this.commentList = [];
this.getShopCommentList(true);
},
/**
* 获取店铺评论数量
*/
getShopCommentList(value) {
if (this.status != 'more') return;
this.status = 'loading';
let data = {
store_id: this.sid,
type: this.evaluate_id,
list_rows: 20,
page: this.page,
goods_id: this.id
};
// console.log('请求的数据', data);
if (this.page == 1 && value) {
this.isShowLoading = true;
}
this.$api
.post(global.apiUrls.getShopCommentList, data)
.then(res => {
console.log('订单列表', res);
this.isShowLoading = false;
if (res.data.code == 1) {
var curPageData = res.data.data.data;
if (this.page == 1) this.commentList = [];
this.commentList = this.commentList.concat(curPageData);
console.log('上拉加载', curPageData.length, this.size);
if (res.data.data.last_page > this.page) {
this.status = 'more';
this.page++;
} else {
this.status = 'noMore';
}
} else {
this.$message.info(res.data.msg);
}
this.isInit = true;
uni.stopPullDownRefresh();
})
.catch(err => {
this.isShowLoading = false;
uni.stopPullDownRefresh();
});
},
/**
* 获取评论数量
*/
getShopCommentNums() {
this.$api.post(global.apiUrls.getShopCommentNums, {
store_id: this.sid,
goods_id: this.id
}).then(res => {
if (res.data.code == 1) {
this.evaluate_List = [{
name: "全部 ",
value: "1",
image: "",
num: res.data.data.all
}, {
name: "好评",
value: "2",
image: "",
num: res.data.data.good
}, {
name: "有图",
value: "3",
image: "",
num: res.data.data.img
}, {
name: "差评",
value: "4",
image: "",
num: res.data.data.bad
}, {
name: "中评",
value: "5",
image: "",
num: res.data.data.center
}]
this.getShopCommentList();
}
})
.catch(err => {
console.log(err);
});
},
/**
* 获取店铺详情
*/
getGoodsDetail() {
this.$api.post(global.apiUrls.getGoodsDetail, {
goods_id: this.id
}).then(res => {
if (res.data.code == 1) {
this.isLoading = true
this.info = res.data.data;
this.swiperList = res.data.data.images;
} else {
this.$message.info(res.data.msg)
}
})
.catch(err => {
console.log(err);
});
},
//收藏
iscollectFunctionFunc() {
if (this.collect == '1') {
this.collect = '2';
} else if (this.collect == '2') {
this.collect = '1';
}
return
},
//添加购物车
addShoppingFunc() {
this.number = '1';
this.popupShowSpec = false;
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(255, 255, 255, 1);
background-size: 100% auto !important;
}
.productDetails_flex_0 {
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
}
.productDetails_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.productDetails_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
line-height: 88rpx;
}
.productDetails_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.productDetails_flex_1 {
height: 750rpx;
}
.productDetails_numberfd1_0_c0 {
background: #525050;
position: absolute;
bottom: 20rpx;
right: 30rpx;
width: 80rpx;
height: 40rpx;
border-radius: 6rpx 6rpx 6rpx 6rpx;
font-size: 24rpx;
color: #FFFFFF;
line-height: 46rpx;
font-weight: 400;
}
.productDetails_fd1_0_c1 {
width: 750rpx;
height: 750rpx;
}
.productDetails_fd1_0_c1_c0 {
width: 750rpx;
height: 750rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd1_0 {
width: 750rpx;
height: 750rpx;
}
.productDetails_swiperDotUnselectedfd1_0 {
border: 1px solid rgba(0, 0, 0, 0.3);
background: rgba(0, 0, 0, 0.3);
width: 16rpx;
height: 16rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0rpx 6rpx 0rpx 0rpx;
font-size: 24rpx;
color: #fff;
}
.productDetails_swiperDotSelectedfd1_0 {
border: 1px solid #00A7FF;
background: #00A7FF;
width: 16rpx;
height: 16rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0rpx 6rpx 0rpx 0rpx;
font-size: 24rpx;
color: #fff;
}
::v-deep .productDetails_swiperDotfd1_0 {
position: absolute;
bottom: 20rpx;
left: 0rpx;
right: 0rpx;
}
.productDetails_flex_2 {
padding: 24rpx 32rpx 36rpx 32rpx;
}
.productDetails_fd2_2_c2_c0_c2 {
height: 32rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
width: 32rpx;
}
.productDetails_fd2_2_c2_c0_c0 {
height: 32rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
width: 32rpx;
}
::v-deep .productDetails_numberBoxInputfd2_2_c2_c0 {
background: rgba(255, 255, 255, 1);
width: 80rpx;
height: 50rpx;
text-align: center;
color: #323232;
font-size: 28rpx;
}
.productDetails_fd2_2_c1_c0 {
color: #FFFFFF;
font-size: 28rpx;
font-weight: 500;
line-height: 76rpx;
}
.productDetails_fd2_2_c1 {
background: rgba(255, 147, 0, 1);
width: 198rpx;
height: 76rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.productDetails_fd2_2_c0_c2_c2 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_2_c0_c2_c1 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_2_c0_c2_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_2_c0_c2 {
margin: 0rpx 0rpx 0rpx 16rpx;
}
.productDetails_fd2_2_c0_c1_c1 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
text-decoration: line-through;
}
.productDetails_fd2_2_c0_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
text-decoration: line-through;
}
.productDetails_fd2_2_c0_c1 {
margin: 0rpx 0rpx 0rpx 16rpx;
}
.productDetails_fd2_2_c0_c0_c1 {
color: #E32121;
font-size: 40rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_2_c0_c0_c0 {
color: #E32121;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_1_c1 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_fd2_1 {
margin: 8rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd2_0_c0 {
color: #333333;
font-size: 32rpx;
font-weight: 500;
line-height: 46rpx;
}
.productDetails_flex_3 {
padding: 32rpx 0rpx 40rpx 0rpx;
}
.productDetails_fd3_2_c0 {
width: 750rpx;
height: 516rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd3_2 {
margin: 32rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd3_1_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 400;
line-height: 46rpx;
}
.productDetails_fd3_1 {
margin: 32rpx 32rpx 0rpx 32rpx;
}
.productDetails_fd3_0_c0 {
color: #333333;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.productDetails_fd3_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.productDetails_flex_4 {
background: rgba(246, 247, 249, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.productDetails_flex_5 {
padding: 32rpx 32rpx 32rpx 32rpx;
}
.productDetails_fd5_2_c2_c2 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 0rpx 5rpx 0rpx;
}
.productDetails_fd5_2_c2_c1 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 4rpx 8rpx 0rpx;
}
.productDetails_fd5_2_c2_c0 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 4rpx 8rpx 0rpx;
&:nth-child(3n) {
margin-right: 0;
}
}
.productDetails_fd5_2_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 40rpx;
}
.productDetails_fd5_2_c1 {
margin: 0rpx 0rpx 24rpx 0rpx;
}
.productDetails_fd5_2_c0_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.productDetails_star1fd5_2_c0_c0_c1_c1 {
height: 18rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 18rpx;
}
.productDetails_star1fd5_2_c0_c0_c1_c1 {
width: 18rpx;
height: 18rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.productDetails_fd5_2_c0_c0_c1_c1 {
margin: 8rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd5_2_c0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.productDetails_fd5_2_c0_c0_c0_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
}
.productDetails_fd5_2_c0_c0_c0 {
margin: 0rpx 16rpx 0rpx 0rpx;
}
.productDetails_fd5_2_c0 {
margin: 24rpx 0rpx 24rpx 0rpx;
}
.productDetails_fd5_2 {
border-bottom: 1px solid #eee;
padding: 0rpx 0rpx 32rpx 0rpx;
}
.productDetails_fd5_1_c0_c0_c1_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.productDetails_fd5_1_c0_c0_c1 {
background: rgba(246, 247, 249, 1);
margin: 24rpx 20rpx 0rpx 0rpx;
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
color: rgba(51, 51, 51, 1);
}
.productDetails_fd5_1_c0_c0_c0_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.productDetails_fd5_1_c0_c0_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 246, 234, 1);
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
margin: 24rpx 20rpx 0rpx 0;
color: rgba(255, 147, 0, 1);
font-size: 28rpx;
}
.productDetails_fd5_1_c0 {
padding: 0rpx 0rpx 24rpx 0rpx;
}
.productDetails_fd5_0_c1_c1 {
width: 8rpx;
height: 14rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 0rpx 0rpx 8rpx;
}
.productDetails_fd5_0_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.productDetails_fd5_0_c0_c2 {
color: #999999;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.productDetails_fd5_0_c0_c1 {
color: #999999;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.productDetails_fd5_0_c0_c0 {
color: rgba(51, 51, 51, 1);
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.productDetails_flex_6 {
background: rgba(246, 247, 249, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.productDetails_flex_7 {
background: rgba(255, 255, 255, 1);
border-radius: 24rpx 24rpx 0rpx 0rpx;
padding: 45rpx 32rpx 0rpx 32rpx;
background-size: 100% auto !important;
}
.productDetails_fd7_2_c1_c0 {
color: #FFFFFF;
font-size: 28rpx;
font-weight: 500;
line-height: 100rpx;
}
.productDetails_fd7_2_c1 {
background: url(https://lvtai-files.oss-cn-beijing.aliyuncs.com/mini/100.png) no-repeat, #eee;
width: 164rpx;
height: 100rpx;
border-radius: 0rpx 50rpx 50rpx 0rpx;
background-size: 100% auto !important;
}
.productDetails_fd7_2_c0_c1_c1 {
color: #FFFFFF;
font-size: 36rpx;
font-weight: 500;
line-height: 36rpx;
}
.productDetails_fd7_2_c0_c1_c0 {
color: #FFFFFF;
font-size: 24rpx;
font-weight: 500;
line-height: 34rpx;
}
.productDetails_fd7_2_c0_c0_c1 {
position: absolute;
right: -16rpx;
top: -10rpx;
}
.productDetails_fd7_2_c0_c0_c0 {
font-size: 44rpx;
color: rgba(255, 255, 255, 1);
}
.productDetails_fd7_2_c0_c0 {
margin: 0rpx 24rpx 0rpx 0rpx;
position: relative;
}
.productDetails_fd7_2_c0 {
height: 100rpx;
padding: 0rpx 0rpx 0rpx 40rpx;
}
.productDetails_fd7_2 {
margin-bottom: 32rpx;
background: rgba(85, 85, 85, 1);
height: 100rpx;
border-radius: 50rpx 50rpx 50rpx 50rpx;
background-size: 100% auto !important;
}
.productDetails_fd7_1_c1_c2_c1_c0_c2 {
height: 36rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
width: 36rpx;
}
.productDetails_fd7_1_c1_c2_c1_c0_c0 {
height: 36rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
width: 36rpx;
}
::v-deep .productDetails_numberBoxInputfd7_1_c1_c2_c1_c0 {
background: rgba(255, 255, 255, 1);
width: 80rpx;
height: 50rpx;
text-align: center;
color: rgba(51, 51, 51, 1);
font-size: 28rpx;
}
.productDetails_fd7_1_c1_c2_c0_c3 {
color: #999999;
font-size: 22rpx;
font-weight: 500;
line-height: 22rpx;
text-decoration: line-through;
}
.productDetails_fd7_1_c1_c2_c0_c2 {
color: #999999;
font-size: 22rpx;
font-weight: 500;
line-height: 22rpx;
text-decoration: line-through;
}
.productDetails_fd7_1_c1_c2_c0_c1 {
margin: 0rpx 16rpx 0rpx 0rpx;
color: #E32121;
font-size: 28rpx;
font-weight: 500;
line-height: 28rpx;
}
.productDetails_fd7_1_c1_c2_c0_c0 {
color: #E32121;
font-size: 22rpx;
font-weight: 500;
line-height: 22rpx;
}
.productDetails_fd7_1_c1_c2 {
// margin: 38rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd7_1_c1_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.productDetails_fd7_1_c1_c1 {
// margin: 12rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd7_1_c1_c0_c0 {
color: #333333;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.productDetails_fd7_1_c1 {
border-bottom: 1px solid #eee;
padding: 0rpx 0rpx 32rpx 0rpx;
box-sizing: content-box;
height: 168rpx;
}
.productDetails_fd7_1_c0_c0 {
width: 168rpx;
height: 168rpx;
border-radius: 8rpx;
}
.productDetails_fd7_1_c0 {
margin: 0rpx 16rpx 0rpx 0rpx;
}
.productDetails_fd7_1 {
margin: 0rpx 0rpx 32rpx 0rpx;
}
.productDetails_fd7_0_c1_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 500;
line-height: 42rpx;
}
.productDetails_fd7_0_c0_c3 {
color: #999999;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.productDetails_fd7_0_c0_c2 {
color: #999999;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.productDetails_fd7_0_c0_c1 {
color: #999999;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.productDetails_fd7_0_c0_c0 {
color: #333333;
font-size: 36rpx;
font-weight: 500;
line-height: 42rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.productDetails_fd7_0 {
margin: 0rpx 0rpx 32rpx 0rpx;
}
.productDetails_flex_8 {
background: rgba(255, 255, 255, 1);
width: 750rpx;
height: 168rpx;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
background-size: 100% auto !important;
overflow: hidden;
}
.productDetails_fd8_0_c0_c1_c0 {
color: #FFFFFF;
font-size: 28rpx;
font-weight: 500;
line-height: 100rpx;
}
.productDetails_fd8_0_c0_c1 {
background: url(https://lvtai-files.oss-cn-beijing.aliyuncs.com/mini/100.png) no-repeat, #eee;
width: 164rpx;
height: 100rpx;
border-radius: 0rpx 50rpx 50rpx 0rpx;
background-size: 100% auto !important;
}
.productDetails_fd8_0_c0_c0_c2_c1 {
color: #CCCCCC;
font-size: 22rpx;
font-weight: 500;
line-height: 22rpx;
text-decoration: line-through;
}
.productDetails_fd8_0_c0_c0_c2_c0 {
color: #CCCCCC;
font-size: 22rpx;
font-weight: 500;
line-height: 22rpx;
text-decoration: line-through;
}
.productDetails_fd8_0_c0_c0_c2 {
margin: 0rpx 0rpx 0rpx 16rpx;
}
.productDetails_fd8_0_c0_c0_c1_c1 {
color: #FFFFFF;
font-size: 36rpx;
font-weight: 500;
line-height: 36rpx;
}
.productDetails_fd8_0_c0_c0_c1_c0 {
color: #FFFFFF;
font-size: 24rpx;
font-weight: 500;
line-height: 34rpx;
}
.productDetails_fd8_0_c0_c0_c0_c1 {
position: absolute;
right: -16rpx;
top: -10rpx;
}
.productDetails_fd8_0_c0_c0_c0_c0 {
font-size: 44rpx;
color: rgba(255, 255, 255, 1);
}
.productDetails_fd8_0_c0_c0_c0 {
margin: 0rpx 24rpx 0rpx 0rpx;
position: relative;
}
.productDetails_fd8_0_c0_c0 {
height: 100rpx;
padding: 0rpx 0rpx 0rpx 40rpx;
}
.productDetails_fd8_0_c0 {
background: rgba(85, 85, 85, 1);
height: 100rpx;
border-radius: 50rpx 50rpx 50rpx 50rpx;
background-size: 100% auto !important;
}
.productDetails_fd8_0 {
background: rgba(255, 255, 255, 1);
padding: 32rpx 32rpx 0rpx 32rpx;
background-size: 100% auto !important;
}
.productDetails_flex_9 {
margin: 0rpx 40rpx 0rpx 40rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
width: 670rpx;
}
.productDetails_fd9_0_c1_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c1 {
margin: 40rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c0_c4_c1 {
background: rgba(255, 147, 0, 1);
font-size: 28rpx;
color: rgba(255, 255, 255, 1);
width: 198rpx;
height: 76rpx;
border-radius: 38rpx 38rpx 38rpx 38rpx;
line-height: 76rpx;
}
.productDetails_fd9_0_c0_c4_c0_c4 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.productDetails_fd9_0_c0_c4_c0_c3 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 0rpx 0rpx 0rpx 16rpx;
}
.productDetails_price2_fd9_0_c0_c4_c0_c2 {
color: #E32121;
font-size: 40rpx;
font-weight: 500;
line-height: 40rpx;
}
.productDetails_price1_fd9_0_c0_c4_c0_c2 {
color: #E32121;
font-size: 40rpx;
font-weight: 500;
line-height: 40rpx;
}
.productDetails_fd9_0_c0_c4_c0_c2 {
line-height: 49rpx;
font-size: 40rpx;
font-weight: 700;
color: #FC4141;
}
.productDetails_fd9_0_c0_c4_c0_c1 {
line-height: 34rpx;
font-size: 28rpx;
font-weight: 500;
color: #FC4141;
margin: 0rpx 0rpx 0rpx 16rpx;
}
.productDetails_fd9_0_c0_c4_c0_c0 {
line-height: 40rpx;
font-size: 28rpx;
font-weight: 700;
color: #333333;
}
.productDetails_fd9_0_c0_c4 {
padding: 0rpx 32rpx 0rpx 32rpx;
margin: 24rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c0_c3_c3 {
line-height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
.productDetails_fd9_0_c0_c3_c2 {
line-height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
.productDetails_fd9_0_c0_c3_c1 {
line-height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
.productDetails_fd9_0_c0_c3_c0 {
line-height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
.productDetails_fd9_0_c0_c3 {
background: rgba(246, 247, 249, 0.39);
padding: 14rpx 0rpx 14rpx 32rpx;
}
.productDetails_fd9_0_c0_c2_c1_c1 {
border: 1px solid rgba(204, 204, 204, 1);
margin: 0rpx 7rpx 0rpx 7rpx;
width: 192rpx;
height: 64rpx;
font-size: 24rpx;
line-height: 64rpx;
color: rgba(102, 102, 102, 1);
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
.productDetails_fd9_0_c0_c2_c1_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 82, 55, 0.06);
border-radius: 8rpx 8rpx 8rpx 8rpx;
width: 192rpx;
height: 64rpx;
color: rgba(255, 147, 0, 1);
line-height: 64rpx;
font-size: 24rpx;
}
::v-deep .productDetails_fd9_0_c0_c2_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c0_c2_c0 {
line-height: 40rpx;
font-size: 28rpx;
font-weight: 400;
color: #999999;
}
.productDetails_fd9_0_c0_c2 {
margin: 32rpx 32rpx 32rpx 32rpx;
}
.productDetails_fd9_0_c0_c1_c1_c1 {
border: 1px solid rgba(204, 204, 204, 1);
margin: 0rpx 7rpx 0rpx 7rpx;
width: 192rpx;
height: 64rpx;
font-size: 24rpx;
line-height: 64rpx;
color: rgba(102, 102, 102, 1);
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
.productDetails_fd9_0_c0_c1_c1_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 82, 55, 0.06);
border-radius: 8rpx 8rpx 8rpx 8rpx;
width: 192rpx;
height: 64rpx;
color: rgba(255, 147, 0, 1);
line-height: 64rpx;
font-size: 24rpx;
}
::v-deep .productDetails_fd9_0_c0_c1_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c0_c1_c0 {
line-height: 40rpx;
font-size: 28rpx;
font-weight: 400;
color: #999999;
}
.productDetails_fd9_0_c0_c1 {
margin: 32rpx 32rpx 32rpx 32rpx;
}
.productDetails_fd9_0_c0_c0_c1 {
max-width: 400rpx;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.productDetails_fd9_0_c0_c0_c0 {
width: 160rpx;
height: 160rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
margin: 0rpx 24rpx 0rpx 0rpx;
}
.productDetails_fd9_0_c0_c0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.productDetails_fd9_0_c0 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.skuimg{
width: 40rpx;
height: 40rpx;
}
.cart-wrap {
max-height: 60vh;
}
.storeDetails_fd8_0_c0_c1_c0 {
background: rgba(112, 112, 112, 1);
margin: 0rpx 32rpx 0rpx 0rpx;
width: 1rpx;
height: 40rpx;
background-size: 100% auto !important;
}
.storeDetails_fd8_0_c0_c1_c1_c2 {
color: #CCCCCC;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.storeDetails_fd8_0_c0_c1_c1_c1 {
color: #CCCCCC;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.storeDetails_fd8_0_c0_c1_c1_c0 {
color: #CCCCCC;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
</style>