Files
hzdyjs/web/src/api/jcbt/index.ts
T
2025-08-10 00:24:31 +08:00

172 lines
3.8 KiB
TypeScript

import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
ScholarshipApplicationVO,
ScholarshipApplicationForm,
ScholarshipApplicationQuery,
ScholarshipClassQuotaVO,
ScholarshipAttachmentVO
} from './types';
/**
* 查询奖学金申请记录列表
* @param query 查询参数
*/
export const listScholarshipApplication = (query?: ScholarshipApplicationQuery): AxiosPromise<ScholarshipApplicationVO[]> => {
return request({
url: '/jcbt/scholarshipApplication/list',
method: 'get',
params: query
});
};
/**
* 查询奖学金申请记录详细信息
* @param id 申请记录ID
*/
export const getScholarshipApplication = (id: string | number): AxiosPromise<ScholarshipApplicationVO> => {
return request({
url: `/jcbt/scholarshipApplication/${id}`,
method: 'get'
});
};
/**
* 新增奖学金申请记录
* @param data 申请数据
*/
export const addScholarshipApplication = (data: ScholarshipApplicationForm) => {
return request({
url: '/jcbt/scholarshipApplication',
method: 'post',
data: data
});
};
/**
* 修改奖学金申请记录
* @param data 申请数据
*/
export const updateScholarshipApplication = (data: ScholarshipApplicationForm) => {
return request({
url: '/jcbt/scholarshipApplication',
method: 'put',
data: data
});
};
/**
* 删除奖学金申请记录
* @param id 申请记录ID
*/
export const delScholarshipApplication = (id: string | number | Array<string | number>) => {
return request({
url: `/jcbt/scholarshipApplication/${id}`,
method: 'delete'
});
};
/**
* 导出奖学金申请记录
* @param query 查询参数
*/
export const exportScholarshipApplication = (query: ScholarshipApplicationQuery) => {
return request({
url: '/jcbt/scholarshipApplication/export',
method: 'post',
data: query,
responseType: 'blob'
});
};
/**
* 下载导入模板
*/
export const importTemplate = () => {
return request({
url: '/jcbt/scholarshipApplication/importTemplate',
method: 'post',
responseType: 'blob'
});
};
/**
* 批量导入奖学金申请记录
* @param file 导入文件
*/
export const importData = (file: File) => {
const formData = new FormData();
formData.append('file', file);
return request({
url: '/jcbt/scholarshipApplication/import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 查询班级奖学金名额
* @param query 查询参数
*/
export const listScholarshipClassQuota = (query?: any): AxiosPromise<ScholarshipClassQuotaVO[]> => {
return request({
url: '/jcbt/scholarshipClassQuota/list',
method: 'get',
params: query
});
};
/**
* 查询奖学金附件信息
* @param applicationId 申请记录ID
*/
export const listScholarshipAttachment = (applicationId: string | number): AxiosPromise<ScholarshipAttachmentVO[]> => {
return request({
url: '/jcbt/scholarshipAttachment/list',
method: 'get',
params: { applicationId }
});
};
/**
* 审核奖学金申请
* @param id 申请记录ID
* @param auditStatus 审核状态
* @param auditRemark 审核备注
*/
export const auditScholarshipApplication = (id: string | number, auditStatus: string, auditRemark?: string) => {
return request({
url: `/jcbt/scholarshipApplication/${id}/audit`,
method: 'put',
params: {
auditStatus,
auditRemark
}
});
};
/**
* 提交奖学金申请
* @param id 申请记录ID
*/
export const submitScholarshipApplication = (id: string | number) => {
return request({
url: `/jcbt/scholarshipApplication/${id}/submit`,
method: 'put'
});
};
/**
* 撤销奖学金申请
* @param id 申请记录ID
*/
export const revokeScholarshipApplication = (id: string | number) => {
return request({
url: `/jcbt/scholarshipApplication/${id}/revoke`,
method: 'put'
});
};