增加数字范围

main
Lufaneng 9 months ago
parent f0fc6c4c28
commit 1ae5c6cbf9

@ -97,6 +97,7 @@
<uv-input <uv-input
@click="openPicker(item)" @click="openPicker(item)"
@input="handleInputChange(item)" @input="handleInputChange(item)"
@blur="validateNumberRange(item)"
:readonly="item.type === 'select' || item.name === '土建图号'" :readonly="item.type === 'select' || item.name === '土建图号'"
:type="item.type === 'number' ? 'digit' : 'text'" :type="item.type === 'number' ? 'digit' : 'text'"
v-model="item.value" v-model="item.value"
@ -107,6 +108,24 @@
item.name === '土建图号' ? '将根据土建图型号自动生成' : '请输入' item.name === '土建图号' ? '将根据土建图型号自动生成' : '请输入'
" "
></uv-input> ></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>
<!-- <uv-form-item prop="password" label="载重kg"> <!-- <uv-form-item prop="password" label="载重kg">
<uv-input <uv-input
@ -303,7 +322,7 @@ const confirm = (val) => {
if (currentParams.value.name === "土建图型号") { if (currentParams.value.name === "土建图型号") {
nextTick(() => { nextTick(() => {
generateDrawingNumber(); generateDrawingNumber();
}) });
} }
}; };
@ -358,7 +377,44 @@ const handleInputChange = (item) => {
if (item.name === "土建图型号") { if (item.name === "土建图型号") {
nextTick(() => { nextTick(() => {
generateDrawingNumber(); 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;
} }
}; };
@ -475,7 +531,7 @@ const selectTemplate = (item) => {
// //
nextTick(() => { nextTick(() => {
generateDrawingNumber(); generateDrawingNumber();
}) });
}) })
.finally(() => { .finally(() => {
params_loading.value = false; params_loading.value = false;
@ -687,6 +743,13 @@ onPullDownRefresh(() => {
margin-bottom: 12px; margin-bottom: 12px;
} }
} }
.number-range-hint {
font-size: 12px;
color: #999;
margin-top: 4px;
padding-left: 0;
}
</style> </style>
<style lang="scss"> <style lang="scss">

Loading…
Cancel
Save