| | |
| | | <el-form-item label="有效日期(天):" prop="valid"> |
| | | <el-input |
| | | v-model="form.valid" |
| | | type="number" |
| | | placeholder="请输入有效期天数" |
| | | clearable |
| | | :min="1" |
| | | @input="handleValidInput" |
| | | > |
| | | <template #append>日</template> |
| | | </el-input> |
| | |
| | | instationLocation: [{required: true, message: "请输入", trigger: "blur"}], |
| | | mostDate: [{required: true, message: "请选择", trigger: "change"}], |
| | | cycle: [{required: true, message: "请选择", trigger: "blur"}], |
| | | valid: [{required: true, message: "请输入", trigger: "blur"}], |
| | | valid: [ |
| | | {required: true, message: "请输入", trigger: "blur"}, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (value === '' || value === null || value === undefined) { |
| | | callback(); |
| | | return; |
| | | } |
| | | const numValue = Number(value); |
| | | if (isNaN(numValue)) { |
| | | callback(new Error('请输入有效的数字')); |
| | | return; |
| | | } |
| | | if (numValue <= 0) { |
| | | callback(new Error('只能输入正数')); |
| | | return; |
| | | } |
| | | if (!Number.isInteger(numValue)) { |
| | | callback(new Error('请输入整数')); |
| | | return; |
| | | } |
| | | callback(); |
| | | }, |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | unit: [{required: true, message: "请输入", trigger: "blur"}], |
| | | } |
| | | }) |
| | |
| | | } |
| | | } |
| | | |
| | | // 处理有效日期输入,只允许正整数 |
| | | const handleValidInput = (value) => { |
| | | if (value === '' || value === null || value === undefined) { |
| | | form.value.valid = ''; |
| | | return; |
| | | } |
| | | // 转换为字符串并移除所有非数字字符(包括负号、小数点等) |
| | | const numStr = String(value).replace(/[^0-9]/g, ''); |
| | | if (numStr === '') { |
| | | form.value.valid = ''; |
| | | return; |
| | | } |
| | | const numValue = parseInt(numStr, 10); |
| | | // 确保是正整数(大于0) |
| | | if (numValue > 0 && !isNaN(numValue)) { |
| | | form.value.valid = numValue; |
| | | } else { |
| | | form.value.valid = ''; |
| | | } |
| | | } |
| | | |
| | | const submitForm = () => { |
| | | proxy.$refs["formRef"].validate(valid => { |
| | | if (valid) { |