mirror of
https://gitee.com/liuxioabin/fengketrade.git
synced 2026-04-17 21:03:17 +08:00
'积分功能调整'
This commit is contained in:
parent
f0b937360d
commit
625c5a8358
@ -6,8 +6,8 @@
|
||||
</view>
|
||||
<view class="md-goods-content ss-flex-col ss-row-around">
|
||||
<view class="md-goods-title ss-line-2 ss-m-x-20 ss-m-t-6 ss-m-b-16">{{ title }}</view>
|
||||
<view class="md-goods-subtitle ss-line-1 ss-p-y-10 ss-p-20">至高90%积分抵扣</view>
|
||||
<view class="ss-flex ss-col-center ss-row-between ss-m-b-16 ss-m-x-20">
|
||||
<view class="md-goods-subtitle ss-line-1 ss-p-y-10 ss-p-20" v-if="maxUseScore > 0">至高{{ scoreDiscountPercent }}%积分抵扣</view>
|
||||
<view class="ss-flex ss-col-center ss-row-between ss-m-b-16 ss-m-x-20" v-if="maxUseScore > 0">
|
||||
<view class="md-goods-price text-price">{{ price }}</view>
|
||||
<view class="goods-origin-price text-price">{{ originPrice }}</view>
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
@ -46,13 +46,20 @@
|
||||
type: [String, Number],
|
||||
default: '',
|
||||
},
|
||||
scoreDiscountPercent: {
|
||||
type: [String, Number],
|
||||
default: 90,
|
||||
},
|
||||
maxUseScore: {
|
||||
type: [String, Number],
|
||||
default: 0,
|
||||
},
|
||||
});
|
||||
|
||||
// 计算最高可使用积分
|
||||
const maxScoreText = computed(() => {
|
||||
if (props.price && !isNaN(props.price)) {
|
||||
const maxScore = (parseFloat(props.price) * 0.9).toFixed(3);
|
||||
return `最高可使用${maxScore}积分`;
|
||||
if (props.maxUseScore && !isNaN(props.maxUseScore)) {
|
||||
return `最高可使用${props.maxUseScore}积分`;
|
||||
}
|
||||
return '最高可使用0积分';
|
||||
});
|
||||
|
||||
@ -43,6 +43,17 @@
|
||||
{{ formatSales(state.goodsInfo.sales_show_type, state.goodsInfo.sales) }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 积分抵扣信息 -->
|
||||
<view class="score-discount-box ss-flex ss-m-b-20" v-if="state.goodsInfo.max_use_score > 0">
|
||||
<view class="score-discount-tag ss-m-r-10">
|
||||
至高{{ state.goodsInfo.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
<view class="max-score-tag">
|
||||
最高可使用{{ state.goodsInfo.max_use_score }}积分
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="discounts-box ss-flex ss-row-between ss-m-b-28">
|
||||
<div class="tag-content">
|
||||
<view class="tag-box ss-flex">
|
||||
@ -309,6 +320,28 @@
|
||||
color: $gray-c;
|
||||
}
|
||||
|
||||
.score-discount-box {
|
||||
.score-discount-tag {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #FF3000;
|
||||
background: #ffffff;
|
||||
border: 1px solid #FF3000;
|
||||
border-radius: 8rpx;
|
||||
padding: 4rpx 12rpx;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.max-score-tag {
|
||||
display: inline-block;
|
||||
font-size: 20rpx;
|
||||
background: #FF3000;
|
||||
color: #ffffff;
|
||||
border-radius: 8rpx;
|
||||
padding: 4rpx 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.discounts-box {
|
||||
.tag-content {
|
||||
flex: 1;
|
||||
|
||||
@ -90,11 +90,11 @@
|
||||
{{ data.title }}
|
||||
</view>
|
||||
<view
|
||||
v-if="goodsFields.subtitle?.show"
|
||||
v-if="goodsFields.subtitle?.show && data.max_use_score > 0"
|
||||
class="md-goods-subtitle ss-m-t-16 ss-line-1"
|
||||
:style="[{ color: subTitleColor, background: subTitleBackground }]"
|
||||
>
|
||||
至高90%积分抵扣
|
||||
至高{{ data.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
<slot name="activity">
|
||||
<view v-if="data.promos?.length" class="tag-box ss-flex-wrap ss-flex ss-col-center">
|
||||
@ -127,7 +127,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap">
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap" v-if="data.max_use_score > 0">
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -160,11 +160,11 @@
|
||||
{{ data.title }}
|
||||
</view>
|
||||
<view
|
||||
v-if="goodsFields.subtitle?.show"
|
||||
v-if="goodsFields.subtitle?.show && data.max_use_score > 0"
|
||||
class="lg-goods-subtitle ss-m-t-10 ss-line-1"
|
||||
:style="[{ color: subTitleColor, background: subTitleBackground }]"
|
||||
>
|
||||
至高90%积分抵扣
|
||||
至高{{ data.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
@ -193,7 +193,7 @@
|
||||
<view class="ss-m-l-8">{{ data.original_price }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-m-t-8 ss-flex ss-col-center ss-flex-wrap">
|
||||
<view class="ss-m-t-8 ss-flex ss-col-center ss-flex-wrap" v-if="data.max_use_score > 0">
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -222,11 +222,11 @@
|
||||
{{ data.title }}
|
||||
</view>
|
||||
<view
|
||||
v-if="goodsFields.subtitle?.show"
|
||||
v-if="goodsFields.subtitle?.show && data.max_use_score > 0"
|
||||
class="sl-goods-subtitle ss-m-t-16"
|
||||
:style="[{ color: subTitleColor, background: subTitleBackground }]"
|
||||
>
|
||||
至高90%积分抵扣
|
||||
至高{{ data.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
@ -255,7 +255,7 @@
|
||||
<view class="ss-m-l-8">{{ data.original_price }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-m-t-16 ss-flex ss-flex-wrap">
|
||||
<view class="ss-m-t-16 ss-flex ss-flex-wrap" v-if="data.max_use_score > 0">
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -424,11 +424,9 @@
|
||||
|
||||
// 计算最高可使用积分
|
||||
const maxScoreText = computed(() => {
|
||||
// 计算价格的90%作为最高可使用积分
|
||||
const price = isArray(props.data.price) ? props.data.price[0] : props.data.price;
|
||||
if (price && !isNaN(price)) {
|
||||
const maxScore = (parseFloat(price) * 0.9).toFixed(3);
|
||||
return `最高可使用${maxScore}积分`;
|
||||
// 使用商品的max_use_score字段
|
||||
if (props.data.max_use_score && !isNaN(props.data.max_use_score)) {
|
||||
return `最高可使用${props.data.max_use_score}积分`;
|
||||
}
|
||||
return '最高可使用0积分';
|
||||
});
|
||||
|
||||
@ -20,11 +20,11 @@
|
||||
{{ data.title }}
|
||||
</view>
|
||||
<view
|
||||
v-if="goodsFields.subtitle?.show"
|
||||
v-if="goodsFields.subtitle?.show && data.max_use_score > 0"
|
||||
class="md-goods-subtitle ss-m-t-16 ss-line-1"
|
||||
:style="[{ color: subTitleColor }]"
|
||||
>
|
||||
至高90%积分抵扣
|
||||
至高{{ data.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
<view class="ss-col-bottom">
|
||||
<view
|
||||
@ -50,7 +50,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap">
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap" v-if="data.max_use_score > 0">
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -77,11 +77,11 @@
|
||||
{{ data.title }}
|
||||
</view>
|
||||
<view
|
||||
v-if="goodsFields.subtitle?.show"
|
||||
v-if="goodsFields.subtitle?.show && data.max_use_score > 0"
|
||||
class="lg-goods-subtitle ss-m-t-10 ss-line-1"
|
||||
:style="[{ color: subTitleColor }]"
|
||||
>
|
||||
至高90%积分抵扣
|
||||
至高{{ data.score_discount_percent }}%积分抵扣
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
@ -107,7 +107,7 @@
|
||||
<view class="ss-m-l-8">{{ data.original_price }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap">
|
||||
<view class="ss-m-t-16 ss-flex ss-col-center ss-flex-wrap" v-if="data.max_use_score > 0">
|
||||
<view class="sales-text">{{ maxScoreText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -273,16 +273,9 @@
|
||||
|
||||
// 计算最高可使用积分(针对积分商品)
|
||||
const maxScoreText = computed(() => {
|
||||
// 优先使用商品的score字段(积分价格)
|
||||
if (props.data.score && !isNaN(props.data.score)) {
|
||||
const maxScore = (parseFloat(props.data.score) * 0.9).toFixed(3);
|
||||
return `最高可使用${maxScore}积分`;
|
||||
}
|
||||
// 如果没有score字段,用价格计算
|
||||
const price = Array.isArray(props.data.price) ? props.data.price[0] : props.data.price;
|
||||
if (price && !isNaN(price)) {
|
||||
const maxScore = (parseFloat(price) * 0.9).toFixed(3);
|
||||
return `最高可使用${maxScore}积分`;
|
||||
// 使用商品的max_use_score字段
|
||||
if (props.data.max_use_score && !isNaN(props.data.max_use_score)) {
|
||||
return `最高可使用${props.data.max_use_score}积分`;
|
||||
}
|
||||
return '最高可使用0积分';
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user