From ac00bb7b8eae1bf6aabb7f1ae67c2e5aa5b8ae90 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 12 六月 2026 10:21:12 +0800
Subject: [PATCH] 宝东 1.样式问题

---
 src/views/basicData/product/index.vue |   71 +++++++++++++++--------------------
 1 files changed, 31 insertions(+), 40 deletions(-)

diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index 4f2694b..fe6951c 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -5,7 +5,7 @@
         <el-input v-model="search"
                   style="width: 210px"
                   placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
-                  @change="searchFilter"
+                  @input="debouncedSearch"
                   @clear="searchFilter"
                   clearable
                   prefix-icon="Search" />
@@ -68,7 +68,7 @@
     <div class="right">
       <div style="margin-bottom: 10px" v-if="isShowButton">
         <el-button type="primary" @click="openModelDia('add')">
-          鏂板灏哄
+          鏂板瑙勬牸鍨嬪彿
         </el-button>
         <ImportExcel :product-id="currentId"
                      @uploadSuccess="getModelList" />
@@ -120,7 +120,7 @@
       </template>
     </el-dialog>
     <el-dialog v-model="modelDia"
-               title="灏哄"
+               title="瑙勬牸鍨嬪彿"
                width="400px"
                @close="closeModelDia"
                @keydown.enter.prevent>
@@ -142,10 +142,10 @@
             </el-col>
           </el-row>
           <el-col :span="24">
-            <el-form-item label="灏哄锛�"
+            <el-form-item label="瑙勬牸鍨嬪彿锛�"
                           prop="model">
               <el-input v-model="modelForm.model"
-                        placeholder="璇疯緭鍏ュ昂瀵�"
+                        placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
                         clearable
                         @keydown.enter.prevent />
             </el-form-item>
@@ -295,7 +295,7 @@
       prop: "productCode",
     },
     {
-      label: "灏哄",
+      label: "瑙勬牸鍨嬪彿",
       prop: "model",
     },
     {
@@ -411,7 +411,7 @@
     form.value.productName =
       type === "edit" && data ? data.productName : "";
   };
-  // 鎵撳紑灏哄寮规
+  // 鎵撳紑瑙勬牸鍨嬪彿寮规
   const openModelDia = (type, data) => {
     modelOperationType.value = type;
     modelDia.value = true;
@@ -492,7 +492,7 @@
     getModelList();
   };
 
-  // 鎻愪氦灏哄淇敼
+  // 鎻愪氦瑙勬牸鍨嬪彿淇敼
   const submitModelForm = () => {
     proxy.$refs.modelFormRef.validate(valid => {
       if (valid) {
@@ -515,7 +515,7 @@
     selectedRows.value = selection;
   };
 
-  // 鏌ヨ灏哄
+  // 鏌ヨ瑙勬牸鍨嬪彿
   const pagination = obj => {
     page.current = obj.page;
     page.size = obj.limit;
@@ -534,7 +534,7 @@
       tableLoading.value = false;
     });
   };
-  // 鍒犻櫎灏哄
+  // 鍒犻櫎瑙勬牸鍨嬪彿
   const handleDelete = () => {
     let ids = [];
     if (selectedRows.value.length > 0) {
@@ -563,40 +563,31 @@
         proxy.$modal.msg("宸插彇娑�");
       });
   };
-  // 璋冪敤tree杩囨护鏂规硶 涓枃鑻辫繃婊�
-  const filterNode = (value, data, node) => {
-    if (!value) {
-      //濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤�
-      return true;
-    }
-    // 鏌ヨ鍒楄〃鏄惁鏈夊尮閰嶆暟鎹紝灏嗗�煎皬鍐欙紝鍖归厤鑻辨枃鏁版嵁
-    let val = value.toLowerCase();
-    return chooseNode(val, data, node); // 璋冪敤杩囨护浜屽眰鏂规硶
+  const debounce = (fn, delay = 300) => {
+    let timer;
+    return (...args) => {
+      clearTimeout(timer);
+      timer = setTimeout(() => fn(...args), delay);
+    };
   };
-  // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�.
-  const chooseNode = (value, data, node) => {
-    if (data.label.indexOf(value) !== -1) {
+
+  const debouncedSearch = debounce(() => {
+    searchFilter();
+  }, 300);
+
+  const filterNode = (value, data) => {
+    if (!value) return true;
+    return chooseNode(value.toLowerCase(), data);
+  };
+
+  const chooseNode = (value, data) => {
+    const label = (data.label || '').toLowerCase();
+    if (label.indexOf(value) !== -1) {
       return true;
     }
-    const level = node.level;
-    // 濡傛灉浼犲叆鐨勮妭鐐规湰韬氨鏄竴绾ц妭鐐瑰氨涓嶇敤鏍¢獙浜�
-    if (level === 1) {
-      return false;
+    if (data.children && data.children.length > 0) {
+      return data.children.some(child => chooseNode(value, child));
     }
-    // 鍏堝彇褰撳墠鑺傜偣鐨勭埗鑺傜偣
-    let parentData = node.parent;
-    // 閬嶅巻褰撳墠鑺傜偣鐨勭埗鑺傜偣
-    let index = 0;
-    while (index < level - 1) {
-      // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紝姝ゅname鍊兼槸涓枃瀛楃锛宔nName鏄嫳鏂囧瓧绗︺�傚垽鏂尮閰嶄腑鑻辨枃杩囨护
-      if (parentData.data.label.indexOf(value) !== -1) {
-        return true;
-      }
-      // 鍚﹀垯鐨勮瘽鍐嶅線涓婁竴灞傚仛鍖归厤
-      parentData = parentData.parent;
-      index++;
-    }
-    // 娌″尮閰嶅埌杩斿洖false
     return false;
   };
   getProductTreeList();

--
Gitblit v1.9.3