增加数字范围

main
Lufaneng 12 months ago
parent f0fc6c4c28
commit 1ae5c6cbf9

@ -97,6 +97,7 @@
<uv-input
@click="openPicker(item)"
@input="handleInputChange(item)"
@blur="validateNumberRange(item)"
:readonly="item.type === 'select' || item.name === '土建图号'"
:type="item.type === 'number' ? 'digit' : 'text'"
v-model="item.value"
@ -107,6 +108,24 @@
item.name === '土建图号' ? '将根据土建图型号自动生成' : '请输入'
"
></uv-input>
<!-- 数字范围提示 -->
<view
v-if="
item.type === 'number' &&
(item.min !== undefined || item.max !== undefined)
"
class="number-range-hint"
>
<text v-if="item.min !== undefined && item.max !== undefined">
范围:{{ item.min }} - {{ item.max }}
</text>
<text v-else-if="item.min !== undefined">
最小值:{{ item.min }}
</text>
<text v-else-if="item.max !== undefined">
最大值:{{ item.max }}
</text>
</view>
</uv-form-item>
<!-- <uv-form-item prop="password" label="载重(kg)">
<uv-input
@ -301,9 +320,9 @@ const confirm = (val) => {
currentParams.value.value = val.value[0];
// 如果修改的是土建图型号,需要重新生成土建图号
if (currentParams.value.name === "土建图型号") {
nextTick(() => {
generateDrawingNumber();
})
nextTick(() => {
generateDrawingNumber();
});
}
};
@ -355,10 +374,47 @@ const cancelApply = () => {
// 处理输入变化
const handleInputChange = (item) => {
// 如果修改的是土建图型号,需要重新生成土建图号
if (item.name === "土建图型号") {
nextTick(() => {
generateDrawingNumber();
})
if (item.name === "土建图型号") {
nextTick(() => {
generateDrawingNumber();
});
}
};
// 验证数字范围
const validateNumberRange = (item) => {
if (item.type !== "number" || !item.value) return;
const value = parseFloat(item.value);
// 检查是否为有效数字
if (isNaN(value)) {
uni.showToast({
title: `${item.name}必须为数字`,
icon: "error",
});
item.value = "";
return;
}
// 检查最小值
if (item.min !== undefined && value < item.min) {
uni.showToast({
title: `${item.name}不能小于${item.min}`,
icon: "error",
});
item.value = item.min.toString();
return;
}
// 检查最大值
if (item.max !== undefined && value > item.max) {
uni.showToast({
title: `${item.name}不能大于${item.max}`,
icon: "error",
});
item.value = item.max.toString();
return;
}
};
@ -473,9 +529,9 @@ const selectTemplate = (item) => {
.then((res) => {
currentTemplate.value.params = res?.params;
// 如果有土建图型号,自动生成土建图号
nextTick(() => {
generateDrawingNumber();
})
nextTick(() => {
generateDrawingNumber();
});
})
.finally(() => {
params_loading.value = false;
@ -687,6 +743,13 @@ onPullDownRefresh(() => {
margin-bottom: 12px;
}
}
.number-range-hint {
font-size: 12px;
color: #999;
margin-top: 4px;
padding-left: 0;
}
</style>
<style lang="scss">

Loading…
Cancel
Save