From 437c786c3434c9a83af45f3a310832882e000e1f Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期四, 15 一月 2026 13:12:24 +0800
Subject: [PATCH] 长度限定先使用wms规则

---
 common/rfid-input-helper.js |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/common/rfid-input-helper.js b/common/rfid-input-helper.js
index 6aa37c9..fa848a8 100644
--- a/common/rfid-input-helper.js
+++ b/common/rfid-input-helper.js
@@ -195,7 +195,7 @@
 	 * len=1琛ㄧず璇诲彇4浣嶏紝len=2琛ㄧず璇诲彇8浣嶏紝len=8琛ㄧず璇诲彇32浣�
 	 * 浣跨敤len=1璇诲彇4浣嶆暟鎹紙濡傛灉鏍囩鏄�4浣嶏級
 	 */
-	const readLen = 1; // 璇诲彇闀垮害锛�1涓猈ord = 4涓瓧绗�
+	const readLen = 8; // 璇诲彇闀垮害锛�1涓猈ord = 4涓瓧绗�
 	uhfModel.readTagWithoutFilter(1, 2, readLen, "00000000", (ret) => {
 		isScanning = false;
 		console.log('[RFIDInputHelper] readTagWithoutFilter result:', ret);
@@ -429,8 +429,25 @@
 		
 		// 鍙~鍏ユ湁鐒︾偣鐨勮緭鍏ユ锛屽鏋滄病鏈夌劍鐐瑰垯涓嶅~鍏�
 		if (focusedField) {
-			console.log(`[RFIDInputHelper] 濉叆鏈夌劍鐐圭殑杈撳叆妗� ${focusedField}:`, epc);
-			vm[focusedField] = epc;
+			// 鏍规嵁瀛楁绫诲瀷鎴柇RFID鏁版嵁闀垮害
+			let finalEpc = epc;
+			const fieldLengthMap = {
+				'barcode': 8,      // 鎵樼洏鐮侊細淇濈暀鍓�8浣�
+				'matnr': 16,        // 鐗╂枡鐮�/鐗╂枡鍙凤細淇濈暀鍓�16浣�
+				'sourceSite': 9,    // 鏆傚瓨浣嶏細淇濈暀鍓�9浣�
+				'locNo': 7          // 搴撲綅鍙凤細淇濈暀鍓�7浣�
+			};
+			
+			if (fieldLengthMap[focusedField]) {
+				const maxLength = fieldLengthMap[focusedField];
+				if (finalEpc.length > maxLength) {
+					console.log(`[RFIDInputHelper] ${focusedField}瀛楁鏁版嵁闀垮害(${finalEpc.length}浣�)瓒呰繃闄愬埗(${maxLength}浣�)锛屾埅鍙栧墠${maxLength}浣峘);
+					finalEpc = finalEpc.substring(0, maxLength);
+				}
+			}
+			
+			console.log(`[RFIDInputHelper] 濉叆鏈夌劍鐐圭殑杈撳叆妗� ${focusedField}:`, finalEpc);
+			vm[focusedField] = finalEpc;
 			// 瑙﹀彂input浜嬩欢锛岀‘淇濋〉闈㈤�昏緫鑳藉搷搴�
 			if (vm.$nextTick) {
 				vm.$nextTick(() => {

--
Gitblit v1.9.1