From 043b8138d1299b1fc8728ae5594fe86ad15edf1e Mon Sep 17 00:00:00 2001 From: zhangrenyuan <18990852002@163.com> Date: Thu, 18 Dec 2025 15:01:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=BA=A2=E5=8C=85=E5=8A=9F=E8=83=BD):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=BE=93=E5=85=A5=E9=AA=8C=E8=AF=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E8=B0=83=E6=95=B4=E7=BA=A2=E5=8C=85=E6=8A=B5?= =?UTF-8?q?=E6=89=A3=E6=8F=90=E7=A4=BA=E5=8F=8A=E8=A1=A8=E5=8D=95=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/consume/gold/addCoinConsume.vue | 39 ++++++++++++++----------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/views/consume/gold/addCoinConsume.vue b/src/views/consume/gold/addCoinConsume.vue index 78ca338..09f897f 100644 --- a/src/views/consume/gold/addCoinConsume.vue +++ b/src/views/consume/gold/addCoinConsume.vue @@ -177,16 +177,18 @@ function validateInput() { // 验证金币总和 const totalAvailableGold = (user.value.nowSumGold) - // 如果未勾选使用红包,则只校验消耗金币数是否超过可用金币数 + // 校验消耗金币数是否超过可用金币数 if (user.value.jwcode && sumGold > totalAvailableGold) { - // 如果未勾选使用红包,直接提示金币不足 - if (addConsume.value.redMoney == 0) { + if (addConsume.value.redMoney === 1) { + ElMessage.error('红包抵扣额不足'); + // 如果红包额不足,清空已选红包 + selectedReds.value = [] + } else { ElMessage.error(t('elmessage.limitExceeded')); - // 将sumGold设置为null - addConsume.value.sumGold = null; - return false; } - // 如果勾选使用红包,且不满足原价条件,则会在validateRedLimit中提示 + // 将sumGold设置为null + addConsume.value.sumGold = null; + return false; } return true; @@ -492,6 +494,11 @@ const getUser = async function (jwcode) { console.log("请求成功", result); if (result.code === 200 && result.data) { + // 查询成功后,重置表单(保留精网号),防止上一个用户的数据干扰 + const currentJwcode = addConsume.value.jwcode; + resetForm(); + addConsume.value.jwcode = currentJwcode; + // 处理用户数据 user.value = { ...result.data, @@ -509,25 +516,15 @@ const getUser = async function (jwcode) { }; ElMessage.success(t('elmessage.searchSuccess')); - // 检查sumGold是否有值,如果有则重新计算金币分配 - if (addConsume.value.sumGold) { - const parsedSumGold = parseFloat(addConsume.value.sumGold); - if (!isNaN(parsedSumGold) && parsedSumGold > 0) { - const { free, permanent, task } = calculateCoins(parsedSumGold); - addConsume.value.freeGold = free; - addConsume.value.permanentGold = permanent; - addConsume.value.taskGold = task; - } - } - // 验证输入 - validateInput() - + // 如果当前开启了红包模式,获取红包列表 if (addConsume.value.redMoney === 1) { getRedList() } - + // 验证输入 + validateInput() + } else if (!result.data) { ElMessage.warning(t('elmessage.noUser')); user.value.jwcode = null