导入导出

This commit is contained in:
yaojian
2026-03-06 11:49:01 +08:00
parent 9bbfc6e736
commit c70f302247
16 changed files with 1663 additions and 237 deletions

View File

@@ -0,0 +1,91 @@
import request from '/@/utils/request';
/**
* 分页查询毕业学生核对数据
* @param query 查询参数
*/
export const fetchList = (query?: any) => {
return request({
url: '/basic/graduverify/page',
method: 'get',
params: query
});
};
/**
* 导入毕业学籍回流数据并核对
* @param file 文件
*/
export const importData = (file: File) => {
const formData = new FormData();
formData.append('file', file);
return request({
url: '/basic/graduverify/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 导出核对数据
* @param data 查询条件
*/
export const exportData = (data: any) => {
return request({
url: '/basic/graduverify/export',
method: 'post',
data,
responseType: 'blob'
});
};
/**
* 下发至班主任核对
* @param batchNo 批次号
*/
export const sendToClassMaster = (batchNo: string) => {
return request({
url: '/basic/graduverify/send',
method: 'post',
params: { batchNo }
});
};
/**
* 提交核对结果
* @param id 记录ID
* @param verifyResult 核对结果
*/
export const submitVerify = (id: string, verifyResult: string) => {
return request({
url: '/basic/graduverify/verify',
method: 'post',
params: { id, verifyResult }
});
};
/**
* 获取待核对统计
* @param classMasterCode 班主任工号
*/
export const getPendingCount = (classMasterCode?: string) => {
return request({
url: '/basic/graduverify/pending-count',
method: 'get',
params: { classMasterCode }
});
};
/**
* 下载导入模板
*/
export const downloadTemplate = () => {
return request({
url: '/basic/graduverify/template',
method: 'get',
responseType: 'blob'
});
};

702
src/api/stuwork/file.ts Normal file
View File

@@ -0,0 +1,702 @@
import request from '/@/utils/request';
import { useMessage } from '/@/hooks/message';
/**
* 通用的 blob 文件下载辅助函数
* @param promise 请求 Promise
* @param fileName 下载文件名
*/
export const downloadBlobFile = async (promise: Promise<any>, fileName: string) => {
try {
const res = await promise;
// 检查响应数据
if (!res.data) {
useMessage().error('响应数据为空');
return false;
}
// 检查是否是错误响应JSON 格式的错误信息)
const contentType = res.headers?.['content-type'] || '';
if (contentType.includes('application/json')) {
// 后端返回了 JSON 格式的错误信息
const reader = new FileReader();
reader.onload = () => {
try {
const errorData = JSON.parse(reader.result as string);
useMessage().error(errorData.msg || '下载失败');
} catch {
useMessage().error('下载失败');
}
};
reader.readAsText(res.data);
return false;
}
// 创建 blob 对象
const blob = res.data instanceof Blob ? res.data : new Blob([res.data]);
// 检查 blob 大小
if (blob.size === 0) {
useMessage().error('文件内容为空');
return false;
}
// 创建下载链接
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
// 清理
window.URL.revokeObjectURL(url);
document.body.removeChild(link);
useMessage().success('下载成功');
return true;
} catch (error: any) {
console.error('文件下载失败:', error);
useMessage().error(error.msg || '下载失败');
return false;
}
};
// ==================== 教室日卫生 ====================
/**
* 下载教室日卫生导入模板
*/
export const downloadClassRoomHygieneDailyTemplate = () => {
return request({
url: '/stuwork/classRoomHygieneDaily/import/template',
method: 'get',
responseType: 'blob'
});
};
/**
* 教室日卫生导入
* @param formData 文件表单数据
*/
export const importClassRoomHygieneDaily = (formData: FormData) => {
return request({
url: '/stuwork/classRoomHygieneDaily/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出教室日卫生异步任务
* @param query 查询参数
*/
export const makeExportClassRoomHygieneDailyTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassRoomHygieneDailyTask',
method: 'post',
data: query
});
};
// ==================== 教室月卫生 ====================
/**
* 下载教室月卫生导入模板
*/
export const downloadClassRoomHygieneMonthlyTemplate = () => {
return request({
url: '/stuwork/classroomhygienemonthly/import/template',
method: 'get',
responseType: 'blob'
});
};
/**
* 教室月卫生导入
* @param formData 文件表单数据
*/
export const importClassRoomHygieneMonthly = (formData: FormData) => {
return request({
url: '/stuwork/classroomhygienemonthly/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出教室月卫生异步任务
* @param query 查询参数
*/
export const makeExportClassRoomHygieneMonthlyTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassRoomHygieneMonthlyTask',
method: 'post',
data: query
});
};
// ==================== 日常巡检 ====================
/**
* 下载日常巡检导入模板
*/
export const downloadClassCheckDailyTemplate = () => {
return request({
url: '/stuwork/classcheckdaily/importTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 日常巡检导入
* @param formData 文件表单数据
*/
export const importClassCheckDaily = (formData: FormData) => {
return request({
url: '/stuwork/classcheckdaily/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出日常巡检异步任务
* @param query 查询参数
*/
export const makeExportClassCheckDailyTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassCheckDailyTask',
method: 'post',
data: query
});
};
// ==================== 日常行为 ====================
/**
* 下载日常行为导入模板
*/
export const downloadClassHygieneDailyTemplate = () => {
return request({
url: '/stuwork/classhygienedaily/importTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 日常行为导入
* @param formData 文件表单数据
*/
export const importClassHygieneDaily = (formData: FormData) => {
return request({
url: '/stuwork/classhygienedaily/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出日常行为异步任务
* @param query 查询参数
*/
export const makeExportClassHygieneDailyTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassHygieneDailyTask',
method: 'post',
data: query
});
};
// ==================== 班级概况 / 学生信息 ====================
/**
* 创建导出班级概况异步任务
* @param query 查询参数
*/
export const makeExportClassOverviewTask = (query?: any) => {
return request({
url: '/basic/basicFile/makeExportClassOverviewTask',
method: 'post',
data: query
});
};
/**
* 创建导出学生信息异步任务
* @param query 查询参数
*/
export const makeExportStudentDataTask = (query?: any) => {
return request({
url: '/basic/basicFile/makeExportStudentDataTask',
method: 'post',
data: query
});
};
// ==================== 班主任考核 ====================
/**
* 下载班主任考核导入模板
*/
export const downloadClassMasterEvaluationTemplate = () => {
return request({
url: '/stuwork/file/getClassMasterEvaluationImportTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 班主任考核导入
* @param formData 文件表单数据
*/
export const importClassMasterEvaluation = (formData: FormData) => {
return request({
url: '/stuwork/file/importClassMasterEvaluation',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出班主任考核异步任务
* @param query 查询参数
*/
export const makeExportClassMasterEvaluationTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassMasterEvaluationTask',
method: 'post',
data: query
});
};
// ==================== 住宿管理 ====================
/**
* 创建导出住宿名单异步任务
* @param query 查询参数
*/
export const makeExportDormStudentTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormStudentTask',
method: 'post',
data: query
});
};
/**
* 创建导出住宿情况统计表异步任务
* @param query 查询参数
*/
export const makeExportDormStatisticsTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormStatisticsTask',
method: 'post',
data: query
});
};
/**
* 创建导出宿舍房间异步任务
* @param query 查询参数
*/
export const makeExportDormRoomTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormRoomTask',
method: 'post',
data: query
});
};
/**
* 创建导出异常住宿异步任务
* @param query 查询参数
*/
export const makeExportDormStudentAbnormalTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormStudentAbnormalTask',
method: 'post',
data: query
});
};
// ==================== 宿舍月卫生 ====================
/**
* 导出宿舍月卫生模板
* @param query 查询参数
*/
export const exportDormHygieneMonthlyTemplate = (query?: any) => {
return request({
url: '/stuwork/file/exportDormHygieneMonthlyTemplate',
method: 'post',
data: query,
responseType: 'blob'
});
};
/**
* 导入宿舍月卫生数据
* @param formData 文件表单数据
*/
export const importDormHygieneMonthly = (formData: FormData) => {
return request({
url: '/stuwork/file/importDormHygieneMonthly',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 宿舍整改 ====================
/**
* 创建导出宿舍整改异步任务
* @param query 查询参数
*/
export const makeExportDormReformTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormReformTask',
method: 'post',
data: query
});
};
// ==================== 宿舍水电 ====================
/**
* 创建导出宿舍水电异步任务
* @param query 查询参数
*/
export const makeExportDormWaterElectricityTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportDormWaterElectricityTask',
method: 'post',
data: query
});
};
// ==================== 学籍异动 ====================
/**
* 创建导出学籍异动异步任务
* @param query 查询参数
*/
export const makeExportStudentChangeTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportStudentChangeTask',
method: 'post',
data: query
});
};
// ==================== 学生违纪 ====================
/**
* 创建导出学生违纪异步任务
* @param query 查询参数
*/
export const makeExportStudentDisciplineTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportStudentDisciplineTask',
method: 'post',
data: query
});
};
// ==================== 学生请假 ====================
/**
* 创建导出学生请假异步任务
* @param query 查询参数
*/
export const makeExportStudentLeaveTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportStudentLeaveTask',
method: 'post',
data: query
});
};
// ==================== 学生评优评先 ====================
/**
* 创建导出学生评优评先异步任务
* @param query 查询参数
*/
export const makeExportStudentPraiseTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportStudentPraiseTask',
method: 'post',
data: query
});
};
// ==================== 班费 ====================
/**
* 创建导出班费异步任务
* @param query 查询参数
*/
export const makeExportClassFundTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassFundTask',
method: 'post',
data: query
});
};
// ==================== 操行考核 ====================
/**
* 导出操行考核模板
*/
export const exportConductAssessmentTemplate = () => {
return request({
url: '/stuwork/file/exportConductAssessmentTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入操行考核数据
* @param formData 文件表单数据
*/
export const importConductAssessment = (formData: FormData) => {
return request({
url: '/stuwork/file/importConductAssessment',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 安全教育 ====================
/**
* 创建导出安全教育异步任务
* @param query 查询参数
*/
export const makeExportSafetyEducationTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportSafetyEducationTask',
method: 'post',
data: query
});
};
// ==================== 文明班级 ====================
/**
* 导出文明班级模板
*/
export const exportRewardClassTemplate = () => {
return request({
url: '/stuwork/file/exportRewardClassTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入文明班级数据
* @param formData 文件表单数据
*/
export const importRewardClass = (formData: FormData) => {
return request({
url: '/stuwork/file/importRewardClass',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 文明宿舍 ====================
/**
* 导出文明宿舍模板
*/
export const exportRewardDormTemplate = () => {
return request({
url: '/stuwork/file/exportRewardDormTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入文明宿舍数据
* @param formData 文件表单数据
*/
export const importRewardDorm = (formData: FormData) => {
return request({
url: '/stuwork/file/importRewardDorm',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 班级学生评语 ====================
/**
* 导出班级学生评语文档(单人/班级)
* @param query 查询参数
*/
export const exportClassAssetsIntroduction = (query?: any) => {
return request({
url: '/stuwork/classassets/exportIntroduction',
method: 'post',
data: query,
responseType: 'blob'
});
};
// ==================== 学生评语 ====================
/**
* 导出学生评语模板
*/
export const exportStudentCommentTemplate = () => {
return request({
url: '/ems/file/exportStudentCommentTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入学生评语数据
* @param formData 文件表单数据
*/
export const importStudentComment = (formData: FormData) => {
return request({
url: '/ems/file/importStudentComment',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 教室公物 ====================
/**
* 创建导出教室公物异步任务
* @param query 查询参数
*/
export const makeExportClassAssetsTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportClassAssetsTask',
method: 'post',
data: query
});
};
// ==================== 活动报名详情 ====================
/**
* 创建导出活动报名详情异步任务
* @param query 查询参数
*/
export const makeExportActivitySignUpDetailTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportActivitySignUpDetailTask',
method: 'post',
data: query
});
};
// ==================== 活动获奖 ====================
/**
* 导出活动获奖模板
*/
export const exportActivityAwardsTemplate = () => {
return request({
url: '/stuwork/file/exportActivityAwardsTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入活动获奖数据
* @param formData 文件表单数据
*/
export const importActivityAwards = (formData: FormData) => {
return request({
url: '/stuwork/file/importActivityAwards',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
// ==================== 团员信息 ====================
/**
* 导出团员数据模板
*/
export const exportStuUnionLeagueTemplate = () => {
return request({
url: '/stuwork/file/exportStuUnionLeagueTemplate',
method: 'get',
responseType: 'blob'
});
};
/**
* 导入团员数据
* @param formData 文件表单数据
*/
export const importStuUnionLeague = (formData: FormData) => {
return request({
url: '/stuwork/file/importStuUnionLeague',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 创建导出团员信息异步任务
* @param query 查询参数
*/
export const makeExportStuUnionLeagueTask = (query?: any) => {
return request({
url: '/stuwork/file/makeExportStuUnionLeagueTask',
method: 'post',
data: query
});
};