|
@@ -14,9 +14,10 @@ definePage({
|
|
|
disableScroll: true,
|
|
disableScroll: true,
|
|
|
},
|
|
},
|
|
|
})
|
|
})
|
|
|
-const { cartList, isCartAllChecked, totalProduct } = storeToRefs(useSmqjhCartStore())
|
|
|
|
|
|
|
+const { cartList, totalProduct } = storeToRefs(useSmqjhCartStore())
|
|
|
const { smqjhSelectedAddress } = storeToRefs(useUserStore())
|
|
const { smqjhSelectedAddress } = storeToRefs(useUserStore())
|
|
|
const cartStore = useSmqjhCartStore()
|
|
const cartStore = useSmqjhCartStore()
|
|
|
|
|
+const priceDetailPopup = ref(false)
|
|
|
const tab = ref(0)
|
|
const tab = ref(0)
|
|
|
const selectAddress = ref(false)
|
|
const selectAddress = ref(false)
|
|
|
const navList = ref([
|
|
const navList = ref([
|
|
@@ -161,31 +162,27 @@ async function handleSelectAddress() {
|
|
|
<view v-if="cartList.length" class="fixedShadow fixed bottom-60rpx left-0 z-99 box-border w-full flex items-center justify-between rounded-t-16rpx bg-white px-24rpx pb-60rpx pt-10rpx">
|
|
<view v-if="cartList.length" class="fixedShadow fixed bottom-60rpx left-0 z-99 box-border w-full flex items-center justify-between rounded-t-16rpx bg-white px-24rpx pb-60rpx pt-10rpx">
|
|
|
<view class="ios w-full flex items-center justify-between">
|
|
<view class="ios w-full flex items-center justify-between">
|
|
|
<view class="flex items-center">
|
|
<view class="flex items-center">
|
|
|
- <image
|
|
|
|
|
- :src="`${StaticUrl}/cart-lanzi.png`"
|
|
|
|
|
- class="h-100rpx w-100rpx"
|
|
|
|
|
- />
|
|
|
|
|
- <view class="ml-16rpx flex items-center">
|
|
|
|
|
- <wd-checkbox v-model="isCartAllChecked" size="large" @change="cartStore.cartAllChecked">
|
|
|
|
|
- 全选
|
|
|
|
|
- </wd-checkbox>
|
|
|
|
|
- <view class="ml-10rpx text-24rpx text-[#FF4A39]" @click="cartStore.cartDeleteGoods">
|
|
|
|
|
- 删除
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <image :src="`${StaticUrl}/cart-lanzi.png`" class="h-100rpx w-100rpx" />
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <view class="flex items-center font-semibold">
|
|
|
|
|
- <view class="text-22rpx text-[#222]">
|
|
|
|
|
- 总计:
|
|
|
|
|
|
|
+ <view class="ml-40rpx">
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
|
|
+ <view class="font-semibold">
|
|
|
|
|
+ ¥ {{ totalProduct?.amount || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="totalProduct?.coupon" class="ml-10rpx text-24rpx text-[#FF4A39]">
|
|
|
|
|
+ 共减¥{{ totalProduct?.coupon }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="totalProduct?.amount" class="ml-10rpx text-24rpx text-gray" @click="priceDetailPopup = true">
|
|
|
|
|
+ 明细 <wd-icon name="arrow-up" size="24rpx" color="#aaa" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="flex items-baseline text-24rpx text-[#FF4A39]">
|
|
|
|
|
- ¥
|
|
|
|
|
- <text class="text-36rpx">
|
|
|
|
|
- {{ totalProduct?.price || '0.00' }}
|
|
|
|
|
- </text>
|
|
|
|
|
|
|
+ <view class="mt-10rpx text-24rpx text-gray">
|
|
|
|
|
+ 配送费:¥{{ totalProduct?.transfee || 0 }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="flex items-center">
|
|
|
<view class="ml-20rpx w-160rpx">
|
|
<view class="ml-20rpx w-160rpx">
|
|
|
<wd-button block size="large" @click="cartStore.cartOrderConfirm">
|
|
<wd-button block size="large" @click="cartStore.cartOrderConfirm">
|
|
|
结算
|
|
结算
|
|
@@ -194,6 +191,57 @@ async function handleSelectAddress() {
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <!-- 价格明细弹窗 -->
|
|
|
|
|
+ <Zpopup v-model="priceDetailPopup" :zindex="10" bg="#fff">
|
|
|
|
|
+ <view class="ios box-border w-full px-40rpx pb-60rpx pt-36rpx">
|
|
|
|
|
+ <view class="mb-40rpx text-center text-32rpx font-semibold">
|
|
|
|
|
+ 价格明细
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="flex items-center justify-between py-20rpx">
|
|
|
|
|
+ <view class="text-30rpx font-semibold">
|
|
|
|
|
+ 商品合计
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-30rpx font-semibold">
|
|
|
|
|
+ ¥{{ totalProduct?.amount }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="flex items-center justify-between py-20rpx">
|
|
|
|
|
+ <view class="text-28rpx text-[#333]">
|
|
|
|
|
+ 商品总价
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx text-[#333]">
|
|
|
|
|
+ ¥{{ totalProduct?.price }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <template v-if="totalProduct?.coupon">
|
|
|
|
|
+ <view class="flex items-center justify-between py-20rpx">
|
|
|
|
|
+ <view class="text-28rpx text-[#333]">
|
|
|
|
|
+ 下单用券共减
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx text-[#FF4A39] font-semibold">
|
|
|
|
|
+ -¥{{ totalProduct?.coupon }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="totalProduct?.couponName" class="flex items-center justify-between pb-20rpx">
|
|
|
|
|
+ <view class="text-24rpx text-[#AAAAAA]">
|
|
|
|
|
+ {{ totalProduct?.couponName }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-24rpx text-[#AAAAAA]">
|
|
|
|
|
+ -¥{{ totalProduct?.coupon }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <view class="flex items-center justify-between py-20rpx">
|
|
|
|
|
+ <view class="text-28rpx text-[#333]">
|
|
|
|
|
+ 配送费
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx text-[#333]">
|
|
|
|
|
+ ¥{{ totalProduct?.transfee }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="h-200rpx" />
|
|
|
|
|
+ </Zpopup>
|
|
|
<selectAddressTemplate v-model="selectAddress" />
|
|
<selectAddressTemplate v-model="selectAddress" />
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|