From d2a80d7b57325bb29eb8719111ea12d3b5b0ae6e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 16 七月 2026 10:34:22 +0800
Subject: [PATCH] 银川 1.采购申请页面修改 2.添加在线查看附件预览功能 3.修改我的流程页面展示样式流程状态点击报错问题

---
 src/packages/@core/base/shared/src/utils/upload.ts |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/packages/@core/base/shared/src/utils/upload.ts b/src/packages/@core/base/shared/src/utils/upload.ts
index 57718b4..e25e83a 100644
--- a/src/packages/@core/base/shared/src/utils/upload.ts
+++ b/src/packages/@core/base/shared/src/utils/upload.ts
@@ -196,6 +196,34 @@
 }
 
 /**
+ * 棰勮鏂囦欢绫诲瀷
+ */
+export type PreviewFileType =
+  | 'docx'
+  | 'excel'
+  | 'image'
+  | 'pdf'
+  | 'pptx'
+  | 'unknown';
+
+/**
+ * 鏍规嵁鏂囦欢鍚嶅垽鏂瑙堟枃浠剁被鍨�
+ *
+ * @param filename 鏂囦欢鍚嶆垨 URL
+ * @returns 棰勮鏂囦欢绫诲瀷
+ */
+export function getFileType(filename: null | string | undefined): PreviewFileType {
+  if (!filename) return 'unknown';
+  const ext = filename.split('.').pop()?.toLowerCase() || '';
+  if (isImage(ext)) return 'image';
+  if (ext === 'pdf') return 'pdf';
+  if (['doc', 'docx'].includes(ext)) return 'docx';
+  if (['xls', 'xlsx'].includes(ext)) return 'excel';
+  if (['ppt', 'pptx'].includes(ext)) return 'pptx';
+  return 'unknown';
+}
+
+/**
  * 鑾峰彇鏂囦欢鍥炬爣锛圠ucide Icons锛�
  *
  * @param filename 鏂囦欢鍚�

--
Gitblit v1.9.3