From d50a7bc02d89e14beeab83a28f0d3677dbd9f0ef Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期五, 30 八月 2024 14:31:50 +0800
Subject: [PATCH] fix: 修改bug
---
src/views/sessionManager/components/uploadFile.vue | 51 ++++++++++++++++++-------
src/views/sessionManager/components/seniorAgentSession.vue | 49 ++++++++++++++++--------
2 files changed, 69 insertions(+), 31 deletions(-)
diff --git a/src/views/sessionManager/components/seniorAgentSession.vue b/src/views/sessionManager/components/seniorAgentSession.vue
index 96e9f32..91014f6 100644
--- a/src/views/sessionManager/components/seniorAgentSession.vue
+++ b/src/views/sessionManager/components/seniorAgentSession.vue
@@ -298,6 +298,7 @@
v-if="!getAent"
ref="fileInput"
:sessionId="activeSessionId"
+ :handleRemove="handleRemove"
@selectFileCallback="selectFileCallback"
></uploadFile>
<a-button
@@ -349,14 +350,14 @@
>
<template #avatar>
<a-spin
- :loading="onFileSelectedLoading"
- v-if="onFileSelectedLoading"
+ :loading="item.onFileSelectedLoading"
+ v-if="item.onFileSelectedLoading"
>
<template #icon>
<icon-sync />
</template>
<template #tip>
- <div style="font-size: 12px">{{ textName }}</div>
+ <div style="font-size: 12px">{{ item.textName }}</div>
</template>
</a-spin>
<!-- <a-button type="text" :loading="onFileSelectedLoading" v-if="onFileSelectedLoading"></a-button>-->
@@ -364,6 +365,7 @@
<!-- <icon-file style="color: #0960bd" />-->
<!-- </a-avatar>-->
<img :src="getIconByExtension(item.name)" alt="" />
+ <div style="font-size: 12px">{{ item.textName }}</div>
</template>
</a-comment>
<icon-close-circle-fill
@@ -835,29 +837,42 @@
try {
const formData = new FormData();
uploaditemList.value = resData;
+ uploaditemList.value.map((item) => {
+ if (item.name == file[0].file.name) {
+ item.onFileSelectedLoading = true;
+ item.textName = '涓婁紶涓�';
+ }
+ return item;
+ });
if (!activeSessionId.value) {
await createSession(resData);
}
- onFileSelectedLoading.value = true;
- textName.value = '涓婁紶涓�';
- // for (let i = 0; i < file.length; i++) {
- // formData.append('files', file[i].file);
- // formData.append('conversation_id', activeSessionId.value);
- // formData.append('app_id', agentObj.id);
- // }
+ // onFileSelectedLoading.value = true;
+ // textName.value = '涓婁紶涓�';
+
formData.append('files', file[0].file);
formData.append('conversation_id', activeSessionId.value);
formData.append('app_id', agentObj.id);
console.log(formData, 'formData');
const { data, code } = await agentUploadApi(formData);
if (code === 200) {
- onFileSelectedLoading.value = false;
- textName.value = '涓婁紶鎴愬姛';
+ uploaditemList.value.map((item) => {
+ item.onFileSelectedLoading = false;
+ item.textName = '涓婁紶鎴愬姛';
+ return item;
+ });
+ // onFileSelectedLoading.value = false;
+ // textName.value = '涓婁紶鎴愬姛';
}
} catch (err) {
- onFileSelectedLoading.value = false;
- textName.value = '涓婁紶澶辫触';
+ uploaditemList.value.map((item) => {
+ item.onFileSelectedLoading = false;
+ item.textName = '涓婁紶澶辫触';
+ return item;
+ });
+ // onFileSelectedLoading.value = false;
+ // textName.value = '涓婁紶澶辫触';
Message.error('涓婁紶澶辫触');
}
};
@@ -875,13 +890,15 @@
return type;
};
- let onFileSelectedLoading = ref(true);
- const textName = ref('涓婁紶鎴愬姛');
+ // let onFileSelectedLoading = ref(true);
+ // const textName = ref('涓婁紶鎴愬姛');
const deleteFile = (item) => {
console.log(uploaditemList.value);
uploaditemList.value.splice(item.index, 1);
+ EventBus.emit('queryAgent', item);
};
+
const getIconByExtension = computed(() => (extension) => {
const fileExtension = ref('');
fileExtension.value = extension.split('.').pop();
diff --git a/src/views/sessionManager/components/uploadFile.vue b/src/views/sessionManager/components/uploadFile.vue
index 4005b66..361acbc 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({
@@ -78,30 +79,57 @@
url: item,
}));
}
+ EventBus.on('queryAgent', (eventData) => {
+ // 鏇存柊缁勪欢鐨勬暟鎹�
+ if (fileList.value.length == 1) {
+ fileList.value = [];
+ } else {
+ fileList.value.forEach((item) => {
+ if (item.name != eventData.name) {
+ fileList.value = [];
+ fileList.value.push(item);
+ }
+ });
+ }
+ });
});
- // 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,
+ };
};
function beforeUpload(resolve) {
@@ -116,12 +144,5 @@
resolve(true);
});
}
- // if (form.value.maininformation.length > 4) {
- // Message.error('鏂囦欢涓嶈兘瓒呰繃5涓�');
- // } else {
- // return new Promise((resolve) => {
- // resolve(true);
- // });
- // }
}
</script>
--
Gitblit v1.8.0