From cb9cd49627b65a4c0e137e08063271a8cefe1826 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 23 七月 2026 17:48:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0
---
src/views/ai/chat/index/modules/message/files.vue | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/views/ai/chat/index/modules/message/files.vue b/src/views/ai/chat/index/modules/message/files.vue
index ed163a0..5cbc411 100644
--- a/src/views/ai/chat/index/modules/message/files.vue
+++ b/src/views/ai/chat/index/modules/message/files.vue
@@ -2,11 +2,15 @@
import { computed } from 'vue';
import { IconifyIcon } from '@vben/icons';
-import { getFileIcon, getFileNameFromUrl, getFileTypeClass } from '@vben/utils';
+import { getFileIcon, getFileNameFromUrl, getFileTypeClass, isImage } from '@vben/utils';
+
+import { FilePreviewModal, useFilePreview } from '#/components/file-preview';
const props = defineProps<{
attachmentUrls?: string[];
}>();
+
+const { openPreview, previewState } = useFilePreview();
/** 杩囨护鎺夌┖鍊肩殑闄勪欢鍒楄〃 */
const validAttachmentUrls = computed(() => {
@@ -15,7 +19,11 @@
/** 鐐瑰嚮鏂囦欢 */
function handleFileClick(url: string) {
- window.open(url, '_blank');
+ if (isImage(url)) {
+ window.open(url, '_blank');
+ } else {
+ openPreview(url);
+ }
}
</script>
@@ -50,4 +58,9 @@
</div>
</div>
</div>
+ <FilePreviewModal
+ v-model:visible="previewState.visible.value"
+ :file-url="previewState.fileUrl.value"
+ :file-name="previewState.fileName.value"
+ />
</template>
--
Gitblit v1.9.3