From d5ea406aa49890a3d3111b14e920cdf038c18d65 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 15 四月 2026 09:44:32 +0800
Subject: [PATCH] 优化搜索功能:调整关键字匹配逻辑,确保英文模糊匹配不区分大小写,并添加输入事件处理以增强用户体验

---
 src/views/basicData/product/index.vue |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index 98eaf75..e8b0d0b 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -6,6 +6,7 @@
           v-model="search"
           style="width: 210px"
           placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
+          @input="searchFilter"
           @change="searchFilter"
           @clear="searchFilter"
           clearable
@@ -461,13 +462,15 @@
     //濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤�
     return true;
   }
-  // 鏌ヨ鍒楄〃鏄惁鏈夊尮閰嶆暟鎹紝灏嗗�煎皬鍐欙紝鍖归厤鑻辨枃鏁版嵁
-  let val = value.toLowerCase();
+  // 鍏抽敭瀛椾笌鑺傜偣 label 鍧囨寜灏忓啓姣旇緝锛岃嫳鏂囨ā绯婂尮閰嶄笉鍖哄垎澶у皬鍐欙紙濡� LOW / low 鍙尮閰� Low-E锛�
+  const val = String(value).trim().toLowerCase();
+  if (!val) return true;
   return chooseNode(val, data, node); // 璋冪敤杩囨护浜屽眰鏂规硶
 };
 // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�.
 const chooseNode = (value, data, node) => {
-  if (data.label.indexOf(value) !== -1) {
+  const labelLower = String(data.label ?? "").toLowerCase();
+  if (labelLower.indexOf(value) !== -1) {
     return true;
   }
   const level = node.level;
@@ -480,8 +483,9 @@
   // 閬嶅巻褰撳墠鑺傜偣鐨勭埗鑺傜偣
   let index = 0;
   while (index < level - 1) {
-    // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紝姝ゅname鍊兼槸涓枃瀛楃锛宔nName鏄嫳鏂囧瓧绗︺�傚垽鏂尮閰嶄腑鑻辨枃杩囨护
-    if (parentData.data.label.indexOf(value) !== -1) {
+    // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紱涓� filterNode 涓�鑷达紝鏍囩涓庡叧閿瓧鍧囨寜灏忓啓姣旇緝锛岃嫳鏂囨ā绯婂尮閰嶄笉鍖哄垎澶у皬鍐�
+    const parentLabelLower = String(parentData.data.label ?? "").toLowerCase();
+    if (parentLabelLower.indexOf(value) !== -1) {
       return true;
     }
     // 鍚﹀垯鐨勮瘽鍐嶅線涓婁竴灞傚仛鍖归厤

--
Gitblit v1.9.3