From 7f53e60aa7ecd861cddd329d178d3a4ee58c105f Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 30 一月 2026 16:24:39 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New

---
 src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue |  110 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 79 insertions(+), 31 deletions(-)

diff --git a/src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue b/src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue
index c82fc8f..b7fa07e 100644
--- a/src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue
+++ b/src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue
@@ -4,6 +4,7 @@
 			v-model="dialogFormVisible"
 			title="璁¢噺鍣ㄥ叿"
 			width="50%"
+			draggable
 			@close="closeDia"
 		>
 			<el-form
@@ -50,11 +51,14 @@
 						</el-form-item>
 					</el-col>
 					<el-col :span="12">
-						<el-form-item label="鏈夋晥鏈燂細" prop="valid">
+						<el-form-item label="鏈夋晥鏃ユ湡(澶�)锛�" prop="valid">
 							<el-input
 								v-model="form.valid"
-								placeholder="璇疯緭鍏�"
+								type="number"
+								placeholder="璇疯緭鍏ユ湁鏁堟湡澶╂暟"
 								clearable
+								:min="1"
+								@input="handleValidInput"
 							>
 								<template #append>鏃�</template>
 							</el-input>
@@ -67,7 +71,9 @@
 							<el-select
 								v-model="form.userId"
 								placeholder="璇烽�夋嫨"
-								disabled
+                filterable
+                default-first-option
+                :reserve-keyword="false"
 								clearable
 							>
 								<el-option
@@ -88,29 +94,28 @@
 								format="YYYY-MM-DD"
 								type="date"
 								placeholder="璇烽�夋嫨"
-								disabled
 								clearable
 							/>
 						</el-form-item>
 					</el-col>
 				</el-row>
-				<el-row :gutter="30">
-					<el-col :span="24">
-						<el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">
-							<el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
-												 :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"
-												 :on-success="handleUploadSuccess" :on-remove="handleRemove">
-								<el-button type="primary" v-if="operationType !== 'view'">涓婁紶</el-button>
-								<template #tip v-if="operationType !== 'view'">
-									<div class="el-upload__tip">
-										鏂囦欢鏍煎紡鏀寔
-										doc锛宒ocx锛寈ls锛寈lsx锛宲pt锛宲ptx锛宲df锛宼xt锛寈ml锛宩pg锛宩peg锛宲ng锛実if锛宐mp锛宺ar锛寊ip锛�7z
-									</div>
-								</template>
-							</el-upload>
-						</el-form-item>
-					</el-col>
-				</el-row>
+<!--				<el-row :gutter="30">-->
+<!--					<el-col :span="24">-->
+<!--						<el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">-->
+<!--							<el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload-->
+<!--												 :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"-->
+<!--												 :on-success="handleUploadSuccess" :on-remove="handleRemove">-->
+<!--								<el-button type="primary" v-if="operationType !== 'view'">涓婁紶</el-button>-->
+<!--								<template #tip v-if="operationType !== 'view'">-->
+<!--									<div class="el-upload__tip">-->
+<!--										鏂囦欢鏍煎紡鏀寔-->
+<!--										doc锛宒ocx锛寈ls锛寈lsx锛宲pt锛宲ptx锛宲df锛宼xt锛寈ml锛宩pg锛宩peg锛宲ng锛実if锛宐mp锛宺ar锛寊ip锛�7z-->
+<!--									</div>-->
+<!--								</template>-->
+<!--							</el-upload>-->
+<!--						</el-form-item>-->
+<!--					</el-col>-->
+<!--				</el-row>-->
 			</el-form>
 			<template #footer>
 				<div class="dialog-footer">
@@ -123,13 +128,14 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
+import {ref, reactive, toRefs, getCurrentInstance} from "vue";
 import useUserStore from "@/store/modules/user.js";
 import {userListNoPageByTenantId} from "@/api/system/user.js";
 import {afterSalesServiceAdd, afterSalesServiceUpdate} from "@/api/customerService/index.js";
 import {getToken} from "@/utils/auth.js";
 import {ledgerRecordUpdate, ledgerRecordVerifying} from "@/api/equipmentManagement/calibration.js";
 import {delLedgerFile} from "@/api/salesManagement/salesLedger.js";
+import { getCurrentDate } from "@/utils/index.js";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
 const dialogFormVisible = ref(false);
@@ -149,7 +155,32 @@
 	rules: {
 		code: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
 		name: [{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'
+			}
+		],
 		recordDate: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
 		userId: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
 		entryDate: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
@@ -185,6 +216,10 @@
 	if(type === "add"){
     fileList.value = row.commonFiles;
   }
+	if(type === "verifying"){
+		form.value.valid = row.valid;
+		form.value.recordDate = row.mostDate;
+	}
 
 	form.value.id = row.id;
 	form.value.code = row.code;
@@ -226,6 +261,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) {
@@ -249,14 +305,6 @@
 	dialogFormVisible.value = false;
 	emit('close')
 };
-// 鑾峰彇褰撳墠鏃ユ湡骞舵牸寮忓寲涓� YYYY-MM-DD
-function getCurrentDate() {
-	const today = new Date();
-	const year = today.getFullYear();
-	const month = String(today.getMonth() + 1).padStart(2, "0"); // 鏈堜唤浠�0寮�濮�
-	const day = String(today.getDate()).padStart(2, "0");
-	return `${year}-${month}-${day}`;
-}
 defineExpose({
 	openDialog,
 });

--
Gitblit v1.9.3