|
@@ -87,54 +87,55 @@ async function getGoodsDetaile() {
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
- <view v-if="goodsInfo" class="page-xsb">
|
|
|
|
|
|
|
+ <view class="page-xsb">
|
|
|
<wd-navbar
|
|
<wd-navbar
|
|
|
title="商品详情" :custom-style="`background-color:${isShowTab ? '#FFF !important' : 'transparent !important'}`" :bordered="false" :z-index="99"
|
|
title="商品详情" :custom-style="`background-color:${isShowTab ? '#FFF !important' : 'transparent !important'}`" :bordered="false" :z-index="99"
|
|
|
safe-area-inset-top left-arrow fixed @click-left="router.back()"
|
|
safe-area-inset-top left-arrow fixed @click-left="router.back()"
|
|
|
/>
|
|
/>
|
|
|
- <wd-swiper v-model:current="current" :list="swiperList" autoplay :height="375">
|
|
|
|
|
- <template #indicator="{ current: currentIndex, total }">
|
|
|
|
|
- <view class="custom-indicator absolute bottom-60rpx right-20rpx px26rpx">
|
|
|
|
|
- {{ currentIndex + 1 }}/{{ total }}
|
|
|
|
|
- </view>
|
|
|
|
|
- </template>
|
|
|
|
|
- </wd-swiper>
|
|
|
|
|
- <view class="header view-0 relative z-3 rounded-t-32rpx px24rpx pt24rpx -mt30rpx">
|
|
|
|
|
- <view class="flex items-center justify-between">
|
|
|
|
|
- <view class="flex items-end text-#FF4D3A font-semibold">
|
|
|
|
|
- <view class="text-24rpx">
|
|
|
|
|
- ¥
|
|
|
|
|
|
|
+ <template v-if="goodsInfo">
|
|
|
|
|
+ <wd-swiper v-model:current="current" :list="swiperList" autoplay :height="375">
|
|
|
|
|
+ <template #indicator="{ current: currentIndex, total }">
|
|
|
|
|
+ <view class="custom-indicator absolute bottom-60rpx right-20rpx px26rpx">
|
|
|
|
|
+ {{ currentIndex + 1 }}/{{ total }}
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="text-36rpx line-height-[36rpx]">
|
|
|
|
|
- {{ goodsInfo?.channelProdPrice }}
|
|
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </wd-swiper>
|
|
|
|
|
+ <view class="view-0 header relative z-3 rounded-t-32rpx px24rpx pt24rpx -mt30rpx">
|
|
|
|
|
+ <view class="flex items-center justify-between">
|
|
|
|
|
+ <view class="flex items-end text-#FF4D3A font-semibold">
|
|
|
|
|
+ <view class="text-24rpx">
|
|
|
|
|
+ ¥
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-36rpx line-height-[36rpx]">
|
|
|
|
|
+ {{ goodsInfo?.channelProdPrice }}
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
<!-- <view>
|
|
<!-- <view>
|
|
|
<image class="h40rpx w40rpx" :src="`${StaticUrl}/collect-yes.png`" />
|
|
<image class="h40rpx w40rpx" :src="`${StaticUrl}/collect-yes.png`" />
|
|
|
</view> -->
|
|
</view> -->
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="sticky left-0 z-99 box-border h84rpx w-full flex items-center justify-between bg-white px24rpx" :style="{ top: `${statusBarHeight + MenuButtonHeight}px`, opacity: isShowTab ? 1 : 0 }" :class="[isShowTab ? '' : '']">
|
|
|
|
|
- <view v-for="item in goodsDetaileTabList" :key="item.id" class="relative flex items-center text-32rpx font-semibold" @click="handleGoCurren(item.id)">
|
|
|
|
|
- {{ item.title }}
|
|
|
|
|
- <view v-show="currentDetaile == item.id" class="line absolute left-50% h12rpx w40rpx rounded-8rpx bg-[var(--them-color)] -bottom-15rpx -translate-x-50%" />
|
|
|
|
|
|
|
+ <view class="sticky left-0 z-99 box-border h84rpx w-full flex items-center justify-between bg-white px24rpx" :style="{ top: `${statusBarHeight + MenuButtonHeight}px`, opacity: isShowTab ? 1 : 0 }" :class="[isShowTab ? '' : '']">
|
|
|
|
|
+ <view v-for="item in goodsDetaileTabList" :key="item.id" class="relative flex items-center text-32rpx font-semibold" @click="handleGoCurren(item.id)">
|
|
|
|
|
+ {{ item.title }}
|
|
|
|
|
+ <view v-show="currentDetaile == item.id" class="line absolute left-50% h12rpx w40rpx rounded-8rpx bg-[var(--them-color)] -bottom-15rpx -translate-x-50%" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="px24rpx">
|
|
|
|
|
- <view class="-mt64rpx">
|
|
|
|
|
- <view class="text-left text-28rpx font-semibold">
|
|
|
|
|
- <!-- <view v-for="i in 2" :key="i" class="mr5px inline-block">
|
|
|
|
|
|
|
+ <view class="px24rpx">
|
|
|
|
|
+ <view class="-mt64rpx">
|
|
|
|
|
+ <view class="text-left text-28rpx font-semibold">
|
|
|
|
|
+ <!-- <view v-for="i in 2" :key="i" class="mr5px inline-block">
|
|
|
<wd-tag type="primary">
|
|
<wd-tag type="primary">
|
|
|
新品{{ i }}
|
|
新品{{ i }}
|
|
|
</wd-tag>
|
|
</wd-tag>
|
|
|
</view> -->
|
|
</view> -->
|
|
|
- {{ goodsInfo.prodName }}
|
|
|
|
|
|
|
+ {{ goodsInfo.prodName }}
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <!-- <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
|
|
+ <!-- <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
优选产地,皮薄核小,维c满满
|
|
优选产地,皮薄核小,维c满满
|
|
|
</view> -->
|
|
</view> -->
|
|
|
- <!-- <view class="mt20rpx flex items-center">
|
|
|
|
|
|
|
+ <!-- <view class="mt20rpx flex items-center">
|
|
|
<view
|
|
<view
|
|
|
v-for="item in 2" :key="item"
|
|
v-for="item in 2" :key="item"
|
|
|
class="mr16rpx flex items-center justify-center border-1rpx border-#BC9264 rounded-8rpx border-solid bg-[#FFF5E9] px16rpx py6rpx text-24rpx text-#BC9264 font-semibold"
|
|
class="mr16rpx flex items-center justify-center border-1rpx border-#BC9264 rounded-8rpx border-solid bg-[#FFF5E9] px16rpx py6rpx text-24rpx text-#BC9264 font-semibold"
|
|
@@ -143,45 +144,45 @@ async function getGoodsDetaile() {
|
|
|
</view>
|
|
</view>
|
|
|
</view> -->
|
|
</view> -->
|
|
|
|
|
|
|
|
- <view class="mt20rpx flex items-center justify-between rounded-16rpx bg-white p24rpx">
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <view class="flex-shrink-0">
|
|
|
|
|
- <view class="text-28rpx font-semibold">
|
|
|
|
|
- {{ goodsInfo.brandName }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
- 品牌
|
|
|
|
|
|
|
+ <view class="mt20rpx flex items-center justify-between rounded-16rpx bg-white p24rpx">
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <view class="flex-shrink-0">
|
|
|
|
|
+ <view class="text-28rpx font-semibold">
|
|
|
|
|
+ {{ goodsInfo.brandName }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
+ 品牌
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mx24rpx">
|
|
<view class="mx24rpx">
|
|
|
<wd-divider vertical color="#F0F0F0" />
|
|
<wd-divider vertical color="#F0F0F0" />
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <view class="flex-shrink-0">
|
|
|
|
|
- <view class="text-28rpx font-semibold">
|
|
|
|
|
- {{ goodsInfo.weight }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
- 重量
|
|
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <view class="flex-shrink-0">
|
|
|
|
|
+ <view class="text-28rpx font-semibold">
|
|
|
|
|
+ {{ goodsInfo.weight }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
+ 重量
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mx24rpx">
|
|
<view class="mx24rpx">
|
|
|
<wd-divider vertical color="#F0F0F0" />
|
|
<wd-divider vertical color="#F0F0F0" />
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <view class="flex-shrink-0">
|
|
|
|
|
- <view class="text-28rpx font-semibold">
|
|
|
|
|
- {{ goodsInfo.weightUnit }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
- 单位
|
|
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <view class="flex-shrink-0">
|
|
|
|
|
+ <view class="text-28rpx font-semibold">
|
|
|
|
|
+ {{ goodsInfo.weightUnit }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt16rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
+ 单位
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <wd-icon name="chevron-right" size="22px" color="#AAAAAA" />
|
|
|
</view>
|
|
</view>
|
|
|
- <wd-icon name="chevron-right" size="22px" color="#AAAAAA" />
|
|
|
|
|
- </view>
|
|
|
|
|
<!-- <view class="view-1 mt20rpx flex items-center rounded-16rpx bg-white p24rpx">
|
|
<!-- <view class="view-1 mt20rpx flex items-center rounded-16rpx bg-white p24rpx">
|
|
|
<view class="w-full flex items-center justify-between">
|
|
<view class="w-full flex items-center justify-between">
|
|
|
<view class="text-32rpx font-semibold">
|
|
<view class="text-32rpx font-semibold">
|
|
@@ -239,15 +240,15 @@ async function getGoodsDetaile() {
|
|
|
<view v-for="item, idx in goodsTabData" :key="idx" class="mr14rpx transition-all transition-duration-400 ease-in" :class="[currentTabGoods == idx ? 'rounded-12rpx w-40rpx h12rpx bg-[var(--them-color)]' : 'w12rpx h12rpx rounded-50% bg-#F0F0F0']" />
|
|
<view v-for="item, idx in goodsTabData" :key="idx" class="mr14rpx transition-all transition-duration-400 ease-in" :class="[currentTabGoods == idx ? 'rounded-12rpx w-40rpx h12rpx bg-[var(--them-color)]' : 'w12rpx h12rpx rounded-50% bg-#F0F0F0']" />
|
|
|
</view>
|
|
</view>
|
|
|
</view> -->
|
|
</view> -->
|
|
|
- </view>
|
|
|
|
|
|
|
+ </view>
|
|
|
|
|
|
|
|
- <view class="view-2 mt20rpx bg-white">
|
|
|
|
|
- <view class="p24rpx text-32rpx font-semibold">
|
|
|
|
|
- 商品详情
|
|
|
|
|
- <rich-text :nodes="goodsContent" />
|
|
|
|
|
|
|
+ <view class="view-2 mt20rpx bg-white">
|
|
|
|
|
+ <view class="p24rpx text-32rpx font-semibold">
|
|
|
|
|
+ 商品详情
|
|
|
|
|
+ <rich-text :nodes="goodsContent" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <!-- <view class="view-3 mt28rpx flex items-center justify-center">
|
|
|
|
|
|
|
+ <!-- <view class="view-3 mt28rpx flex items-center justify-center">
|
|
|
<view class="flex items-center">
|
|
<view class="flex items-center">
|
|
|
<image
|
|
<image
|
|
|
:src="`${StaticUrl}/goods-recommend.png`"
|
|
:src="`${StaticUrl}/goods-recommend.png`"
|
|
@@ -262,50 +263,51 @@ async function getGoodsDetaile() {
|
|
|
/>
|
|
/>
|
|
|
</view>
|
|
</view>
|
|
|
</view> -->
|
|
</view> -->
|
|
|
- <view class="h180rpx" />
|
|
|
|
|
- <view class="ios shadow-fixed fixed bottom-0 left-0 w-full rounded-t-32rpx bg-white">
|
|
|
|
|
- <view class="flex items-center justify-between px24rpx py20rpx">
|
|
|
|
|
- <view class="mr36rpx" @click="router.replace({ name: 'xsb-homeTabbar' })">
|
|
|
|
|
- <image
|
|
|
|
|
- :src="`${StaticUrl}/goods-home.png`"
|
|
|
|
|
- class="h44rpx w44rpx"
|
|
|
|
|
- />
|
|
|
|
|
- <view class="text-20rpx">
|
|
|
|
|
- 首页
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mr36rpx">
|
|
|
|
|
- <image
|
|
|
|
|
- :src="`${StaticUrl}/goods-kf.png`"
|
|
|
|
|
- class="h44rpx w44rpx"
|
|
|
|
|
- />
|
|
|
|
|
- <view class="text-20rpx">
|
|
|
|
|
- 客服
|
|
|
|
|
|
|
+ <view class="h180rpx" />
|
|
|
|
|
+ <view class="ios shadow-fixed fixed bottom-0 left-0 w-full rounded-t-32rpx bg-white">
|
|
|
|
|
+ <view class="flex items-center justify-between px24rpx py20rpx">
|
|
|
|
|
+ <view class="mr36rpx" @click="router.replace({ name: 'xsb-homeTabbar' })">
|
|
|
|
|
+ <image
|
|
|
|
|
+ :src="`${StaticUrl}/goods-home.png`"
|
|
|
|
|
+ class="h44rpx w44rpx"
|
|
|
|
|
+ />
|
|
|
|
|
+ <view class="text-20rpx">
|
|
|
|
|
+ 首页
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view @click="router.replace({ name: 'xsb-homeTabbar', animationType: 'fade-out', params: { name: 'xsb-cart' } })">
|
|
|
|
|
- <image
|
|
|
|
|
- :src="`${StaticUrl}/goods-cart.png`"
|
|
|
|
|
- class="h44rpx w44rpx"
|
|
|
|
|
- />
|
|
|
|
|
- <view class="text-20rpx">
|
|
|
|
|
- 购物车
|
|
|
|
|
|
|
+ <view class="mr36rpx">
|
|
|
|
|
+ <image
|
|
|
|
|
+ :src="`${StaticUrl}/goods-kf.png`"
|
|
|
|
|
+ class="h44rpx w44rpx"
|
|
|
|
|
+ />
|
|
|
|
|
+ <view class="text-20rpx">
|
|
|
|
|
+ 客服
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <view class="w220rpx">
|
|
|
|
|
- <wd-button hairline plain block>
|
|
|
|
|
- 加入购物车
|
|
|
|
|
- </wd-button>
|
|
|
|
|
|
|
+ <view @click="router.replace({ name: 'xsb-homeTabbar', animationType: 'fade-out', params: { name: 'xsb-cart' } })">
|
|
|
|
|
+ <image
|
|
|
|
|
+ :src="`${StaticUrl}/goods-cart.png`"
|
|
|
|
|
+ class="h44rpx w44rpx"
|
|
|
|
|
+ />
|
|
|
|
|
+ <view class="text-20rpx">
|
|
|
|
|
+ 购物车
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="ml20rpx w220rpx" @click="router.push({ name: 'common-confirmOrder' })">
|
|
|
|
|
- <wd-button block class="w-full">
|
|
|
|
|
- 立即购买
|
|
|
|
|
- </wd-button>
|
|
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <view class="w220rpx">
|
|
|
|
|
+ <wd-button hairline plain block>
|
|
|
|
|
+ 加入购物车
|
|
|
|
|
+ </wd-button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="ml20rpx w220rpx" @click="router.push({ name: 'common-confirmOrder' })">
|
|
|
|
|
+ <wd-button block class="w-full">
|
|
|
|
|
+ 立即购买
|
|
|
|
|
+ </wd-button>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
|
+ </template>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|