From dcc8b0f4845cf633daa885fec45d2c140ec5f584 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 03 十一月 2026 19:41:02 +0800
Subject: [PATCH] fix(hrm/bpm): 个税表单补必填字段、流程模型返回上一步不再卡住、核算缺勤扣款只读

---
 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