From 7fe78d6c1966742203f4154feed99060254418cb Mon Sep 17 00:00:00 2001 From: zhangjf Date: Mon, 16 Feb 2026 09:57:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=89=8D=E7=AB=AF=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端实现: - file.js: API接口封装(68行,6个接口) - uploadFile(): 上传文件(multipart/form-data) - getFileList(): 分页查询 - getFileListByBusiness(): 按业务查询 - getFileById(): 查询详情 - deleteFile(): 删除文件 - getFileUrl(): 获取URL - file.vue: 文件管理页面(403行) - 搜索功能:文件名、业务类型、关联业务ID - 表格展示:文件ID、文件名(链接)、业务类型标签、关联ID、大小、类型、上传人、时间 - 上传功能:el-upload组件、业务类型选择、关联ID输入 - 预览功能:图片预览、PDF预览、其他文件提示 - 下载功能:获取URL后下载 - 删除功能:确认后删除 技术特点: - 文件上传(multipart/form-data) - 文件大小格式化(B/KB/MB/GB) - 业务类型标签(合同/收款/支出/其他) - 图片/PDF预览 - 文件选择对话框 模块状态:✅ 完整(前端+后端) --- fund-admin/src/api/file.js | 67 +++++ fund-admin/src/views/system/file.vue | 402 +++++++++++++++++++++++++++ 2 files changed, 469 insertions(+) create mode 100644 fund-admin/src/api/file.js create mode 100644 fund-admin/src/views/system/file.vue diff --git a/fund-admin/src/api/file.js b/fund-admin/src/api/file.js new file mode 100644 index 0000000..e56f0b5 --- /dev/null +++ b/fund-admin/src/api/file.js @@ -0,0 +1,67 @@ +import request from '../utils/request' + +/** + * 上传文件 + */ +export const uploadFile = (data) => { + return request({ + url: '/sys/api/v1/file/upload', + method: 'post', + data, + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} + +/** + * 获取文件列表(分页) + */ +export const getFileList = (params) => { + return request({ + url: '/sys/api/v1/file/list', + method: 'get', + params + }) +} + +/** + * 根据业务类型和ID查询文件列表 + */ +export const getFileListByBusiness = (businessType, businessId) => { + return request({ + url: '/sys/api/v1/file/list/business', + method: 'get', + params: { businessType, businessId } + }) +} + +/** + * 获取文件详情 + */ +export const getFileById = (fileId) => { + return request({ + url: `/sys/api/v1/file/${fileId}`, + method: 'get' + }) +} + +/** + * 删除文件 + */ +export const deleteFile = (fileId) => { + return request({ + url: `/sys/api/v1/file/${fileId}`, + method: 'delete' + }) +} + +/** + * 获取文件访问URL + */ +export const getFileUrl = (fileId) => { + return request({ + url: `/sys/api/v1/file/${fileId}/url`, + method: 'get' + }) +} diff --git a/fund-admin/src/views/system/file.vue b/fund-admin/src/views/system/file.vue new file mode 100644 index 0000000..e413b31 --- /dev/null +++ b/fund-admin/src/views/system/file.vue @@ -0,0 +1,402 @@ + + + + +