From 1c180d70f0445fa804b40df106e1fdbb50508c55 Mon Sep 17 00:00:00 2001
From: yinbangzhong <zhongbangyin@126.com>
Date: 星期一, 02 九月 2024 09:22:33 +0800
Subject: [PATCH] 单文档

---
 src/views/sessionManager/components/uploadFile.vue |   65 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/src/views/sessionManager/components/uploadFile.vue b/src/views/sessionManager/components/uploadFile.vue
index 4005b66..15e9921 100644
--- a/src/views/sessionManager/components/uploadFile.vue
+++ b/src/views/sessionManager/components/uploadFile.vue
@@ -29,6 +29,7 @@
   import { uploadAndParse } from '@/api/session';
   import { useUserStore } from '@/store';
   import { Message } from '@arco-design/web-vue';
+  import EventBus from '@/utils/EventBus';
 
   const userStore = useUserStore();
   const props = defineProps({
@@ -36,6 +37,7 @@
       type: Number,
       default: 6,
     },
+    typeXLse: Boolean,
     sessionId: String,
     action: String, // 涓婁紶鐨勬湇鍔″櫒鍦板潃
     url: String, //鍥炴樉鐨勬枃浠跺湴鍧�
@@ -78,33 +80,73 @@
         url: item,
       }));
     }
+    EventBus.on('queryAgent', (eventData) => {
+      // 鏇存柊缁勪欢鐨勬暟鎹�
+      if (eventData) {
+        if (fileList.value.length == 1) {
+          fileList.value = [];
+        } else {
+          fileList.value.forEach((item) => {
+            if (item.name != eventData.name) {
+              fileList.value = [];
+              fileList.value.push(item);
+            }
+          });
+        }
+      } else {
+        fileList.value = [];
+      }
+    });
   });
 
-  // console.log(urls.value, 8988);
   const beforeRemove = (file) => {
     emit('handleRemove');
     fileList.value = [];
   };
 
   const handleChange = (fileList) => {
-    const formData = new FormData();
-    for (let i = 0; i < fileList.length; i++) {
-      formData.append('file', fileList[i].file);
-      formData.append('conversation_id', props.sessionId);
-    }
+    const dataFile = compareArr(uploaditemList.value, fileList).uniqueToSecond;
     uploaditemList.value = fileList.map((item, index) => {
       return {
         index: index,
         name: item.name,
         size: (item.file.size / 1024).toFixed(2) + 'K',
+        onFileSelectedLoading: false,
+        textName: '',
       };
     });
-    filesData.value = fileList;
 
-    emit('selectFileCallback', uploaditemList.value, fileList);
+    filesData.value = fileList;
+    emit('selectFileCallback', uploaditemList.value, dataFile);
+    fileList.value = [];
   };
 
+  //鏁扮粍姣旇緝
+  const compareArr = (arr1, arr2) => {
+    const uniqueToFirst = arr1.filter(
+      (item1) => !arr2.some((item2) => item1.name == item2.name)
+    );
+
+    const uniqueToSecond = arr2.filter(
+      (item2) => !arr1.some((item1) => item1.name == item2.name)
+    );
+
+    return {
+      uniqueToFirst,
+      uniqueToSecond,
+    };
+  };
+
+  const typeXLse = computed(() => {
+    return props.type;
+  });
+
   function beforeUpload(resolve) {
+    if (typeXLse) {
+      return new Promise((resolve) => {
+        resolve(true);
+      });
+    }
     let name = ['xlsx', 'xls'];
     let fileName = resolve.name.split('.');
     let fileExt = fileName[fileName.length - 1];
@@ -116,12 +158,5 @@
         resolve(true);
       });
     }
-    // if (form.value.maininformation.length > 4) {
-    //   Message.error('鏂囦欢涓嶈兘瓒呰繃5涓�');
-    // } else {
-    //   return new Promise((resolve) => {
-    //     resolve(true);
-    //   });
-    // }
   }
 </script>

--
Gitblit v1.8.0