import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { StglMaterialTaskVO, StglMaterialTaskForm, StglMaterialTaskQuery, StglMaterialSubmissionVO, StglMaterialSubmissionForm, StglMaterialSubmissionQuery } from './types'; /** * 查询材料收集任务列表 */ export function listStglMaterialTask(query: StglMaterialTaskQuery): AxiosPromise { return request({ url: '/stgl/activitymaterial/list', method: 'get', params: query }); } /** * 查询材料收集任务详细 */ export function getStglMaterialTask(id: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/' + id, method: 'get' }); } /** * 新增材料收集任务 */ export function addStglMaterialTask(data: StglMaterialTaskForm) { return request({ url: '/stgl/activitymaterial', method: 'post', data: data }); } /** * 修改材料收集任务 */ export function updateStglMaterialTask(data: StglMaterialTaskForm) { return request({ url: '/stgl/activitymaterial', method: 'put', data: data }); } /** * 删除材料收集任务 */ export function delStglMaterialTask(id: string | number | Array) { return request({ url: '/stgl/activitymaterial/' + id, method: 'delete' }); } /** * 导出材料收集任务 */ export function exportStglMaterialTask(query: StglMaterialTaskQuery) { return request({ url: '/stgl/activitymaterial/export', method: 'post', data: query, responseType: 'blob' }); } /** * 更新任务状态(开启/关闭) */ export function updateTaskStatus(id: string | number, taskStatus: number) { return request({ url: '/stgl/activitymaterial/status', method: 'put', params: { id: id, taskStatus: taskStatus } }); } /** * 查询用户可上传的材料收集任务 */ export function getUploadableTasks(userId: string | number, activityId?: string | number): AxiosPromise { const params: any = { userId }; if (activityId) { params.activityId = activityId; } return request({ url: '/stgl/activitymaterial/uploadable', method: 'get', params: params }); } /** * 验证用户上传权限 */ export function validateUploadPermission(taskId: string | number, userId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/validate', method: 'get', params: { taskId: taskId, userId: userId } }); } /** * 查询活动的材料收集任务 */ export function getTasksByActivityId(activityId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/activity/' + activityId, method: 'get' }); } /** * 更新任务统计信息 */ export function updateTaskStatistics(taskId: string | number) { return request({ url: '/stgl/activitymaterial/statistics/' + taskId, method: 'put' }); } /** * 根据活动名称查询活动选项(用于选择器) */ export function getActivityOptions(activityName?: string): AxiosPromise { return request({ url: '/stgl/activitymaterial/activity/options', method: 'get', params: activityName ? { activityName } : {} }); } // ==================== 材料提交相关API ==================== /** * 查询材料提交记录列表 */ export function listStglMaterialSubmission(query: StglMaterialSubmissionQuery): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/list', method: 'get', params: query }); } /** * 查询材料提交记录详细 */ export function getStglMaterialSubmission(id: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/' + id, method: 'get' }); } /** * 新增材料提交记录 */ export function addStglMaterialSubmission(data: StglMaterialSubmissionForm) { return request({ url: '/stgl/activitymaterial/submission', method: 'post', data: data }); } /** * 修改材料提交记录 */ export function updateStglMaterialSubmission(data: StglMaterialSubmissionForm) { return request({ url: '/stgl/activitymaterial/submission', method: 'put', data: data }); } /** * 删除材料提交记录 */ export function delStglMaterialSubmission(id: string | number | Array) { return request({ url: '/stgl/activitymaterial/submission/' + id, method: 'delete' }); } /** * 导出材料提交记录 */ export function exportStglMaterialSubmission(query: StglMaterialSubmissionQuery) { return request({ url: '/stgl/activitymaterial/submission/export', method: 'post', data: query, responseType: 'blob' }); } /** * 材料上传 */ export function uploadMaterial(data: StglMaterialSubmissionForm) { return request({ url: '/stgl/activitymaterial/submission/upload', method: 'post', data: data }); } /** * 根据任务ID查询提交记录 */ export function getSubmissionsByTaskId(taskId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/task/' + taskId, method: 'get' }); } /** * 查询用户在指定任务的提交记录 */ export function getSubmissionByTaskIdAndUserId(taskId: string | number, userId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/task/' + taskId + '/user/' + userId, method: 'get' }); } /** * 查询团队在指定任务的提交记录 */ export function getSubmissionByTaskIdAndTeamId(taskId: string | number, teamId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/task/' + taskId + '/team/' + teamId, method: 'get' }); } /** * 获取任务的提交统计信息 */ export function getSubmissionStatistics(taskId: string | number): AxiosPromise { return request({ url: '/stgl/activitymaterial/submission/statistics/' + taskId, method: 'get' }); } /** * 审核材料 */ export function reviewSubmission(id: string | number, reviewStatus: number, reviewRemark?: string) { const params: any = { reviewStatus: reviewStatus }; if (reviewRemark) { params.reviewRemark = reviewRemark; } return request({ url: '/stgl/activitymaterial/submission/review/' + id, method: 'put', params: params }); } /** * 批量审核材料 */ export function batchReviewSubmissions(ids: string, reviewStatus: number, reviewRemark?: string) { const params: any = { ids: ids, reviewStatus: reviewStatus }; if (reviewRemark) { params.reviewRemark = reviewRemark; } return request({ url: '/stgl/activitymaterial/submission/review/batch', method: 'put', params: params }); }