|
|
|
@ -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
|
|
|
|
@ -302,8 +321,8 @@ const confirm = (val) => {
|
|
|
|
// 如果修改的是土建图型号,需要重新生成土建图号
|
|
|
|
// 如果修改的是土建图型号,需要重新生成土建图号
|
|
|
|
if (currentParams.value.name === "土建图型号") {
|
|
|
|
if (currentParams.value.name === "土建图型号") {
|
|
|
|
nextTick(() => {
|
|
|
|
nextTick(() => {
|
|
|
|
generateDrawingNumber();
|
|
|
|
generateDrawingNumber();
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@ -356,9 +375,46 @@ const cancelApply = () => {
|
|
|
|
const handleInputChange = (item) => {
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@ -474,8 +530,8 @@ const selectTemplate = (item) => {
|
|
|
|
currentTemplate.value.params = res?.params;
|
|
|
|
currentTemplate.value.params = res?.params;
|
|
|
|
// 如果有土建图型号,自动生成土建图号
|
|
|
|
// 如果有土建图型号,自动生成土建图号
|
|
|
|
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">
|
|
|
|
|