From 74e7a0bfd42d7bfd51d4984d62c81c4ed3a25ee6 Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期一, 31 八月 2026 18:31:46 +0800
Subject: [PATCH] fix: show configured store discount during hotel verification
---
rencaika_merchant/pages/consume-input/consume-input.uvue | 12 +++++++++++-
rencaika_merchant/services/manual-consumption.uts | 4 ++++
2 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/rencaika_merchant/pages/consume-input/consume-input.uvue b/rencaika_merchant/pages/consume-input/consume-input.uvue
index b1c3cca..0d3af09 100644
--- a/rencaika_merchant/pages/consume-input/consume-input.uvue
+++ b/rencaika_merchant/pages/consume-input/consume-input.uvue
@@ -45,9 +45,19 @@
const validAmount = (): boolean => /^\d+(\.\d{1,2})?$/.test(amountText.value) && amountValue() > 0
const quoteMatchesAmount = (): boolean => quote.value.originalAmount == Math.round(amountValue() * 100)
const canSubmit = computed((): boolean => validAmount() && selectedRuleId.value.length > 0 && quote.value.payAmount >= 0 && quoteMatchesAmount() && !submitting.value)
+ const formatBenefitNumber = (value: number): string => {
+ if (Math.round(value) == value) return '' + Math.round(value)
+ return value.toFixed(2).replace(/0+$/, '').replace(/\.$/, '')
+ }
const selectedRuleName = (): string => {
for (let index = 0; index < rules.value.length; index++) {
- if (rules.value[index].id == selectedRuleId.value) return rules.value[index].name
+ if (rules.value[index].id == selectedRuleId.value) {
+ const rule = rules.value[index]
+ if (rule.benefitText.length > 0) return rule.benefitText
+ if (rule.fixedReduction > 0) return '到店消费立减' + formatBenefitNumber(rule.fixedReduction) + '元'
+ if (rule.discountRate > 0) return '到店消费' + formatBenefitNumber(rule.discountRate * 10) + '折'
+ return rule.name
+ }
}
return '人才专属优惠'
}
diff --git a/rencaika_merchant/services/manual-consumption.uts b/rencaika_merchant/services/manual-consumption.uts
index a89d874..7e59271 100644
--- a/rencaika_merchant/services/manual-consumption.uts
+++ b/rencaika_merchant/services/manual-consumption.uts
@@ -5,6 +5,8 @@
id: string
name: string
discountRate: number
+ fixedReduction: number
+ benefitText: string
subsidyEnabled: boolean
}
export type ManualConsumptionCoupon = { id: string; name: string; couponAmount: number; conditionType: string; conditionAmount: number }
@@ -74,6 +76,8 @@
id: value.id != null ? '' + value.id : '',
name: value.name != null ? '' + value.name : '人才优惠',
discountRate: numberValue(value.discountRate),
+ fixedReduction: numberValue(value.fixedReduction),
+ benefitText: value.benefitText != null ? '' + value.benefitText : '',
subsidyEnabled: value.subsidyEnabled == true
})),
coupons: (source.coupons != null ? source.coupons as Array<any> : []).map((value: any): ManualConsumptionCoupon => ({ id: '' + value.id, name: value.name != null ? '' + value.name : '优惠券', couponAmount: numberValue(value.couponAmount), conditionType: value.conditionType != null ? '' + value.conditionType : 'NONE', conditionAmount: numberValue(value.conditionAmount) }))
--
Gitblit v1.7.1