109 lines
4.9 KiB
Vue
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>
|