gongchunyi
2026-05-09 c5fdece0402a774c68a2c7aca41adda83904de42
src/views/equipmentManagement/measurementEquipment/components/formDia.vue
@@ -79,7 +79,7 @@
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
          <!-- <el-col :span="12">
            <el-form-item label="有效日期(天):" prop="valid">
              <el-input
                  v-model="form.valid"
@@ -92,7 +92,7 @@
              <template #append>日</template>
              </el-input>
            </el-form-item>
          </el-col>
          </el-col> -->
          <el-col :span="12">
            <el-form-item label="检定周期:" prop="cycle">
              <el-input
@@ -206,32 +206,32 @@
    instationLocation: [{required: true, message: "请输入", trigger: "blur"}],
    mostDate: [{required: true, message: "请选择", trigger: "change"}],
    cycle: [{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'
      }
    ],
    // 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"}],
   }
})
@@ -293,26 +293,24 @@
   }
}
// 处理有效日期输入,只允许正整数
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 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);
//    if (numValue > 0 && !isNaN(numValue)) {
//       form.value.valid = numValue;
//    } else {
//       form.value.valid = '';
//    }
// }
const submitForm = () => {
   proxy.$refs["formRef"].validate(valid => {