fix: 打分提增加最大值和最小值限制

- 解决打分题最高分可以低于最低分的问题
This commit is contained in:
Huangzhe
2025-03-20 15:14:12 +08:00
parent a7845f6ceb
commit 6a2beb3ab0

View File

@@ -14,6 +14,7 @@
<van-stepper <van-stepper
v-model="localConfig.min" v-model="localConfig.min"
button-size="22px" button-size="22px"
:max="localConfig.max"
@change="minChange" @change="minChange"
@blur="minChange(localConfig.min)" @blur="minChange(localConfig.min)"
/> />
@@ -22,6 +23,7 @@
<p>最高分</p> <p>最高分</p>
<van-stepper <van-stepper
v-model="localConfig.max" v-model="localConfig.max"
:min="localConfig.min"
:max="maxLimit" :max="maxLimit"
button-size="22px" button-size="22px"
@change="maxChange" @change="maxChange"
@@ -80,6 +82,11 @@ const emit = defineEmits(['updateConfig']);
watch( watch(
() => props.config, () => props.config,
(newConfig) => { (newConfig) => {
// console.log(newConfig);
// 如果最低分大于最高分,则取消赋值
// if (newConfig.min > newConfig.max) {
// return;
// }
localConfig.value = { ...newConfig }; localConfig.value = { ...newConfig };
}, },
{ deep: true } { deep: true }
@@ -125,17 +132,33 @@ function intervalChange(value) {
emitInfo(); emitInfo();
} }
/**
* 最低分变动之后的处理
* @param value {number} 当数值改变之后的值
*/
const minChange = (value) => { const minChange = (value) => {
const oldMax = Number(props.config.min); // const oldMax = Number(props.config.min);
localConfig.value.min = value; // 如果当前变化的值大于最高分,取消赋值
if (localConfig.value.min > localConfig.value.max) { if (value > localConfig.value.max) {
localConfig.value.min = oldMax; return;
// localConfig.value.min = oldMax;
} }
localConfig.value.min = value;
setDefaultMax(); setDefaultMax();
emitInfo(); emitInfo();
}; };
/**
* 最高分变动之后的处理
* @param value {number} 当数值改变之后的值
*/
function maxChange(value) { function maxChange(value) {
// 如果当前变化的值小于最低分,取消赋值
if (value < localConfig.value.min) {
return;
}
const oldMax = Number(props.config.max); const oldMax = Number(props.config.max);
localConfig.value.max = value; localConfig.value.max = value;
if (!isSurplus()) { if (!isSurplus()) {