Files
jjx-wap/pages/shop/components/goods.vue
T
2026-10-08 18:34:09 +08:00

109 lines
4.9 KiB
Vue

<template>
<view>
<view class="py-20">
<view class="py-20 mb-20 flex justify-between items-center w-100p border-bottom" v-for="(item, index) in goods"
:key="index">
<view class="flex justify-start items-start">
<view class="flex justify-start items-start">
<el-image :src="getGoodsImage(item)" class="cover ml-20" fit="cover" v-if="getGoodsImage(item)"/>
<view class="flex flex-col justify-start items-start ml-20">
<text class="font-bold mb-15">{{ item.goodsName }}</text>
<text class="text-gray" v-if="order.type === 0">{{ item.sku.label }}</text>
<view class="flex justify-start items-center mt-20">
<text class="text-25 font-bold" v-if="order.type === 0">¥{{
item.sku.values
}}
</text>
<text class="text-25 font-bold" v-else>¥{{ item.goodsPrice }}</text>
<text class="text-25 ml-35">x{{ item.num }}</text>
</view>
</view>
</view>
</view>
<view>
<text class="text-35 font-bold flex-1 text-main" v-if="order.type === 0">¥{{
parseFloat(item.sku.values) * item.num
}}
</text>
<text class="text-35 font-bold flex-1 text-main" v-else>¥{{
parseFloat(item.goodsPrice) * item.num
}}
</text>
</view>
</view>
<view v-if="order.type === 1">
<p class="text-35 font-bold mb-25">服务详情</p>
<el-descriptions border :column="2">
<el-descriptions-item label="考察对象" v-if="selfProduct.type === 0">
<p style="margin-bottom: .5rem" v-for="(item, index) in selfProduct.contentList" :key="index">
{{ item.name }}({{
item.code
}})--{{ item.addressRegion.province.name }}{{
item.addressRegion.city.name
}}{{ item.addressRegion.area.name }}{{ item.address }}</p>
</el-descriptions-item>
<el-descriptions-item label="考察产品" v-else>
<p style="margin-bottom: .5rem" v-for="(item, index) in selfProduct.contentList" :key="index">
{{ item.name }}--{{ item.addressRegion.province.name }}{{
item.addressRegion.city.name
}}{{ item.addressRegion.area.name }}{{ item.address }}</p>
</el-descriptions-item>
<el-descriptions-item label="接收文件电子邮箱">
<span>{{ selfProduct.email }}</span>
</el-descriptions-item>
<el-descriptions-item label="接收文件微信">
<span>{{ selfProduct.wechat }}</span>
</el-descriptions-item>
<el-descriptions-item label="接收文件寄件地址">
<span v-if="selfProduct.receiveAddressRegion.province">{{
selfProduct.receiveAddressRegion.province.name
}}{{
selfProduct.receiveAddressRegion.city.name
}}{{ selfProduct.receiveAddressRegion.area.name }}{{ selfProduct.receiveAddress }}</span>
</el-descriptions-item>
<el-descriptions-item label="申请人">
<span>{{ selfProduct.requestName }}</span>
</el-descriptions-item>
<el-descriptions-item label="业务联系人">
<span>{{ selfProduct.contactName }}</span>
</el-descriptions-item>
<el-descriptions-item label="业务联系方式">
<span>{{ selfProduct.contact }}</span>
</el-descriptions-item>
</el-descriptions>
</view>
</view>
</view>
</template>
<script>
export default {
name: "goods",
props: {
goods: Array,
order: Object,
selfProduct: Object,
},
data() {
return {}
},
methods: {
getGoodsImage(item) {
if (!item) return ''
if (item.sku && item.sku.image) return item.sku.image
if (item.goods && item.goods.cover) return item.goods.cover
return ''
}
}
}
</script>
<style lang="scss" scoped>
.cover {
width: 80px;
height: 80px;
}
</style>