LtyhShop/pc/components/confirmProduct.vue
2025-04-09 14:59:26 +08:00

83 lines
2.9 KiB
Vue
Raw Permalink 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.

<!--下单页中的商品信息-->
<script setup lang="ts">
import { Mul } from '~/utils/util'
import { toRefs } from 'vue'
import { ProductTypeEnum } from '@/enums/productEnums'
import useOrder from '~/composables/useOrder'
import {ProductMarketingTypeEnum} from "~/enums/productEnums";
const { handlerProDetailLink } = useOrder()
const props = defineProps({
//列表数据
list: {
type: Object,
default: null,
},
//订单类型:0-基础订单,1-秒杀订单,2-拼团订单
productType: {
type: Number,
default: 0,
},
// 商户信息
merchantInfo: {
type: Object,
default: null,
},
// 订单二级类型:0-普通订单1-积分订单2-虚拟订单4-视频号订单5-云盘订单6-卡密订单
secondType: {
type: Number,
default: 0,
}
//秒杀状态
// seckillStatus: {
// type: Number,
// default: 0,
// }
// //秒杀时间
// datatime: {
// type: Number,
// default: 0,
// }
})
const { list, productType, secondType } = toRefs(props)
// 商品详情跳转
const handlerDetailLink = () => {
if (secondType.value !== ProductTypeEnum.Integral && productType?.value !== ProductMarketingTypeEnum.Groupbuying){
handlerProDetailLink(list.value.productId, productType.value)
}else{
feedback.msgWarning(productType?.value == ProductMarketingTypeEnum.Groupbuying?'拼团商品请在移动端购买':'积分商品请在移动端购买')
}
}
</script>
<template>
<div @click="handlerDetailLink" class="flex-between-center mbtom30 cursors">
<div class="acea-row justify-between">
<el-image :src="list.image" class="backImg w100px h100px b-rd-12px" lazy></el-image>
<div class="ml-20px acea-row flex-col justify-center">
<div class="text-14px fontColor333 font-500 line1 mb14px w-580px oppoSans-M" :title="list.productName">
{{ list.productName }}
</div>
<div class="borRadius text-14px fontColor333 line1 oppoSans-R mb-10px">规格{{ list.sku }}</div>
</div>
</div>
<div class="flex-x-center flex-y-center">
<div v-if="list.price || list.productPrice" class="w-160px text-14px oppoSans-R fontColor333">
{{ list.price || list.productPrice }}
</div>
<div v-if="list.payNum" class="w-100px text-right text-14px oppoSans-R fontColor333">×{{ list.payNum }}</div>
<div v-if="list.price && list.payNum" class="w-160px text-right font-color text-12px">
<span class="oppoSans-M"></span
><span class="dinProSemiBold text-18px fw-600">{{ Mul(list.price, list.payNum) }}</span>
<span v-show="secondType === ProductTypeEnum.Integral">
<span ref="hao"> + </span>
<span class="text-18px font-color fw-600 dinProRegular">{{ list.redeemIntegral }}</span>
<span class="font-color oppoSans-M ml-5px">积分</span>
</span>
</div>
</div>
</div>
</template>
<style scoped lang="scss"></style>