From ca1fe4ba6b6650095b055fae6a3223959dd88d61 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期五, 21 二月 2025 14:51:50 +0800
Subject: [PATCH] 1

---
 src/views/hosp/project/index.vue |   44 ++++++++++++++++++++------------------------
 1 files changed, 20 insertions(+), 24 deletions(-)

diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue
index 31609a5..5558efe 100644
--- a/src/views/hosp/project/index.vue
+++ b/src/views/hosp/project/index.vue
@@ -923,31 +923,27 @@
       return data.xmmc.indexOf(value) !== -1;
     },
     // 绛涢�夎妭鐐�
-    // filterNode(value, data) {
-    //   console.log(value, data)
-    //   if (!value) return true;
-    //   return data.label.indexOf(value) !== -1;
-    // },
     filterNode(value, data) {
-        if (!value) return true;
-        if (data.label.indexOf(value) !== -1) return true;
-        // 鍖归厤灏忓啓
-        let arr = data.label.spell('low', 'array');
-        let spell = arr.join('');
-        let lengths = [0];
-        for (var i = 0; i < arr.length - 1; i++) {
-            lengths.push(lengths[i] + arr[i].length);
-        };
-        //鍒ゆ柇label瀹屾暣鎷奸煶 涓� 杈撳叆鍊肩殑 index 鏄笉鏄瓑浜庢煇涓眽瀛楃涓�涓嫾闊冲瓧姣嶇殑index鍊�
-        if(lengths.indexOf(spell.indexOf(value)) !== -1) return true
-        // 澶у啓
-        let arrUp = data.label.spell('up', 'array');
-        let spellUp = arrUp.join('');
-        let lengthsUp = [0];
-        for (var i = 0; i < arrUp.length - 1; i++) {
-            lengthsUp.push(lengthsUp[i] + arrUp[i].length);
-        };
-        return lengthsUp.indexOf(spellUp.indexOf(value)) !== -1;      
+      if (!value) return true;
+      const input = value.toLowerCase();
+      const label = data.label;
+      
+      // 1. 鐩存帴涓枃鍖归厤
+      if (label.includes(input)) return true;
+
+      // 2. 鍏ㄦ嫾鍖归厤锛堟敮鎸佸ぇ灏忓啓锛�
+      const fullPinyin = cnchar.spell(label, 'low', 'array').join('');
+      if (fullPinyin.includes(input)) return true;
+
+      // 3. 棣栧瓧姣嶇畝鎷煎尮閰�
+      const simplePinyin = cnchar.spell(label, 'first', 'low').replace(/\s+/g, '');
+      if (simplePinyin.includes(input)) return true;
+
+      // 4. 甯︾┖鏍肩殑鍏ㄦ嫾鍖归厤锛堝锛歾hang san锛�
+      const spacedPinyin = cnchar.spell(label, 'low', ' ').replace(/\s+/g, ' ');
+      if (spacedPinyin.includes(input)) return true;
+
+      return false;
     },
 
     // 鑺傜偣鍗曞嚮浜嬩欢

--
Gitblit v1.8.0