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