|
|
@ -64,7 +64,8 @@ const addConsume = ref({ |
|
|
taskGold: null, // 任务金币 |
|
|
taskGold: null, // 任务金币 |
|
|
remark: "",//备注 |
|
|
remark: "",//备注 |
|
|
adminId: null,// 当前管理员id |
|
|
adminId: null,// 当前管理员id |
|
|
adminName: adminData.value.adminName |
|
|
|
|
|
|
|
|
adminName: adminData.value.adminName, |
|
|
|
|
|
redMoney: 1 // 是否使用红包:1-使用,0-不使用 |
|
|
}) |
|
|
}) |
|
|
const Ref = ref(null) |
|
|
const Ref = ref(null) |
|
|
const rules = reactive({ |
|
|
const rules = reactive({ |
|
|
@ -179,7 +180,7 @@ function validateInput() { |
|
|
// 校验消耗金币数是否超过可用金币数 |
|
|
// 校验消耗金币数是否超过可用金币数 |
|
|
if (user.value.jwcode && sumGold > totalAvailableGold) { |
|
|
if (user.value.jwcode && sumGold > totalAvailableGold) { |
|
|
if (addConsume.value.redMoney === 1) { |
|
|
if (addConsume.value.redMoney === 1) { |
|
|
ElMessage.error('红包抵扣额不足'); |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.limitRedAmount')); |
|
|
// 如果红包额不足,清空已选红包 |
|
|
// 如果红包额不足,清空已选红包 |
|
|
selectedReds.value = [] |
|
|
selectedReds.value = [] |
|
|
} else { |
|
|
} else { |
|
|
@ -193,7 +194,7 @@ function validateInput() { |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 仅在鼠标离开(blur)时校验:sumGold 是否为有效值(无红包逻辑) |
|
|
|
|
|
|
|
|
// 仅在鼠标离开(blur)时校验:消耗金币数 + 红包抵扣金额 ≥ 原价 |
|
|
function validateRedLimit() { |
|
|
function validateRedLimit() { |
|
|
const sumGold = parseFloat(addConsume.value.sumGold); |
|
|
const sumGold = parseFloat(addConsume.value.sumGold); |
|
|
const price = Number(addConsume.value.price || 0); |
|
|
const price = Number(addConsume.value.price || 0); |
|
|
@ -245,7 +246,7 @@ function calculateCoins(sumGold) { |
|
|
remaining = parseFloat((remaining - permanentUsed).toFixed(4)); |
|
|
remaining = parseFloat((remaining - permanentUsed).toFixed(4)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 3. 最后消耗任务金币 |
|
|
|
|
|
|
|
|
// 最后消耗任务金币 |
|
|
if (remaining > 0 && nowTaskGold > 0) { |
|
|
if (remaining > 0 && nowTaskGold > 0) { |
|
|
const availableTaskGold = parseFloat(nowTaskGold.toFixed(4)); |
|
|
const availableTaskGold = parseFloat(nowTaskGold.toFixed(4)); |
|
|
taskUsed = Math.min(availableTaskGold, remaining); |
|
|
taskUsed = Math.min(availableTaskGold, remaining); |
|
|
@ -352,7 +353,8 @@ function resetForm() { |
|
|
taskGold: null, |
|
|
taskGold: null, |
|
|
remark: "", |
|
|
remark: "", |
|
|
adminId: adminData.value.id, |
|
|
adminId: adminData.value.id, |
|
|
adminName: adminData.value.adminName |
|
|
|
|
|
|
|
|
adminName: adminData.value.adminName, |
|
|
|
|
|
redMoney: 1 // 默认使用红包 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 清空红包相关数据 |
|
|
// 清空红包相关数据 |
|
|
@ -455,7 +457,7 @@ const addBefore = () => { |
|
|
}); |
|
|
}); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (!validateInput()) { |
|
|
|
|
|
|
|
|
if (!validateInput() || !validateRedLimit()) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName.value}` |
|
|
ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName.value}` |
|
|
@ -600,8 +602,6 @@ watch( |
|
|
} |
|
|
} |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
/* 红包逻辑已在当前分支移除 */ |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
====================红包逻辑================================= |
|
|
====================红包逻辑================================= |
|
|
*/ |
|
|
*/ |
|
|
@ -738,17 +738,21 @@ onMounted(async function () { |
|
|
<el-input v-model="addConsume.price" style="width: 120px" disabled /> |
|
|
<el-input v-model="addConsume.price" style="width: 120px" disabled /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<!-- <el-form-item prop="sumGold" :label="t('common_add.consumeTotalGold')"> |
|
|
|
|
|
<el-input v-model="addConsume.sumGold" style="width: 120px" |
|
|
|
|
|
@blur="validateRedLimit()" /> |
|
|
|
|
|
</el-form-item> --> |
|
|
<el-form-item prop="sumGold" :label="t('common_add.consumeTotalGold')"> |
|
|
<el-form-item prop="sumGold" :label="t('common_add.consumeTotalGold')"> |
|
|
<el-input v-model="addConsume.sumGold" style="width: 120px" @blur="validateRedLimit()" :disabled="addConsume.redMoney === 1" /> |
|
|
<el-input v-model="addConsume.sumGold" style="width: 120px" @blur="validateRedLimit()" :disabled="addConsume.redMoney === 1" /> |
|
|
<el-radio v-model="addConsume.redMoney" :label="1" style="margin-left: 10px;">使用红包</el-radio> |
|
|
|
|
|
<el-radio v-model="addConsume.redMoney" :label="0">不使用红包</el-radio> |
|
|
|
|
|
|
|
|
<el-radio v-model="addConsume.redMoney" :label="1" style="margin-left: 10px;">{{ t('common_add.使用红包') }}</el-radio> |
|
|
|
|
|
<el-radio v-model="addConsume.redMoney" :label="0">{{ t('common_add.不使用红包') }}</el-radio> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item v-if="addConsume.redMoney === 1" label="选择红包"> |
|
|
|
|
|
|
|
|
<el-form-item v-if="addConsume.redMoney === 1" :label="t('common_add.选择红包')"> |
|
|
<el-select |
|
|
<el-select |
|
|
v-model="selectedReds" |
|
|
v-model="selectedReds" |
|
|
multiple |
|
|
multiple |
|
|
placeholder="请选择红包" |
|
|
|
|
|
|
|
|
:placeholder="t('common_add.请选择红包')" |
|
|
style="width: 200px" |
|
|
style="width: 200px" |
|
|
value-key="id" |
|
|
value-key="id" |
|
|
collapse-tags |
|
|
collapse-tags |
|
|
@ -762,7 +766,7 @@ onMounted(async function () { |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<span style="margin-left: 10px; color: #666;"> |
|
|
<span style="margin-left: 10px; color: #666;"> |
|
|
已抵扣: {{ totalRedAmount }} |
|
|
|
|
|
|
|
|
{{ t('common_add.已抵扣') }}: {{ totalRedAmount }} |
|
|
</span> |
|
|
</span> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
@ -868,11 +872,11 @@ onMounted(async function () { |
|
|
<p>{{ user.market }}</p> |
|
|
<p>{{ user.market }}</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- <el-col :span="14"> |
|
|
|
|
|
|
|
|
<el-col :span="14"> |
|
|
<el-form-item :label="$t('common_add_user.maxReductionAmount')"> |
|
|
<el-form-item :label="$t('common_add_user.maxReductionAmount')"> |
|
|
<p style="color: #2fa1ff">{{ user.red }} </p> |
|
|
<p style="color: #2fa1ff">{{ user.red }} </p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> --> |
|
|
|
|
|
|
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</el-card> |
|
|
</el-card> |
|
|
|