|
@@ -10,9 +10,6 @@
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import TiltedButton from '@/components/tilted-button.vue'
|
|
import TiltedButton from '@/components/tilted-button.vue'
|
|
import Product from '../components/product.vue'
|
|
import Product from '../components/product.vue'
|
|
-import { shoppingBag } from '@designer-hub/assets/src/assets/svgs/index'
|
|
|
|
-import InvertedTrapezoidButton from '@/components/inverted-trapezoid-button.vue'
|
|
|
|
-import TrapeziumButton from '@/components/trapezium-button.vue'
|
|
|
|
import { useRouter } from '../../../../core/utils/router'
|
|
import { useRouter } from '../../../../core/utils/router'
|
|
import { getProduct, productPlacing } from '../../../../core/libs/requests'
|
|
import { getProduct, productPlacing } from '../../../../core/libs/requests'
|
|
import { requestToast } from '../../../../core/utils/common'
|
|
import { requestToast } from '../../../../core/utils/common'
|
|
@@ -20,6 +17,7 @@ import { useUserStore } from '../../../../store'
|
|
import { storeToRefs } from 'pinia'
|
|
import { storeToRefs } from 'pinia'
|
|
import BottomAppBar from '@/components/bottom-app-bar.vue'
|
|
import BottomAppBar from '@/components/bottom-app-bar.vue'
|
|
import { usePermissions } from '../../../../composables/permissions'
|
|
import { usePermissions } from '../../../../composables/permissions'
|
|
|
|
+import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html.vue'
|
|
|
|
|
|
const userStore = useUserStore()
|
|
const userStore = useUserStore()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
@@ -51,10 +49,10 @@ const handleConfirm = async () => {
|
|
],
|
|
],
|
|
couponList: [],
|
|
couponList: [],
|
|
}
|
|
}
|
|
- const { data: res, code } = await requestToast(() => productPlacing(body))
|
|
|
|
|
|
+ const { data: res, code, msg } = await requestToast(() => productPlacing(body))
|
|
if (code !== 0) {
|
|
if (code !== 0) {
|
|
- uni.showToast({
|
|
|
|
- title: res.msg,
|
|
|
|
|
|
+ await uni.showToast({
|
|
|
|
+ title: msg,
|
|
icon: 'none',
|
|
icon: 'none',
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
@@ -134,7 +132,7 @@ onShareTimeline(() => ({
|
|
<div class="flex-grow flex flex-col">
|
|
<div class="flex-grow flex flex-col">
|
|
<div class="aspect-[1.34/1] relative">
|
|
<div class="aspect-[1.34/1] relative">
|
|
<div class="absolute aspect-[1.26/1] top-0 w-full">
|
|
<div class="absolute aspect-[1.26/1] top-0 w-full">
|
|
-<!-- <wd-img width="100%" height="100%" :src="data?.productDetailsImgUrl" />-->
|
|
|
|
|
|
+ <!-- <wd-img width="100%" height="100%" :src="data?.productDetailsImgUrl" />-->
|
|
<swiper>
|
|
<swiper>
|
|
<template v-for="(it, index) in data?.productDetailsImgUrl?.split(',')" :key="index">
|
|
<template v-for="(it, index) in data?.productDetailsImgUrl?.split(',')" :key="index">
|
|
<swiper-item>
|
|
<swiper-item>
|
|
@@ -146,10 +144,10 @@ onShareTimeline(() => ({
|
|
</div>
|
|
</div>
|
|
<div class="relative flex-1 bg-white p-7 flex flex-col gap-6 rounded-tl-2xl rounded-tr-2xl">
|
|
<div class="relative flex-1 bg-white p-7 flex flex-col gap-6 rounded-tl-2xl rounded-tr-2xl">
|
|
<div
|
|
<div
|
|
- v-if="data.needPoints == 1"
|
|
|
|
|
|
+ v-if="String(data?.needPoints) === '1'"
|
|
class="text-black text-xl font-normal font-['PingFang_SC'] leading-[10.18px] mr-1"
|
|
class="text-black text-xl font-normal font-['PingFang_SC'] leading-[10.18px] mr-1"
|
|
>
|
|
>
|
|
- {{ data.points }}折
|
|
|
|
|
|
+ {{ data?.points }}折
|
|
</div>
|
|
</div>
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div class="text-black text-xl font-normal font-['PingFang_SC'] leading-[10.18px]">
|
|
<div class="text-black text-xl font-normal font-['PingFang_SC'] leading-[10.18px]">
|
|
@@ -159,19 +157,20 @@ onShareTimeline(() => ({
|
|
<div class="text-black/60 text-sm font-normal font-['PingFang_SC']">
|
|
<div class="text-black/60 text-sm font-normal font-['PingFang_SC']">
|
|
{{ data?.exchangeDesc }}
|
|
{{ data?.exchangeDesc }}
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="text-justify text-black/40 text-base font-normal font-['PingFang_SC'] leading-relaxed"
|
|
|
|
- v-html="data?.contentDesc"
|
|
|
|
- ></div>
|
|
|
|
|
|
+ <!-- <div-->
|
|
|
|
+ <!-- class="text-justify text-black/40 text-base font-normal font-['PingFang_SC'] leading-relaxed"-->
|
|
|
|
+ <!-- v-html="data?.contentDesc"-->
|
|
|
|
+ <!-- ></div>-->
|
|
|
|
+ <mpHtml :content="data?.contentDesc"></mpHtml>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <BottomAppBar fixed placeholder v-if="data.needPoints != 1">
|
|
|
|
|
|
+ <BottomAppBar fixed placeholder v-if="String(data?.needPoints) !== '1'">
|
|
<div
|
|
<div
|
|
class="bg-white/90 backdrop-blur-[20px] flex px-10 py-2.5 border-t-1 border-t-solid border-t-[#ececec]"
|
|
class="bg-white/90 backdrop-blur-[20px] flex px-10 py-2.5 border-t-1 border-t-solid border-t-[#ececec]"
|
|
>
|
|
>
|
|
<div class="text-[#ef4343] text-2xl font-normal font-['D-DIN_Exp'] leading-normal">
|
|
<div class="text-[#ef4343] text-2xl font-normal font-['D-DIN_Exp'] leading-normal">
|
|
<!-- {{ data?.points }}-->
|
|
<!-- {{ data?.points }}-->
|
|
- {{ data?.showFavourable ? data.favourablePoints : data.points }}
|
|
|
|
|
|
+ {{ data?.showFavourable ? data?.favourablePoints : data?.points }}
|
|
</div>
|
|
</div>
|
|
<div class="text-black/40 text-base font-normal font-['PingFang_SC'] leading-[34px]">
|
|
<div class="text-black/40 text-base font-normal font-['PingFang_SC'] leading-[34px]">
|
|
积分
|
|
积分
|