From b64a0deae5b5d33f9e20671a68936b27f0b9b00b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 21 七月 2026 18:03:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0

---
 src/views/bpm/processInstance/detail/modules/operation-button.vue |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/views/bpm/processInstance/detail/modules/operation-button.vue b/src/views/bpm/processInstance/detail/modules/operation-button.vue
index b955d7a..248bc1d 100644
--- a/src/views/bpm/processInstance/detail/modules/operation-button.vue
+++ b/src/views/bpm/processInstance/detail/modules/operation-button.vue
@@ -23,6 +23,8 @@
 import { useUserStore } from '@vben/stores';
 import { isEmpty } from '@vben/utils';
 
+import { FilePreviewModal, useFilePreview } from '#/components/file-preview';
+
 import FormCreate from '@form-create/ant-design-vue';
 import { until, useDebounceFn } from '@vueuse/core';
 import {
@@ -789,6 +791,8 @@
 const imagePreviewVisible = ref(false);
 const imagePreviewUrl = ref('');
 
+const { openPreview: openFilePreview, previewState: filePreviewState } = useFilePreview();
+
 /** 鍒ゆ柇鏂囦欢鏄惁涓哄浘鐗囩被鍨� */
 function isImageUrl(url: string) {
   return /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i.test(
@@ -811,7 +815,7 @@
     imagePreviewUrl.value = url;
     imagePreviewVisible.value = true;
   } else {
-    window.open(url, '_blank');
+    openFilePreview(url, file?.name);
   }
 }
 
@@ -1552,4 +1556,11 @@
       :src="imagePreviewUrl"
     />
   </div>
+
+  <!-- 鏂囦欢棰勮锛圥DF/Word/Excel/PPT锛� -->
+  <FilePreviewModal
+    v-model:visible="filePreviewState.visible.value"
+    :file-url="filePreviewState.fileUrl.value"
+    :file-name="filePreviewState.fileName.value"
+  />
 </template>

--
Gitblit v1.9.3