From 50a7c97d7c09bc5104dd910dd9fc5261f9772aed Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期四, 04 一月 2024 10:19:15 +0800
Subject: [PATCH] U 压缩包预览 添加文件名搜索

---
 src/pages/resourceManage/product/details/details.vue |   63 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/src/pages/resourceManage/product/details/details.vue b/src/pages/resourceManage/product/details/details.vue
index 889f5b5..0d9ff1f 100644
--- a/src/pages/resourceManage/product/details/details.vue
+++ b/src/pages/resourceManage/product/details/details.vue
@@ -441,17 +441,32 @@
       :destroyOnClose="true"
       @cancel="fileTreeViewVisible = false"
     >
+      <a-input-search
+        style="margin-bottom: 8px"
+        v-model="searchValue"
+        placeholder="杈撳叆鍏抽敭璇嶆悳绱㈡枃浠跺悕"
+        @change="searchChanged"
+      />
       <div class="log-content">
         <a-tree
           class="file-tree-view"
-          v-if="fileTreeView.length"
+          v-if="fileTreeView.length && treeReset"
           :show-line="true"
           defaultExpandAll
-          :tree-data="fileTreeView"
-        >
+          :tree-data="fileTreeViewRes"
+          >
           <template slot="custom" slot-scope="item">
             <div class="flex-r space-between">
-              <span class="node-title">{{ item.title }} </span>
+              <span v-if="item.title.indexOf(searchValue) > -1">
+                {{ item.title.substr(0, item.title.indexOf(searchValue)) }}
+                <span style="color: #f50">{{ searchValue }}</span>
+                {{
+                  item.title.substr(
+                    item.title.indexOf(searchValue) + searchValue.length
+                  )
+                }}
+              </span>
+              <span v-else class="node-title">{{ item.title }} </span>
               <span
                 class="icon-wrap"
                 v-if="item.isLeaf && viewAble(item.type)"
@@ -532,6 +547,8 @@
   mixins: [WSMixin],
   data() {
     return {
+      treeReset: true,
+      searchValue: "",
       imgUrl: "",
       previewVisible: false,
       showSop: false,
@@ -822,6 +839,21 @@
     // 鏈夌姸鎬佷负-1鐨勭増鏈湪
     hasLock() {
       return this.versionList.some((v) => v.enabled == -1);
+    },
+    fileTreeViewRes() {
+      let resList = this.fileTreeView.filter((v) => {
+        let fileName = v.split("\\").pop();
+        return fileName.indexOf(this.searchValue) > -1;
+      });
+
+      let {
+        children: [
+          {
+            children: [{ children: list }],
+          },
+        ],
+      } = this.format(resList, false);
+      return list;
     },
   },
   watch: {
@@ -1517,14 +1549,15 @@
           if (code && data) {
             // console.log(data);
             this.$message.success("瑙f瀽鎴愬姛");
-            let {
-              children: [
-                {
-                  children: [{ children: list1 }],
-                },
-              ],
-            } = this.format(data2, false);
-            list = list1;
+            // let {
+            //   children: [
+            //     {
+            //       children: [{ children: list1 }],
+            //     },
+            //   ],
+            // } = this.format(data2, false);
+            // list = list1;
+            list = data2;
           } else {
             this.$message.error(msg);
           }
@@ -1572,6 +1605,12 @@
     handleCancel() {
       this.previewVisible = false;
     },
+    searchChanged() {
+      this.treeReset = false;
+      this.$nextTick(() => {
+        this.treeReset = true;
+      });
+    },
   },
   mounted() {
     this.searchAllUserList();

--
Gitblit v1.9.1