Browse Source

success merge branch 'zhangrenyuan/feature-20250623164058-金币前端' into milestone-20250623-金币前端

lihuilin/feature-20250623164044-金币前端
zry 4 weeks ago
parent
commit
c6ef58640b
  1. 76
      src/views/refund/addCoinRefund.vue
  2. 7
      src/views/usergold/clientCountDetail.vue

76
src/views/refund/addCoinRefund.vue

@ -322,35 +322,61 @@ const handleSelectionChange = (selectedOption) => {
}
console.log('选择的商品', selectedOption);
}
//
const validateGoldInput = (type, value) => {
//
const handleGoldInput = (type, value) => {
// 1.
let filtered = value.replace(/[^\d.]/g, '');
// 2.
const dotCount = (filtered.match(/\./g) || []).length;
if (dotCount > 1) {
//
const parts = filtered.split('.');
filtered = parts[0] + '.' + parts.slice(1).join('');
}
// 3.
if (filtered.includes('.')) {
const [integer, decimal] = filtered.split('.');
if (decimal.length > 2) {
filtered = `${integer}.${decimal.slice(0, 2)}`;
}
}
// 4. 0
if (filtered.startsWith('.')) {
filtered = '0' + filtered;
}
// 5.
addRefund.value[type] = filtered;
// 6.
const maxValue = selectedGoodsGold.value[type];
const inputValue = Number(value);
const inputValue = Number(filtered || 0);
if (isNaN(inputValue)) {
return 0;
return;
}
if (inputValue > maxValue) {
//
//
const correctedValue = maxValue.toFixed(2);
addRefund.value[type] = correctedValue;
ElMessage.warning('所填金额大于该类金币余额');
return maxValue;
}
return Math.min(inputValue, maxValue);
}
//
const handlePermanentGoldInput = (value) => {
addRefund.value.permanentGold = validateGoldInput('permanentGold', value);
}
//
const handleFreeGoldInput = (value) => {
addRefund.value.freeGold = validateGoldInput('freeGold', value);
if (inputValue < 0) {
// 0
addRefund.value[type] = '0';
ElMessage.warning('不能输入负数');
}
}
//
const handleTaskGoldInput = (value) => {
addRefund.value.taskGold = validateGoldInput('taskGold', value);
}
// 使
const handlePermanentGoldInput = (value) => handleGoldInput('permanentGold', value);
const handleFreeGoldInput = (value) => handleGoldInput('freeGold', value);
const handleTaskGoldInput = (value) => handleGoldInput('taskGold', value);
//
const calculatedRechargeGoods = computed(() => {
@ -442,9 +468,9 @@ onMounted(async function () {
style="width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handlePermanentGoldInput($event)"
type="number"
>
</el-input>
</el-input>
<p></p>
</el-form-item>
<el-form-item
@ -457,7 +483,7 @@ onMounted(async function () {
style="float: left; width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handleFreeGoldInput($event)"
type="number"
/>
<p></p>
</el-form-item>
@ -467,7 +493,7 @@ onMounted(async function () {
style="float: left; width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handleTaskGoldInput($event)"
type="number"
/>
<p></p>
</el-form-item>

7
src/views/usergold/clientCountDetail.vue

@ -191,16 +191,17 @@ const get = async function (val) {
//6+12
const totalResult = await API({
const totalResult = await API({
url: '/goldDetail/getTotal',
method: 'post',
data: {
jwcode: goldDetail.value.jwcode || '',
goldDetail:{...goldDetail.value},
/* jwcode: goldDetail.value.jwcode || '',
payPlatform: goldDetail.value.payPlatform || '',
type: goldDetail.value.type || '',
market: goldDetail.value.market || '',
startTime: goldDetail.value.startTime || '',
endTime: goldDetail.value.endTime || ''
endTime: goldDetail.value.endTime || ''*/
}
})

Loading…
Cancel
Save