From cb66b65c5fa4e70632625e8393dd00831507d2c0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 06 八月 2026 17:09:53 +0800
Subject: [PATCH] 银川 1.添加全局预览附件功能

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

diff --git a/src/views/bpm/processInstance/detail/modules/operation-button.vue b/src/views/bpm/processInstance/detail/modules/operation-button.vue
index c6948a1..89dc1ca 100644
--- a/src/views/bpm/processInstance/detail/modules/operation-button.vue
+++ b/src/views/bpm/processInstance/detail/modules/operation-button.vue
@@ -9,7 +9,7 @@
 import { computed, nextTick, reactive, ref, watch } from 'vue';
 import { useRouter } from 'vue-router';
 
-import { useVbenModal } from '..\..\..\..\..\packages\effects\common-ui\src';
+import { useVbenModal } from '@vben/common-ui';
 import {
   BpmCandidateStrategyEnum,
   BpmModelFormType,
@@ -18,10 +18,10 @@
   BpmTaskOperationButtonTypeEnum,
   BpmTaskStatusEnum,
   OPERATION_BUTTON_NAME,
-} from '..\..\..\..\..\packages\constants\src';
-import { IconifyIcon } from '..\..\..\..\..\packages\icons\src';
-import { useUserStore } from '..\..\..\..\..\packages\stores\src';
-import { isEmpty } from '..\..\..\..\..\packages\utils\src';
+} from '@vben/constants';
+import { IconifyIcon } from '@vben/icons';
+import { useUserStore } from '@vben/stores';
+import { isEmpty } from '@vben/utils';
 
 import FormCreate from '@form-create/ant-design-vue';
 import { until, useDebounceFn } from '@vueuse/core';
@@ -785,36 +785,6 @@
   approveFormRef.value?.validateFields(['signPicUrl']);
 }
 
-/** 闄勪欢鍥剧墖棰勮 */
-const imagePreviewVisible = ref(false);
-const imagePreviewUrl = ref('');
-
-/** 鍒ゆ柇鏂囦欢鏄惁涓哄浘鐗囩被鍨� */
-function isImageUrl(url: string) {
-  return /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i.test(
-    url.split(/[?#]/)[0] || '',
-  );
-}
-
-/** 澶勭悊鏂囦欢棰勮 */
-function handleFilePreview(file: any) {
-  if (!file?.url && !file?.response) {
-    message.warning('鏂囦欢鍦板潃涓嶅瓨鍦紝鏃犳硶棰勮');
-    return;
-  }
-  const url = file.url || file?.response?.url || file?.response;
-  if (!url) {
-    message.warning('鏂囦欢鍦板潃涓嶅瓨鍦紝鏃犳硶棰勮');
-    return;
-  }
-  if (isImageUrl(url)) {
-    imagePreviewUrl.value = url;
-    imagePreviewVisible.value = true;
-  } else {
-    window.open(url, '_blank');
-  }
-}
-
 /** 澶勭悊寮圭獥鍙鎬� */
 function handlePopoverVisible(visible: boolean) {
   if (!visible) {
@@ -922,7 +892,6 @@
                   :show-description="true"
                   :show-download-icon="false"
                   help-text="鏀寔澶氭枃浠�/鍥剧墖涓婁紶"
-                  @preview="handleFilePreview"
                 />
               </FormItem>
               <FormItem>
@@ -992,7 +961,6 @@
                   :multiple="true"
                   :show-description="true"
                   help-text="鏀寔澶氭枃浠�/鍥剧墖涓婁紶"
-                  @preview="handleFilePreview"
                 />
               </FormItem>
               <FormItem>
@@ -1539,17 +1507,4 @@
 
   <!-- 绛惧悕寮圭獥 -->
   <SignatureModal @success="handleSignFinish" />
-
-  <!-- 鍥剧墖棰勮锛堥殣钘忕殑 Image 缁勪欢锛屼粎鐢ㄤ簬闄勪欢棰勮寮圭獥锛� -->
-  <div style="display: none">
-    <Image
-      :preview="{
-        visible: imagePreviewVisible,
-        onVisibleChange: (visible: boolean) => {
-          imagePreviewVisible = visible;
-        },
-      }"
-      :src="imagePreviewUrl"
-    />
-  </div>
 </template>

--
Gitblit v1.9.3