From d5e65bf5925c8cd1fe0f0bf0b8b857006d64ad94 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 30 一月 2026 15:26:34 +0800
Subject: [PATCH] 进销存升级 1.部分输入框(有效日期、检定周期)输入做下限制(大于0的整数数字)

---
 src/views/equipmentManagement/measurementEquipment/components/formDia.vue |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/src/views/equipmentManagement/measurementEquipment/components/formDia.vue b/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
index d2a1969..8a1e302 100644
--- a/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
+++ b/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
@@ -74,8 +74,11 @@
             <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>
@@ -192,7 +195,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"}],
+    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('鍙兘杈撳叆姝f暟'));
+            return;
+          }
+          if (!Number.isInteger(numValue)) {
+            callback(new Error('璇疯緭鍏ユ暣鏁�'));
+            return;
+          }
+          callback();
+        },
+        trigger: 'blur'
+      }
+    ],
     unit: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
 	}
 })
@@ -254,6 +282,27 @@
 	}
 }
 
+// 澶勭悊鏈夋晥鏃ユ湡杈撳叆锛屽彧鍏佽姝f暣鏁�
+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) {

--
Gitblit v1.9.3