From 04d6024553ac73e67148ce578cb01b541eebd02a Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 16:37:56 +0800
Subject: [PATCH] Merge branch 'dev_NEW_pro' into dev-new_pro_OA

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

diff --git a/src/views/equipmentManagement/measurementEquipment/components/formDia.vue b/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
index b215df1..16ac41f 100644
--- a/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
+++ b/src/views/equipmentManagement/measurementEquipment/components/formDia.vue
@@ -15,7 +15,7 @@
 				ref="formRef"
 			>
 				<el-row :gutter="30">
-					<el-col :span="24">
+					<el-col :span="12">
 						<el-form-item label="鍑哄巶缂栧彿锛�" prop="code">
 							<el-input
 								v-model="form.code"
@@ -24,17 +24,17 @@
 							/>
 						</el-form-item>
 					</el-col>
-				</el-row>
-				<el-row :gutter="30">
 					<el-col :span="12">
-						<el-form-item label="瀹夎浣嶇疆锛�" prop="installationLocation">
+						<el-form-item label="璁¢噺鍣ㄥ叿鍚嶇О锛�" prop="name">
 							<el-input
-								v-model="form.installationLocation"
-								placeholder="璇疯緭鍏�"
+								v-model="form.name"
+								placeholder="璇疯緭鍏ヨ閲忓櫒鍏峰悕绉�"
 								clearable
 							/>
 						</el-form-item>
 					</el-col>
+				</el-row>
+				<el-row :gutter="30">
 					<el-col :span="12">
 						<el-form-item label="妫�瀹氬崟浣嶏細" prop="unit">
               <el-input
@@ -44,17 +44,17 @@
               />
 						</el-form-item>
 					</el-col>
-				</el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="璇佷功缂栧彿锛�" prop="model">
+					<el-col :span="12">
+						<el-form-item label="璇佷功缂栧彿锛�" prop="model">
               <el-input
                   v-model="form.model"
                   placeholder="璇疯緭鍏�"
                   clearable
               />
             </el-form-item>
-          </el-col>
+					</el-col>
+				</el-row>
+        <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鏈�鏂伴壌瀹氭棩鏈燂細" prop="mostDate">
               <el-date-picker
@@ -68,26 +68,18 @@
               />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="30">
           <el-col :span="12">
             <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>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="妫�瀹氬懆鏈燂細" prop="cycle">
-              <el-input
-                  v-model="form.cycle"
-                  placeholder="璇疯緭鍏ユ瀹氬懆鏈�"
-                  clearable
-              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -171,27 +163,51 @@
 const data = reactive({
 	form: {
 		code: "",
-    installationLocation: "",
+    name: "",
     mostDate:"",
 		model: "",
-    cycle:"",
 		validDate: "",
 		nextDate: "",
 		userId: "",
 		recordDate: "",
+    unit:"",
     tempFileIds: []
 	},
 	rules: {
 		code: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+    name: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
 		model: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
 		validDate: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
 		nextDate: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
 		userId: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
 		recordDate: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
-    installationLocation: [{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"}],
 	}
 })
@@ -253,6 +269,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