H5-ThreeDoorder/components/b-rx-commodity-item/b-rx-commodity-item.vue

163 lines
4.2 KiB
Vue

<template>
<view class="b-rx-commodity-item">
<view class="b-rx-commodity-item-commodity">
<view class="b-rx-commodity-item-commodity-img">
<image class="img" :src="item['goods_img'] || item['product_img']" mode=""></image>
</view>
<view class="b-rx-commodity-item-commodity-infor">
<!-- 商品 -->
<view class="b-rx-commodity-item-commodity-infor-name">
{{item['product_name']}}
</view>
<view v-if="item['sku']" class="b-rx-commodity-item-commodity-infor-sku">
{{item['sku']}}
</view>
<!-- 价格 -->
<view class="b-rx-commodity-item-commodity-infor-money">
<view class="b-rx-commodity-item-commodity-infor-money-price">
<text class="b-rx-commodity-item-commodity-infor-money-yang">x</text>
<text class="b-rx-commodity-item-commodity-infor-money-amount">{{item['num']?item['num']:item['amount']}}</text>
</view>
</view>
</view>
</view>
<!-- 数量 -->
<view class="quantity">
<!-- 订单列表中的商品数据价格是后台计算过的所以直接使用就行了original_price属性之后订单数据才会返回 -->
<!-- <view class="num" v-if="item['original_price']">
¥{{RetainDecimalPoint(item['pay_price'])}}
</view>
<view class="num" v-else-if="!item['original_price'] && (BrandInfor['brand_id'] == 13 || BrandInfor['brand_id'] == 1)">
¥{{RetainDecimalPoint(item['pay_price'] * (item['num']?item['num']:item['amount']))}}
</view>
<view class="num" v-else-if="!item['original_price'] && BrandInfor['brand_id'] == 10">
¥{{RetainDecimalPoint(item['adj_pay'] * (item['num']?item['num']:item['amount']))}}
</view> -->
<view class="num" v-if="item['original_price']">
¥{{item['pay_price']}}
</view>
<view class="num" v-else-if="!item['original_price'] && (BrandInfor['brand_id'] == 13 || BrandInfor['brand_id'] == 1)">
<text class="now">¥{{item['bt_price'] * (item['num']?item['num']:item['amount'])}}</text>
<text class="last">¥{{item['pay_price'] * (item['num']?item['num']:item['amount'])}}</text>
</view>
<view class="num" v-else-if="!item['original_price'] && BrandInfor['brand_id'] == 10">
¥{{item['adj_pay'] * (item['num']?item['num']:item['amount'])}}
</view>
</view>
</view>
</template>
<script>
// 注意:该组件是星巴克与瑞幸共用若需单独修改请另行复制出一份
import mixin from '@/static/js/mixin/mixin.js';
import restaurantmixins from '@/static/js/mixin/restaurantmixins.js';
export default {
name: "b-rx-commodity-item",
mixins:[mixin,restaurantmixins],
props:{
item:{
type:Object,
default:()=>{}
}
},
data() {
return {
};
}
}
</script>
<style lang="scss">
.b-rx-commodity-item {
width: 100%;
display: flex;
justify-content: space-between;
box-sizing: border-box;
padding-bottom: 20rpx;
&-commodity {
display: flex;
flex: 1;
&-img {
width: 120rpx;
height: 120rpx;
min-width: 120rpx;
min-height: 120rpx;
.img {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
}
&-infor {
display: flex;
flex-direction: column;
justify-content: space-between;
padding-left: 22rpx;
&-name {
font-size: $FONTSIZE30;
max-width: 336rpx;
min-width: 336rpx;
word-break: break-all;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
&-sku {
color: #999999;
font-size: $FONTSIZE22;
}
&-money {
// max-width: 115rpx;
// min-width: 115rpx;
text-align: center;
&-yang {
font-size: $FONTSIZE22;
}
&-price {
display: flex;
align-items: center;
font-size: $FONTSIZE30;
}
}
}
}
.quantity {
// display: flex;
// justify-content: space-between;
font-size: 30rpx;
flex: 1;
color: #4A6FE7;
.num {
text-align: center;
}
.img {
width: 42rpx;
height: 42rpx;
}
}
.now {
font-size: 34rpx;
font-weight: bold;
}
.last {
color: gray;
text-decoration: line-through;
padding-left: 10rpx;
}
}
</style>