0823
This commit is contained in:
1 parent
e5029688e5
commit
0db0a99c85
288 files changed
+41335
-11400
No files matched your search
@@ -0,0 +1,140 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglActivityVO, StglActivityForm, StglActivityQuery, ClubOption, ActivityCopyParams, ActivitySummaryParams, ActivityRatingVO } from './types';
|
||||
|
||||
/**
|
||||
* 查询活动信息列表
|
||||
* @param query 查询参数
|
||||
* @returns 活动信息列表
|
||||
*/
|
||||
export const listStglActivity = (query?: StglActivityQuery): AxiosPromise<StglActivityVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询活动信息详细
|
||||
* @param id 活动主键
|
||||
* @returns 活动信息详情
|
||||
*/
|
||||
export const getStglActivity = (id: string | number): AxiosPromise<StglActivityVO> => {
|
||||
return request({
|
||||
url: '/stgl/activity/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增活动信息
|
||||
* @param data 活动信息
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export const addStglActivity = (data: StglActivityForm) => {
|
||||
return request({
|
||||
url: '/stgl/activity',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改活动信息
|
||||
* @param data 活动信息
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export const updateStglActivity = (data: StglActivityForm) => {
|
||||
return request({
|
||||
url: '/stgl/activity',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除活动信息
|
||||
* @param id 活动主键
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export const delStglActivity = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stgl/activity/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出活动信息
|
||||
* @param query 查询参数
|
||||
* @returns 导出文件
|
||||
*/
|
||||
export const exportStglActivity = (query?: StglActivityQuery) => {
|
||||
return request({
|
||||
url: '/stgl/activity/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 复制活动信息
|
||||
* @param params 复制参数
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export const copyStglActivity = (params: ActivityCopyParams) => {
|
||||
return request({
|
||||
url: '/stgl/activity/copy',
|
||||
method: 'post',
|
||||
params: params
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 活动总结
|
||||
* @param params 总结参数
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export const summarizeActivity = (params: ActivitySummaryParams) => {
|
||||
return request({
|
||||
url: '/stgl/activity/summarize',
|
||||
method: 'put',
|
||||
params: params
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询社团选择器选项
|
||||
* @returns 社团选项列表
|
||||
*/
|
||||
export const getClubOptions = (): AxiosPromise<ClubOption[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/club/options',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询志愿者队伍选择器选项
|
||||
* @returns 志愿者队伍选项列表
|
||||
*/
|
||||
export const getVolunteerTeamOptions = (): AxiosPromise<ClubOption[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/volunteer/options',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询活动评分列表
|
||||
* @param activityId 活动ID
|
||||
* @returns 活动评分列表
|
||||
*/
|
||||
export const getActivityRatings = (activityId: string | number): AxiosPromise<ActivityRatingVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/' + activityId + '/ratings',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,650 @@
|
||||
export interface StglActivityVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
activityType?: string;
|
||||
|
||||
/**
|
||||
* 活动主题
|
||||
*/
|
||||
activityTheme?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
location?: string;
|
||||
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 活动海报路径
|
||||
*/
|
||||
posterUrl?: string;
|
||||
|
||||
/**
|
||||
* 关联社团ID
|
||||
*/
|
||||
relatedClubId?: string | number;
|
||||
|
||||
/**
|
||||
* 关联社团名称
|
||||
*/
|
||||
relatedClubName?: string;
|
||||
|
||||
/**
|
||||
* 关联类型(1-社团 2-志愿者队伍)
|
||||
*/
|
||||
relatedType?: number;
|
||||
|
||||
/**
|
||||
* 主办方名称
|
||||
*/
|
||||
organizerName?: string;
|
||||
|
||||
/**
|
||||
* 主办方类型
|
||||
*/
|
||||
organizerType?: string;
|
||||
|
||||
/**
|
||||
* 主办方联系人
|
||||
*/
|
||||
organizerContact?: string;
|
||||
|
||||
/**
|
||||
* 主办方电话
|
||||
*/
|
||||
organizerPhone?: string;
|
||||
|
||||
/**
|
||||
* 承办方信息(JSON格式存储多个承办方)
|
||||
*/
|
||||
coOrganizers?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表(JSON格式)
|
||||
*/
|
||||
instructors?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表(AdvisorManager组件使用)
|
||||
*/
|
||||
advisors?: any[];
|
||||
|
||||
/**
|
||||
* 报名方式(1-个人 2-团队 3-两者均可)
|
||||
*/
|
||||
registrationType?: string;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
registrationStart?: string;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
registrationEnd?: string;
|
||||
|
||||
/**
|
||||
* 报名状态(0-未开始 1-报名中 2-已截止 3-已关闭)
|
||||
*/
|
||||
registrationStatus?: number;
|
||||
|
||||
/**
|
||||
* 总人数上限
|
||||
*/
|
||||
maxParticipants?: number;
|
||||
|
||||
/**
|
||||
* 团队数量上限
|
||||
*/
|
||||
maxTeams?: number;
|
||||
|
||||
/**
|
||||
* 每队最小人数
|
||||
*/
|
||||
teamSizeMin?: number;
|
||||
|
||||
/**
|
||||
* 每队最大人数
|
||||
*/
|
||||
teamSizeMax?: number;
|
||||
|
||||
/**
|
||||
* 是否需要审核(0-无需 1-需要)
|
||||
*/
|
||||
needApproval?: number;
|
||||
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
activityStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否为已办活动
|
||||
*/
|
||||
isFinished?: number;
|
||||
|
||||
/**
|
||||
* 活动总结报告
|
||||
*/
|
||||
summary?: string;
|
||||
|
||||
/**
|
||||
* 活动成果
|
||||
*/
|
||||
achievements?: string;
|
||||
|
||||
/**
|
||||
* 总结报告附件
|
||||
*/
|
||||
summaryAttachments?: string;
|
||||
|
||||
/**
|
||||
* 活动成果附件
|
||||
*/
|
||||
achievementsAttachments?: string;
|
||||
|
||||
/**
|
||||
* 导入来源信息
|
||||
*/
|
||||
importSource?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
createByName?: string;
|
||||
|
||||
/**
|
||||
* 报名人数统计
|
||||
*/
|
||||
registrationCount?: number;
|
||||
|
||||
/**
|
||||
* 平均评分
|
||||
*/
|
||||
averageRating?: number;
|
||||
}
|
||||
|
||||
export interface StglActivityForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
activityType?: string;
|
||||
|
||||
/**
|
||||
* 活动主题
|
||||
*/
|
||||
activityTheme?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
location?: string;
|
||||
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 活动海报路径
|
||||
*/
|
||||
posterUrl?: string;
|
||||
|
||||
/**
|
||||
* 关联社团ID
|
||||
*/
|
||||
relatedClubId?: string | number;
|
||||
|
||||
/**
|
||||
* 关联类型 (1: 社团, 2: 志愿者队伍)
|
||||
*/
|
||||
relatedType?: number;
|
||||
|
||||
/**
|
||||
* 关联对象(用于选择器绑定)
|
||||
*/
|
||||
relatedClub?: ClubOption | null;
|
||||
|
||||
/**
|
||||
* 主办方名称
|
||||
*/
|
||||
organizerName?: string;
|
||||
|
||||
/**
|
||||
* 主办方类型
|
||||
*/
|
||||
organizerType?: string;
|
||||
|
||||
/**
|
||||
* 主办方联系人
|
||||
*/
|
||||
organizerContact?: string;
|
||||
|
||||
/**
|
||||
* 主办方电话
|
||||
*/
|
||||
organizerPhone?: string;
|
||||
|
||||
/**
|
||||
* 承办方信息列表
|
||||
*/
|
||||
coOrganizerList?: CoOrganizerInfo[];
|
||||
|
||||
/**
|
||||
* 承办方信息(JSON格式存储多个承办方)
|
||||
*/
|
||||
coOrganizers?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表
|
||||
*/
|
||||
instructorList?: InstructorInfo[];
|
||||
|
||||
/**
|
||||
* 指导老师列表(JSON格式)
|
||||
*/
|
||||
instructors?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表(AdvisorManager组件使用)
|
||||
*/
|
||||
advisors?: any[];
|
||||
|
||||
/**
|
||||
* 报名方式(1-个人 2-团队 3-两者均可)
|
||||
*/
|
||||
registrationType?: string;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
registrationStart?: string;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
registrationEnd?: string;
|
||||
|
||||
/**
|
||||
* 报名状态(0-未开始 1-报名中 2-已截止 3-已关闭)
|
||||
*/
|
||||
registrationStatus?: number;
|
||||
|
||||
/**
|
||||
* 总人数上限
|
||||
*/
|
||||
maxParticipants?: number;
|
||||
|
||||
/**
|
||||
* 团队数量上限
|
||||
*/
|
||||
maxTeams?: number;
|
||||
|
||||
/**
|
||||
* 每队最小人数
|
||||
*/
|
||||
teamSizeMin?: number;
|
||||
|
||||
/**
|
||||
* 每队最大人数
|
||||
*/
|
||||
teamSizeMax?: number;
|
||||
|
||||
/**
|
||||
* 是否需要审核(0-无需 1-需要)
|
||||
*/
|
||||
needApproval?: number;
|
||||
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
activityStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否为已办活动
|
||||
*/
|
||||
isFinished?: number;
|
||||
|
||||
/**
|
||||
* 活动总结报告
|
||||
*/
|
||||
summary?: string;
|
||||
|
||||
/**
|
||||
* 活动成果
|
||||
*/
|
||||
achievements?: string;
|
||||
|
||||
/**
|
||||
* 总结报告附件
|
||||
*/
|
||||
summaryAttachments?: string;
|
||||
|
||||
/**
|
||||
* 活动成果附件
|
||||
*/
|
||||
achievementsAttachments?: string;
|
||||
|
||||
/**
|
||||
* 导入来源信息
|
||||
*/
|
||||
importSource?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface StglActivityQuery extends PageQuery {
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
activityType?: string;
|
||||
|
||||
/**
|
||||
* 活动主题
|
||||
*/
|
||||
activityTheme?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
location?: string;
|
||||
|
||||
/**
|
||||
* 关联社团ID
|
||||
*/
|
||||
relatedClubId?: string | number;
|
||||
|
||||
/**
|
||||
* 主办方名称
|
||||
*/
|
||||
organizerName?: string;
|
||||
|
||||
/**
|
||||
* 报名方式(1-个人 2-团队 3-两者均可)
|
||||
*/
|
||||
registrationType?: string;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
registrationStart?: string;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
registrationEnd?: string;
|
||||
|
||||
/**
|
||||
* 报名状态(0-未开始 1-报名中 2-已截止 3-已关闭)
|
||||
*/
|
||||
registrationStatus?: number;
|
||||
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
activityStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否为已办活动
|
||||
*/
|
||||
isFinished?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 社团/志愿者队伍选择器选项
|
||||
*/
|
||||
export interface ClubOption {
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
relatedClubId: string | number;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
relatedClubName: string;
|
||||
|
||||
/**
|
||||
* 类型(1-社团 2-志愿者队伍)
|
||||
*/
|
||||
relatedType: number;
|
||||
|
||||
/**
|
||||
* 唯一标识(用于组件对象比较)
|
||||
*/
|
||||
uniqueKey?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 承办方信息
|
||||
*/
|
||||
export interface CoOrganizerInfo {
|
||||
/**
|
||||
* 承办方名称
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 承办方类型
|
||||
*/
|
||||
type?: string;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
contact?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 指导老师信息
|
||||
*/
|
||||
export interface InstructorInfo {
|
||||
/**
|
||||
* 老师姓名
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
dept?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 指导学时
|
||||
*/
|
||||
hours?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动复制参数
|
||||
*/
|
||||
export interface ActivityCopyParams {
|
||||
/**
|
||||
* 源活动ID
|
||||
*/
|
||||
sourceId: string | number;
|
||||
|
||||
/**
|
||||
* 新活动名称
|
||||
*/
|
||||
newActivityName: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动总结参数
|
||||
*/
|
||||
export interface ActivitySummaryParams {
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 总结报告
|
||||
*/
|
||||
summary?: string;
|
||||
|
||||
/**
|
||||
* 活动成果
|
||||
*/
|
||||
achievements?: string;
|
||||
|
||||
/**
|
||||
* 总结报告附件
|
||||
*/
|
||||
summaryAttachments?: string;
|
||||
|
||||
/**
|
||||
* 活动成果附件
|
||||
*/
|
||||
achievementsAttachments?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动评分信息
|
||||
*/
|
||||
export interface ActivityRatingVO {
|
||||
/**
|
||||
* 评分ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 评分人ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 评分人姓名
|
||||
*/
|
||||
userName?: string;
|
||||
|
||||
/**
|
||||
* 评分(1-5分)
|
||||
*/
|
||||
ratingScore: number;
|
||||
|
||||
/**
|
||||
* 评分备注
|
||||
*/
|
||||
ratingComment?: string;
|
||||
|
||||
/**
|
||||
* 评分时间
|
||||
*/
|
||||
ratingTime?: string;
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglActivityAttendanceVO, StglActivityAttendanceForm, StglActivityAttendanceQuery } from './types';
|
||||
|
||||
/**
|
||||
* 查询活动考勤签到列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStglActivityAttendance = (query?: StglActivityAttendanceQuery): AxiosPromise<StglActivityAttendanceVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询活动考勤签到详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStglActivityAttendance = (id: string | number): AxiosPromise<StglActivityAttendanceVO> => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增活动考勤签到
|
||||
* @param data
|
||||
*/
|
||||
export const addStglActivityAttendance = (data: StglActivityAttendanceForm) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改活动考勤签到
|
||||
* @param data
|
||||
*/
|
||||
export const updateStglActivityAttendance = (data: StglActivityAttendanceForm) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除活动考勤签到
|
||||
* @param id
|
||||
*/
|
||||
export const delStglActivityAttendance = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出活动考勤签到
|
||||
* @param query
|
||||
*/
|
||||
export const exportStglActivityAttendance = (query?: StglActivityAttendanceQuery) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询用户已报名成功且进行中的活动列表
|
||||
*/
|
||||
export const getUserAvailableActivities = (): AxiosPromise<StglActivityAttendanceVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/userAvailableActivities',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据活动ID查询当前用户签到记录
|
||||
* @param activityId
|
||||
*/
|
||||
export const getAttendanceByActivity = (activityId: string | number): AxiosPromise<StglActivityAttendanceVO> => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/getByActivityAndUser',
|
||||
method: 'get',
|
||||
params: { activityId }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 用户签到
|
||||
* @param data
|
||||
*/
|
||||
export const signIn = (data: StglActivityAttendanceForm) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/signIn',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 用户签退
|
||||
* @param data
|
||||
*/
|
||||
export const signOut = (data: StglActivityAttendanceForm) => {
|
||||
return request({
|
||||
url: '/stgl/activityAttendance/signOut',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,332 @@
|
||||
export interface StglActivityAttendanceVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID(关联stgl_activity表)
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID(关联sys_user表)
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 签到时间
|
||||
*/
|
||||
signInTime: string;
|
||||
|
||||
/**
|
||||
* 签到状态(0-未签到 1-已签到)
|
||||
*/
|
||||
signInStatus: number;
|
||||
|
||||
/**
|
||||
* 签到地点
|
||||
*/
|
||||
signInLocation: string;
|
||||
|
||||
/**
|
||||
* 签到设备信息
|
||||
*/
|
||||
signInDevice: string;
|
||||
|
||||
/**
|
||||
* 签到备注
|
||||
*/
|
||||
signInRemark: string;
|
||||
|
||||
/**
|
||||
* 签退时间
|
||||
*/
|
||||
signOutTime: string;
|
||||
|
||||
/**
|
||||
* 签退状态(0-未签退 1-已签退)
|
||||
*/
|
||||
signOutStatus: number;
|
||||
|
||||
/**
|
||||
* 签退地点
|
||||
*/
|
||||
signOutLocation: string;
|
||||
|
||||
/**
|
||||
* 签退设备信息
|
||||
*/
|
||||
signOutDevice: string;
|
||||
|
||||
/**
|
||||
* 签退备注
|
||||
*/
|
||||
signOutRemark: string;
|
||||
|
||||
/**
|
||||
* 签到状态(0-未签到 1-已签到 2-已签退)
|
||||
*/
|
||||
overallStatus: number;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy: string | number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
|
||||
// ===== 关联查询字段 =====
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
activityType: string;
|
||||
|
||||
/**
|
||||
* 活动主题
|
||||
*/
|
||||
activityTheme: string;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
location: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime: string;
|
||||
|
||||
/**
|
||||
* 记录时间(根据签到状态取sign_in_time或sign_out_time)
|
||||
*/
|
||||
recordTime: string;
|
||||
}
|
||||
|
||||
export interface StglActivityAttendanceForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID(关联stgl_activity表)
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID(关联sys_user表)
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 签到时间
|
||||
*/
|
||||
signInTime?: string;
|
||||
|
||||
/**
|
||||
* 签到状态(0-未签到 1-已签到)
|
||||
*/
|
||||
signInStatus?: number;
|
||||
|
||||
/**
|
||||
* 签到地点
|
||||
*/
|
||||
signInLocation?: string;
|
||||
|
||||
/**
|
||||
* 签到设备信息
|
||||
*/
|
||||
signInDevice?: string;
|
||||
|
||||
/**
|
||||
* 签到备注
|
||||
*/
|
||||
signInRemark?: string;
|
||||
|
||||
/**
|
||||
* 签退时间
|
||||
*/
|
||||
signOutTime?: string;
|
||||
|
||||
/**
|
||||
* 签退状态(0-未签退 1-已签退)
|
||||
*/
|
||||
signOutStatus?: number;
|
||||
|
||||
/**
|
||||
* 签退地点
|
||||
*/
|
||||
signOutLocation?: string;
|
||||
|
||||
/**
|
||||
* 签退设备信息
|
||||
*/
|
||||
signOutDevice?: string;
|
||||
|
||||
/**
|
||||
* 签退备注
|
||||
*/
|
||||
signOutRemark?: string;
|
||||
|
||||
/**
|
||||
* 签到状态(0-未签到 1-已签到 2-已签退)
|
||||
*/
|
||||
overallStatus?: number;
|
||||
}
|
||||
|
||||
export interface StglActivityAttendanceQuery {
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
pageNum?: number;
|
||||
|
||||
/**
|
||||
* 每页大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
/**
|
||||
* 活动ID(关联stgl_activity表)
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 用户ID(关联sys_user表)
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 签到状态(0-未签到 1-已签到 2-已签退)
|
||||
*/
|
||||
overallStatus?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
@@ -0,0 +1,302 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
StglMaterialTaskVO,
|
||||
StglMaterialTaskForm,
|
||||
StglMaterialTaskQuery,
|
||||
StglMaterialSubmissionVO,
|
||||
StglMaterialSubmissionForm,
|
||||
StglMaterialSubmissionQuery
|
||||
} from './types';
|
||||
|
||||
/**
|
||||
* 查询材料收集任务列表
|
||||
*/
|
||||
export function listStglMaterialTask(query: StglMaterialTaskQuery): AxiosPromise<StglMaterialTaskVO[]> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询材料收集任务详细
|
||||
*/
|
||||
export function getStglMaterialTask(id: string | number): AxiosPromise<StglMaterialTaskVO> {
|
||||
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<string | number>) {
|
||||
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<StglMaterialTaskVO[]> {
|
||||
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<boolean> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/validate',
|
||||
method: 'get',
|
||||
params: {
|
||||
taskId: taskId,
|
||||
userId: userId
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询活动的材料收集任务
|
||||
*/
|
||||
export function getTasksByActivityId(activityId: string | number): AxiosPromise<StglMaterialTaskVO[]> {
|
||||
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<StglMaterialTaskVO[]> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/activity/options',
|
||||
method: 'get',
|
||||
params: activityName ? { activityName } : {}
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 材料提交相关API ====================
|
||||
|
||||
/**
|
||||
* 查询材料提交记录列表
|
||||
*/
|
||||
export function listStglMaterialSubmission(query: StglMaterialSubmissionQuery): AxiosPromise<StglMaterialSubmissionVO[]> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/submission/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询材料提交记录详细
|
||||
*/
|
||||
export function getStglMaterialSubmission(id: string | number): AxiosPromise<StglMaterialSubmissionVO> {
|
||||
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<string | number>) {
|
||||
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<StglMaterialSubmissionVO[]> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/submission/task/' + taskId,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户在指定任务的提交记录
|
||||
*/
|
||||
export function getSubmissionByTaskIdAndUserId(taskId: string | number, userId: string | number): AxiosPromise<StglMaterialSubmissionVO> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/submission/task/' + taskId + '/user/' + userId,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询团队在指定任务的提交记录
|
||||
*/
|
||||
export function getSubmissionByTaskIdAndTeamId(taskId: string | number, teamId: string | number): AxiosPromise<StglMaterialSubmissionVO> {
|
||||
return request({
|
||||
url: '/stgl/activitymaterial/submission/task/' + taskId + '/team/' + teamId,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务的提交统计信息
|
||||
*/
|
||||
export function getSubmissionStatistics(taskId: string | number): AxiosPromise<any> {
|
||||
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
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,536 @@
|
||||
export interface StglMaterialTaskVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 关联活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
taskName: string;
|
||||
|
||||
/**
|
||||
* 收集类型(多选,逗号分隔)
|
||||
*/
|
||||
collectionTypes: string;
|
||||
|
||||
/**
|
||||
* 收集类型显示名称
|
||||
*/
|
||||
collectionTypesDisplay: string;
|
||||
|
||||
/**
|
||||
* 任务描述
|
||||
*/
|
||||
taskDescription: string;
|
||||
|
||||
/**
|
||||
* 任务状态(1-开启 0-关闭)
|
||||
*/
|
||||
taskStatus: number;
|
||||
|
||||
/**
|
||||
* 任务状态显示名称
|
||||
*/
|
||||
taskStatusDisplay: string;
|
||||
|
||||
/**
|
||||
* 截止时间
|
||||
*/
|
||||
deadline: string;
|
||||
|
||||
/**
|
||||
* 收集轮次
|
||||
*/
|
||||
roundNumber: number;
|
||||
|
||||
/**
|
||||
* 文件大小限制(MB)
|
||||
*/
|
||||
fileSizeLimit: number;
|
||||
|
||||
/**
|
||||
* 文件数量限制
|
||||
*/
|
||||
fileCountLimit: number;
|
||||
|
||||
/**
|
||||
* 允许的文件类型
|
||||
*/
|
||||
allowedFileTypes: string;
|
||||
|
||||
/**
|
||||
* 总参与人数
|
||||
*/
|
||||
totalParticipants: number;
|
||||
|
||||
/**
|
||||
* 已提交人数
|
||||
*/
|
||||
submittedCount: number;
|
||||
|
||||
/**
|
||||
* 待提交人数
|
||||
*/
|
||||
pendingCount: number;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy: string | number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
createByName: string;
|
||||
}
|
||||
|
||||
export interface StglMaterialTaskForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 关联活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
taskName: string;
|
||||
|
||||
/**
|
||||
* 收集类型(多选,逗号分隔)
|
||||
*/
|
||||
collectionTypes: string;
|
||||
|
||||
/**
|
||||
* 任务描述
|
||||
*/
|
||||
taskDescription: string;
|
||||
|
||||
/**
|
||||
* 任务状态(1-开启 0-关闭)
|
||||
*/
|
||||
taskStatus?: number;
|
||||
|
||||
/**
|
||||
* 截止时间
|
||||
*/
|
||||
deadline: string;
|
||||
|
||||
/**
|
||||
* 收集轮次
|
||||
*/
|
||||
roundNumber?: number;
|
||||
|
||||
/**
|
||||
* 文件大小限制(MB)
|
||||
*/
|
||||
fileSizeLimit: number;
|
||||
|
||||
/**
|
||||
* 文件数量限制
|
||||
*/
|
||||
fileCountLimit: number;
|
||||
|
||||
/**
|
||||
* 允许的文件类型
|
||||
*/
|
||||
allowedFileTypes?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface StglMaterialTaskQuery {
|
||||
/**
|
||||
* 分页页码
|
||||
*/
|
||||
pageNum?: number;
|
||||
|
||||
/**
|
||||
* 分页大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
/**
|
||||
* 关联活动ID
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
taskName?: string;
|
||||
|
||||
/**
|
||||
* 收集类型
|
||||
*/
|
||||
collectionTypes?: string;
|
||||
|
||||
/**
|
||||
* 任务状态(1-开启 0-关闭)
|
||||
*/
|
||||
taskStatus?: number;
|
||||
|
||||
/**
|
||||
* 截止时间开始
|
||||
*/
|
||||
deadlineStart?: string;
|
||||
|
||||
/**
|
||||
* 截止时间结束
|
||||
*/
|
||||
deadlineEnd?: string;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
creatorName?: string;
|
||||
|
||||
/**
|
||||
* 时间范围参数(用于日期筛选)
|
||||
*/
|
||||
params?: Record<string, any>;
|
||||
}
|
||||
|
||||
export interface StglMaterialSubmissionVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 收集任务ID
|
||||
*/
|
||||
taskId: string | number;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
taskName: string;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 提交类型(1-个人 2-团队)
|
||||
*/
|
||||
submissionType: number;
|
||||
|
||||
/**
|
||||
* 提交类型显示名称
|
||||
*/
|
||||
submissionTypeDisplay: string;
|
||||
|
||||
/**
|
||||
* 团队ID
|
||||
*/
|
||||
teamId: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName: string;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
contentText: string;
|
||||
|
||||
/**
|
||||
* 附件路径(JSON格式)
|
||||
*/
|
||||
fileUrls: string;
|
||||
|
||||
/**
|
||||
* 图片路径(JSON格式)
|
||||
*/
|
||||
imageUrls: string;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
submissionTime: string;
|
||||
|
||||
/**
|
||||
* 提交轮次
|
||||
*/
|
||||
roundNumber: number;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
reviewStatus: number;
|
||||
|
||||
/**
|
||||
* 审核状态显示名称
|
||||
*/
|
||||
reviewStatusDisplay: string;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
reviewTime: string;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
reviewBy: string | number;
|
||||
|
||||
/**
|
||||
* 审核人姓名
|
||||
*/
|
||||
reviewByName: string;
|
||||
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
reviewRemark: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy: string | number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
}
|
||||
|
||||
export interface StglMaterialSubmissionForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 收集任务ID
|
||||
*/
|
||||
taskId: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 提交类型(1-个人 2-团队)
|
||||
*/
|
||||
submissionType: number;
|
||||
|
||||
/**
|
||||
* 团队ID
|
||||
*/
|
||||
teamId?: string | number;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
contentText?: string;
|
||||
|
||||
/**
|
||||
* 附件路径(JSON格式)
|
||||
*/
|
||||
fileUrls?: string;
|
||||
|
||||
/**
|
||||
* 图片路径(JSON格式)
|
||||
*/
|
||||
imageUrls?: string;
|
||||
|
||||
/**
|
||||
* 提交轮次
|
||||
*/
|
||||
roundNumber?: number;
|
||||
}
|
||||
|
||||
export interface StglMaterialSubmissionQuery {
|
||||
/**
|
||||
* 分页页码
|
||||
*/
|
||||
pageNum?: number;
|
||||
|
||||
/**
|
||||
* 分页大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
/**
|
||||
* 收集任务ID
|
||||
*/
|
||||
taskId?: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 提交类型(1-个人 2-团队)
|
||||
*/
|
||||
submissionType?: number;
|
||||
|
||||
/**
|
||||
* 团队ID
|
||||
*/
|
||||
teamId?: string | number;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
reviewStatus?: number;
|
||||
|
||||
/**
|
||||
* 提交轮次
|
||||
*/
|
||||
roundNumber?: number;
|
||||
|
||||
/**
|
||||
* 时间范围参数(用于日期筛选)
|
||||
*/
|
||||
params?: Record<string, any>;
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动选项类型(用于选择器)
|
||||
*/
|
||||
export interface ActivityOption {
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
activityStatus: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 材料类型选项(用于多选)
|
||||
*/
|
||||
export interface MaterialTypeOption {
|
||||
/**
|
||||
* 类型值
|
||||
*/
|
||||
value: string;
|
||||
|
||||
/**
|
||||
* 类型标签
|
||||
*/
|
||||
label: string;
|
||||
|
||||
/**
|
||||
* 是否选中
|
||||
*/
|
||||
checked?: boolean;
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglActivityRegistrationVo, StglActivityRegistrationBo, StglActivityRegistrationForm } from './types';
|
||||
|
||||
/**
|
||||
* 查询活动报名管理列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listActivityRegister = (query?: any): AxiosPromise<StglActivityRegistrationVo[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/register/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询活动报名管理详细
|
||||
* @param id
|
||||
*/
|
||||
export const getActivityRegister = (id: string | number): AxiosPromise<StglActivityRegistrationVo> => {
|
||||
return request({
|
||||
url: '/stgl/activity/register/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增活动报名管理
|
||||
* @param data
|
||||
*/
|
||||
export const addActivityRegister = (data: StglActivityRegistrationForm) => {
|
||||
return request({
|
||||
url: '/stgl/activity/register',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改活动报名管理
|
||||
* @param data
|
||||
*/
|
||||
export const updateActivityRegister = (data: StglActivityRegistrationForm) => {
|
||||
return request({
|
||||
url: '/stgl/activity/register',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除活动报名管理
|
||||
* @param id
|
||||
*/
|
||||
export const delActivityRegister = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stgl/activity/register/' + id,
|
||||
method: 'delete',
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 审核活动报名
|
||||
* @param id 报名ID
|
||||
* @param approvalStatus 审核状态 1-通过 2-驳回
|
||||
* @param approvalRemark 审核意见
|
||||
*/
|
||||
export const approveActivityRegister = (id: string | number, approvalStatus: number, approvalRemark?: string) => {
|
||||
return request({
|
||||
url: `/stgl/activity/register/approve/${id}`,
|
||||
method: 'post',
|
||||
params: {
|
||||
approvalStatus,
|
||||
approvalRemark,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量审核活动报名
|
||||
* @param ids 报名ID数组
|
||||
* @param approvalStatus 审核状态 1-通过 2-驳回
|
||||
* @param approvalRemark 审核意见
|
||||
*/
|
||||
export const batchApproveActivityRegister = (ids: Array<string | number>, approvalStatus: number, approvalRemark?: string) => {
|
||||
return request({
|
||||
url: '/stgl/activity/register/batchApprove',
|
||||
method: 'post',
|
||||
data: {
|
||||
ids,
|
||||
approvalStatus,
|
||||
approvalRemark,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出活动报名管理
|
||||
* @param query 查询参数
|
||||
* @returns 导出文件
|
||||
*/
|
||||
export const exportActivityRegister = (query?: any) => {
|
||||
return request({
|
||||
url: '/stgl/activity/register/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 录入活动报名成绩
|
||||
* @param id 报名ID
|
||||
* @param score 成绩内容
|
||||
*/
|
||||
export const recordActivityScore = (id: string | number, score: string) => {
|
||||
return request({
|
||||
url: `/stgl/activity/register/score/${id}`,
|
||||
method: 'post',
|
||||
params: {
|
||||
score,
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,344 @@
|
||||
export interface StglActivityRegistrationVo {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType: number;
|
||||
|
||||
/**
|
||||
* 团队ID(团队报名时)
|
||||
*/
|
||||
teamId: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName: string;
|
||||
|
||||
/**
|
||||
* 报名时间
|
||||
*/
|
||||
registrationTime: string;
|
||||
|
||||
/**
|
||||
* 申请理由(非必填)
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
approvalStatus: number;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
approvalTime: string;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
approvalBy: string | number;
|
||||
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
approvalRemark: string;
|
||||
|
||||
/**
|
||||
* 获得成绩
|
||||
*/
|
||||
score: string;
|
||||
|
||||
/**
|
||||
* 成绩录入时间
|
||||
*/
|
||||
scoreTime: string;
|
||||
|
||||
/**
|
||||
* 成绩录入人
|
||||
*/
|
||||
scoreBy: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
}
|
||||
|
||||
export interface StglActivityRegistrationBo {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType?: number;
|
||||
|
||||
/**
|
||||
* 团队ID(团队报名时)
|
||||
*/
|
||||
teamId?: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName?: string;
|
||||
|
||||
/**
|
||||
* 申请理由(非必填)
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
approvalStatus?: number;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
approvalTime?: string;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
approvalBy?: string | number;
|
||||
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
approvalRemark?: string;
|
||||
|
||||
/**
|
||||
* 获得成绩
|
||||
*/
|
||||
score?: string;
|
||||
|
||||
/**
|
||||
* 成绩录入人
|
||||
*/
|
||||
scoreBy?: string | number;
|
||||
}
|
||||
|
||||
export interface StglActivityRegistrationForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType: number;
|
||||
|
||||
/**
|
||||
* 团队ID(团队报名时)
|
||||
*/
|
||||
teamId?: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName?: string;
|
||||
|
||||
/**
|
||||
* 申请理由(非必填)
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
approvalStatus?: number;
|
||||
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
approvalRemark?: string;
|
||||
|
||||
/**
|
||||
* 获得成绩
|
||||
*/
|
||||
score?: string;
|
||||
}
|
||||
|
||||
export interface StglActivityRegistrationQuery extends PageQuery {
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId?: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType?: string;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName?: string;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
approvalStatus?: string;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
export interface TeamMemberInfo {
|
||||
/**
|
||||
* 成员姓名
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 是否为负责人
|
||||
*/
|
||||
isLeader?: boolean;
|
||||
}
|
||||
|
||||
export interface PageQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglActivityVo, StglActivityRegistrationVo, StglActivityRegistrationForm } from './types';
|
||||
|
||||
/**
|
||||
* 查询可报名活动列表(仅显示报名状态为0和1的活动)
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listRegistrableActivities = (query?: any): AxiosPromise<StglActivityVo[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/registerhall/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取活动详细信息
|
||||
* @param id
|
||||
*/
|
||||
export const getActivityDetail = (id: string | number): AxiosPromise<StglActivityVo> => {
|
||||
return request({
|
||||
url: '/stgl/activity/registerhall/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 学生报名活动
|
||||
* @param data
|
||||
*/
|
||||
export const registerActivity = (data: StglActivityRegistrationForm) => {
|
||||
return request({
|
||||
url: '/stgl/activity/registerhall/register',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 检查用户是否已报名某活动
|
||||
* @param activityId
|
||||
*/
|
||||
export const checkRegistration = (activityId: string | number): AxiosPromise<boolean> => {
|
||||
return request({
|
||||
url: `/stgl/activity/registerhall/checkRegistration/${activityId}`,
|
||||
method: 'get',
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取用户的报名记录
|
||||
* @param query
|
||||
*/
|
||||
export const getMyRegistrations = (query?: any): AxiosPromise<StglActivityRegistrationVo[]> => {
|
||||
return request({
|
||||
url: '/stgl/activity/registerhall/myRegistrations',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,425 @@
|
||||
// 活动相关类型定义
|
||||
export interface StglActivityVo {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 活动类型
|
||||
*/
|
||||
activityType: string;
|
||||
|
||||
/**
|
||||
* 活动主题
|
||||
*/
|
||||
activityTheme: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime: string;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
location: string;
|
||||
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* 活动海报路径
|
||||
*/
|
||||
posterUrl: string;
|
||||
|
||||
/**
|
||||
* 关联社团ID
|
||||
*/
|
||||
relatedClubId: string | number;
|
||||
|
||||
/**
|
||||
* 关联社团名称
|
||||
*/
|
||||
relatedClubName?: string;
|
||||
|
||||
/**
|
||||
* 关联类型(1-社团 2-志愿者队伍)
|
||||
*/
|
||||
relatedType?: number;
|
||||
|
||||
/**
|
||||
* 主办方名称
|
||||
*/
|
||||
organizerName: string;
|
||||
|
||||
/**
|
||||
* 主办方类型
|
||||
*/
|
||||
organizerType: string;
|
||||
|
||||
/**
|
||||
* 主办方联系人
|
||||
*/
|
||||
organizerContact: string;
|
||||
|
||||
/**
|
||||
* 主办方电话
|
||||
*/
|
||||
organizerPhone: string;
|
||||
|
||||
/**
|
||||
* 承办方信息(JSON格式存储多个承办方)
|
||||
*/
|
||||
coOrganizers: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表(JSON格式)
|
||||
*/
|
||||
instructors: string;
|
||||
|
||||
/**
|
||||
* 报名方式(1-个人 2-团队 3-两者均可)
|
||||
*/
|
||||
registrationType: number;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
registrationStart: string;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
registrationEnd: string;
|
||||
|
||||
/**
|
||||
* 报名状态(0-未开始 1-报名中 2-已截止 3-已关闭)
|
||||
*/
|
||||
registrationStatus: number;
|
||||
|
||||
/**
|
||||
* 总人数上限
|
||||
*/
|
||||
maxParticipants: number;
|
||||
|
||||
/**
|
||||
* 团队数量上限
|
||||
*/
|
||||
maxTeams: number;
|
||||
|
||||
/**
|
||||
* 每队最小人数
|
||||
*/
|
||||
teamSizeMin: number;
|
||||
|
||||
/**
|
||||
* 每队最大人数
|
||||
*/
|
||||
teamSizeMax: number;
|
||||
|
||||
/**
|
||||
* 是否需要审核(0-无需 1-需要)
|
||||
*/
|
||||
needApproval: number;
|
||||
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
activityStatus: string;
|
||||
|
||||
/**
|
||||
* 是否为已办活动
|
||||
*/
|
||||
isFinished: number;
|
||||
|
||||
/**
|
||||
* 活动总结报告
|
||||
*/
|
||||
summary: string;
|
||||
|
||||
/**
|
||||
* 活动成果
|
||||
*/
|
||||
achievements: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
createByName?: string;
|
||||
|
||||
/**
|
||||
* 报名人数统计
|
||||
*/
|
||||
registrationCount?: number;
|
||||
|
||||
/**
|
||||
* 平均评分
|
||||
*/
|
||||
averageRating?: number;
|
||||
}
|
||||
|
||||
// 活动报名相关类型定义
|
||||
export interface StglActivityRegistrationVo {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 活动名称
|
||||
*/
|
||||
activityName: string;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType: number;
|
||||
|
||||
/**
|
||||
* 团队ID(团队报名时)
|
||||
*/
|
||||
teamId: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName: string;
|
||||
|
||||
/**
|
||||
* 报名时间
|
||||
*/
|
||||
registrationTime: string;
|
||||
|
||||
/**
|
||||
* 申请理由(非必填)
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 审核状态(0-待审核 1-通过 2-驳回)
|
||||
*/
|
||||
approvalStatus: number;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
approvalTime: string;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
approvalBy: string | number;
|
||||
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
approvalRemark: string;
|
||||
|
||||
/**
|
||||
* 获得成绩
|
||||
*/
|
||||
score: string;
|
||||
|
||||
/**
|
||||
* 成绩录入时间
|
||||
*/
|
||||
scoreTime: string;
|
||||
|
||||
/**
|
||||
* 成绩录入人
|
||||
*/
|
||||
scoreBy: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string;
|
||||
}
|
||||
|
||||
export interface StglActivityRegistrationForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
activityId: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 报名类型(1-个人 2-团队)
|
||||
*/
|
||||
registrationType: number;
|
||||
|
||||
/**
|
||||
* 团队ID(团队报名时)
|
||||
*/
|
||||
teamId?: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
teamName?: string;
|
||||
|
||||
/**
|
||||
* 申请理由(非必填)
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 团队成员信息(用于团队报名)
|
||||
*/
|
||||
teamMembers?: TeamMemberInfo[];
|
||||
|
||||
/**
|
||||
* 团队描述
|
||||
*/
|
||||
teamDescription?: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
}
|
||||
|
||||
// 团队成员信息
|
||||
export interface TeamMemberInfo {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 是否为队长(0-否 1-是)
|
||||
*/
|
||||
isLeader: number;
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglClubVO, StglClubForm, StglClubQuery } from '@/api/stgl/club/types';
|
||||
|
||||
/**
|
||||
* 查询社团信息列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listStglClub = (query?: StglClubQuery): AxiosPromise<StglClubVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/club/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询社团信息详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStglClub = (id: string | number): AxiosPromise<StglClubVO> => {
|
||||
return request({
|
||||
url: '/stgl/club/' + id,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增社团信息
|
||||
* @param data
|
||||
*/
|
||||
export const addStglClub = (data: StglClubForm) => {
|
||||
return request({
|
||||
url: '/stgl/club',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改社团信息
|
||||
* @param data
|
||||
*/
|
||||
export const updateStglClub = (data: StglClubForm) => {
|
||||
return request({
|
||||
url: '/stgl/club',
|
||||
method: 'put',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除社团信息
|
||||
* @param id
|
||||
*/
|
||||
export const delStglClub = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stgl/club/' + id,
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取社团类型选项
|
||||
*/
|
||||
export const getClubTypeOptions = (): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
url: '/stgl/club/typeOptions',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 社团转让
|
||||
* @param id 社团ID
|
||||
* @param newPresidentUserId 新社长用户ID
|
||||
*/
|
||||
export const transferClub = (id: string | number, newPresidentUserId: number) => {
|
||||
return request({
|
||||
url: `/stgl/club/transfer/${id}`,
|
||||
method: 'post',
|
||||
params: {
|
||||
newPresidentUserId: newPresidentUserId
|
||||
},
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 验证当前用户是否为社团社长
|
||||
* @param id 社团ID
|
||||
*/
|
||||
export const checkPresidentRole = (id: string | number) => {
|
||||
return request({
|
||||
url: `/stgl/club/checkPresident/${id}`,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,415 @@
|
||||
import { StudentVO } from '@/api/xg/student/types';
|
||||
import { TeacherVO } from '@/api/system/teacher/types';
|
||||
import { VicePresidentVO } from '@/components/VicePresidentManager/index.vue';
|
||||
import { AdvisorVO } from '@/components/AdvisorManager/index.vue';
|
||||
|
||||
export interface StglClubVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName: string;
|
||||
|
||||
/**
|
||||
* 社团类型
|
||||
*/
|
||||
clubType: string;
|
||||
|
||||
/**
|
||||
* 成立日期
|
||||
*/
|
||||
establishDate: string;
|
||||
|
||||
/**
|
||||
* 社团简介
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* logo图片路径
|
||||
*/
|
||||
logoUrl: string;
|
||||
|
||||
/**
|
||||
* 社长信息对象
|
||||
*/
|
||||
presidentStudent: StudentVO;
|
||||
|
||||
/**
|
||||
* 社长姓名
|
||||
*/
|
||||
presidentName: string;
|
||||
|
||||
/**
|
||||
* 社长学号
|
||||
*/
|
||||
presidentStudentNo: string;
|
||||
|
||||
/**
|
||||
* 社长院系
|
||||
*/
|
||||
presidentDept: string;
|
||||
|
||||
/**
|
||||
* 社长专业
|
||||
*/
|
||||
presidentMajor: string;
|
||||
|
||||
/**
|
||||
* 社长班级
|
||||
*/
|
||||
presidentClass: string;
|
||||
|
||||
/**
|
||||
* 社长联系方式
|
||||
*/
|
||||
presidentPhone: string;
|
||||
|
||||
/**
|
||||
* 副社长列表
|
||||
*/
|
||||
vicePresidents: VicePresidentVO[];
|
||||
|
||||
/**
|
||||
* 副社长姓名(兼容旧版本)
|
||||
*/
|
||||
vicePresidentName: string;
|
||||
|
||||
/**
|
||||
* 副社长学号(兼容旧版本)
|
||||
*/
|
||||
vicePresidentStudentNo: string;
|
||||
|
||||
/**
|
||||
* 副社长院系(兼容旧版本)
|
||||
*/
|
||||
vicePresidentDept: string;
|
||||
|
||||
/**
|
||||
* 副社长专业(兼容旧版本)
|
||||
*/
|
||||
vicePresidentMajor: string;
|
||||
|
||||
/**
|
||||
* 副社长班级(兼容旧版本)
|
||||
*/
|
||||
vicePresidentClass: string;
|
||||
|
||||
/**
|
||||
* 副社长联系方式(兼容旧版本)
|
||||
*/
|
||||
vicePresidentPhone: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表
|
||||
*/
|
||||
advisors: AdvisorVO[];
|
||||
|
||||
/**
|
||||
* 指导老师姓名(兼容旧版本)
|
||||
*/
|
||||
advisorName: string;
|
||||
|
||||
/**
|
||||
* 指导老师所属院系(兼容旧版本)
|
||||
*/
|
||||
advisorDept: string;
|
||||
|
||||
/**
|
||||
* 指导老师联系电话(兼容旧版本)
|
||||
*/
|
||||
advisorPhone: string;
|
||||
|
||||
/**
|
||||
* 指导老师邮箱(兼容旧版本)
|
||||
*/
|
||||
advisorEmail: string;
|
||||
|
||||
/**
|
||||
* 副社长列表JSON格式存储
|
||||
*/
|
||||
vicePresidentsJson?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表JSON格式存储
|
||||
*/
|
||||
advisorsJson?: string;
|
||||
|
||||
/**
|
||||
* 成员规模上限
|
||||
*/
|
||||
memberLimit: number;
|
||||
|
||||
/**
|
||||
* 组织架构
|
||||
*/
|
||||
departments: string;
|
||||
|
||||
/**
|
||||
* 招新周期
|
||||
*/
|
||||
recruitCycle: string;
|
||||
|
||||
/**
|
||||
* 招新时间
|
||||
*/
|
||||
recruitTime: string;
|
||||
|
||||
/**
|
||||
* 活动频率
|
||||
*/
|
||||
activityFrequency: string;
|
||||
|
||||
/**
|
||||
* 经费来源(多选数组)
|
||||
*/
|
||||
fundingSources: string[];
|
||||
|
||||
/**
|
||||
* 章程文档路径
|
||||
*/
|
||||
charterUrl: string;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 当前成员数量
|
||||
*/
|
||||
memberCount: number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
}
|
||||
|
||||
export interface StglClubForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName?: string;
|
||||
|
||||
/**
|
||||
* 社团类型
|
||||
*/
|
||||
clubType?: string;
|
||||
|
||||
/**
|
||||
* 成立日期
|
||||
*/
|
||||
establishDate?: string;
|
||||
|
||||
/**
|
||||
* 社团简介
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* logo图片路径
|
||||
*/
|
||||
logoUrl?: string;
|
||||
|
||||
/**
|
||||
* 社长信息对象
|
||||
*/
|
||||
presidentStudent?: StudentVO | null;
|
||||
|
||||
/**
|
||||
* 社长姓名
|
||||
*/
|
||||
presidentName?: string;
|
||||
|
||||
/**
|
||||
* 社长学号
|
||||
*/
|
||||
presidentStudentNo?: string;
|
||||
|
||||
/**
|
||||
* 社长院系
|
||||
*/
|
||||
presidentDept?: string;
|
||||
|
||||
/**
|
||||
* 社长专业
|
||||
*/
|
||||
presidentMajor?: string;
|
||||
|
||||
/**
|
||||
* 社长班级
|
||||
*/
|
||||
presidentClass?: string;
|
||||
|
||||
/**
|
||||
* 社长联系方式
|
||||
*/
|
||||
presidentPhone?: string;
|
||||
|
||||
/**
|
||||
* 副社长列表
|
||||
*/
|
||||
vicePresidents?: VicePresidentVO[];
|
||||
|
||||
/**
|
||||
* 副社长姓名(兼容旧版本)
|
||||
*/
|
||||
vicePresidentName?: string;
|
||||
|
||||
/**
|
||||
* 副社长学号(兼容旧版本)
|
||||
*/
|
||||
vicePresidentStudentNo?: string;
|
||||
|
||||
/**
|
||||
* 副社长院系(兼容旧版本)
|
||||
*/
|
||||
vicePresidentDept?: string;
|
||||
|
||||
/**
|
||||
* 副社长专业(兼容旧版本)
|
||||
*/
|
||||
vicePresidentMajor?: string;
|
||||
|
||||
/**
|
||||
* 副社长班级(兼容旧版本)
|
||||
*/
|
||||
vicePresidentClass?: string;
|
||||
|
||||
/**
|
||||
* 副社长联系方式(兼容旧版本)
|
||||
*/
|
||||
vicePresidentPhone?: string;
|
||||
|
||||
/**
|
||||
* 指导老师列表
|
||||
*/
|
||||
advisors?: AdvisorVO[];
|
||||
|
||||
/**
|
||||
* 指导老师姓名(兼容旧版本)
|
||||
*/
|
||||
advisorName?: string;
|
||||
|
||||
/**
|
||||
* 指导老师所属院系(兼容旧版本)
|
||||
*/
|
||||
advisorDept?: string;
|
||||
|
||||
/**
|
||||
* 指导老师联系电话(兼容旧版本)
|
||||
*/
|
||||
advisorPhone?: string;
|
||||
|
||||
/**
|
||||
* 指导老师邮箱(兼容旧版本)
|
||||
*/
|
||||
advisorEmail?: string;
|
||||
|
||||
/**
|
||||
* 成员规模上限
|
||||
*/
|
||||
memberLimit?: number;
|
||||
|
||||
/**
|
||||
* 组织架构
|
||||
*/
|
||||
departments?: string;
|
||||
|
||||
/**
|
||||
* 招新周期
|
||||
*/
|
||||
recruitCycle?: string;
|
||||
|
||||
/**
|
||||
* 招新时间
|
||||
*/
|
||||
recruitTime?: string;
|
||||
|
||||
/**
|
||||
* 活动频率
|
||||
*/
|
||||
activityFrequency?: string;
|
||||
|
||||
/**
|
||||
* 经费来源(多选数组)
|
||||
*/
|
||||
fundingSources?: string[];
|
||||
|
||||
/**
|
||||
* 章程文档路径
|
||||
*/
|
||||
charterUrl?: string;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 当前成员数量
|
||||
*/
|
||||
memberCount?: number;
|
||||
}
|
||||
|
||||
export interface StglClubQuery extends PageQuery {
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName?: string;
|
||||
|
||||
/**
|
||||
* 社团类型
|
||||
*/
|
||||
clubType?: string;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglMemberVO, StglMemberForm, StglMemberQuery } from '@/api/stgl/member/types';
|
||||
|
||||
/**
|
||||
* 查询社团成员列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listStglMember = (query?: StglMemberQuery): AxiosPromise<StglMemberVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/member/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询社团成员详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStglMember = (id: string | number): AxiosPromise<StglMemberVO> => {
|
||||
return request({
|
||||
url: '/stgl/member/' + id,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增社团成员
|
||||
* @param data
|
||||
*/
|
||||
export const addStglMember = (data: StglMemberForm) => {
|
||||
return request({
|
||||
url: '/stgl/member',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改社团成员
|
||||
* @param data
|
||||
*/
|
||||
export const updateStglMember = (data: StglMemberForm) => {
|
||||
return request({
|
||||
url: '/stgl/member',
|
||||
method: 'put',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除社团成员
|
||||
* @param id
|
||||
*/
|
||||
export const delStglMember = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stgl/member/' + id,
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取角色类型选项
|
||||
*/
|
||||
export const getRoleTypeOptions = (): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
url: '/stgl/member/roleOptions',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 审核成员申请
|
||||
* @param id 成员ID
|
||||
* @param approved 是否通过(true-通过,false-拒绝)
|
||||
*/
|
||||
export const approveMember = (id: string | number, approved: boolean) => {
|
||||
return request({
|
||||
url: `/stgl/member/approve/${id}`,
|
||||
method: 'put',
|
||||
params: { approved },
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,232 @@
|
||||
import { StudentVO } from '@/api/xg/student/types';
|
||||
|
||||
export interface StglMemberVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 成员类型(1-社团成员 2-志愿者)
|
||||
*/
|
||||
memberType: number;
|
||||
|
||||
/**
|
||||
* 关联ID(社团ID)
|
||||
*/
|
||||
relationId: string | number;
|
||||
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName: string;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 联系方式
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 角色类型
|
||||
*/
|
||||
roleType: number;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
roleName: string;
|
||||
|
||||
/**
|
||||
* 加入时间
|
||||
*/
|
||||
joinTime: string;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
}
|
||||
|
||||
export interface StglMemberForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 成员类型(1-社团成员 2-志愿者)
|
||||
*/
|
||||
memberType?: number;
|
||||
|
||||
/**
|
||||
* 关联ID(社团ID)
|
||||
*/
|
||||
relationId?: string | number;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 选择的学生对象
|
||||
*/
|
||||
selectedStudent?: StudentVO | null;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 联系方式
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 角色类型
|
||||
*/
|
||||
roleType?: number;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
roleName?: string;
|
||||
|
||||
/**
|
||||
* 加入时间
|
||||
*/
|
||||
joinTime?: string;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface StglMemberQuery extends PageQuery {
|
||||
/**
|
||||
* 成员类型(1-社团成员 2-志愿者)
|
||||
*/
|
||||
memberType?: number;
|
||||
|
||||
/**
|
||||
* 关联ID(社团ID)
|
||||
*/
|
||||
relationId?: string | number;
|
||||
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName?: string;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 角色类型
|
||||
*/
|
||||
roleType?: number;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { MyClubVO, MyVolunteerTeamVO, MyActivityVO, MyRegistrationVO, ActivityRatingForm, MyRegistrationQuery, MyClubQuery, MyVolunteerQuery, MyActivityQuery } from './types';
|
||||
|
||||
/**
|
||||
* 查询我参与的社团列表
|
||||
*/
|
||||
export function getMyClubs(query?: MyClubQuery): AxiosPromise<MyClubVO[]> {
|
||||
return request({
|
||||
url: '/stgl/my/clubs',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询我参与的志愿团队列表
|
||||
*/
|
||||
export function getMyVolunteerTeams(query?: MyVolunteerQuery): AxiosPromise<MyVolunteerTeamVO[]> {
|
||||
return request({
|
||||
url: '/stgl/my/volunteerTeams',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询我报名的活动列表
|
||||
*/
|
||||
export function getMyActivities(query?: MyActivityQuery): AxiosPromise<MyActivityVO[]> {
|
||||
return request({
|
||||
url: '/stgl/my/activities',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询我的报名记录
|
||||
*/
|
||||
export function getMyRegistrations(query: MyRegistrationQuery): AxiosPromise<MyRegistrationVO[]> {
|
||||
return request({
|
||||
url: '/stgl/my/registrations',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 对活动进行评分
|
||||
*/
|
||||
export function rateActivity(activityId: string | number, data: ActivityRatingForm): AxiosPromise<void> {
|
||||
return request({
|
||||
url: `/stgl/my/activities/${activityId}/rate`,
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否可以对活动评分
|
||||
*/
|
||||
export function canRateActivity(activityId: string | number): AxiosPromise<boolean> {
|
||||
return request({
|
||||
url: `/stgl/my/activities/${activityId}/canRate`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
export interface MyClubVO {
|
||||
/** 社团ID */
|
||||
id: string | number;
|
||||
/** 社团名称 */
|
||||
clubName: string;
|
||||
/** 社团类型 */
|
||||
clubType: string;
|
||||
/** LOGO地址 */
|
||||
logoUrl?: string;
|
||||
/** 社长姓名 */
|
||||
presidentName?: string;
|
||||
/** 社长院系 */
|
||||
presidentDept?: string;
|
||||
/** 指导老师姓名 */
|
||||
advisorName?: string;
|
||||
/** 指导老师部门 */
|
||||
advisorDept?: string;
|
||||
/** 成员数量 */
|
||||
memberCount?: number;
|
||||
/** 成员限制 */
|
||||
memberLimit?: number;
|
||||
/** 社团状态 */
|
||||
status: string;
|
||||
/** 我的角色 */
|
||||
myRole: string;
|
||||
/** 加入时间 */
|
||||
joinTime: string;
|
||||
/** 成员状态 */
|
||||
memberStatus: string;
|
||||
/** 社团简介 */
|
||||
description?: string;
|
||||
/** 成立日期 */
|
||||
establishDate?: string;
|
||||
/** 创建时间 */
|
||||
createTime?: string;
|
||||
/** 更新时间 */
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
export interface MyVolunteerTeamVO {
|
||||
/** 团队ID */
|
||||
id: string | number;
|
||||
/** 队伍名称 */
|
||||
teamName: string;
|
||||
/** 队长姓名 */
|
||||
leaderName?: string;
|
||||
/** 队长院系 */
|
||||
leaderDept?: string;
|
||||
/** 指导老师姓名 */
|
||||
advisorName?: string;
|
||||
/** 指导老师部门 */
|
||||
advisorDept?: string;
|
||||
/** 当前成员数量 */
|
||||
currentMemberCount?: number;
|
||||
/** 成员限制 */
|
||||
memberLimit?: number;
|
||||
/** 团队状态 */
|
||||
status: string;
|
||||
/** 我的角色 */
|
||||
myRole: string;
|
||||
/** 加入时间 */
|
||||
joinTime: string;
|
||||
/** 成员状态 */
|
||||
memberStatus: string;
|
||||
/** 队伍简介 */
|
||||
description?: string;
|
||||
/** 成立日期 */
|
||||
establishDate?: string;
|
||||
/** 联系电话 */
|
||||
contactPhone?: string;
|
||||
/** 邮箱 */
|
||||
email?: string;
|
||||
/** 创建时间 */
|
||||
createTime?: string;
|
||||
/** 更新时间 */
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
export interface MyActivityVO {
|
||||
/** 活动ID */
|
||||
id: string | number;
|
||||
/** 活动名称 */
|
||||
activityName: string;
|
||||
/** 活动类型 */
|
||||
activityType: string;
|
||||
/** 活动主题 */
|
||||
activityTheme?: string;
|
||||
/** 开始时间 */
|
||||
startTime?: string;
|
||||
/** 结束时间 */
|
||||
endTime?: string;
|
||||
/** 活动地点 */
|
||||
location?: string;
|
||||
/** 主办方名称 */
|
||||
organizerName?: string;
|
||||
/** 关联类型(1-社团 2-志愿者队伍) */
|
||||
relatedType?: number;
|
||||
/** 关联组织名称(社团名称或志愿者团队名称) */
|
||||
organizationName?: string;
|
||||
/** 指导老师 */
|
||||
instructors?: string;
|
||||
/** 活动状态 */
|
||||
activityStatus: string;
|
||||
/** 报名状态 */
|
||||
registrationStatus?: string;
|
||||
/** 海报地址 */
|
||||
posterUrl?: string;
|
||||
/** 活动简介 */
|
||||
description?: string;
|
||||
/** 我的报名时间 */
|
||||
myRegistrationTime: string;
|
||||
/** 我的报名状态 */
|
||||
myRegistrationStatus: string;
|
||||
/** 我的评分状态(0-未评分 1-已评分) */
|
||||
myRatingStatus: number;
|
||||
/** 我的综合评分 */
|
||||
myRatingScore?: number;
|
||||
/** 我的评分时间 */
|
||||
myRatingTime?: string;
|
||||
/** 活动平均评分 */
|
||||
averageRating?: number;
|
||||
/** 是否可以评分 */
|
||||
canRate: boolean;
|
||||
/** 创建时间 */
|
||||
createTime?: string;
|
||||
/** 更新时间 */
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
export interface MyRegistrationVO {
|
||||
/** 记录ID */
|
||||
id: string | number;
|
||||
/** 报名类型(1-社团 2-志愿团队 3-活动) */
|
||||
registrationType: string;
|
||||
/** 目标ID */
|
||||
targetId: string | number;
|
||||
/** 名称 */
|
||||
targetName: string;
|
||||
/** 类型 */
|
||||
targetType?: string;
|
||||
/** 报名时间 */
|
||||
registrationTime: string;
|
||||
/** 审核状态 */
|
||||
approvalStatus: string;
|
||||
/** 审核时间 */
|
||||
approvalTime?: string;
|
||||
/** 审核人 */
|
||||
approvalBy?: string;
|
||||
/** 备注信息 */
|
||||
remark?: string;
|
||||
/** 当前状态 */
|
||||
currentStatus: string;
|
||||
/** 角色 */
|
||||
role?: string;
|
||||
/** 组织者/负责人 */
|
||||
organizer?: string;
|
||||
/** 时间信息 */
|
||||
timeInfo?: string;
|
||||
/** 地点信息 */
|
||||
location?: string;
|
||||
/** 创建时间 */
|
||||
createTime?: string;
|
||||
/** 更新时间 */
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
export interface ActivityRatingForm {
|
||||
/** 活动ID */
|
||||
activityId: string | number;
|
||||
/** 学号 */
|
||||
studentNo?: string;
|
||||
/** 学生姓名 */
|
||||
studentName?: string;
|
||||
/** 内容评分(1-5分) */
|
||||
contentScore: number;
|
||||
/** 组织评分(1-5分) */
|
||||
organizationScore: number;
|
||||
/** 体验评分(1-5分) */
|
||||
experienceScore: number;
|
||||
/** 评价意见 */
|
||||
ratingComment?: string;
|
||||
}
|
||||
|
||||
export interface MyClubQuery {
|
||||
/** 社团名称 */
|
||||
clubName?: string;
|
||||
/** 社团类型 */
|
||||
clubType?: string;
|
||||
}
|
||||
|
||||
export interface MyVolunteerQuery {
|
||||
/** 队伍名称 */
|
||||
teamName?: string;
|
||||
}
|
||||
|
||||
export interface MyActivityQuery {
|
||||
/** 活动名称 */
|
||||
activityName?: string;
|
||||
/** 活动类型 */
|
||||
activityType?: string;
|
||||
/** 是否评分 */
|
||||
isRated?: string;
|
||||
}
|
||||
|
||||
export interface MyRegistrationQuery {
|
||||
/** 页码 */
|
||||
pageNum?: number;
|
||||
/** 每页显示记录数 */
|
||||
pageSize?: number;
|
||||
/** 报名类型 */
|
||||
registrationType?: string;
|
||||
/** 审核状态 */
|
||||
approvalStatus?: string;
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StglClubRegisterVO, StglClubRegisterQuery, StglRegisterForm } from '@/api/stgl/register/types';
|
||||
|
||||
/**
|
||||
* 查询社团报名大厅列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listStglClubRegister = (query?: StglClubRegisterQuery): AxiosPromise<StglClubRegisterVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/clubRegister/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询推荐社团列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listRecommendedClubs = (query?: StglClubRegisterQuery): AxiosPromise<StglClubRegisterVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/clubRegister/recommend',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询我的社团列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listMyClubs = (query?: StglClubRegisterQuery): AxiosPromise<StglClubRegisterVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/clubRegister/myClubs',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 申请加入社团
|
||||
* @param data
|
||||
*/
|
||||
export const applyJoinClub = (data: StglRegisterForm) => {
|
||||
return request({
|
||||
url: `/stgl/clubRegister/apply?clubId=${data.clubId}`,
|
||||
method: 'post',
|
||||
data: { reason: data.reason },
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 退出社团
|
||||
* @param clubId
|
||||
*/
|
||||
export const quitClub = (clubId: string | number) => {
|
||||
return request({
|
||||
url: '/stgl/clubRegister/quit/' + clubId,
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,261 @@
|
||||
export interface StglClubRegisterVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName: string;
|
||||
|
||||
/**
|
||||
* 社团类型
|
||||
*/
|
||||
clubType: string;
|
||||
|
||||
/**
|
||||
* 社团简介
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* logo图片路径
|
||||
*/
|
||||
logoUrl: string;
|
||||
|
||||
/**
|
||||
* 社长姓名
|
||||
*/
|
||||
presidentName: string;
|
||||
|
||||
/**
|
||||
* 指导老师姓名
|
||||
*/
|
||||
advisorName: string;
|
||||
|
||||
/**
|
||||
* 成员规模上限
|
||||
*/
|
||||
memberLimit: number;
|
||||
|
||||
/**
|
||||
* 当前成员数量
|
||||
*/
|
||||
currentMemberCount: number;
|
||||
|
||||
/**
|
||||
* 是否可报名
|
||||
*/
|
||||
canRegister: boolean;
|
||||
|
||||
/**
|
||||
* 招新周期
|
||||
*/
|
||||
recruitCycle: string;
|
||||
|
||||
/**
|
||||
* 招新时间
|
||||
*/
|
||||
recruitTime: string;
|
||||
|
||||
/**
|
||||
* 活动频率
|
||||
*/
|
||||
activityFrequency: string;
|
||||
|
||||
/**
|
||||
* 我在该社团的角色类型
|
||||
*/
|
||||
myRoleType?: number;
|
||||
|
||||
/**
|
||||
* 我加入该社团的时间
|
||||
*/
|
||||
myJoinTime?: string;
|
||||
|
||||
/**
|
||||
* 我在该社团的角色名称
|
||||
*/
|
||||
myRoleName?: string;
|
||||
|
||||
/**
|
||||
* 是否已报名/加入
|
||||
*/
|
||||
hasRegistered?: boolean;
|
||||
|
||||
// ========== 新增字段 ==========
|
||||
|
||||
/**
|
||||
* 成立日期
|
||||
*/
|
||||
establishDate?: string;
|
||||
|
||||
/**
|
||||
* 经费来源
|
||||
*/
|
||||
fundingSources?: string[];
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 社长院系
|
||||
*/
|
||||
presidentDept?: string;
|
||||
|
||||
/**
|
||||
* 社长专业
|
||||
*/
|
||||
presidentMajor?: string;
|
||||
|
||||
/**
|
||||
* 社长班级
|
||||
*/
|
||||
presidentClass?: string;
|
||||
|
||||
/**
|
||||
* 社长联系方式
|
||||
*/
|
||||
presidentPhone?: string;
|
||||
|
||||
/**
|
||||
* 社长学号
|
||||
*/
|
||||
presidentStudentNo?: string;
|
||||
|
||||
/**
|
||||
* 副社长姓名
|
||||
*/
|
||||
vicePresidentName?: string;
|
||||
|
||||
/**
|
||||
* 副社长院系
|
||||
*/
|
||||
vicePresidentDept?: string;
|
||||
|
||||
/**
|
||||
* 副社长专业
|
||||
*/
|
||||
vicePresidentMajor?: string;
|
||||
|
||||
/**
|
||||
* 副社长班级
|
||||
*/
|
||||
vicePresidentClass?: string;
|
||||
|
||||
/**
|
||||
* 副社长联系方式
|
||||
*/
|
||||
vicePresidentPhone?: string;
|
||||
|
||||
/**
|
||||
* 副社长学号
|
||||
*/
|
||||
vicePresidentStudentNo?: string;
|
||||
|
||||
/**
|
||||
* 副社长信息数组(支持多个副社长)
|
||||
*/
|
||||
vicePresidents?: Array<{
|
||||
name: string;
|
||||
dept?: string;
|
||||
major?: string;
|
||||
className?: string;
|
||||
phone?: string;
|
||||
studentNo?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* 指导老师部门
|
||||
*/
|
||||
advisorDept?: string;
|
||||
|
||||
/**
|
||||
* 指导老师电话
|
||||
*/
|
||||
advisorPhone?: string;
|
||||
|
||||
/**
|
||||
* 指导老师邮箱
|
||||
*/
|
||||
advisorEmail?: string;
|
||||
|
||||
/**
|
||||
* 指导老师信息数组(支持多个指导老师)
|
||||
*/
|
||||
advisors?: Array<{
|
||||
name: string;
|
||||
dept?: string;
|
||||
phone?: string;
|
||||
email?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* 组织架构
|
||||
*/
|
||||
organizationStructure?: string;
|
||||
|
||||
/**
|
||||
* 部门信息(组织架构的另一种表示)
|
||||
*/
|
||||
departments?: string;
|
||||
|
||||
/**
|
||||
* 章程文件
|
||||
*/
|
||||
charterUrl?: string;
|
||||
constitutionFile?: string;
|
||||
constitutionFileUrl?: string;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 备注信息(另一种表示)
|
||||
*/
|
||||
remarks?: string;
|
||||
}
|
||||
|
||||
export interface StglClubRegisterQuery extends PageQuery {
|
||||
/**
|
||||
* 社团名称
|
||||
*/
|
||||
clubName?: string;
|
||||
|
||||
/**
|
||||
* 社团类型
|
||||
*/
|
||||
clubType?: string;
|
||||
|
||||
/**
|
||||
* 是否可报名
|
||||
*/
|
||||
canRegister?: boolean;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
export interface StglRegisterForm {
|
||||
/**
|
||||
* 社团ID
|
||||
*/
|
||||
clubId: string | number;
|
||||
|
||||
/**
|
||||
* 申请理由
|
||||
*/
|
||||
reason?: string;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 统计相关API接口
|
||||
export function getStatisticsData() {
|
||||
return request({
|
||||
url: '/stgl/statistics/data',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,212 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
VolunteerMemberVO,
|
||||
VolunteerMemberForm,
|
||||
VolunteerMemberQuery,
|
||||
VolunteerTeamOption,
|
||||
VolunteerMemberStats,
|
||||
BatchAssignTeamForm
|
||||
} from '@/api/stgl/volunteermember/types';
|
||||
|
||||
/**
|
||||
* 查询志愿者成员列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const listVolunteerMember = (query?: VolunteerMemberQuery): AxiosPromise<VolunteerMemberVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询志愿者成员详细
|
||||
* @param id
|
||||
* @returns {*}
|
||||
*/
|
||||
export const getVolunteerMember = (id: string | number): AxiosPromise<VolunteerMemberVO> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/' + id,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增志愿者成员
|
||||
* @param data
|
||||
* @returns {*}
|
||||
*/
|
||||
export const addVolunteerMember = (data: VolunteerMemberForm): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改志愿者成员
|
||||
* @param data
|
||||
* @returns {*}
|
||||
*/
|
||||
export const updateVolunteerMember = (data: VolunteerMemberForm): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member',
|
||||
method: 'put',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除志愿者成员
|
||||
* @param ids
|
||||
* @returns {*}
|
||||
*/
|
||||
export const delVolunteerMember = (ids: string | number): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/' + ids,
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导入志愿者成员
|
||||
* @param data
|
||||
* @returns {*}
|
||||
*/
|
||||
export const importVolunteerMember = (data: FormData): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/importData',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出志愿者成员
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const exportVolunteerMember = (query?: VolunteerMemberQuery): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/export',
|
||||
method: 'post',
|
||||
params: query,
|
||||
responseType: 'blob',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据队伍ID查询成员
|
||||
* @param teamId
|
||||
* @returns {*}
|
||||
*/
|
||||
export const getMembersByTeamId = (teamId: string | number): AxiosPromise<VolunteerMemberVO[]> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/team/' + teamId,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量分配队伍
|
||||
* @param data
|
||||
* @returns {*}
|
||||
*/
|
||||
export const batchAssignTeam = (data: BatchAssignTeamForm): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/batchAdd',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取成员统计信息
|
||||
* @returns {*}
|
||||
*/
|
||||
export const getVolunteerMemberStats = (): AxiosPromise<VolunteerMemberStats> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/stats',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
* @returns {*}
|
||||
*/
|
||||
export const downloadTemplate = (): AxiosPromise<Blob> => {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/importTemplate',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取志愿者团队选项列表
|
||||
* @returns {*}
|
||||
*/
|
||||
export const getVolunteerTeamOptions = (): AxiosPromise<VolunteerTeamOption[]> => {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/options',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 审核志愿者成员申请
|
||||
* @param id 成员ID
|
||||
* @param approved 是否通过(true-通过,false-拒绝)
|
||||
* @returns {*}
|
||||
*/
|
||||
export const approveVolunteerMember = (id: string | number, approved: boolean): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: `/stgl/volunteer/member/approve/${id}?approved=${approved}`,
|
||||
method: 'put',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,275 @@
|
||||
export interface VolunteerMemberVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 关联ID(志愿者队伍ID)
|
||||
*/
|
||||
relationId: string | number;
|
||||
|
||||
/**
|
||||
* 志愿者队伍名称
|
||||
*/
|
||||
relationName?: string;
|
||||
|
||||
/**
|
||||
* 成员角色(0队长 1队员)
|
||||
*/
|
||||
roleType: string;
|
||||
|
||||
/**
|
||||
* 加入时间
|
||||
*/
|
||||
joinTime: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: string | number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
export interface VolunteerMemberForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 院系
|
||||
*/
|
||||
department?: string;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
major?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 关联ID(志愿者队伍ID)
|
||||
*/
|
||||
relationId: string | number;
|
||||
|
||||
/**
|
||||
* 成员角色(0队长 1队员)
|
||||
*/
|
||||
roleType: string;
|
||||
|
||||
/**
|
||||
* 加入时间
|
||||
*/
|
||||
joinTime?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface VolunteerMemberQuery {
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
pageNum?: number;
|
||||
|
||||
/**
|
||||
* 页面大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 班级
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 关联ID(志愿者队伍ID)
|
||||
*/
|
||||
relationId?: string | number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
params?: {
|
||||
beginTime?: string;
|
||||
endTime?: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface VolunteerTeamOption {
|
||||
/**
|
||||
* 团队ID
|
||||
*/
|
||||
value: string | number;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
label: string;
|
||||
}
|
||||
|
||||
export interface VolunteerMemberStats {
|
||||
/**
|
||||
* 总成员数
|
||||
*/
|
||||
totalMembers: number;
|
||||
|
||||
/**
|
||||
* 活跃成员数
|
||||
*/
|
||||
activeMembers: number;
|
||||
|
||||
/**
|
||||
* 各团队成员分布
|
||||
*/
|
||||
teamDistribution: {
|
||||
teamName: string;
|
||||
memberCount: number;
|
||||
}[];
|
||||
|
||||
/**
|
||||
* 性别分布
|
||||
*/
|
||||
genderDistribution: {
|
||||
male: number;
|
||||
female: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface BatchAssignTeamForm {
|
||||
/**
|
||||
* 成员ID列表
|
||||
*/
|
||||
memberIds: (string | number)[];
|
||||
|
||||
/**
|
||||
* 目标团队ID
|
||||
*/
|
||||
teamId: string | number;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询志愿者队伍列表(报名大厅专用)
|
||||
export function listVolunteerTeamForRegistration(query: any) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/registration/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
// 查询志愿者队伍列表(学生专用,新权限)
|
||||
export function listVolunteerTeamForStudentRegistration(query: any) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/registration/student/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
// 查询志愿者队伍详细信息(报名大厅专用)
|
||||
export function getVolunteerTeamDetail(id: number) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 获取志愿者队伍详细信息(学生报名大厅专用)
|
||||
export function getVolunteerRegistrationInfo(id: number) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/registration/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 申请加入志愿者队伍
|
||||
export function applyJoinVolunteerTeam(data: any) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/apply',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 查询我的志愿者申请记录
|
||||
export function getMyVolunteerApplications() {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/myApplications',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 撤销志愿者申请
|
||||
export function quitVolunteerApplication(applicationId: number) {
|
||||
return request({
|
||||
url: '/stgl/volunteer/member/quitApplication/' + applicationId,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询志愿者队伍列表
|
||||
export function listVolunteerTeam(query) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
// 查询志愿者队伍详细
|
||||
export function getVolunteerTeam(id) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 新增志愿者队伍
|
||||
export function addVolunteerTeam(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 修改志愿者队伍
|
||||
export function updateVolunteerTeam(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 删除志愿者队伍
|
||||
export function delVolunteerTeam(ids) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/' + ids,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
// 导出志愿者队伍
|
||||
export function exportVolunteerTeam(query) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/export',
|
||||
method: 'post',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
// 获取志愿者队伍可用选项
|
||||
export function getVolunteerTeamOptions() {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/options',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 我的队伍数据
|
||||
export function getMyVolunteerTeams() {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/my',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 待处理队伍
|
||||
export function getPendingVolunteerTeams() {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/pending',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 队伍规则检查
|
||||
export function checkVolunteerTeamRules(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/check',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 队伍审批
|
||||
export function approveVolunteerTeam(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/approve',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 启用队伍
|
||||
export function enableVolunteerTeam(ids) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/enable/' + ids,
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
|
||||
// 禁用队伍
|
||||
export function disableVolunteerTeam(ids) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/disable/' + ids,
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
|
||||
// 获取队伍统计信息
|
||||
export function getVolunteerTeamStats() {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/stats',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 批量操作
|
||||
export function batchVolunteerTeam(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/batch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 申请加入志愿者队伍
|
||||
export function applyJoinVolunteerTeam(data) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/apply',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
// 根据姓名搜索学生信息(用于队长选择)
|
||||
export function searchStudentByName(name) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/searchStudentByName',
|
||||
method: 'get',
|
||||
params: { name }
|
||||
});
|
||||
}
|
||||
|
||||
// 根据学号获取学生详细信息(用于自动填充)
|
||||
export function getStudentByNo(studentNo) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/getStudentByNo',
|
||||
method: 'get',
|
||||
params: { studentNo }
|
||||
});
|
||||
}
|
||||
|
||||
// 根据姓名搜索指导老师信息
|
||||
export function searchTeacherByName(name) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/searchTeacherByName',
|
||||
method: 'get',
|
||||
params: { name }
|
||||
});
|
||||
}
|
||||
|
||||
// 根据用户ID获取教师详细信息(用于自动填充)
|
||||
export function getTeacherById(userId) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/getTeacherById',
|
||||
method: 'get',
|
||||
params: { userId }
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证当前用户是否为志愿者队伍队长
|
||||
* @param id 队伍ID
|
||||
*/
|
||||
export const checkTeamLeader = (id) => {
|
||||
return request({
|
||||
url: `/stgl/volunteerTeam/checkLeader/${id}`,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 志愿者队伍转让
|
||||
* @param id 队伍ID
|
||||
* @param newLeaderUserId 新队长用户ID
|
||||
*/
|
||||
export const transferVolunteerTeam = (id, newLeaderUserId) => {
|
||||
return request({
|
||||
url: `/stgl/volunteerTeam/transfer/${id}`,
|
||||
method: 'post',
|
||||
params: {
|
||||
newLeaderUserId: newLeaderUserId
|
||||
},
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询志愿者队伍报名大厅列表(学生专用)
|
||||
export function listVolunteerTeamForRegistration(query) {
|
||||
return request({
|
||||
url: '/stgl/volunteerTeam/registration/student/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
@@ -58,7 +58,6 @@ export interface DormRoomVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormRoomForm extends BaseEntity {
|
||||
@@ -116,11 +115,9 @@ export interface DormRoomForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormRoomQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 房间编号
|
||||
*/
|
||||
@@ -166,11 +163,8 @@ export interface DormRoomQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -38,7 +38,6 @@ export interface DormManagerSourceVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerSourceForm extends BaseEntity {
|
||||
@@ -81,11 +80,9 @@ export interface DormManagerSourceForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerSourceQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -116,11 +113,8 @@ export interface DormManagerSourceQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormManagerBuildingVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerBuildingForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormManagerBuildingForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerBuildingQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -86,11 +83,8 @@ export interface DormManagerBuildingQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ export interface DormManagerVO {
|
||||
* 授权范围名称(逗号分隔的字符串)
|
||||
*/
|
||||
scopeNames?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerForm extends BaseEntity {
|
||||
@@ -106,11 +105,9 @@ export interface DormManagerForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@@ -151,11 +148,8 @@ export interface DormManagerQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -17,8 +17,7 @@ export interface DormBuildingVO {
|
||||
floors: number;
|
||||
}
|
||||
|
||||
export interface DormBuildingForm extends Omit<DormBuildingVO, 'createTime' | 'createBy' | 'updateTime' | 'updateBy' | 'areaName' | 'campusName'> {
|
||||
}
|
||||
export interface DormBuildingForm extends Omit<DormBuildingVO, 'createTime' | 'createBy' | 'updateTime' | 'updateBy' | 'areaName' | 'campusName'> {}
|
||||
|
||||
export interface DormBuildingQuery {
|
||||
buildingCode?: string;
|
||||
@@ -45,6 +44,3 @@ export interface BuildingTreeSelectVo {
|
||||
floors?: number;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormAreaVO {
|
||||
* 排序号
|
||||
*/
|
||||
sortOrder: number;
|
||||
|
||||
}
|
||||
|
||||
export interface DormAreaForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormAreaForm extends BaseEntity {
|
||||
* 排序号
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface DormAreaQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 宿舍区编码
|
||||
*/
|
||||
@@ -81,10 +78,10 @@ export interface DormAreaQuery extends PageQuery {
|
||||
*/
|
||||
areaDescription?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,6 +99,3 @@ export interface TreeSelectVo {
|
||||
/** 子节点 */
|
||||
children?: TreeSelectVo[];
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormCampusVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormCampusForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormCampusForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormCampusQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 校区编码
|
||||
*/
|
||||
@@ -76,11 +73,8 @@ export interface DormCampusQuery extends PageQuery {
|
||||
*/
|
||||
campusName?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ export function getMockDormTree(): { data: DormTreeNode[] } {
|
||||
}
|
||||
|
||||
// 生成房间数据的模拟数据
|
||||
export function getMockRooms(buildingId: string | number, floorNumber?: number): { rows: RoomInfo[], total: number } {
|
||||
export function getMockRooms(buildingId: string | number, floorNumber?: number): { rows: RoomInfo[]; total: number } {
|
||||
const rooms: RoomInfo[] = [];
|
||||
|
||||
// 根据buildingId判断楼层数
|
||||
@@ -233,7 +233,7 @@ export function getMockRooms(buildingId: string | number, floorNumber?: number):
|
||||
}
|
||||
|
||||
return {
|
||||
rows: rooms.filter(room => !floorNumber || room.floorNumber === floorNumber),
|
||||
rows: rooms.filter((room) => !floorNumber || room.floorNumber === floorNumber),
|
||||
total: rooms.length
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface ClassMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface ClassMsgForm extends BaseEntity {
|
||||
@@ -291,11 +290,9 @@ export interface ClassMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface ClassMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 学院代码
|
||||
*/
|
||||
@@ -326,11 +323,8 @@ export interface ClassMsgQuery extends PageQuery {
|
||||
*/
|
||||
classStatus?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface StuColBatchClassVO {
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassForm extends BaseEntity {
|
||||
@@ -101,11 +100,9 @@ export interface StuColBatchClassForm extends BaseEntity {
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
@@ -146,11 +143,8 @@ export interface StuColBatchClassQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentQuery, StudentVO, StudentForm, XgDeptTreeVO, R, TableDataInfo } from './types';
|
||||
|
||||
|
||||
/**
|
||||
* 查询部门下拉树结构
|
||||
* @param deptId 部门ID
|
||||
@@ -32,7 +31,6 @@ export const XgDeptTreeSelect = (belongDeptId?: number): AxiosPromise<XgDeptTree
|
||||
// }) as any;
|
||||
};
|
||||
|
||||
|
||||
// 查询学生列表
|
||||
export function listStudent(query?: StudentQuery): AxiosPromise<R<TableDataInfo<StudentVO[]>>> {
|
||||
// 实际使用时连接后端接口
|
||||
@@ -56,11 +54,13 @@ export function listStudent(query?: StudentQuery): AxiosPromise<R<TableDataInfo<
|
||||
}
|
||||
|
||||
// 查询学生详细
|
||||
export function getStudent(studentId?: string | number): AxiosPromise<R<{
|
||||
student: StudentVO;
|
||||
majors: any[];
|
||||
classes: any[];
|
||||
}>> {
|
||||
export function getStudent(studentId?: string | number): AxiosPromise<
|
||||
R<{
|
||||
student: StudentVO;
|
||||
majors: any[];
|
||||
classes: any[];
|
||||
}>
|
||||
> {
|
||||
if (studentId) {
|
||||
// 实际使用时连接后端接口
|
||||
// return request({
|
||||
@@ -69,7 +69,7 @@ export function getStudent(studentId?: string | number): AxiosPromise<R<{
|
||||
// });
|
||||
|
||||
// 模拟数据
|
||||
const student = mockStudentData.find(item => item.studentId === studentId);
|
||||
const student = mockStudentData.find((item) => item.studentId === studentId);
|
||||
return Promise.resolve({
|
||||
data: {
|
||||
code: 200,
|
||||
@@ -435,4 +435,14 @@ const mockClasses = [
|
||||
}
|
||||
];
|
||||
|
||||
export default { listStudent, getStudent, addStudent, updateStudent, delStudent, deptTreeSelect, exportStudent, changeStudentStatus, XgDeptTreeSelect };
|
||||
export default {
|
||||
listStudent,
|
||||
getStudent,
|
||||
addStudent,
|
||||
updateStudent,
|
||||
delStudent,
|
||||
deptTreeSelect,
|
||||
exportStudent,
|
||||
changeStudentStatus,
|
||||
XgDeptTreeSelect
|
||||
};
|
||||
@@ -45,7 +45,7 @@ export interface StudentMsgVO {
|
||||
birthDate: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality: string;
|
||||
|
||||
@@ -140,7 +140,7 @@ export interface StudentMsgVO {
|
||||
wechat: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus: string;
|
||||
|
||||
@@ -518,7 +518,6 @@ export interface StudentMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgForm extends BaseEntity {
|
||||
@@ -568,7 +567,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -663,7 +662,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1041,11 +1040,9 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -1087,7 +1084,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -1182,7 +1179,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1556,11 +1553,8 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
*/
|
||||
extField5?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ export interface StudentMsgBatchVO {
|
||||
birthDate: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality: string;
|
||||
|
||||
@@ -140,7 +140,7 @@ export interface StudentMsgBatchVO {
|
||||
wechat: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus: string;
|
||||
|
||||
@@ -523,7 +523,6 @@ export interface StudentMsgBatchVO {
|
||||
* 正在进行中的批次id
|
||||
*/
|
||||
batchId: string | number;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgBatchForm extends BaseEntity {
|
||||
@@ -573,7 +572,7 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -668,7 +667,7 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1051,11 +1050,9 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
* 正在进行中的批次id
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -1097,7 +1094,7 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -1192,7 +1189,7 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1571,11 +1568,8 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ export interface XgClassPosDictVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictForm extends BaseEntity {
|
||||
@@ -111,11 +110,9 @@ export interface XgClassPosDictForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -161,11 +158,8 @@ export interface XgClassPosDictQuery extends PageQuery {
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -118,7 +118,6 @@ export interface XgClassPosMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgForm extends BaseEntity {
|
||||
@@ -246,11 +245,9 @@ export interface XgClassPosMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -336,11 +333,8 @@ export interface XgClassPosMsgQuery extends PageQuery {
|
||||
*/
|
||||
deptId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@ export interface XgLeaveTypeConfigVO {
|
||||
* 销假逾期多少时长给予提醒(天)
|
||||
*/
|
||||
cancelOverdueReminder: number;
|
||||
|
||||
}
|
||||
|
||||
export interface XgLeaveTypeConfigForm extends BaseEntity {
|
||||
@@ -131,11 +130,9 @@ export interface XgLeaveTypeConfigForm extends BaseEntity {
|
||||
* 销假逾期多少时长给予提醒(天)
|
||||
*/
|
||||
cancelOverdueReminder?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface XgLeaveTypeConfigQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -156,11 +153,8 @@ export interface XgLeaveTypeConfigQuery extends PageQuery {
|
||||
*/
|
||||
isEnabled?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface StudentManagerVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerForm extends BaseEntity {
|
||||
@@ -101,11 +100,9 @@ export interface StudentManagerForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@@ -146,11 +143,8 @@ export interface StudentManagerQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentManagerSourceVO, StudentManagerSourceForm, StudentManagerSourceQuery } from '@/api/xg/xsjcxx/xgStudentManagerSource/studentManagerSource/types';
|
||||
import {
|
||||
StudentManagerSourceVO,
|
||||
StudentManagerSourceForm,
|
||||
StudentManagerSourceQuery
|
||||
} from '@/api/xg/xsjcxx/xgStudentManagerSource/studentManagerSource/types';
|
||||
|
||||
/**
|
||||
* 查询学生管理员授权关系列表
|
||||
|
||||
@@ -38,7 +38,6 @@ export interface StudentManagerSourceVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceForm extends BaseEntity {
|
||||
@@ -81,11 +80,9 @@ export interface StudentManagerSourceForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -116,11 +113,8 @@ export interface StudentManagerSourceQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
XljkConsultationScheduleVO,
|
||||
XljkConsultationScheduleForm,
|
||||
@@ -14,44 +15,44 @@ import {
|
||||
// ===== 预约时段管理 API =====
|
||||
|
||||
// 查询预约时段列表
|
||||
export const listSchedule = (query: XljkConsultationScheduleQuery) => {
|
||||
export const listXljkSchedule = (query: XljkConsultationScheduleQuery): AxiosPromise<XljkConsultationScheduleVO[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/schedule/list',
|
||||
url: '/xljk/consultation/schedule/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询预约时段详细信息
|
||||
export const getSchedule = (id: string | number) => {
|
||||
export const getXljkSchedule = (id: string | number): AxiosPromise<XljkConsultationScheduleVO> => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/schedule/${id}`,
|
||||
url: `/xljk/consultation/schedule/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 新增预约时段
|
||||
export const addSchedule = (data: any) => {
|
||||
export const addXljkSchedule = (data: any) => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/schedule',
|
||||
url: '/xljk/consultation/schedule',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 修改预约时段
|
||||
export const updateSchedule = (data: XljkConsultationScheduleForm) => {
|
||||
export const updateXljkSchedule = (data: XljkConsultationScheduleForm) => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/schedule',
|
||||
url: '/xljk/consultation/schedule',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除预约时段
|
||||
export const delSchedule = (ids: string | number | Array<string | number>) => {
|
||||
export const delXljkSchedule = (ids: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/schedule/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
url: `/xljk/consultation/schedule/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -59,59 +60,59 @@ export const delSchedule = (ids: string | number | Array<string | number>) => {
|
||||
// ===== 预约记录管理 API =====
|
||||
|
||||
// 查询预约记录列表
|
||||
export const listAppointment = (query: XljkConsultationAppointmentQuery) => {
|
||||
export const listXljkAppointment = (query: XljkConsultationAppointmentQuery): AxiosPromise<XljkConsultationAppointmentVO[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/list',
|
||||
url: '/xljk/consultation/appointment/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询预约记录详细信息
|
||||
export const getAppointment = (id: string | number) => {
|
||||
export const getXljkAppointment = (id: string | number): AxiosPromise<XljkConsultationAppointmentVO> => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/appointment/${id}`,
|
||||
url: `/xljk/consultation/appointment/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 修改预约记录
|
||||
export const updateAppointment = (data: XljkConsultationAppointmentForm) => {
|
||||
export const updateXljkAppointment = (data: XljkConsultationAppointmentForm) => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment',
|
||||
url: '/xljk/consultation/appointment',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除预约记录
|
||||
export const delAppointment = (ids: string | number | Array<string | number>) => {
|
||||
export const delXljkAppointment = (ids: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/appointment/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
url: `/xljk/consultation/appointment/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取可预约时段列表(用于日历视图)
|
||||
export const getAvailableTimeSlots = (startDate: string, endDate: string) => {
|
||||
export const getXljkAvailableTimeSlots = (startDate: string, endDate: string): AxiosPromise<AvailableTimeSlot[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/available-slots',
|
||||
url: '/xljk/consultation/appointment/available-slots',
|
||||
method: 'get',
|
||||
params: { startDate, endDate }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取可用的详细时段列表(30分钟一个时段)
|
||||
export const getAvailableDetailSlots = (date: string, timeSlot: string) => {
|
||||
export const getXljkAvailableDetailSlots = (date: string, timeSlot: string): AxiosPromise<TimeSlotDetail[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/available-detail-slots',
|
||||
url: '/xljk/consultation/appointment/available-detail-slots',
|
||||
method: 'get',
|
||||
params: { date, timeSlot }
|
||||
});
|
||||
};
|
||||
|
||||
// 学生提交预约
|
||||
export const submitAppointment = async (data: XljkConsultationAppointmentForm) => {
|
||||
export const submitXljkAppointment = async (data: XljkConsultationAppointmentForm) => {
|
||||
// 检查是否被限制预约
|
||||
try {
|
||||
const { checkLimitation } = await import('./noshow');
|
||||
@@ -129,27 +130,27 @@ export const submitAppointment = async (data: XljkConsultationAppointmentForm) =
|
||||
console.error('检查预约限制失败', error);
|
||||
// 检查失败不阻止预约,继续提交
|
||||
}
|
||||
|
||||
|
||||
// 提交预约申请
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/submit',
|
||||
url: '/xljk/consultation/appointment/submit',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 获取我的预约记录(学生用)
|
||||
export const getMyAppointments = (studentId: string | number, forceRefresh: boolean = false) => {
|
||||
let url = `/api/xljk/consultation/appointment/my-appointments/${studentId}`;
|
||||
|
||||
export const getXljkMyAppointments = (studentId: string | number, forceRefresh: boolean = false): AxiosPromise<XljkConsultationAppointmentVO[]> => {
|
||||
let url = `/xljk/consultation/appointment/my-appointments/${studentId}`;
|
||||
|
||||
// 强制添加时间戳参数,确保绕过浏览器缓存
|
||||
url += `?_t=${new Date().getTime()}`;
|
||||
|
||||
|
||||
// 如果需要额外强制刷新(如用户手动点击刷新按钮)
|
||||
if (forceRefresh) {
|
||||
url += `&force=true`;
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url,
|
||||
method: 'get',
|
||||
@@ -163,52 +164,52 @@ export const getMyAppointments = (studentId: string | number, forceRefresh: bool
|
||||
};
|
||||
|
||||
// 记录咨询结果
|
||||
export const recordConsultation = (id: string | number, data: any) => {
|
||||
export const recordXljkConsultation = (id: string | number, data: any) => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/appointment/record-consultation/${id}`,
|
||||
url: `/xljk/consultation/appointment/record-consultation/${id}`,
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 获取咨询师选项
|
||||
export const getCounselorOptions = () => {
|
||||
export const getXljkCounselorOptions = (): AxiosPromise<CounselorOption[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/schedule/options/counselors',
|
||||
url: '/xljk/consultation/schedule/options/counselors',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取学生信息(通过学号)
|
||||
export const getStudentByNo = (studentNo: string) => {
|
||||
export const getXljkStudentByNo = (studentNo: string): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/student/${studentNo}`,
|
||||
url: `/xljk/consultation/student/${studentNo}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取院系选项
|
||||
export const getCollegeOptions = () => {
|
||||
export const getXljkConsultationCollegeOptions = (): AxiosPromise<Array<{ value: string; label: string }>> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/options/colleges',
|
||||
url: '/xljk/consultation/appointment/options/colleges',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取专业选项
|
||||
export const getMajorOptions = (collegeName?: string) => {
|
||||
export const getXljkConsultationMajorOptions = (collegeName?: string): AxiosPromise<Array<{ value: string; label: string }>> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/options/majors',
|
||||
url: '/xljk/consultation/appointment/options/majors',
|
||||
method: 'get',
|
||||
params: { collegeName }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取班级选项
|
||||
export const getClassOptions = (collegeName?: string, majorName?: string) => {
|
||||
export const getXljkConsultationClassOptions = (collegeName?: string, majorName?: string): AxiosPromise<Array<{ value: string; label: string }>> => {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/options/classes',
|
||||
url: '/xljk/consultation/appointment/options/classes',
|
||||
method: 'get',
|
||||
params: { collegeName, majorName }
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -9,14 +9,14 @@ import { NoShowQuery, NoShowVO } from './types';
|
||||
export function listNoShow(query: NoShowQuery) {
|
||||
// 创建一个新的查询对象,避免修改原始对象
|
||||
const params = { ...query };
|
||||
|
||||
|
||||
// 如果状态是'all',表示"全部",则从参数中移除
|
||||
if (params.status === 'all') {
|
||||
delete params.status;
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/consultation/no-show/list',
|
||||
url: '/xljk/consultation/no-show/list',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
@@ -29,7 +29,7 @@ export function listNoShow(query: NoShowQuery) {
|
||||
*/
|
||||
export function getNoShow(id: string | number) {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/no-show/${id}`,
|
||||
url: `/xljk/consultation/no-show/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
@@ -41,7 +41,7 @@ export function getNoShow(id: string | number) {
|
||||
*/
|
||||
export function releaseNoShowLimitation(id: string | number) {
|
||||
return request({
|
||||
url: `/api/xljk/consultation/no-show/${id}/release`,
|
||||
url: `/xljk/consultation/no-show/${id}/release`,
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
@@ -53,8 +53,8 @@ export function releaseNoShowLimitation(id: string | number) {
|
||||
*/
|
||||
export function checkLimitation(studentId: string | number) {
|
||||
return request({
|
||||
url: '/api/xljk/consultation/no-show/check-limitation',
|
||||
url: '/xljk/consultation/no-show/check-limitation',
|
||||
method: 'get',
|
||||
params: { studentId }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -556,17 +556,17 @@ export interface NoShowVO {
|
||||
* 咨询师名称
|
||||
*/
|
||||
counselorName?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 预约日期
|
||||
*/
|
||||
appointmentDate?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 预约时段
|
||||
*/
|
||||
appointmentDetailTime?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 咨询原因
|
||||
*/
|
||||
@@ -601,4 +601,4 @@ export interface NoShowVO {
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
XljkEvaluationVO,
|
||||
XljkEvaluationForm,
|
||||
@@ -13,179 +14,179 @@ import {
|
||||
} from './types';
|
||||
|
||||
// 查询心理健康测评列表
|
||||
export const listEvaluation = (query: XljkEvaluationQuery) => {
|
||||
export const listXljkEvaluation = (query: XljkEvaluationQuery): AxiosPromise<XljkEvaluationVO[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/list',
|
||||
url: '/xljk/evaluation/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询心理健康测评详细信息
|
||||
export const getEvaluation = (id: string | number) => {
|
||||
export const getXljkEvaluation = (id: string | number): AxiosPromise<XljkEvaluationVO> => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/${id}`,
|
||||
url: `/xljk/evaluation/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 新增心理健康测评
|
||||
export const addEvaluation = (data: XljkEvaluationForm) => {
|
||||
export const addXljkEvaluation = (data: XljkEvaluationForm) => {
|
||||
// 确保必填字段都有值,避免数据库插入错误
|
||||
if (data.departmentName && !data.departmentId) {
|
||||
data.departmentId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
if (data.majorName && !data.majorId) {
|
||||
data.majorId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
if (data.className && !data.classId) {
|
||||
data.classId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/evaluation',
|
||||
url: '/xljk/evaluation',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 修改心理健康测评
|
||||
export const updateEvaluation = (data: XljkEvaluationForm) => {
|
||||
export const updateXljkEvaluation = (data: XljkEvaluationForm) => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation',
|
||||
url: '/xljk/evaluation',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除心理健康测评
|
||||
export const delEvaluation = (ids: string | number | Array<string | number>) => {
|
||||
export const delXljkEvaluation = (ids: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
url: `/xljk/evaluation/${typeof ids === 'object' ? ids.join(',') : ids}`,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取院系选项
|
||||
export const getDepartmentOptions = () => {
|
||||
export const getXljkDepartmentOptions = (): AxiosPromise<Array<{ value: string | number; label: string }>> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/options/department',
|
||||
url: '/xljk/evaluation/options/department',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取院系选项(新接口)
|
||||
export const getCollegeOptions = () => {
|
||||
export const getXljkCollegeOptions = (): AxiosPromise<CollegeOption[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/options/colleges',
|
||||
url: '/xljk/evaluation/options/colleges',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取专业选项
|
||||
export const getMajorOptions = (collegeName?: string) => {
|
||||
export const getXljkMajorOptions = (collegeName?: string): AxiosPromise<MajorOption[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/options/majors',
|
||||
url: '/xljk/evaluation/options/majors',
|
||||
method: 'get',
|
||||
params: { collegeName }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取班级选项
|
||||
export const getClassOptions = (collegeName?: string, majorName?: string) => {
|
||||
export const getXljkClassOptions = (collegeName?: string, majorName?: string): AxiosPromise<ClassOption[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/options/classes',
|
||||
url: '/xljk/evaluation/options/classes',
|
||||
method: 'get',
|
||||
params: { collegeName, majorName }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取班级学生列表
|
||||
export const getStudentsByClass = (collegeName?: string, majorName?: string, className?: string) => {
|
||||
export const getXljkStudentsByClass = (collegeName?: string, majorName?: string, className?: string): AxiosPromise<StudentInfo[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/students',
|
||||
url: '/xljk/evaluation/students',
|
||||
method: 'get',
|
||||
params: { collegeName, majorName, className }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取学期选项
|
||||
export const getSemesterOptions = () => {
|
||||
export const getXljkSemesterOptions = (): AxiosPromise<Array<{ value: string; label: string }>> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/options/semester',
|
||||
url: '/xljk/evaluation/options/semester',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 发布测评(已废弃,改为提交功能)
|
||||
export const publishEvaluation = (id: string | number) => {
|
||||
export const publishXljkEvaluation = (id: string | number) => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/${id}/publish`,
|
||||
url: `/xljk/evaluation/${id}/publish`,
|
||||
method: 'put'
|
||||
});
|
||||
};
|
||||
|
||||
// 提交测评
|
||||
export const completeEvaluation = (id: string | number) => {
|
||||
export const completeXljkEvaluation = (id: string | number) => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/${id}/complete`,
|
||||
url: `/xljk/evaluation/${id}/complete`,
|
||||
method: 'put'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取测评统计数据
|
||||
export const getEvaluationStatistics = (id: string | number) => {
|
||||
export const getXljkEvaluationStatistics = (id: string | number): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/${id}/statistics`,
|
||||
url: `/xljk/evaluation/${id}/statistics`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取重点关注学生统计
|
||||
export const getFocusStudentsStatistics = (query: XljkEvaluationQuery) => {
|
||||
export const getXljkFocusStudentsStatistics = (query: XljkEvaluationQuery): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/statistics/focus',
|
||||
url: '/xljk/evaluation/statistics/focus',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询测评明细列表
|
||||
export const listEvaluationDetail = (query: XljkEvaluationDetailQuery) => {
|
||||
export const listXljkEvaluationDetail = (query: XljkEvaluationDetailQuery): AxiosPromise<XljkEvaluationDetailVO[]> => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/detail/list',
|
||||
url: '/xljk/evaluation/detail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取测评明细列表
|
||||
export const getEvaluationDetailsByEvaluationId = (evaluationId: string | number) => {
|
||||
export const getXljkEvaluationDetailsByEvaluationId = (evaluationId: string | number): AxiosPromise<XljkEvaluationDetailVO[]> => {
|
||||
return request({
|
||||
url: `/api/xljk/evaluation/detail/evaluation/${evaluationId}`,
|
||||
url: `/xljk/evaluation/detail/evaluation/${evaluationId}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 批量新增测评明细
|
||||
export const batchAddEvaluationDetails = (data: XljkEvaluationDetailForm[]) => {
|
||||
export const batchAddXljkEvaluationDetails = (data: XljkEvaluationDetailForm[]) => {
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/detail/batch',
|
||||
url: '/xljk/evaluation/detail/batch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 批量更新学生心理状态
|
||||
export const batchUpdateMentalStatus = (data: XljkEvaluationDetailForm[]) => {
|
||||
export const batchUpdateXljkMentalStatus = (data: XljkEvaluationDetailForm[]) => {
|
||||
// 确保数据中的ID字段保持原有格式,不做Number转换
|
||||
console.log('批量更新数据 - 第一条记录evaluationId:', data[0]?.evaluationId);
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/detail/batch/mentalStatus',
|
||||
url: '/xljk/evaluation/detail/batch/mentalStatus',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -198,6 +198,16 @@ export interface XljkEvaluationQuery extends PageQuery {
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 排序字段
|
||||
*/
|
||||
orderByColumn?: string;
|
||||
|
||||
/**
|
||||
* 排序方式(asc/desc)
|
||||
*/
|
||||
isAsc?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
@@ -525,4 +535,4 @@ export interface EvaluationStatistics {
|
||||
* 重点关注学生百分比
|
||||
*/
|
||||
focusPercent: number;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
* 心理健康模块 API 接口入口
|
||||
*
|
||||
* 统一导出心理健康测评和心理咨询预约相关的API接口和类型定义
|
||||
* 与后勤管理模块保持一致的导出方式
|
||||
*/
|
||||
|
||||
// ===== 心理健康测评相关接口 =====
|
||||
export {
|
||||
// 测评管理
|
||||
listXljkEvaluation,
|
||||
getXljkEvaluation,
|
||||
addXljkEvaluation,
|
||||
updateXljkEvaluation,
|
||||
delXljkEvaluation,
|
||||
|
||||
// 选项获取
|
||||
getXljkDepartmentOptions,
|
||||
getXljkCollegeOptions,
|
||||
getXljkMajorOptions,
|
||||
getXljkClassOptions,
|
||||
getXljkStudentsByClass,
|
||||
getXljkSemesterOptions,
|
||||
|
||||
// 测评操作
|
||||
publishXljkEvaluation,
|
||||
completeXljkEvaluation,
|
||||
getXljkEvaluationStatistics,
|
||||
getXljkFocusStudentsStatistics,
|
||||
|
||||
// 测评明细
|
||||
listXljkEvaluationDetail,
|
||||
getXljkEvaluationDetailsByEvaluationId,
|
||||
batchAddXljkEvaluationDetails,
|
||||
batchUpdateXljkMentalStatus
|
||||
} from './evaluation';
|
||||
|
||||
// ===== 心理咨询预约相关接口 =====
|
||||
export {
|
||||
// 预约时段管理
|
||||
listXljkSchedule,
|
||||
getXljkSchedule,
|
||||
addXljkSchedule,
|
||||
updateXljkSchedule,
|
||||
delXljkSchedule,
|
||||
|
||||
// 预约记录管理
|
||||
listXljkAppointment,
|
||||
getXljkAppointment,
|
||||
updateXljkAppointment,
|
||||
delXljkAppointment,
|
||||
|
||||
// 预约相关操作
|
||||
getXljkAvailableTimeSlots,
|
||||
getXljkAvailableDetailSlots,
|
||||
submitXljkAppointment,
|
||||
getXljkMyAppointments,
|
||||
recordXljkConsultation,
|
||||
|
||||
// 选项获取
|
||||
getXljkCounselorOptions,
|
||||
getXljkStudentByNo,
|
||||
getXljkConsultationCollegeOptions,
|
||||
getXljkConsultationMajorOptions,
|
||||
getXljkConsultationClassOptions
|
||||
} from './consultation';
|
||||
|
||||
// ===== 类型定义导出 =====
|
||||
|
||||
// 心理健康测评类型
|
||||
export type {
|
||||
XljkEvaluationVO,
|
||||
XljkEvaluationForm,
|
||||
XljkEvaluationQuery,
|
||||
XljkEvaluationDetailVO,
|
||||
XljkEvaluationDetailForm,
|
||||
XljkEvaluationDetailQuery,
|
||||
CollegeOption,
|
||||
MajorOption,
|
||||
ClassOption,
|
||||
StudentInfo
|
||||
} from './evaluation/types';
|
||||
|
||||
// 心理咨询预约类型
|
||||
export type {
|
||||
XljkConsultationScheduleVO,
|
||||
XljkConsultationScheduleForm,
|
||||
XljkConsultationScheduleQuery,
|
||||
XljkConsultationAppointmentVO,
|
||||
XljkConsultationAppointmentForm,
|
||||
XljkConsultationAppointmentQuery,
|
||||
AvailableTimeSlot,
|
||||
TimeSlotDetail,
|
||||
CounselorOption
|
||||
} from './consultation/types';
|
||||
@@ -58,7 +58,7 @@ export const updateEnrollmentInfo = (data: EnrollmentInfoForm) => {
|
||||
export const updateEnrollmentStatus = (id: string | number | Array<string | number>, status: string) => {
|
||||
const data = Array.isArray(id)
|
||||
? { ids: id, status } // 批量更新
|
||||
: { id, status }; // 单个更新
|
||||
: { id, status }; // 单个更新
|
||||
|
||||
return request({
|
||||
url: '/zsjy/enrollment/info/updateStatus',
|
||||
@@ -132,7 +132,7 @@ export const submitEnrollmentApplication = (data: EnrollmentInfoForm) => {
|
||||
* 查询我的报名状态(供学生端使用)
|
||||
* @param params 查询参数
|
||||
*/
|
||||
export const queryMyEnrollmentStatus = (params: { idCard?: string, examNumber?: string }): AxiosPromise<EnrollmentInfoVO> => {
|
||||
export const queryMyEnrollmentStatus = (params: { idCard?: string; examNumber?: string }): AxiosPromise<EnrollmentInfoVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/info/myStatus',
|
||||
method: 'get',
|
||||
|
||||
@@ -1,365 +1,365 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export interface EnrollmentProcessVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId: number
|
||||
enrollmentId: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard: string
|
||||
idCard: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus: string
|
||||
currentStatus: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler: number
|
||||
currentHandler: number;
|
||||
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
currentHandlerName: string
|
||||
currentHandlerName: string;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus: string
|
||||
infoAuditStatus: string;
|
||||
|
||||
/**
|
||||
* 信息审核人ID
|
||||
*/
|
||||
infoAuditUser: number
|
||||
infoAuditUser: number;
|
||||
|
||||
/**
|
||||
* 信息审核人姓名
|
||||
*/
|
||||
infoAuditUserName: string
|
||||
infoAuditUserName: string;
|
||||
|
||||
/**
|
||||
* 信息审核时间
|
||||
*/
|
||||
infoAuditTime: string
|
||||
infoAuditTime: string;
|
||||
|
||||
/**
|
||||
* 信息审核意见
|
||||
*/
|
||||
infoAuditOpinion: string
|
||||
infoAuditOpinion: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus: string
|
||||
admissionStatus: string;
|
||||
|
||||
/**
|
||||
* 录取处理人ID
|
||||
*/
|
||||
admissionUser: number
|
||||
admissionUser: number;
|
||||
|
||||
/**
|
||||
* 录取处理人姓名
|
||||
*/
|
||||
admissionUserName: string
|
||||
admissionUserName: string;
|
||||
|
||||
/**
|
||||
* 录取处理时间
|
||||
*/
|
||||
admissionTime: string
|
||||
admissionTime: string;
|
||||
|
||||
/**
|
||||
* 缴费状态(0-未缴费 1-已缴费)
|
||||
*/
|
||||
paymentStatus: string
|
||||
paymentStatus: string;
|
||||
|
||||
/**
|
||||
* 缴费确认时间
|
||||
*/
|
||||
paymentConfirmTime: string
|
||||
paymentConfirmTime: string;
|
||||
|
||||
/**
|
||||
* 录取通知书号码
|
||||
*/
|
||||
noticeNumber: string
|
||||
noticeNumber: string;
|
||||
|
||||
/**
|
||||
* 录取处理意见
|
||||
*/
|
||||
admissionOpinion: string
|
||||
admissionOpinion: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus: string
|
||||
finalAuditStatus: string;
|
||||
|
||||
/**
|
||||
* 最终审核人ID
|
||||
*/
|
||||
finalAuditUser: number
|
||||
finalAuditUser: number;
|
||||
|
||||
/**
|
||||
* 最终审核人姓名
|
||||
*/
|
||||
finalAuditUserName: string
|
||||
finalAuditUserName: string;
|
||||
|
||||
/**
|
||||
* 最终审核时间
|
||||
*/
|
||||
finalAuditTime: string
|
||||
finalAuditTime: string;
|
||||
|
||||
/**
|
||||
* 最终审核意见
|
||||
*/
|
||||
finalAuditOpinion: string
|
||||
finalAuditOpinion: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted: number
|
||||
isCompleted: number;
|
||||
|
||||
/**
|
||||
* 录取完成时间
|
||||
*/
|
||||
completionTime: string
|
||||
completionTime: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string
|
||||
updateTime: string;
|
||||
|
||||
/**
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender?: string
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 地区/省份
|
||||
*/
|
||||
province?: string
|
||||
province?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(驼峰命名)
|
||||
*/
|
||||
collegeName?: string
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(驼峰命名)
|
||||
*/
|
||||
collegeId?: string
|
||||
collegeId?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(下划线命名)
|
||||
*/
|
||||
college_name?: string
|
||||
college_name?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(下划线命名)
|
||||
*/
|
||||
college_id?: string
|
||||
college_id?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(拼写变体 - collage)
|
||||
*/
|
||||
collage_name?: string
|
||||
collage_name?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(拼写变体 - collage)
|
||||
*/
|
||||
collage_id?: string
|
||||
collage_id?: string;
|
||||
|
||||
/**
|
||||
* 专业名称(驼峰命名)
|
||||
*/
|
||||
majorName?: string
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 专业代码(驼峰命名)
|
||||
*/
|
||||
majorCode?: string
|
||||
majorCode?: string;
|
||||
|
||||
/**
|
||||
* 专业名称(下划线命名)
|
||||
*/
|
||||
major_name?: string
|
||||
major_name?: string;
|
||||
|
||||
/**
|
||||
* 专业代码(下划线命名)
|
||||
*/
|
||||
major_code?: string
|
||||
major_code?: string;
|
||||
|
||||
/**
|
||||
* 报考专业(来自报名信息表)
|
||||
*/
|
||||
appliedMajor?: string
|
||||
appliedMajor?: string;
|
||||
|
||||
/**
|
||||
* 关联的报名信息对象
|
||||
*/
|
||||
enrollmentInfo?: any
|
||||
enrollmentInfo?: any;
|
||||
}
|
||||
|
||||
export interface EnrollmentProcessForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId?: number
|
||||
enrollmentId?: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard?: string
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus?: string
|
||||
currentStatus?: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler?: number
|
||||
currentHandler?: number;
|
||||
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
currentHandlerName?: string
|
||||
currentHandlerName?: string;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus?: string
|
||||
infoAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 信息审核意见
|
||||
*/
|
||||
infoAuditOpinion?: string
|
||||
infoAuditOpinion?: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus?: string
|
||||
admissionStatus?: string;
|
||||
|
||||
/**
|
||||
* 缴费状态(0-未缴费 1-已缴费)
|
||||
*/
|
||||
paymentStatus?: string
|
||||
paymentStatus?: string;
|
||||
|
||||
/**
|
||||
* 录取通知书号码
|
||||
*/
|
||||
noticeNumber?: string
|
||||
noticeNumber?: string;
|
||||
|
||||
/**
|
||||
* 录取处理意见
|
||||
*/
|
||||
admissionOpinion?: string
|
||||
admissionOpinion?: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus?: string
|
||||
finalAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 最终审核意见
|
||||
*/
|
||||
finalAuditOpinion?: string
|
||||
finalAuditOpinion?: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted?: number
|
||||
isCompleted?: number;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface EnrollmentProcessQuery extends PageQuery {
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId?: number
|
||||
enrollmentId?: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard?: string
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus?: string
|
||||
currentStatus?: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler?: number
|
||||
currentHandler?: number;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus?: string
|
||||
infoAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus?: string
|
||||
admissionStatus?: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus?: string
|
||||
finalAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted?: number
|
||||
isCompleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any
|
||||
params?: any;
|
||||
}
|
||||
|
||||
// 查询录取流程状态列表
|
||||
@@ -368,8 +368,8 @@ export const listEnrollmentProcess = (query: EnrollmentProcessQuery): AxiosPromi
|
||||
url: '/zsjy/enrollment/process/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询我的待审核列表
|
||||
export const listMyAuditProcess = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -377,16 +377,16 @@ export const listMyAuditProcess = (query: EnrollmentProcessQuery): AxiosPromise<
|
||||
url: '/zsjy/enrollment/process/myAudit',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询录取流程状态详细
|
||||
export const getEnrollmentProcess = (id: string | number): AxiosPromise<EnrollmentProcessVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 新增录取流程状态
|
||||
export const addEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
@@ -394,8 +394,8 @@ export const addEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
url: '/zsjy/enrollment/process',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 从报名信息创建流程
|
||||
export const createProcessFromEnrollment = (enrollmentId: number) => {
|
||||
@@ -403,8 +403,8 @@ export const createProcessFromEnrollment = (enrollmentId: number) => {
|
||||
url: '/zsjy/enrollment/process/createFromEnrollment',
|
||||
method: 'post',
|
||||
params: { enrollmentId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 同步流程状态
|
||||
export const syncProcessStatus = (id: string | number) => {
|
||||
@@ -412,8 +412,8 @@ export const syncProcessStatus = (id: string | number) => {
|
||||
url: '/zsjy/enrollment/process/syncStatus',
|
||||
method: 'post',
|
||||
params: { id }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 修改录取流程状态
|
||||
export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
@@ -421,24 +421,24 @@ export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
url: '/zsjy/enrollment/process',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 删除录取流程状态
|
||||
export const delEnrollmentProcess = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 根据报名信息ID查询流程状态
|
||||
export const getProcessByEnrollmentId = (enrollmentId: number): AxiosPromise<EnrollmentProcessVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/enrollment/' + enrollmentId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询待处理的流程列表
|
||||
export const getPendingProcessList = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -446,8 +446,8 @@ export const getPendingProcessList = (query: EnrollmentProcessQuery): AxiosPromi
|
||||
url: '/zsjy/enrollment/process/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 根据状态查询流程列表
|
||||
export const getProcessListByStatus = (status: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -455,16 +455,16 @@ export const getProcessListByStatus = (status: string, query: EnrollmentProcessQ
|
||||
url: '/zsjy/enrollment/process/status/' + status,
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 获取流程统计数据
|
||||
export const getProcessStatistics = (): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/statistics',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 搜索流程
|
||||
export const searchProcess = (keyword: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -472,35 +472,26 @@ export const searchProcess = (keyword: string, query: EnrollmentProcessQuery): A
|
||||
url: '/zsjy/enrollment/process/search',
|
||||
method: 'get',
|
||||
params: { keyword, ...query }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 信息审核
|
||||
export const infoAudit = (data: {
|
||||
processId: number;
|
||||
auditResult: string;
|
||||
auditOpinion?: string;
|
||||
}) => {
|
||||
export const infoAudit = (data: { processId: number; auditResult: string; auditOpinion?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/infoAudit',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 录取处理
|
||||
export const admissionProcess = (data: {
|
||||
processId: number;
|
||||
admissionResult: string;
|
||||
admissionOpinion?: string;
|
||||
noticeNumber?: string;
|
||||
}) => {
|
||||
export const admissionProcess = (data: { processId: number; admissionResult: string; admissionOpinion?: string; noticeNumber?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/admissionProcess',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 确认缴费
|
||||
export const confirmPayment = (processId: number) => {
|
||||
@@ -508,21 +499,17 @@ export const confirmPayment = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/confirmPayment',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 最终审核
|
||||
export const finalAudit = (data: {
|
||||
processId: number;
|
||||
finalResult: string;
|
||||
finalOpinion?: string;
|
||||
}) => {
|
||||
export const finalAudit = (data: { processId: number; finalResult: string; finalOpinion?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/finalConfirm',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 完成流程
|
||||
export const completeProcess = (processId: number) => {
|
||||
@@ -530,20 +517,17 @@ export const completeProcess = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/complete',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 驳回流程
|
||||
export const rejectProcess = (data: {
|
||||
processId: number;
|
||||
rejectReason: string;
|
||||
}) => {
|
||||
export const rejectProcess = (data: { processId: number; rejectReason: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/reject',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 重置流程
|
||||
export const resetProcess = (processId: number) => {
|
||||
@@ -551,8 +535,8 @@ export const resetProcess = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/reset',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 导出录取流程状态
|
||||
export const exportEnrollmentProcess = (query: EnrollmentProcessQuery) => {
|
||||
@@ -560,5 +544,5 @@ export const exportEnrollmentProcess = (query: EnrollmentProcessQuery) => {
|
||||
url: '/zsjy/enrollment/process/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import type { PageQuery } from '@/types/page'
|
||||
import type { EnrollmentProcessVO } from './enrollmentProcess'
|
||||
import request from '@/utils/request';
|
||||
import type { PageQuery } from '@/types/page';
|
||||
import type { EnrollmentProcessVO } from './enrollmentProcess';
|
||||
|
||||
/**
|
||||
* 查询招生录取统计列表
|
||||
@@ -12,7 +12,7 @@ export function listEnrollmentStatistics(query: PageQuery) {
|
||||
url: '/zsjy/enrollment/statistics/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -25,7 +25,7 @@ export function exportEnrollmentStatistics(query: PageQuery) {
|
||||
method: 'post',
|
||||
params: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function getEnrollmentStatistics(id: string | number) {
|
||||
return request({
|
||||
url: `/zsjy/enrollment/statistics/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,7 +48,7 @@ export function getEnrollmentStatisticsChartData() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/chart',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -59,7 +59,7 @@ export function getEnrollmentStatisticsOverview() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/overview',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +70,7 @@ export function getEnrollmentStatisticsByMajor() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/major',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,7 +81,7 @@ export function getEnrollmentStatisticsByCollege() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/college',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -92,7 +92,7 @@ export function getEnrollmentStatisticsByRegion() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/region',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -103,7 +103,7 @@ export function getEnrollmentStatisticsByGender() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/gender',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -114,7 +114,7 @@ export function getEnrollmentStatisticsByPayment() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/payment',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,5 +125,5 @@ export function getEnrollmentStatisticsByStatus() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/status',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
@@ -1,11 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
GraduateInfoVO,
|
||||
GraduateInfoForm,
|
||||
GraduateInfoQuery,
|
||||
GraduateStatisticsVO
|
||||
} from '@/api/zsjy/types';
|
||||
import { GraduateInfoVO, GraduateInfoForm, GraduateInfoQuery, GraduateStatisticsVO } from '@/api/zsjy/types';
|
||||
|
||||
/**
|
||||
* 查询毕业生信息列表
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 导出招生就业管理模块相关的所有API接口
|
||||
export * from './enterprise'; // 企业信息管理
|
||||
export * from './enterprise'; // 企业信息管理
|
||||
// export * from './jobPosition'; // 招聘岗位管理 (待开发)
|
||||
// export * from './recruitmentPoster'; // 招聘海报管理 (待开发)
|
||||
|
||||
// 现有导出
|
||||
export * from './statistics'; // 统计分析
|
||||
export * from './enrollmentProcess'; // 录取流程管理
|
||||
export * from './enrollmentStatistics'; // 报名统计
|
||||
export * from './statistics'; // 统计分析
|
||||
export * from './enrollmentProcess'; // 录取流程管理
|
||||
export * from './enrollmentStatistics'; // 报名统计
|
||||
|
||||
// 类型导出
|
||||
export * from './types'; // 类型定义
|
||||
export * from './types'; // 类型定义
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import { JobPositionVO, JobPositionForm, JobPositionQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { JobPositionVO, JobPositionForm, JobPositionQuery, TableDataInfo } from './types';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询招聘岗位列表
|
||||
@@ -12,7 +12,7 @@ export function listJobPosition(query?: JobPositionQuery): AxiosPromise<TableDat
|
||||
url: '/zsjy/position/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ export function getJobPosition(id: string | number): AxiosPromise<JobPositionVO>
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function addJobPosition(data: JobPositionForm) {
|
||||
url: '/zsjy/position',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ export function updateJobPosition(data: JobPositionForm) {
|
||||
url: '/zsjy/position',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ export function delJobPosition(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +76,7 @@ export function exportJobPosition(query: JobPositionQuery) {
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,5 +87,5 @@ export function listEnterpriseOptions() {
|
||||
return request({
|
||||
url: '/zsjy/enterprise/options',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import { RecruitmentPosterVO, RecruitmentPosterForm, RecruitmentPosterQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { RecruitmentPosterVO, RecruitmentPosterForm, RecruitmentPosterQuery, TableDataInfo } from './types';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询招聘海报列表
|
||||
@@ -12,7 +12,7 @@ export function listRecruitmentPoster(query?: RecruitmentPosterQuery): AxiosProm
|
||||
url: '/zsjy/poster/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ export function getRecruitmentPoster(id: string | number): AxiosPromise<Recruitm
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function addRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
url: '/zsjy/poster',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ export function updateRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
url: '/zsjy/poster',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ export function delRecruitmentPoster(id: string | number | Array<string | number
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +76,7 @@ export function exportRecruitmentPoster(query: RecruitmentPosterQuery) {
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,5 +89,5 @@ export function listPositionOptions(enterpriseId?: number | string) {
|
||||
url: '/zsjy/position/options',
|
||||
method: 'get',
|
||||
params: { enterpriseId }
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -11,7 +11,7 @@ export function getStatisticsOverview() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取统计概览数据失败:', error);
|
||||
ElMessage.error('获取统计数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -28,7 +28,7 @@ export function getMajorDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取专业分布数据失败:', error);
|
||||
ElMessage.error('获取专业分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -45,7 +45,7 @@ export function getRegionDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取地区分布数据失败:', error);
|
||||
ElMessage.error('获取地区分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -62,7 +62,7 @@ export function getGenderRatio() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取性别比例数据失败:', error);
|
||||
ElMessage.error('获取性别比例数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -81,7 +81,7 @@ export function getEnrollmentTrend(days?: number) {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取报名趋势数据失败:', error);
|
||||
ElMessage.error('获取报名趋势数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -98,7 +98,7 @@ export function getStatusDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取状态分布数据失败:', error);
|
||||
ElMessage.error('获取状态分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -113,9 +113,9 @@ export interface StatisticsOverview {
|
||||
paymentRate: string;
|
||||
admittedCount: number;
|
||||
admissionRate: string;
|
||||
majorDistribution: Array<{[key: string]: any}>;
|
||||
regionDistribution: Array<{[key: string]: any}>;
|
||||
genderRatio: {[key: string]: number};
|
||||
weeklyTrend: Array<{[key: string]: any}>;
|
||||
statusDistribution: {[key: string]: number};
|
||||
majorDistribution: Array<{ [key: string]: any }>;
|
||||
regionDistribution: Array<{ [key: string]: any }>;
|
||||
genderRatio: { [key: string]: number };
|
||||
weeklyTrend: Array<{ [key: string]: any }>;
|
||||
statusDistribution: { [key: string]: number };
|
||||
}
|
||||
Reference in new issue
Block a user