diff --git a/src/components/locales/lang/en.js b/src/components/locales/lang/en.js
index 8cf3183..899f420 100644
--- a/src/components/locales/lang/en.js
+++ b/src/components/locales/lang/en.js
@@ -620,6 +620,11 @@ export default {
receiveAreaPlaceholder: "Select region",
price: "Price",
goodsNamePlaceholder: "Select product",
+ 使用红包: "Use Red Envelope",
+ 不使用红包: "Do Not Use Red Envelope",
+ 选择红包: "Select Red Envelope",
+ 请选择红包: "Please Select Red Envelope",
+ 已抵扣: "Already Deducted",
payModel: "Collection",
refundType: "Refund Type",
refundTypePlaceholder: "Select type",
diff --git a/src/components/locales/lang/zh-CN.js b/src/components/locales/lang/zh-CN.js
index 71a1969..1ec20d8 100644
--- a/src/components/locales/lang/zh-CN.js
+++ b/src/components/locales/lang/zh-CN.js
@@ -620,6 +620,11 @@ export default {
receiveAreaPlaceholder: "请选择到账地区",
price: "原价",
goodsNamePlaceholder: "请选择商品",
+ 使用红包: "使用红包",
+ 不使用红包: "不使用红包",
+ 选择红包: "选择红包",
+ 请选择红包: "请选择红包",
+ 已抵扣: "已抵扣",
payModel: "收款方式",
refundType: "退款类型",
refundTypePlaceholder: "请选择退款类型",
@@ -690,7 +695,7 @@ export default {
consumptionTimes: "消费次数",
onlyStatisticsDataAfter20250101: "仅统计2025-01-01后的数据",
store: "所属门店",
- // maxReductionAmount: "红包最大抵扣金额",
+ maxReductionAmount: "红包最大抵扣金额",
//金豆
currentPayableBean: "当前付费金豆",
currentFreeBean: "当前免费金豆",
diff --git a/src/views/consume/gold/addCoinConsume.vue b/src/views/consume/gold/addCoinConsume.vue
index 9de4d8f..5fab6a0 100644
--- a/src/views/consume/gold/addCoinConsume.vue
+++ b/src/views/consume/gold/addCoinConsume.vue
@@ -64,7 +64,8 @@ const addConsume = ref({
taskGold: null, // 任务金币
remark: "",//备注
adminId: null,// 当前管理员id
- adminName: adminData.value.adminName
+ adminName: adminData.value.adminName,
+ redMoney: 1 // 是否使用红包:1-使用,0-不使用
})
const Ref = ref(null)
const rules = reactive({
@@ -179,7 +180,7 @@ function validateInput() {
// 校验消耗金币数是否超过可用金币数
if (user.value.jwcode && sumGold > totalAvailableGold) {
if (addConsume.value.redMoney === 1) {
- ElMessage.error('红包抵扣额不足');
+ ElMessage.error(t('elmessage.limitRedAmount'));
// 如果红包额不足,清空已选红包
selectedReds.value = []
} else {
@@ -193,7 +194,7 @@ function validateInput() {
return true;
}
-// 仅在鼠标离开(blur)时校验:sumGold 是否为有效值(无红包逻辑)
+// 仅在鼠标离开(blur)时校验:消耗金币数 + 红包抵扣金额 ≥ 原价
function validateRedLimit() {
const sumGold = parseFloat(addConsume.value.sumGold);
const price = Number(addConsume.value.price || 0);
@@ -245,7 +246,7 @@ function calculateCoins(sumGold) {
remaining = parseFloat((remaining - permanentUsed).toFixed(4));
}
- // 3. 最后消耗任务金币
+ // 最后消耗任务金币
if (remaining > 0 && nowTaskGold > 0) {
const availableTaskGold = parseFloat(nowTaskGold.toFixed(4));
taskUsed = Math.min(availableTaskGold, remaining);
@@ -352,7 +353,8 @@ function resetForm() {
taskGold: null,
remark: "",
adminId: adminData.value.id,
- adminName: adminData.value.adminName
+ adminName: adminData.value.adminName,
+ redMoney: 1 // 默认使用红包
}
// 清空红包相关数据
@@ -455,7 +457,7 @@ const addBefore = () => {
});
return;
}
- if (!validateInput()) {
+ if (!validateInput() || !validateRedLimit()) {
return;
}
ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName.value}`
@@ -600,8 +602,6 @@ watch(
}
);
-/* 红包逻辑已在当前分支移除 */
-
/*
====================红包逻辑=================================
*/
@@ -738,17 +738,21 @@ onMounted(async function () {
+
- 使用红包
- 不使用红包
+ {{ t('common_add.使用红包') }}
+ {{ t('common_add.不使用红包') }}
-
+
- 已抵扣: {{ totalRedAmount }}
+ {{ t('common_add.已抵扣') }}: {{ totalRedAmount }}
@@ -868,11 +872,11 @@ onMounted(async function () {
{{ user.market }}
-
+