本次改造将学生考核申请表单中的附件上传功能升级为与宿舍违纪模块相同的现代化附件管理系统,提供更好的用户体验和功能完整性。
// 上传地址
const uploadAction = computed(() => {
return import.meta.env.VITE_APP_BASE_API + '/resource/oss/upload';
});
// 上传请求头
const uploadHeaders = computed(() => {
return {
'Authorization': `Bearer ${getToken() || ''}`,
'clientid': import.meta.env.VITE_APP_CLIENT_ID || 'e5cd7e4891bf95d1d19206ce24a7b32e'
};
});
// 业务类型标识
const uploadData = computed(() => {
return {
bizType: 'assessment_bonus_attachment'
};
});
handleBeforeUpload: 上传前文件校验handleUploadSuccess: 上传成功处理handleUploadError: 上传失败处理handleFileChange: 文件列表变更处理handleFilePreview: 文件预览处理handleDownloadAttachment: 文件下载处理handleRemoveAttachmentConfirm: 文件删除确认handleRemoveAttachment: 文件删除处理isImageFile: 判断是否为图片文件getFileOssId: 获取文件OSS IDgetFileExt: 获取文件扩展名getShortFileName: 获取缩写的文件名interface XskhAssessmentBonusApprovalForm {
id?: string | number;
applicationId?: string | number;
bonusItemName?: string;
bonusContent?: string;
bonusScore?: number;
attachment?: string; // 存储OSS ID列表,逗号分隔
approvalStatus?: string;
approvalScore?: number;
approvalBy?: string | number;
approvalTime?: string;
approvalRemark?: string;
fileList?: any[]; // 新增:存储文件列表,用于界面展示
}
fileList中的ossId合并为attachment字段attachment字段解析为fileList用于界面展示attachment字段格式ImagePreview: 图片预览组件ElUpload: Element Plus上传组件ElButtonGroup: 按钮组组件UploadFilled: 上传图标Document: 文档图标Loading: 加载图标Download: 下载图标Delete: 删除图标getToken: 获取认证令牌request: HTTP请求工具ElMessage: 消息提示ElMessageBox: 确认对话框ElLoading: 加载状态最新一轮改造已经将移动端违纪记录录入页(mobile/src/pages/xskh/wjjlEntry/disciplineRecordForm.vue)迁移到与宿舍卫生检查新增页一致的附件上传方案,主要收益如下:
uni.chooseFile、相册/相机、备用 action sheet,多端体验保持一致。/system/wechat/downloadToOss 的桥接能力。后续若有新的移动端页面需要接入文件上传,可直接参考此实现或复用该文档中的“技术实现”章节配置,确保多端体验保持一致。
本次改造成功将学生考核申请的附件功能升级为现代化的文件管理系统,提供了:
改造后的附件功能与宿舍违纪模块保持一致,提供了统一的用户体验和功能标准。