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 }}

- +