解决API文档和路由配置合并冲突
This commit is contained in:
commit
79a96a7dfd
662 files changed
+127608
-205195
No files matched your search
@@ -0,0 +1,185 @@
|
||||
/**
|
||||
* 财务审批记录管理 - API服务
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-01-28
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
import type { AxiosPromise } from 'axios';
|
||||
|
||||
// 审批记录查询参数
|
||||
export interface CwApprovalRecordQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
applicationNo?: string;
|
||||
projectName?: string;
|
||||
applicantName?: string;
|
||||
approvalStatus?: string;
|
||||
approverName?: string;
|
||||
currentApprover?: string;
|
||||
deptId?: string;
|
||||
submitTimeBegin?: string;
|
||||
submitTimeEnd?: string;
|
||||
needApproval?: boolean;
|
||||
}
|
||||
|
||||
// 审批记录VO
|
||||
export interface CwApprovalRecordVO {
|
||||
id: string | number;
|
||||
applicationId: string | number;
|
||||
applicationNo: string;
|
||||
projectName: string;
|
||||
applicantName: string;
|
||||
deptName: string;
|
||||
totalInvestment: number;
|
||||
currentApproverName: string;
|
||||
approvalStatus: string;
|
||||
submitTime: string;
|
||||
approvalTime?: string;
|
||||
approverName?: string;
|
||||
approvalComment?: string;
|
||||
approvalResult?: string;
|
||||
}
|
||||
|
||||
// 审批表单
|
||||
export interface CwApprovalForm {
|
||||
applicationId?: string | number;
|
||||
applicationIds?: Array<string | number>;
|
||||
approvalResult: string;
|
||||
approvalComment: string;
|
||||
nextApprover?: string | number;
|
||||
}
|
||||
|
||||
// 审批历史记录
|
||||
export interface CwApprovalHistoryVO {
|
||||
id: string | number;
|
||||
applicationId: string | number;
|
||||
approverName: string;
|
||||
approvalResult: string;
|
||||
approvalComment: string;
|
||||
approvalTime: string;
|
||||
stepName: string;
|
||||
stepOrder: number;
|
||||
}
|
||||
|
||||
// 查询审批记录列表
|
||||
export const listApprovalRecord = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询审批记录详情
|
||||
export const getApprovalRecord = (id: string | number): AxiosPromise<CwApprovalRecordVO> => {
|
||||
return request({
|
||||
url: '/cw/approval/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 审批申报(单个)
|
||||
export const approveApplication = (data: CwApprovalForm) => {
|
||||
return request({
|
||||
url: '/cw/approval/process',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 批量审批申报
|
||||
export const batchApproveApplication = (data: CwApprovalForm) => {
|
||||
return request({
|
||||
url: '/cw/approval/batchApprove',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 获取审批历史记录
|
||||
export const getApprovalHistory = (applicationId: string | number): AxiosPromise<CwApprovalHistoryVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/byApplication/' + applicationId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 获取当前用户待审批列表
|
||||
export const getPendingApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取当前用户已审批列表
|
||||
export const getMyApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/my',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取部门审批列表
|
||||
export const getDepartmentApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/dept/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取可选审批人列表
|
||||
export const getAvailableApprovers = (applicationId: string | number): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/approvers/' + applicationId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 导出审批记录
|
||||
export const exportApprovalRecord = (query: CwApprovalRecordQuery) => {
|
||||
return request({
|
||||
url: '/cw/approval/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取审批统计数据
|
||||
export const getApprovalStatistics = (year?: number) => {
|
||||
return request({
|
||||
url: '/cw/approval/statistics',
|
||||
method: 'get',
|
||||
params: { year }
|
||||
});
|
||||
};
|
||||
|
||||
// 按部门统计审批数据
|
||||
export const getApprovalStatsByDept = () => {
|
||||
return request({
|
||||
url: '/cw/approval/statsByDept',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 按月份统计审批数据
|
||||
export const getApprovalStatsByMonth = (year?: number) => {
|
||||
return request({
|
||||
url: '/cw/approval/statsByMonth',
|
||||
method: 'get',
|
||||
params: { query: { year } }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取审批效率统计
|
||||
export const getApprovalEfficiency = () => {
|
||||
return request({
|
||||
url: '/cw/approval/efficiency',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* 绩效指标管理 - API服务
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-08-01
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
import type { AxiosPromise } from 'axios';
|
||||
|
||||
// 绩效指标类型定义
|
||||
export interface PerformanceIndicatorForm {
|
||||
id?: number;
|
||||
applicationId: number;
|
||||
applicationNo: string;
|
||||
indicatorType: string;
|
||||
indicatorTypeName: string;
|
||||
goalName: string;
|
||||
targetValue: string;
|
||||
weightPercentage: number;
|
||||
description?: string;
|
||||
unit?: string;
|
||||
measurementMethod?: string;
|
||||
dataSource?: string;
|
||||
}
|
||||
|
||||
// 查询绩效指标列表
|
||||
export const listPerformanceIndicator = (query: any): AxiosPromise<PerformanceIndicatorForm[]> => {
|
||||
return request({
|
||||
url: '/cw/performance/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 根据申报ID查询绩效指标
|
||||
export const getPerformanceByApplicationId = (applicationId: number): AxiosPromise<PerformanceIndicatorForm[]> => {
|
||||
return request({
|
||||
url: `/cw/performance/application/${applicationId}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 批量保存绩效指标
|
||||
export const batchSavePerformanceIndicator = (applicationId: number, applicationNo: string, data: PerformanceIndicatorForm[]) => {
|
||||
return request({
|
||||
url: '/cw/performance/batchSave',
|
||||
method: 'post',
|
||||
data: {
|
||||
applicationId,
|
||||
applicationNo,
|
||||
indicators: data
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 新增绩效指标
|
||||
export const addPerformanceIndicator = (data: PerformanceIndicatorForm) => {
|
||||
return request({
|
||||
url: '/cw/performance',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 修改绩效指标
|
||||
export const updatePerformanceIndicator = (data: PerformanceIndicatorForm) => {
|
||||
return request({
|
||||
url: '/cw/performance',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除绩效指标
|
||||
export const delPerformanceIndicator = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/performance/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
// 根据申报ID删除绩效指标
|
||||
export const delPerformanceByApplicationId = (applicationId: number) => {
|
||||
return request({
|
||||
url: `/cw/performance/application/${applicationId}`,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,217 @@
|
||||
/**
|
||||
* 财务项目预算审批 - API服务
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-01-26
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
import type { AxiosPromise } from 'axios';
|
||||
import type {
|
||||
CwProjectApplicationQuery,
|
||||
CwProjectApplicationVO,
|
||||
CwProjectApplicationForm,
|
||||
CwApproverConfigQuery,
|
||||
CwApproverConfigVO,
|
||||
CwApproverConfigForm,
|
||||
CwApplicationStatistics
|
||||
} from '@/api/cw/types';
|
||||
|
||||
// 查询项目预算申报列表
|
||||
export const listProjectApplication = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
|
||||
return request({
|
||||
url: '/cw/application/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询项目预算申报详情
|
||||
export const getProjectApplication = (id: string | number): AxiosPromise<CwProjectApplicationVO> => {
|
||||
return request({
|
||||
url: '/cw/application/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 新增项目预算申报
|
||||
export const addProjectApplication = (data: CwProjectApplicationForm) => {
|
||||
return request({
|
||||
url: '/cw/application',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 修改项目预算申报
|
||||
export const updateProjectApplication = (data: CwProjectApplicationForm) => {
|
||||
return request({
|
||||
url: '/cw/application',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除项目预算申报
|
||||
export const delProjectApplication = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/cw/application/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
// 保存草稿
|
||||
export const saveDraft = (data: CwProjectApplicationForm) => {
|
||||
return request({
|
||||
url: '/cw/application/saveDraft',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 提交申报
|
||||
export const submitApplication = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/application/submit/' + id,
|
||||
method: 'post'
|
||||
});
|
||||
};
|
||||
|
||||
// 撤回申报
|
||||
export const withdrawApplication = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/application/withdraw/' + id,
|
||||
method: 'put'
|
||||
});
|
||||
};
|
||||
|
||||
// 取消申报
|
||||
export const cancelApplication = (id: string | number) => {
|
||||
return request({
|
||||
url: '/cw/application/cancel/' + id,
|
||||
method: 'put'
|
||||
});
|
||||
};
|
||||
|
||||
// 查询我的申报
|
||||
export const getMyApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
|
||||
return request({
|
||||
url: '/cw/application/my',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询部门申报
|
||||
export const getDepartmentApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
|
||||
return request({
|
||||
url: '/cw/application/dept',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询待处理申报
|
||||
export const getPendingApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
|
||||
return request({
|
||||
url: '/cw/application/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 导出项目预算申报
|
||||
export const exportProjectApplication = (query: CwProjectApplicationQuery) => {
|
||||
return request({
|
||||
url: '/cw/application/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取申报统计数据
|
||||
export const getApplicationStatistics = (year?: number): AxiosPromise<CwApplicationStatistics> => {
|
||||
return request({
|
||||
url: '/cw/application/statistics',
|
||||
method: 'get',
|
||||
params: { year }
|
||||
});
|
||||
};
|
||||
|
||||
// 申报数量统计
|
||||
export const getApplicationCount = (): AxiosPromise<number> => {
|
||||
return request({
|
||||
url: '/cw/application/count',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 申报金额汇总
|
||||
export const getApplicationAmountSum = (): AxiosPromise<number> => {
|
||||
return request({
|
||||
url: '/cw/application/amountSum',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 按部门统计
|
||||
export const getStatisticsByDept = () => {
|
||||
return request({
|
||||
url: '/cw/application/statisticsByDept',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 按月份统计
|
||||
export const getStatisticsByMonth = (year?: number) => {
|
||||
return request({
|
||||
url: '/cw/application/statisticsByMonth',
|
||||
method: 'get',
|
||||
params: { year }
|
||||
});
|
||||
};
|
||||
|
||||
// ==================== 审批人配置相关 API ====================
|
||||
|
||||
// 查询审批人配置列表
|
||||
export const listApproverConfig = (query: CwApproverConfigQuery): AxiosPromise<CwApproverConfigVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approverConfig/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 查询审批人配置详情
|
||||
export const getApproverConfig = (id: string | number): AxiosPromise<CwApproverConfigVO> => {
|
||||
return request({
|
||||
url: '/cw/approverConfig/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 新增审批人配置
|
||||
export const addApproverConfig = (data: CwApproverConfigForm) => {
|
||||
return request({
|
||||
url: '/cw/approverConfig',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 修改审批人配置
|
||||
export const updateApproverConfig = (data: CwApproverConfigForm) => {
|
||||
return request({
|
||||
url: '/cw/approverConfig',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除审批人配置
|
||||
export const delApproverConfig = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/cw/approverConfig/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,202 @@
|
||||
/**
|
||||
* 财务项目预算审批 - TypeScript类型定义
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-01-26
|
||||
*/
|
||||
|
||||
// 项目预算申报查询对象
|
||||
export interface CwProjectApplicationQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
applicationNo?: string;
|
||||
projectName?: string;
|
||||
principal?: string;
|
||||
approvalStatus?: string;
|
||||
departmentId?: number;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
year?: number;
|
||||
}
|
||||
|
||||
// 项目预算申报视图对象
|
||||
export interface CwProjectApplicationVO {
|
||||
id?: number;
|
||||
applicationNo?: string;
|
||||
projectName?: string;
|
||||
principal?: string;
|
||||
contactPhone?: string;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
targetSme?: boolean;
|
||||
targetMicroSme?: boolean;
|
||||
importEquipment?: boolean;
|
||||
applicationReason?: string;
|
||||
constructionContent?: string;
|
||||
totalPerformanceGoal?: string;
|
||||
currentYearGoal?: string;
|
||||
totalInvestment?: number;
|
||||
totalMunicipalFiscal?: number;
|
||||
totalSelfFunding?: number;
|
||||
totalOtherFunding?: number;
|
||||
currentYearTotal?: number;
|
||||
currentYearMunicipal?: number;
|
||||
currentYearSelf?: number;
|
||||
currentYearOther?: number;
|
||||
nextYearTotal?: number;
|
||||
nextYearMunicipal?: number;
|
||||
nextYearSelf?: number;
|
||||
nextYearOther?: number;
|
||||
futureYearTotal?: number;
|
||||
futureYearMunicipal?: number;
|
||||
futureYearSelf?: number;
|
||||
futureYearOther?: number;
|
||||
applicantId?: number;
|
||||
applicantName?: string;
|
||||
departmentId?: number;
|
||||
departmentName?: string;
|
||||
approvalStatus?: string;
|
||||
submitTime?: string;
|
||||
approveTime?: string;
|
||||
year?: number;
|
||||
createBy?: number;
|
||||
createTime?: string;
|
||||
updateBy?: number;
|
||||
updateTime?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 项目预算申报表单对象
|
||||
export interface CwProjectApplicationForm {
|
||||
id?: number;
|
||||
applicationNo?: string;
|
||||
projectName?: string;
|
||||
principal?: string;
|
||||
contactPhone?: string;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
targetSme?: boolean;
|
||||
targetMicroSme?: boolean;
|
||||
importEquipment?: boolean;
|
||||
applicationReason?: string;
|
||||
constructionContent?: string;
|
||||
totalPerformanceGoal?: string;
|
||||
currentYearGoal?: string;
|
||||
totalInvestment?: number;
|
||||
totalMunicipalFiscal?: number;
|
||||
totalSelfFunding?: number;
|
||||
totalOtherFunding?: number;
|
||||
currentYearTotal?: number;
|
||||
currentYearMunicipal?: number;
|
||||
currentYearSelf?: number;
|
||||
currentYearOther?: number;
|
||||
nextYearTotal?: number;
|
||||
nextYearMunicipal?: number;
|
||||
nextYearSelf?: number;
|
||||
nextYearOther?: number;
|
||||
futureYearTotal?: number;
|
||||
futureYearMunicipal?: number;
|
||||
futureYearSelf?: number;
|
||||
futureYearOther?: number;
|
||||
applicantId?: number;
|
||||
applicantName?: string;
|
||||
departmentId?: number;
|
||||
departmentName?: string;
|
||||
approvalStatus?: string;
|
||||
year?: number;
|
||||
remark?: string;
|
||||
performanceIndicators?: any[]; // 绩效指标数据
|
||||
}
|
||||
|
||||
// 审批人配置查询对象
|
||||
export interface CwApproverConfigQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
configType?: string;
|
||||
deptId?: number;
|
||||
status?: string;
|
||||
}
|
||||
|
||||
// 审批人配置视图对象
|
||||
export interface CwApproverConfigVO {
|
||||
id?: number;
|
||||
configType?: string;
|
||||
deptId?: number;
|
||||
minAmount?: number;
|
||||
maxAmount?: number;
|
||||
deptApproverId?: number;
|
||||
deptApproverName?: string;
|
||||
financeApproverId?: number;
|
||||
financeApproverName?: string;
|
||||
leaderApproverId?: number;
|
||||
leaderApproverName?: string;
|
||||
deptDelegateId?: number;
|
||||
deptDelegateName?: string;
|
||||
financeDelegateId?: number;
|
||||
financeDelegateName?: string;
|
||||
leaderDelegateId?: number;
|
||||
leaderDelegateName?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
createTime?: string;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
// 审批人配置表单对象
|
||||
export interface CwApproverConfigForm {
|
||||
id?: number;
|
||||
configType?: string;
|
||||
deptId?: number;
|
||||
minAmount?: number;
|
||||
maxAmount?: number;
|
||||
deptApproverId?: number;
|
||||
deptApproverName?: string;
|
||||
financeApproverId?: number;
|
||||
financeApproverName?: string;
|
||||
leaderApproverId?: number;
|
||||
leaderApproverName?: string;
|
||||
deptDelegateId?: number;
|
||||
deptDelegateName?: string;
|
||||
financeDelegateId?: number;
|
||||
financeDelegateName?: string;
|
||||
leaderDelegateId?: number;
|
||||
leaderDelegateName?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 项目申报统计对象
|
||||
export interface CwApplicationStatistics {
|
||||
totalCount: number;
|
||||
approvingCount: number;
|
||||
approvedCount: number;
|
||||
rejectedCount: number;
|
||||
totalAmount: number;
|
||||
monthlyTrend: MonthlyTrend[];
|
||||
deptStatistics: DeptStatistics[];
|
||||
statusDistribution: StatusDistribution[];
|
||||
}
|
||||
|
||||
// 部门统计对象
|
||||
export interface DeptStatistics {
|
||||
deptName: string;
|
||||
totalCount: number;
|
||||
totalAmount: number;
|
||||
approvedCount: number;
|
||||
approvedAmount: number;
|
||||
}
|
||||
|
||||
// 月度趋势对象
|
||||
export interface MonthlyTrend {
|
||||
month: string;
|
||||
count: number;
|
||||
amount: number;
|
||||
}
|
||||
|
||||
// 状态分布对象
|
||||
export interface StatusDistribution {
|
||||
status: string;
|
||||
statusName: string;
|
||||
count: number;
|
||||
percentage: number;
|
||||
}
|
||||
@@ -8,7 +8,10 @@ export function listHallReservation(query: HallReservationQuery) {
|
||||
return request<TableDataInfo<HallReservationVO>>({
|
||||
url: '/hq/hallReservation/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -16,7 +19,10 @@ export function listHallReservation(query: HallReservationQuery) {
|
||||
export function getHallReservation(id: string | number) {
|
||||
return request<R<HallReservationVO>>({
|
||||
url: '/hq/hallReservation/' + id,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -25,7 +31,10 @@ export function auditHallReservation(data: HallReservationAuditForm) {
|
||||
return request<R<any>>({
|
||||
url: '/hq/hallReservation/audit',
|
||||
method: 'put',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -34,6 +43,9 @@ export function checkTimeConflict(data: TimeCheckParams) {
|
||||
return request<R<TimeCheckResult>>({
|
||||
url: '/hq/hallReservation/checkTimeConflict',
|
||||
method: 'post',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -12,7 +12,10 @@ export const listHallInfo = (query?: HallInfoQuery): AxiosPromise<HallInfoVO[]>
|
||||
return request({
|
||||
url: '/hq/hallInfo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -23,7 +26,10 @@ export const listHallInfo = (query?: HallInfoQuery): AxiosPromise<HallInfoVO[]>
|
||||
export const getHallInfo = (id: string | number): AxiosPromise<HallInfoVO> => {
|
||||
return request({
|
||||
url: '/hq/hallInfo/' + id,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -35,7 +41,10 @@ export const addHallInfo = (data: HallInfoForm) => {
|
||||
return request({
|
||||
url: '/hq/hallInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -47,7 +56,10 @@ export const updateHallInfo = (data: HallInfoForm) => {
|
||||
return request({
|
||||
url: '/hq/hallInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -58,6 +70,9 @@ export const updateHallInfo = (data: HallInfoForm) => {
|
||||
export const delHallInfo = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/hq/hallInfo/' + id,
|
||||
method: 'delete'
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -12,7 +12,10 @@ export const listHallReservation = (query?: HallReservationQuery): AxiosPromise<
|
||||
return request({
|
||||
url: '/hq/hallReservation/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -23,7 +26,10 @@ export const listHallReservation = (query?: HallReservationQuery): AxiosPromise<
|
||||
export const getHallReservation = (id: string | number): AxiosPromise<HallReservationVO> => {
|
||||
return request({
|
||||
url: '/hq/hallReservation/' + id,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -35,7 +41,10 @@ export const addHallReservation = (data: HallReservationForm) => {
|
||||
return request({
|
||||
url: '/hq/hallReservation',
|
||||
method: 'post',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -47,7 +56,10 @@ export const updateHallReservation = (data: HallReservationForm) => {
|
||||
return request({
|
||||
url: '/hq/hallReservation',
|
||||
method: 'put',
|
||||
data: data
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -58,6 +70,9 @@ export const updateHallReservation = (data: HallReservationForm) => {
|
||||
export const delHallReservation = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/hq/hallReservation/' + id,
|
||||
method: 'delete'
|
||||
method: 'delete',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -1,80 +0,0 @@
|
||||
/**
|
||||
* 部门树结构
|
||||
*/
|
||||
export interface XgDeptTreeVO extends BaseEntity {
|
||||
id: number | string;
|
||||
label: string;
|
||||
parentId: number | string;
|
||||
weight: number;
|
||||
children: XgDeptTreeVO[];
|
||||
disabled: boolean;
|
||||
}
|
||||
|
||||
// 学生查询参数
|
||||
export interface StudentQuery {
|
||||
pageNum: number;
|
||||
pageSize: number;
|
||||
studentName?: string;
|
||||
studentNo?: string;
|
||||
phonenumber?: string;
|
||||
status?: string;
|
||||
deptId?: number;
|
||||
}
|
||||
|
||||
// 学生视图对象
|
||||
export interface StudentVO {
|
||||
studentId: number | string;
|
||||
studentNo: string;
|
||||
studentName: string;
|
||||
nickName?: string;
|
||||
sex?: string;
|
||||
age?: number;
|
||||
phonenumber?: string;
|
||||
email?: string;
|
||||
idCard?: string;
|
||||
deptId?: number;
|
||||
deptName?: string;
|
||||
majorId?: number;
|
||||
majorName?: string;
|
||||
classId?: number;
|
||||
className?: string;
|
||||
address?: string;
|
||||
status?: string;
|
||||
createBy?: number;
|
||||
createTime?: string;
|
||||
updateBy?: number;
|
||||
updateTime?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 学生表单对象
|
||||
export interface StudentForm {
|
||||
studentId?: number | string;
|
||||
deptId?: number;
|
||||
studentNo: string;
|
||||
studentName: string;
|
||||
nickName?: string;
|
||||
password?: string;
|
||||
phonenumber?: string;
|
||||
email?: string;
|
||||
idCard?: string;
|
||||
sex?: string;
|
||||
status?: string;
|
||||
majorId?: number;
|
||||
classId?: number;
|
||||
address?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 统一响应类型
|
||||
export interface R<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
// 表格数据信息类型
|
||||
export interface TableDataInfo<T> {
|
||||
total: number;
|
||||
rows: T;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { SysRegionVO, SysRegionForm, SysRegionQuery } from '@/api/system/SysRegion/types';
|
||||
|
||||
/**
|
||||
* 查询行政区划列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listSysRegion = (query?: SysRegionQuery): AxiosPromise<SysRegionVO[]> => {
|
||||
return request({
|
||||
url: '/system/SysRegion/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询行政区划详细
|
||||
* @param id
|
||||
*/
|
||||
export const getSysRegion = (id: string | number): AxiosPromise<SysRegionVO> => {
|
||||
return request({
|
||||
url: '/system/SysRegion/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增行政区划
|
||||
* @param data
|
||||
*/
|
||||
export const addSysRegion = (data: SysRegionForm) => {
|
||||
return request({
|
||||
url: '/system/SysRegion',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改行政区划
|
||||
* @param data
|
||||
*/
|
||||
export const updateSysRegion = (data: SysRegionForm) => {
|
||||
return request({
|
||||
url: '/system/SysRegion',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除行政区划
|
||||
* @param id
|
||||
*/
|
||||
export const delSysRegion = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/system/SysRegion/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,191 @@
|
||||
export interface SysRegionVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 行政区划编码
|
||||
*/
|
||||
code: string;
|
||||
|
||||
/**
|
||||
* 行政区划名称
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 行政区划简称
|
||||
*/
|
||||
shortName: string;
|
||||
|
||||
/**
|
||||
* 父级行政区划编码,顶级为0
|
||||
*/
|
||||
parentCode: number;
|
||||
|
||||
/**
|
||||
* 层级(1:省,2:市,3:区/县,4:街道/镇)
|
||||
*/
|
||||
level: number;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
sort: number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
longitude: number;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
latitude: number;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0未删除 1已删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
/**
|
||||
* 子节点列表(用于树形结构)
|
||||
*/
|
||||
children?: SysRegionVO[];
|
||||
|
||||
}
|
||||
|
||||
export interface SysRegionForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 行政区划编码
|
||||
*/
|
||||
code?: string;
|
||||
|
||||
/**
|
||||
* 行政区划名称
|
||||
*/
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* 行政区划简称
|
||||
*/
|
||||
shortName?: string;
|
||||
|
||||
/**
|
||||
* 父级行政区划编码,顶级为0
|
||||
*/
|
||||
parentCode?: number;
|
||||
|
||||
/**
|
||||
* 层级(1:省,2:市,3:区/县,4:街道/镇)
|
||||
*/
|
||||
level?: number;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
sort?: number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
longitude?: number;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
latitude?: number;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0未删除 1已删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface SysRegionQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 行政区划编码
|
||||
*/
|
||||
code?: string;
|
||||
|
||||
/**
|
||||
* 行政区划名称
|
||||
*/
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* 行政区划简称
|
||||
*/
|
||||
shortName?: string;
|
||||
|
||||
/**
|
||||
* 父级行政区划编码,顶级为0
|
||||
*/
|
||||
parentCode?: number;
|
||||
|
||||
/**
|
||||
* 层级(1:省,2:市,3:区/县,4:街道/镇)
|
||||
*/
|
||||
level?: number;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
sort?: number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
longitude?: number;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
latitude?: number;
|
||||
|
||||
/**
|
||||
* 逻辑删除标识(0未删除 1已删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 重置bucket访问密码
|
||||
* @param bucketName bucket名称
|
||||
* @param newPassword 新密码
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function resetBucketPassword(bucketName: string, newPassword: string) {
|
||||
return request({
|
||||
url: '/system/bucket-password/reset',
|
||||
method: 'post',
|
||||
params: { bucketName, newPassword }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取bucket密码信息
|
||||
* @param bucketName bucket名称
|
||||
* @returns bucket密码信息
|
||||
*/
|
||||
export function getBucketPasswordInfo(bucketName: string) {
|
||||
return request({
|
||||
url: `/system/bucket-password/info/${bucketName}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取bucket访问记录
|
||||
* @param bucketName bucket名称
|
||||
* @param limit 限制数量,默认10条
|
||||
* @returns 访问记录列表
|
||||
*/
|
||||
export function getBucketAccessRecords(bucketName: string, limit: number = 10) {
|
||||
return request({
|
||||
url: `/system/bucket-password/records/${bucketName}`,
|
||||
method: 'get',
|
||||
params: { limit }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证bucket密码
|
||||
* @param bucketName bucket名称
|
||||
* @param password 密码
|
||||
* @returns 验证结果
|
||||
*/
|
||||
export function validateBucketPassword(bucketName: string, password: string) {
|
||||
return request({
|
||||
url: '/system/bucket-password/validate',
|
||||
method: 'post',
|
||||
params: { bucketName, password }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成强密码
|
||||
* @param length 密码长度,默认12位
|
||||
* @returns 生成的密码
|
||||
*/
|
||||
export function generateStrongPassword(length: number = 12): string {
|
||||
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*'
|
||||
let password = ''
|
||||
for (let i = 0; i < length; i++) {
|
||||
password += charset.charAt(Math.floor(Math.random() * charset.length))
|
||||
}
|
||||
return password
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证密码强度
|
||||
* @param password 密码
|
||||
* @returns 密码强度评估
|
||||
*/
|
||||
export function validatePasswordStrength(password: string): {
|
||||
isValid: boolean
|
||||
score: number
|
||||
suggestions: string[]
|
||||
} {
|
||||
const suggestions: string[] = []
|
||||
let score = 0
|
||||
|
||||
// 长度检查
|
||||
if (password.length >= 8) {
|
||||
score += 1
|
||||
} else {
|
||||
suggestions.push('密码长度至少8位')
|
||||
}
|
||||
|
||||
// 包含大写字母
|
||||
if (/[A-Z]/.test(password)) {
|
||||
score += 1
|
||||
} else {
|
||||
suggestions.push('包含大写字母')
|
||||
}
|
||||
|
||||
// 包含小写字母
|
||||
if (/[a-z]/.test(password)) {
|
||||
score += 1
|
||||
} else {
|
||||
suggestions.push('包含小写字母')
|
||||
}
|
||||
|
||||
// 包含数字
|
||||
if (/\d/.test(password)) {
|
||||
score += 1
|
||||
} else {
|
||||
suggestions.push('包含数字')
|
||||
}
|
||||
|
||||
// 包含特殊字符
|
||||
if (/[!@#$%^&*]/.test(password)) {
|
||||
score += 1
|
||||
} else {
|
||||
suggestions.push('包含特殊字符')
|
||||
}
|
||||
|
||||
return {
|
||||
isValid: score >= 4,
|
||||
score,
|
||||
suggestions
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取文件临时访问URL
|
||||
* @param ossId 文件ID
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @param expireSeconds 过期时间(秒),默认300秒
|
||||
* @returns 临时访问URL
|
||||
*/
|
||||
export function getFileAccessUrl(ossId: number | string | bigint, bucketPassword?: string, expireSeconds: number = 300) {
|
||||
return request({
|
||||
url: `/resource/file/access/${ossId}`,
|
||||
method: 'get',
|
||||
params: {
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量获取文件临时访问URL
|
||||
* @param ossIds 文件ID列表
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @param expireSeconds 过期时间(秒),默认300秒
|
||||
* @returns 文件ID与临时URL的映射
|
||||
*/
|
||||
export function getBatchFileAccessUrl(ossIds: number[], bucketPassword?: string, expireSeconds: number = 300) {
|
||||
return request({
|
||||
url: '/resource/file/access/batch',
|
||||
method: 'post',
|
||||
data: ossIds,
|
||||
params: {
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件下载URL(带权限检查)
|
||||
* @param ossId 文件ID
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @param expireSeconds 过期时间(秒),默认300秒
|
||||
* @returns 下载URL
|
||||
*/
|
||||
export function getFileDownloadUrl(ossId: number | string | bigint, bucketPassword?: string, expireSeconds: number = 300) {
|
||||
return request({
|
||||
url: `/resource/oss/download/${ossId}`,
|
||||
method: 'get',
|
||||
params: {
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件预览URL(带权限检查)
|
||||
* @param ossId 文件ID
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @param expireSeconds 过期时间(秒),默认300秒
|
||||
* @returns 预览URL
|
||||
*/
|
||||
export function getFilePreviewUrl(ossId: number | string | bigint, bucketPassword?: string, expireSeconds: number = 300) {
|
||||
return request({
|
||||
url: `/resource/file/preview/${ossId}`,
|
||||
method: 'get',
|
||||
params: {
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 安全下载文件(带bucket密码验证)
|
||||
* @param ossId 文件ID
|
||||
* @param fileName 文件名
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @returns Promise<void>
|
||||
*/
|
||||
export async function secureDownloadFile(ossId: number | string | bigint, fileName: string, bucketPassword?: string) {
|
||||
try {
|
||||
// 获取临时下载URL
|
||||
const { data: downloadUrl } = await getFileDownloadUrl(ossId, bucketPassword)
|
||||
|
||||
// 使用fetch下载文件
|
||||
const response = await fetch(downloadUrl)
|
||||
if (!response.ok) {
|
||||
throw new Error('下载失败')
|
||||
}
|
||||
|
||||
const blob = await response.blob()
|
||||
|
||||
// 创建下载链接
|
||||
const url = URL.createObjectURL(blob)
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.download = fileName
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
|
||||
// 释放内存
|
||||
URL.revokeObjectURL(url)
|
||||
|
||||
return Promise.resolve()
|
||||
} catch (error) {
|
||||
console.error('文件下载失败:', error)
|
||||
return Promise.reject(error)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 安全预览文件(带bucket密码验证)
|
||||
* @param ossId 文件ID
|
||||
* @param contentType 文件类型
|
||||
* @param bucketPassword bucket访问密码
|
||||
* @returns Promise<string> 预览URL
|
||||
*/
|
||||
export async function securePreviewFile(ossId: number | string | bigint, contentType?: string, bucketPassword?: string) {
|
||||
try {
|
||||
// 获取临时预览URL
|
||||
const { data: previewUrl } = await getFilePreviewUrl(ossId, bucketPassword)
|
||||
|
||||
// 根据文件类型选择预览方式
|
||||
if (contentType?.startsWith('image/')) {
|
||||
// 图片直接返回URL用于预览
|
||||
return Promise.resolve(previewUrl)
|
||||
} else {
|
||||
// 其他文件在新窗口打开
|
||||
window.open(previewUrl, '_blank')
|
||||
return Promise.resolve(previewUrl)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('文件预览失败:', error)
|
||||
return Promise.reject(error)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取bucket访问密码提示
|
||||
* @param bucketName bucket名称
|
||||
* @returns 密码提示信息
|
||||
*/
|
||||
export function getBucketPasswordHint(bucketName: string) {
|
||||
// 这里可以根据bucket名称返回相应的密码提示
|
||||
// 例如:从配置中获取密码提示信息
|
||||
return `请输入 ${bucketName} bucket 的访问密码`
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证bucket密码格式
|
||||
* @param password 密码
|
||||
* @returns 验证结果
|
||||
*/
|
||||
export function validateBucketPassword(password: string): boolean {
|
||||
// 简单的密码格式验证
|
||||
return password && password.length >= 6
|
||||
}
|
||||
@@ -48,6 +48,7 @@ export interface UserVO extends BaseEntity {
|
||||
postIds: any;
|
||||
roleId: any;
|
||||
admin: boolean;
|
||||
accountType: string;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { DormBedVO, DormBedForm, DormBedQuery } from '@/api/xgss/dormBed/types';
|
||||
import { DormBedVO, DormBedForm, DormBedQuery } from '@/api/xg/xgss/dormBed/types';
|
||||
|
||||
/**
|
||||
* 查询宿舍床位信息列表
|
||||
File renamed without changes.
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { DormRoomVO, DormRoomForm, DormRoomQuery } from '@/api/xgss/dormRoom/types';
|
||||
import { DormRoomVO, DormRoomForm, DormRoomQuery } from '@/api/xg/xgss/dormRoom/types';
|
||||
|
||||
/**
|
||||
* 查询宿舍房间信息列表
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StuColBatchVO, StuColBatchForm, StuColBatchQuery } from '@/api/xg/xsjcxx/XgStuColBatch/stuColBatch/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStuColBatch = (query?: StuColBatchQuery): AxiosPromise<StuColBatchVO[]> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStuColBatch = (id: string | number): AxiosPromise<StuColBatchVO> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const addStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const updateStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生信息收集批次
|
||||
* @param id
|
||||
*/
|
||||
export const delStuColBatch = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
export interface StuColBatchVO {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -152,6 +152,8 @@ export interface ClassMsgVO {
|
||||
lastCountUpdate?: string;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
/** 学制 */
|
||||
schoolSystem?: string;
|
||||
}
|
||||
|
||||
/** 班级表单数据 */
|
||||
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StuColBatchClassVO, StuColBatchClassForm, StuColBatchClassQuery } from '@/api/xg/xsjcxx/stuColBatchClass/stuColBatchClass/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次班级权限列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStuColBatchClass = (query?: StuColBatchClassQuery): AxiosPromise<StuColBatchClassVO[]> => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次班级权限详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStuColBatchClass = (id: string | number): AxiosPromise<StuColBatchClassVO> => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生信息收集批次班级权限
|
||||
* @param data
|
||||
*/
|
||||
export const addStuColBatchClass = (data: StuColBatchClassForm) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生信息收集批次班级权限
|
||||
* @param data
|
||||
*/
|
||||
export const updateStuColBatchClass = (data: StuColBatchClassForm) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生信息收集批次班级权限
|
||||
* @param id
|
||||
*/
|
||||
export const delStuColBatchClass = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 设置学生信息收集批次班级权限
|
||||
* @param batchId 批次ID
|
||||
* @param deptIds 授权的班级ID列表
|
||||
*/
|
||||
export const setScope = (batchId: string | number, deptIds: Array<string | number>) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/setScope',
|
||||
method: 'post',
|
||||
params: {
|
||||
batchId,
|
||||
deptIds
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取学生信息收集批次班级权限
|
||||
* @param batchId 批次ID
|
||||
*/
|
||||
export const getScope = (batchId: string | number) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/getScope/' + batchId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取批次配置的权限范围详细信息
|
||||
* @param batchId 批次ID
|
||||
*/
|
||||
export const getScopeDetail = (batchId: string | number) => {
|
||||
return request({
|
||||
url: '/stuColBatchClass/stuColBatchClass/getScopeDetail/' + batchId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,156 @@
|
||||
export interface StuColBatchClassVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
batchId: string | number;
|
||||
|
||||
/**
|
||||
* 班级ID
|
||||
*/
|
||||
classId: string | number;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 专业ID
|
||||
*/
|
||||
majorId: string | number;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName: string;
|
||||
|
||||
/**
|
||||
* 院系ID
|
||||
*/
|
||||
collegeId: string | number;
|
||||
|
||||
/**
|
||||
* 院系名称
|
||||
*/
|
||||
collegeName: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级ID
|
||||
*/
|
||||
classId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 专业ID
|
||||
*/
|
||||
majorId?: string | number;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 院系ID
|
||||
*/
|
||||
collegeId?: string | number;
|
||||
|
||||
/**
|
||||
* 院系名称
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级ID
|
||||
*/
|
||||
classId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 专业ID
|
||||
*/
|
||||
majorId?: string | number;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 院系ID
|
||||
*/
|
||||
collegeId?: string | number;
|
||||
|
||||
/**
|
||||
* 院系名称
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StuColBatchVO, StuColBatchForm, StuColBatchQuery } from '@/api/xg/xsjcxx/stuMsgAudit/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStuColBatch = (query?: StuColBatchQuery): AxiosPromise<StuColBatchVO[]> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStuColBatch = (id: string | number): AxiosPromise<StuColBatchVO> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const addStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const updateStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生信息收集批次
|
||||
* @param id
|
||||
*/
|
||||
export const delStuColBatch = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
export interface StuColBatchVO {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StuColBatchVO, StuColBatchForm, StuColBatchQuery } from '@/api/xg/xsjcxx/stuMsgSupply/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStuColBatch = (query?: StuColBatchQuery): AxiosPromise<StuColBatchVO[]> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生信息收集批次详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStuColBatch = (id: string | number): AxiosPromise<StuColBatchVO> => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const addStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生信息收集批次
|
||||
* @param data
|
||||
*/
|
||||
export const updateStuColBatch = (data: StuColBatchForm) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生信息收集批次
|
||||
* @param id
|
||||
*/
|
||||
export const delStuColBatch = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/XgStuColBatch/stuColBatch/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
export interface StuColBatchVO {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 批次描述
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
batchName?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import type { XgDeptTreeVO, R, TableDataInfo, XgStudentMsgAdvancedSearchQuery } from '@/api/xg/xsjcxx/stuRoster/types';
|
||||
|
||||
/**
|
||||
* 查询部门下拉树结构
|
||||
* @param deptId 部门ID
|
||||
*/
|
||||
export const XgDeptTreeSelect = (belongDeptId?: number): AxiosPromise<XgDeptTreeVO[]> => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource/currentUserAuthTree',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
// 查询院系树结构
|
||||
export function deptTreeSelect(): AxiosPromise<R<any>> {
|
||||
return request({
|
||||
url: '/system/dept/treeselect',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
// 查询学生花名册列表 - 使用高级搜索接口
|
||||
export function listStudentRoster(query?: XgStudentMsgAdvancedSearchQuery): AxiosPromise<R<TableDataInfo<any[]>>> {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/advancedSearch',
|
||||
method: 'post',
|
||||
data: query
|
||||
});
|
||||
}
|
||||
|
||||
// 导出学生花名册
|
||||
export function exportStudentRoster(query?: any): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/export',
|
||||
method: 'get',
|
||||
params: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学生个人信息
|
||||
* @param userId 用户ID,可为空,为空时使用当前登录用户ID
|
||||
*/
|
||||
export function getStudentPersonalInfo(userId?: number): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/personalInfo',
|
||||
method: 'get',
|
||||
params: { userId }
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
XgDeptTreeSelect,
|
||||
deptTreeSelect,
|
||||
listStudentRoster,
|
||||
exportStudentRoster,
|
||||
getStudentPersonalInfo
|
||||
};
|
||||
@@ -0,0 +1,187 @@
|
||||
// 部门树节点类型
|
||||
export interface XgDeptTreeVO {
|
||||
id: number;
|
||||
label: string;
|
||||
children?: XgDeptTreeVO[];
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
// 通用响应类型
|
||||
export interface R<T = any> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
// 分页数据信息
|
||||
export interface TableDataInfo<T = any> {
|
||||
total: number;
|
||||
rows: T;
|
||||
}
|
||||
|
||||
// 学生花名册查询参数
|
||||
export interface StudentRosterQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
phone?: string;
|
||||
studentStatus?: string;
|
||||
deptIds?: number[];
|
||||
}
|
||||
|
||||
// 学生花名册数据
|
||||
export interface StudentRosterVO {
|
||||
studentId: number;
|
||||
studentNo: string;
|
||||
studentName: string;
|
||||
nickName?: string;
|
||||
sex: string;
|
||||
age?: number;
|
||||
phonenumber: string;
|
||||
email?: string;
|
||||
idCard: string;
|
||||
deptId: number;
|
||||
deptName: string;
|
||||
majorId?: number;
|
||||
majorName?: string;
|
||||
classId?: number;
|
||||
className?: string;
|
||||
address?: string;
|
||||
studentStatus: string;
|
||||
createTime: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 学生信息高级搜索查询参数
|
||||
export interface XgStudentMsgAdvancedSearchQuery {
|
||||
// 基础信息检索
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
idCard?: string;
|
||||
phone?: string;
|
||||
email?: string;
|
||||
gender?: string[];
|
||||
nationality?: string[];
|
||||
politicalStatus?: string[];
|
||||
birthDateStart?: string;
|
||||
birthDateEnd?: string;
|
||||
nameEnglish?: string;
|
||||
formerName?: string;
|
||||
nativePlace?: string[];
|
||||
hukouLocation?: string;
|
||||
homeAddress?: string;
|
||||
currentAddress?: string;
|
||||
qq?: string;
|
||||
wechat?: string;
|
||||
maritalStatus?: string[];
|
||||
religion?: string;
|
||||
householdRegisterType?: string[];
|
||||
educationLevel?: string[];
|
||||
|
||||
// 学籍信息检索
|
||||
studentStatus?: string[];
|
||||
enrollmentYearStart?: number;
|
||||
enrollmentYearEnd?: number;
|
||||
enrollmentDateStart?: string;
|
||||
enrollmentDateEnd?: string;
|
||||
admissionCategory?: string[];
|
||||
|
||||
// 学院专业班级检索
|
||||
collegeName?: string;
|
||||
majorName?: string;
|
||||
className?: string;
|
||||
grade?: string[];
|
||||
gradeMin?: string;
|
||||
gradeMax?: string;
|
||||
counselorName?: string;
|
||||
classTeacherName?: string;
|
||||
|
||||
// 家庭信息检索
|
||||
fatherName?: string;
|
||||
motherName?: string;
|
||||
guardianName?: string;
|
||||
familyIncomeMin?: number;
|
||||
familyIncomeMax?: number;
|
||||
perCapitaIncomeMin?: number;
|
||||
perCapitaIncomeMax?: number;
|
||||
familyEconomicStatus?: string[];
|
||||
familyMembersMin?: number;
|
||||
familyMembersMax?: number;
|
||||
|
||||
// 特殊身份检索
|
||||
isPoorStudent?: string[];
|
||||
isMinority?: string[];
|
||||
isDisabled?: string[];
|
||||
isOrphan?: string[];
|
||||
isLeftBehindChild?: string[];
|
||||
isSingleChild?: string[];
|
||||
isLowIncome?: string[];
|
||||
hasLoan?: string[];
|
||||
loanAmountMin?: number;
|
||||
loanAmountMax?: number;
|
||||
|
||||
// 身体状况检索
|
||||
heightMin?: number;
|
||||
heightMax?: number;
|
||||
weightMin?: number;
|
||||
weightMax?: number;
|
||||
bloodType?: string[];
|
||||
healthStatus?: string;
|
||||
disabilityType?: string[];
|
||||
disabilityLevel?: string;
|
||||
|
||||
// 住宿信息检索
|
||||
isBoarder?: string[];
|
||||
dormitoryBuilding?: string[];
|
||||
dormitoryRoom?: string;
|
||||
|
||||
// 家庭详细信息检索
|
||||
fatherPhone?: string;
|
||||
fatherWorkUnit?: string;
|
||||
motherPhone?: string;
|
||||
motherWorkUnit?: string;
|
||||
guardianPhone?: string;
|
||||
guardianRelation?: string;
|
||||
incomeSource?: string;
|
||||
emergencyContactName?: string;
|
||||
emergencyContactPhone?: string;
|
||||
emergencyContactRelation?: string;
|
||||
|
||||
// 扩展信息检索
|
||||
specialties?: string;
|
||||
awards?: string;
|
||||
violations?: string;
|
||||
socialActivities?: string;
|
||||
|
||||
// 健康详细信息检索
|
||||
specialCondition?: string;
|
||||
medicalHistory?: string;
|
||||
allergies?: string;
|
||||
|
||||
// 其他信息检索
|
||||
sourceRegion?: string[];
|
||||
graduateSchool?: string;
|
||||
trainingType?: string[];
|
||||
academicLevel?: string[];
|
||||
schoolSystemMin?: number;
|
||||
schoolSystemMax?: number;
|
||||
infoStatus?: string;
|
||||
dataSource?: string;
|
||||
isComplete?: number;
|
||||
completionRateMin?: number;
|
||||
completionRateMax?: number;
|
||||
|
||||
// 时间范围检索
|
||||
createTimeStart?: string;
|
||||
createTimeEnd?: string;
|
||||
updateTimeStart?: string;
|
||||
updateTimeEnd?: string;
|
||||
|
||||
// 部门树节点
|
||||
deptIds?: number[];
|
||||
|
||||
// 分页参数
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
File renamed without changes.
@@ -9,12 +9,17 @@ import { StudentQuery, StudentVO, StudentForm, XgDeptTreeVO, R, TableDataInfo }
|
||||
*/
|
||||
export const XgDeptTreeSelect = (belongDeptId?: number): AxiosPromise<XgDeptTreeVO[]> => {
|
||||
// 实际项目中连接后端接口
|
||||
// return request({
|
||||
// url: '/system/user/deptTree',
|
||||
// method: 'get',
|
||||
// params: {
|
||||
// belongDeptId
|
||||
// }
|
||||
// });
|
||||
|
||||
return request({
|
||||
url: '/system/user/deptTree',
|
||||
method: 'get',
|
||||
params: {
|
||||
belongDeptId
|
||||
}
|
||||
url: '/xgStudentManagerSource/studentManagerSource/currentUserAuthTree',
|
||||
method: 'get'
|
||||
});
|
||||
|
||||
// // 模拟数据,直接返回与页面组件期望格式一致的数据
|
||||
@@ -182,6 +187,15 @@ export function exportStudent(query?: StudentQuery): AxiosPromise<any> {
|
||||
}) as any;
|
||||
}
|
||||
|
||||
// 下载导入模板
|
||||
export function downloadImportTemplate(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/importTemplate',
|
||||
method: 'post',
|
||||
responseType: 'blob'
|
||||
});
|
||||
}
|
||||
|
||||
// 学生状态修改
|
||||
export function changeStudentStatus(studentId: string | number, status: string): AxiosPromise<R<any>> {
|
||||
// 实际使用时连接后端接口
|
||||
@@ -222,7 +236,7 @@ const mockStudentData: StudentVO[] = [
|
||||
classId: 101,
|
||||
className: '计算机2001班',
|
||||
address: '北京市海淀区',
|
||||
status: '0',
|
||||
studentStatus: '1',
|
||||
createTime: '2023-01-01 10:00:00',
|
||||
remark: ''
|
||||
},
|
||||
@@ -243,7 +257,7 @@ const mockStudentData: StudentVO[] = [
|
||||
classId: 101,
|
||||
className: '计算机2001班',
|
||||
address: '上海市浦东新区',
|
||||
status: '0',
|
||||
studentStatus: '2',
|
||||
createTime: '2023-01-01 10:10:00',
|
||||
remark: ''
|
||||
},
|
||||
@@ -264,7 +278,7 @@ const mockStudentData: StudentVO[] = [
|
||||
classId: 201,
|
||||
className: '软工2001班',
|
||||
address: '广州市天河区',
|
||||
status: '0',
|
||||
studentStatus: '5',
|
||||
createTime: '2023-01-02 09:00:00',
|
||||
remark: ''
|
||||
},
|
||||
@@ -285,7 +299,7 @@ const mockStudentData: StudentVO[] = [
|
||||
classId: 201,
|
||||
className: '软工2001班',
|
||||
address: '深圳市南山区',
|
||||
status: '0',
|
||||
studentStatus: '3',
|
||||
createTime: '2023-01-02 10:30:00',
|
||||
remark: ''
|
||||
},
|
||||
@@ -306,7 +320,7 @@ const mockStudentData: StudentVO[] = [
|
||||
classId: 301,
|
||||
className: '人工智能2001班',
|
||||
address: '杭州市西湖区',
|
||||
status: '1', // 停用状态
|
||||
studentStatus: '4',
|
||||
createTime: '2023-01-03 11:20:00',
|
||||
remark: '休学中'
|
||||
}
|
||||
+24
-1
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentMsgVO, StudentMsgForm, StudentMsgQuery } from '@/api/studentMsg/studentMsg/types';
|
||||
import { StudentMsgVO, StudentMsgForm, StudentMsgQuery } from '@/api/xg/xsjcxx/studentMsg/studentMsg/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息列表
|
||||
@@ -61,3 +61,26 @@ export const delStudentMsg = (id: string | number | Array<string | number>) => {
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取学生个人信息
|
||||
* @param userId 用户ID,可为空,为空时使用当前登录用户ID
|
||||
*/
|
||||
export const getPersonalInfo = (userId?: number): AxiosPromise<StudentMsgForm> => {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/personalInfo',
|
||||
method: 'get',
|
||||
params: { userId }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
*/
|
||||
export const downloadImportTemplate = () => {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/importTemplate',
|
||||
method: 'post',
|
||||
responseType: 'blob'
|
||||
});
|
||||
};
|
||||
+6
-6
@@ -35,7 +35,7 @@ export interface StudentMsgVO {
|
||||
formerName: string;
|
||||
|
||||
/**
|
||||
* 性别:M-男,F-女
|
||||
* 性别:0-男,1-女
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
@@ -417,7 +417,7 @@ export interface StudentMsgVO {
|
||||
/**
|
||||
* 学历层次 - 预留,数据从班级表关联
|
||||
*/
|
||||
academicLevel: string;
|
||||
academicLevel: string | number;
|
||||
|
||||
/**
|
||||
* 培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联
|
||||
@@ -558,7 +558,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
formerName?: string;
|
||||
|
||||
/**
|
||||
* 性别:M-男,F-女
|
||||
* 性别:0-男,1-女
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
@@ -940,7 +940,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
/**
|
||||
* 学历层次 - 预留,数据从班级表关联
|
||||
*/
|
||||
academicLevel?: string;
|
||||
academicLevel?: string | number;
|
||||
|
||||
/**
|
||||
* 培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联
|
||||
@@ -1077,7 +1077,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
formerName?: string;
|
||||
|
||||
/**
|
||||
* 性别:M-男,F-女
|
||||
* 性别:0-男,1-女
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
@@ -1459,7 +1459,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
/**
|
||||
* 学历层次 - 预留,数据从班级表关联
|
||||
*/
|
||||
academicLevel?: string;
|
||||
academicLevel?: string | number;
|
||||
|
||||
/**
|
||||
* 培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联
|
||||
@@ -0,0 +1,178 @@
|
||||
/**
|
||||
* 部门树结构
|
||||
*/
|
||||
export interface XgDeptTreeVO extends BaseEntity {
|
||||
id: number | string;
|
||||
label: string;
|
||||
parentId: number | string;
|
||||
weight: number;
|
||||
children: XgDeptTreeVO[];
|
||||
disabled: boolean;
|
||||
}
|
||||
|
||||
// 学生查询参数
|
||||
export interface StudentQuery {
|
||||
pageNum: number;
|
||||
pageSize: number;
|
||||
name?: string;
|
||||
studentNo?: string;
|
||||
phone?: string;
|
||||
studentStatus?: string;
|
||||
deptId?: number;
|
||||
}
|
||||
|
||||
// 学生视图对象
|
||||
export interface StudentVO {
|
||||
id: number | string;
|
||||
studentNo: string;
|
||||
name: string;
|
||||
nickName?: string;
|
||||
gender?: string;
|
||||
age?: number;
|
||||
phone?: string;
|
||||
email?: string;
|
||||
idCard?: string;
|
||||
collegeId?: number;
|
||||
colegeName?: string;
|
||||
majorId?: number;
|
||||
majorName?: string;
|
||||
classId?: number;
|
||||
className?: string;
|
||||
address?: string;
|
||||
studentStatus?: string;
|
||||
createBy?: number;
|
||||
createTime?: string;
|
||||
updateBy?: number;
|
||||
updateTime?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 学生表单对象
|
||||
export interface StudentForm {
|
||||
id?: number | string;
|
||||
// 原有字段
|
||||
studentId?: number | string;
|
||||
deptId?: number;
|
||||
studentNo: string;
|
||||
studentName: string;
|
||||
nickName?: string;
|
||||
password?: string;
|
||||
phonenumber?: string;
|
||||
email?: string;
|
||||
idCard?: string;
|
||||
sex?: string;
|
||||
status?: string;
|
||||
majorId?: number;
|
||||
classId?: number;
|
||||
address?: string;
|
||||
remark?: string;
|
||||
|
||||
// 基础信息字段
|
||||
student_no?: string;
|
||||
id_card?: string;
|
||||
name?: string;
|
||||
name_english?: string;
|
||||
former_name?: string;
|
||||
gender?: string;
|
||||
birth_date?: string;
|
||||
nationality?: string;
|
||||
native_place?: string;
|
||||
political_status?: string;
|
||||
hukou_location?: string;
|
||||
home_address?: string;
|
||||
current_address?: string;
|
||||
postal_code?: string;
|
||||
photo_url?: string;
|
||||
photo_path?: string;
|
||||
phone?: string;
|
||||
is_boarder?: number;
|
||||
|
||||
// 扩展信息字段
|
||||
education_level?: string;
|
||||
household_register_type?: string;
|
||||
religion?: string;
|
||||
source_region?: string;
|
||||
graduate_school?: string;
|
||||
qq?: string;
|
||||
wechat?: string;
|
||||
marital_status?: string;
|
||||
emergency_contact_name?: string;
|
||||
emergency_contact_phone?: string;
|
||||
emergency_contact_relation?: string;
|
||||
is_poor_student?: number;
|
||||
is_minority?: number;
|
||||
is_disabled?: number;
|
||||
is_orphan?: number;
|
||||
is_left_behind_child?: number;
|
||||
is_single_child?: number;
|
||||
is_low_income?: number;
|
||||
has_loan?: number;
|
||||
loan_amount?: string;
|
||||
specialties?: string;
|
||||
awards?: string;
|
||||
violations?: string;
|
||||
social_activities?: string;
|
||||
|
||||
// 家庭信息字段
|
||||
father_name?: string;
|
||||
father_phone?: string;
|
||||
father_work_unit?: string;
|
||||
mother_name?: string;
|
||||
mother_phone?: string;
|
||||
mother_work_unit?: string;
|
||||
guardian_name?: string;
|
||||
guardian_phone?: string;
|
||||
guardian_relation?: string;
|
||||
family_income?: string;
|
||||
per_capita_income?: string;
|
||||
income_source?: string;
|
||||
family_economic_status?: string;
|
||||
family_members?: string;
|
||||
|
||||
// 健康信息字段
|
||||
height?: number | string;
|
||||
weight?: number | string;
|
||||
blood_type?: string;
|
||||
health_status?: string;
|
||||
special_condition?: string;
|
||||
medical_history?: string;
|
||||
allergies?: string;
|
||||
disability_type?: string;
|
||||
disability_level?: string;
|
||||
|
||||
// 学籍信息字段
|
||||
admission_category?: string;
|
||||
student_status?: string;
|
||||
enrollment_year?: string;
|
||||
enrollment_date?: string;
|
||||
school_system?: string;
|
||||
academic_level?: string | number;
|
||||
training_type?: string;
|
||||
major_name?: string;
|
||||
class_name?: string;
|
||||
grade?: string;
|
||||
college_name?: string;
|
||||
counselor_name?: string;
|
||||
class_teacher_name?: string;
|
||||
dormitory_building?: string;
|
||||
dormitory_room?: string;
|
||||
|
||||
// 银行卡信息字段
|
||||
bank_card_no?: string;
|
||||
bank_name?: string;
|
||||
bank_branch?: string;
|
||||
card_holder_name?: string;
|
||||
}
|
||||
|
||||
// 统一响应类型
|
||||
export interface R<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
// 表格数据信息类型
|
||||
export interface TableDataInfo<T> {
|
||||
total: number;
|
||||
rows: T;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentMsgBatchVO, StudentMsgBatchForm, StudentMsgBatchQuery } from '@/api/xg/xsjcxx/studentMsgBatch/studentMsgBatch/types';
|
||||
|
||||
/**
|
||||
* 查询学生信息批次收集列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStudentMsgBatch = (query?: StudentMsgBatchQuery): AxiosPromise<StudentMsgBatchVO[]> => {
|
||||
return request({
|
||||
url: '/studentMsgBatch/studentMsgBatch/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生信息批次收集详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStudentMsgBatch = (id: string | number): AxiosPromise<StudentMsgBatchVO> => {
|
||||
return request({
|
||||
url: '/studentMsgBatch/studentMsgBatch/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生信息批次收集
|
||||
* @param data
|
||||
*/
|
||||
export const addStudentMsgBatch = (data: StudentMsgBatchForm) => {
|
||||
return request({
|
||||
url: '/studentMsgBatch/studentMsgBatch',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生信息批次收集
|
||||
* @param data
|
||||
*/
|
||||
export const updateStudentMsgBatch = (data: StudentMsgBatchForm) => {
|
||||
return request({
|
||||
url: '/studentMsgBatch/studentMsgBatch',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生信息批次收集
|
||||
* @param id
|
||||
*/
|
||||
export const delStudentMsgBatch = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/studentMsgBatch/studentMsgBatch/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { XgClassPosDictVO, XgClassPosDictForm, XgClassPosDictQuery } from '@/api/xg/xsjcxx/xgClassPosDict/xgClassPosDict/types';
|
||||
|
||||
/**
|
||||
* 查询班级干部职务配置列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listXgClassPosDict = (query?: XgClassPosDictQuery): AxiosPromise<XgClassPosDictVO[]> => {
|
||||
return request({
|
||||
url: '/xgClassPosDict/xgClassPosDict/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询班级干部职务配置详细
|
||||
* @param id
|
||||
*/
|
||||
export const getXgClassPosDict = (id: string | number): AxiosPromise<XgClassPosDictVO> => {
|
||||
return request({
|
||||
url: '/xgClassPosDict/xgClassPosDict/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增班级干部职务配置
|
||||
* @param data
|
||||
*/
|
||||
export const addXgClassPosDict = (data: XgClassPosDictForm) => {
|
||||
return request({
|
||||
url: '/xgClassPosDict/xgClassPosDict',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改班级干部职务配置
|
||||
* @param data
|
||||
*/
|
||||
export const updateXgClassPosDict = (data: XgClassPosDictForm) => {
|
||||
return request({
|
||||
url: '/xgClassPosDict/xgClassPosDict',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除班级干部职务配置
|
||||
* @param id
|
||||
*/
|
||||
export const delXgClassPosDict = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/xgClassPosDict/xgClassPosDict/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,171 @@
|
||||
export interface XgClassPosDictVO {
|
||||
/**
|
||||
* 主键ID(雪花ID)
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
/**
|
||||
* 职务编码
|
||||
*/
|
||||
positionCode: string;
|
||||
|
||||
/**
|
||||
* 职务名称
|
||||
*/
|
||||
positionName: string;
|
||||
|
||||
/**
|
||||
* 学生职务类别:class-班级干部,party-党团干部,other-其他
|
||||
*/
|
||||
positionCategory: string;
|
||||
|
||||
/**
|
||||
* 学生职务级别:monitor-班长,vice-monitor-副班长,committee-委员,ordinary-普通成员
|
||||
*/
|
||||
positionLevel: number;
|
||||
|
||||
/**
|
||||
* 学生职务类型:regular-常规职务,special-特殊职务,temporary-临时职务
|
||||
*/
|
||||
positionType: string;
|
||||
|
||||
/**
|
||||
* 职责描述
|
||||
*/
|
||||
responsibilities: string;
|
||||
|
||||
/**
|
||||
* 状态:0-启用,1-停用
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 排序顺序
|
||||
*/
|
||||
sortOrder: number;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID(雪花ID)
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 职务编码
|
||||
*/
|
||||
positionCode?: string;
|
||||
|
||||
/**
|
||||
* 职务名称
|
||||
*/
|
||||
positionName?: string;
|
||||
|
||||
/**
|
||||
* 学生职务类别:class-班级干部,party-党团干部,other-其他
|
||||
*/
|
||||
positionCategory?: string;
|
||||
|
||||
/**
|
||||
* 学生职务级别:monitor-班长,vice-monitor-副班长,committee-委员,ordinary-普通成员
|
||||
*/
|
||||
positionLevel?: number;
|
||||
|
||||
/**
|
||||
* 学生职务类型:regular-常规职务,special-特殊职务,temporary-临时职务
|
||||
*/
|
||||
positionType?: string;
|
||||
|
||||
/**
|
||||
* 职责描述
|
||||
*/
|
||||
responsibilities?: string;
|
||||
|
||||
/**
|
||||
* 状态:0-启用,1-停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 排序顺序
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 职务编码
|
||||
*/
|
||||
positionCode?: string;
|
||||
|
||||
/**
|
||||
* 职务名称
|
||||
*/
|
||||
positionName?: string;
|
||||
|
||||
/**
|
||||
* 学生职务类别:class-班级干部,party-党团干部,other-其他
|
||||
*/
|
||||
positionCategory?: string;
|
||||
|
||||
/**
|
||||
* 学生职务级别:monitor-班长,vice-monitor-副班长,committee-委员,ordinary-普通成员
|
||||
*/
|
||||
positionLevel?: number;
|
||||
|
||||
/**
|
||||
* 学生职务类型:regular-常规职务,special-特殊职务,temporary-临时职务
|
||||
*/
|
||||
positionType?: string;
|
||||
|
||||
/**
|
||||
* 职责描述
|
||||
*/
|
||||
responsibilities?: string;
|
||||
|
||||
/**
|
||||
* 状态:0-启用,1-停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 排序顺序
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { XgClassPosMsgVO, XgClassPosMsgForm, XgClassPosMsgQuery } from '@/api/xg/xsjcxx/xgClassPosMsg/xgClassPosMsg/types';
|
||||
|
||||
/**
|
||||
* 查询班级干部信息列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listXgClassPosMsg = (query?: XgClassPosMsgQuery): AxiosPromise<XgClassPosMsgVO[]> => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询班级干部信息详细
|
||||
* @param id
|
||||
*/
|
||||
export const getXgClassPosMsg = (id: string | number): AxiosPromise<XgClassPosMsgVO> => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增班级干部信息
|
||||
* @param data
|
||||
*/
|
||||
export const addXgClassPosMsg = (data: XgClassPosMsgForm) => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改班级干部信息
|
||||
* @param data
|
||||
*/
|
||||
export const updateXgClassPosMsg = (data: XgClassPosMsgForm) => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除班级干部信息
|
||||
* @param id
|
||||
*/
|
||||
export const delXgClassPosMsg = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 学生干部离任
|
||||
* @param id 班级干部信息ID
|
||||
* @param termEndDate 任期结束日期
|
||||
* @param cadreStatus 学生职务任职状态
|
||||
* @param dismissalReason 离任原因
|
||||
*/
|
||||
export const dismissCadre = (id: string | number, termEndDate: string, cadreStatus: string, dismissalReason: string) => {
|
||||
return request({
|
||||
url: '/xgClassPosMsg/xgClassPosMsg/dismiss/' + id,
|
||||
method: 'post',
|
||||
params: {
|
||||
termEndDate,
|
||||
cadreStatus,
|
||||
dismissalReason
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,346 @@
|
||||
export interface XgClassPosMsgVO {
|
||||
/**
|
||||
* 主键ID(雪花ID)
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
/**
|
||||
* 班级ID,关联xg_class_msg.id
|
||||
*/
|
||||
classId: string | number;
|
||||
|
||||
/**
|
||||
* 班级名称(联表查询获取)
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 专业ID,关联sys_dept.dept_id
|
||||
*/
|
||||
majorId: string | number;
|
||||
|
||||
/**
|
||||
* 专业名称(联表查询获取)
|
||||
*/
|
||||
majorName: string;
|
||||
|
||||
/**
|
||||
* 学院ID,关联sys_dept.dept_id
|
||||
*/
|
||||
collegeId: string | number;
|
||||
|
||||
/**
|
||||
* 学院名称(联表查询获取)
|
||||
*/
|
||||
collegeName: string;
|
||||
|
||||
/**
|
||||
* 学生ID,关联xg_student_msg.id
|
||||
*/
|
||||
studentId: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo: string;
|
||||
|
||||
/**
|
||||
* 学生姓名(冗余字段)
|
||||
*/
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 职务编码,关联xg_class_pos_dict.position_code
|
||||
*/
|
||||
positionCode: string;
|
||||
|
||||
/**
|
||||
* 职务名称(联表查询获取)
|
||||
*/
|
||||
positionName: string;
|
||||
|
||||
/**
|
||||
* 任职日期
|
||||
*/
|
||||
appointmentDate: string;
|
||||
|
||||
/**
|
||||
* 任期开始日期
|
||||
*/
|
||||
termStartDate: string;
|
||||
|
||||
/**
|
||||
* 任期结束日期
|
||||
*/
|
||||
termEndDate: string;
|
||||
|
||||
/**
|
||||
* 任期时长(月)
|
||||
*/
|
||||
termDuration: number;
|
||||
|
||||
/**
|
||||
* 是否现任:0-否,1-是
|
||||
*/
|
||||
isCurrent: number;
|
||||
|
||||
/**
|
||||
* 学生职务任职状态:1-在任,2-到期,3-辞职,4-免职,5-调任,6-休学
|
||||
*/
|
||||
cadreStatus: string;
|
||||
|
||||
/**
|
||||
* 任命原因
|
||||
*/
|
||||
appointmentReason: string;
|
||||
|
||||
/**
|
||||
* 学生职务任命方式:appointment-任命,election-选举,recommendation-推荐
|
||||
*/
|
||||
appointmentMethod: string;
|
||||
|
||||
/**
|
||||
* 离任日期
|
||||
*/
|
||||
dismissalDate: string;
|
||||
|
||||
/**
|
||||
* 离任原因
|
||||
*/
|
||||
dismissalReason: string;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID(雪花ID)
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 班级ID,关联xg_class_msg.id
|
||||
*/
|
||||
classId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级名称(显示用,非数据库字段)
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 专业ID,关联sys_dept.dept_id
|
||||
*/
|
||||
majorId?: string | number;
|
||||
|
||||
/**
|
||||
* 专业名称(显示用,非数据库字段)
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 学院ID,关联sys_dept.dept_id
|
||||
*/
|
||||
collegeId?: string | number;
|
||||
|
||||
/**
|
||||
* 学院名称(显示用,非数据库字段)
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 学生ID,关联xg_student_msg.id
|
||||
*/
|
||||
studentId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名(冗余字段)
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 职务编码id,关联xg_class_pos_dict.id
|
||||
*/
|
||||
positionId?: string | number;
|
||||
|
||||
/**
|
||||
* 职务编码,关联xg_class_pos_dict.position_code
|
||||
*/
|
||||
positionCode?: string;
|
||||
|
||||
/**
|
||||
* 职务名称(显示用,非数据库字段)
|
||||
*/
|
||||
positionName?: string;
|
||||
|
||||
/**
|
||||
* 任职日期
|
||||
*/
|
||||
appointmentDate?: string;
|
||||
|
||||
/**
|
||||
* 任期开始日期
|
||||
*/
|
||||
termStartDate?: string;
|
||||
|
||||
/**
|
||||
* 任期结束日期
|
||||
*/
|
||||
termEndDate?: string;
|
||||
|
||||
/**
|
||||
* 任期时长(月)
|
||||
*/
|
||||
termDuration?: number;
|
||||
|
||||
/**
|
||||
* 是否现任:0-否,1-是
|
||||
*/
|
||||
isCurrent?: number;
|
||||
|
||||
/**
|
||||
* 学生职务任职状态:1-在任,2-到期,3-辞职,4-免职,5-调任,6-休学
|
||||
*/
|
||||
cadreStatus?: string;
|
||||
|
||||
/**
|
||||
* 任命原因
|
||||
*/
|
||||
appointmentReason?: string;
|
||||
|
||||
/**
|
||||
* 学生职务任命方式:appointment-任命,election-选举,recommendation-推荐
|
||||
*/
|
||||
appointmentMethod?: string;
|
||||
|
||||
/**
|
||||
* 离任日期
|
||||
*/
|
||||
dismissalDate?: string;
|
||||
|
||||
/**
|
||||
* 离任原因
|
||||
*/
|
||||
dismissalReason?: string;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 班级ID,关联xg_class_msg.id
|
||||
*/
|
||||
classId?: string | number;
|
||||
|
||||
/**
|
||||
* 学生ID,关联xg_student_msg.id
|
||||
*/
|
||||
studentId?: string | number;
|
||||
|
||||
/**
|
||||
* 学号
|
||||
*/
|
||||
studentNo?: string;
|
||||
|
||||
/**
|
||||
* 学生姓名(冗余字段)
|
||||
*/
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 职务编码,关联xg_class_pos_dict.position_code
|
||||
*/
|
||||
positionCode?: string;
|
||||
|
||||
/**
|
||||
* 任职日期
|
||||
*/
|
||||
appointmentDate?: string;
|
||||
|
||||
/**
|
||||
* 任期开始日期
|
||||
*/
|
||||
termStartDate?: string;
|
||||
|
||||
/**
|
||||
* 任期结束日期
|
||||
*/
|
||||
termEndDate?: string;
|
||||
|
||||
/**
|
||||
* 任期时长(月)
|
||||
*/
|
||||
termDuration?: number;
|
||||
|
||||
/**
|
||||
* 是否现任:0-否,1-是
|
||||
*/
|
||||
isCurrent?: number;
|
||||
|
||||
/**
|
||||
* 学生职务任职状态:1-在任,2-到期,3-辞职,4-免职,5-调任,6-休学
|
||||
*/
|
||||
cadreStatus?: string;
|
||||
|
||||
/**
|
||||
* 任命原因
|
||||
*/
|
||||
appointmentReason?: string;
|
||||
|
||||
/**
|
||||
* 学生职务任命方式:appointment-任命,election-选举,recommendation-推荐
|
||||
*/
|
||||
appointmentMethod?: string;
|
||||
|
||||
/**
|
||||
* 离任日期
|
||||
*/
|
||||
dismissalDate?: string;
|
||||
|
||||
/**
|
||||
* 离任原因
|
||||
*/
|
||||
dismissalReason?: string;
|
||||
|
||||
/**
|
||||
* 部门ID,用于按部门查询班级干部信息
|
||||
*/
|
||||
deptId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentManagerVO, StudentManagerForm, StudentManagerQuery } from '@/api/xg/xsjcxx/xgStudentManager/studentManager/types';
|
||||
|
||||
// 临时定义一个接口来表示返回的教师数据
|
||||
export interface TeacherData {
|
||||
id: string | number;
|
||||
managerName: string;
|
||||
phone: string;
|
||||
gender: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可用的教职工信息列表
|
||||
* @param managerType 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
export const listAvailableTeachers = (managerType: string): AxiosPromise<TeacherData[]> => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/listAvailableTeachers',
|
||||
method: 'get',
|
||||
params: { managerType }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询宿舍管理员信息列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStudentManager = (query?: StudentManagerQuery): AxiosPromise<StudentManagerVO[]> => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询宿舍管理员信息详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStudentManager = (id: string | number): AxiosPromise<StudentManagerVO> => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增宿舍管理员信息
|
||||
* @param data
|
||||
*/
|
||||
export const addStudentManager = (data: StudentManagerForm) => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改宿舍管理员信息
|
||||
* @param data
|
||||
*/
|
||||
export const updateStudentManager = (data: StudentManagerForm) => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除宿舍管理员信息
|
||||
* @param id
|
||||
*/
|
||||
export const delStudentManager = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前正在教学的班主任信息
|
||||
* @param params 包含 phone 和 name 字段
|
||||
*/
|
||||
export const listActiveClassTeachers = (params: { phone?: string; name?: string }) => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/listActiveClassTeachers',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,156 @@
|
||||
export interface StudentManagerVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
managerName: string;
|
||||
|
||||
/**
|
||||
* 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
managerType: string;
|
||||
|
||||
/**
|
||||
* 管理级别(1-3,1为最高)
|
||||
*/
|
||||
managerLevel: number;
|
||||
|
||||
/**
|
||||
* 关联用户ID
|
||||
*/
|
||||
userId: string | number;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 性别(0男 1女 2未知)
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
managerName?: string;
|
||||
|
||||
/**
|
||||
* 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
managerType?: string;
|
||||
|
||||
/**
|
||||
* 管理级别(1-3,1为最高)
|
||||
*/
|
||||
managerLevel?: number;
|
||||
|
||||
/**
|
||||
* 关联用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 性别(0男 1女 2未知)
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
managerName?: string;
|
||||
|
||||
/**
|
||||
* 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
managerType?: string;
|
||||
|
||||
/**
|
||||
* 管理级别(1-3,1为最高)
|
||||
*/
|
||||
managerLevel?: number;
|
||||
|
||||
/**
|
||||
* 关联用户ID
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 性别(0男 1女 2未知)
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentManagerSourceVO, StudentManagerSourceForm, StudentManagerSourceQuery } from '@/api/xg/xsjcxx/xgStudentManagerSource/studentManagerSource/types';
|
||||
|
||||
/**
|
||||
* 查询学生管理员授权关系列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listStudentManagerSource = (query?: StudentManagerSourceQuery): AxiosPromise<StudentManagerSourceVO[]> => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生管理员授权关系详细
|
||||
* @param id
|
||||
*/
|
||||
export const getStudentManagerSource = (id: string | number): AxiosPromise<StudentManagerSourceVO> => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增学生管理员授权关系
|
||||
* @param data
|
||||
*/
|
||||
export const addStudentManagerSource = (data: StudentManagerSourceForm) => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改学生管理员授权关系
|
||||
* @param data
|
||||
*/
|
||||
export const updateStudentManagerSource = (data: StudentManagerSourceForm) => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除学生管理员授权关系
|
||||
* @param id
|
||||
*/
|
||||
export const delStudentManagerSource = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/xgStudentManagerSource/studentManagerSource/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,126 @@
|
||||
export interface StudentManagerSourceVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
managerId: string | number;
|
||||
|
||||
/**
|
||||
* 权限类型(1查看 2编辑 3完全管理)
|
||||
*/
|
||||
permissionType: string;
|
||||
|
||||
/**
|
||||
* 授权类型(1全校级 2自定义 3班主任)
|
||||
*/
|
||||
authType: string;
|
||||
|
||||
/**
|
||||
* 授权来源ID(对应班级id)
|
||||
*/
|
||||
authSource: number;
|
||||
|
||||
/**
|
||||
* 状态(0有效 1已撤销)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
managerId?: string | number;
|
||||
|
||||
/**
|
||||
* 权限类型(1查看 2编辑 3完全管理)
|
||||
*/
|
||||
permissionType?: string;
|
||||
|
||||
/**
|
||||
* 授权类型(1全校级 2自定义 3班主任)
|
||||
*/
|
||||
authType?: string;
|
||||
|
||||
/**
|
||||
* 授权来源ID(对应班级id)
|
||||
*/
|
||||
authSource?: number;
|
||||
|
||||
/**
|
||||
* 状态(0有效 1已撤销)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
managerId?: string | number;
|
||||
|
||||
/**
|
||||
* 权限类型(1查看 2编辑 3完全管理)
|
||||
*/
|
||||
permissionType?: string;
|
||||
|
||||
/**
|
||||
* 授权类型(1全校级 2自定义 3班主任)
|
||||
*/
|
||||
authType?: string;
|
||||
|
||||
/**
|
||||
* 授权来源ID(对应班级id)
|
||||
*/
|
||||
authSource?: number;
|
||||
|
||||
/**
|
||||
* 状态(0有效 1已撤销)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -236,7 +236,7 @@ export interface XljkEvaluationDetailVO {
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男,F-女)
|
||||
* 性别(0-男,1-女)
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
@@ -328,7 +328,7 @@ export interface XljkEvaluationDetailForm extends BaseEntity {
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男,F-女)
|
||||
* 性别(0-男,1-女)
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
@@ -407,7 +407,7 @@ export interface StudentInfo {
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男,F-女)
|
||||
* 性别(0-男,1-女)
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ export interface EnrollmentInfoVO {
|
||||
idCard: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男 F-女)
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
@@ -197,7 +197,7 @@ export interface EnrollmentInfoForm extends BaseEntity {
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男 F-女)
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
@@ -354,7 +354,7 @@ export interface EnrollmentInfoQuery extends PageQuery {
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 性别(M-男 F-女)
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@ export interface EnrollmentProcessVO {
|
||||
updateTime: string
|
||||
|
||||
/**
|
||||
* 性别(M-男 F-女)
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender?: string
|
||||
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* 企业信息管理 API
|
||||
* @author Cursor AI
|
||||
* @date 2025-01-25
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { EnterpriseVO, EnterpriseForm, EnterpriseQuery } from './types';
|
||||
|
||||
// TableDataInfo 接口定义
|
||||
export interface TableDataInfo<T> {
|
||||
total: number;
|
||||
rows: T[];
|
||||
code?: number;
|
||||
msg?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询企业信息列表
|
||||
* @param query 查询参数
|
||||
* @returns Promise<TableDataInfo<EnterpriseVO>>
|
||||
*/
|
||||
export function listEnterprise(query?: EnterpriseQuery): AxiosPromise<TableDataInfo<EnterpriseVO>> {
|
||||
return request({
|
||||
url: '/zsjy/enterprise/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询企业信息详细
|
||||
* @param id 企业主键
|
||||
* @returns Promise<EnterpriseVO>
|
||||
*/
|
||||
export function getEnterprise(id: string | number): AxiosPromise<EnterpriseVO> {
|
||||
return request({
|
||||
url: `/zsjy/enterprise/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增企业信息
|
||||
* @param data 企业信息
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
export function addEnterprise(data: EnterpriseForm): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/zsjy/enterprise',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改企业信息
|
||||
* @param data 企业信息
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
export function updateEnterprise(data: EnterpriseForm): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/zsjy/enterprise',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除企业信息
|
||||
* @param id 企业主键
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
export function delEnterprise(id: string | number | Array<string | number>): AxiosPromise<any> {
|
||||
return request({
|
||||
url: `/zsjy/enterprise/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出企业信息
|
||||
* @param query 查询参数
|
||||
* @returns Promise<any>
|
||||
*/
|
||||
export function exportEnterprise(query: EnterpriseQuery): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/zsjy/enterprise/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,297 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
GraduateInfoVO,
|
||||
GraduateInfoForm,
|
||||
GraduateInfoQuery,
|
||||
GraduateStatisticsVO
|
||||
} from '@/api/zsjy/types';
|
||||
|
||||
/**
|
||||
* 查询毕业生信息列表
|
||||
* @param query 查询参数
|
||||
*/
|
||||
export const listGraduateInfo = (query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询毕业生信息详细信息
|
||||
* @param id 毕业生信息ID
|
||||
*/
|
||||
export const getGraduateInfo = (id: string | number): AxiosPromise<GraduateInfoVO> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增毕业生信息
|
||||
* @param data 毕业生信息数据
|
||||
*/
|
||||
export const addGraduateInfo = (data: GraduateInfoForm) => {
|
||||
return request({
|
||||
url: '/zsjy/graduate',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改毕业生信息
|
||||
* @param data 毕业生信息数据
|
||||
*/
|
||||
export const updateGraduateInfo = (data: GraduateInfoForm) => {
|
||||
return request({
|
||||
url: '/zsjy/graduate',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除毕业生信息
|
||||
* @param id 毕业生信息ID
|
||||
*/
|
||||
export const delGraduateInfo = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出毕业生信息列表
|
||||
* @param query 查询参数
|
||||
*/
|
||||
export const exportGraduateInfo = (query: GraduateInfoQuery) => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据学号查询毕业生信息
|
||||
* @param studentNo 学号
|
||||
*/
|
||||
export const getGraduateInfoByStudentNo = (studentNo: string): AxiosPromise<GraduateInfoVO> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/student/${studentNo}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据身份证号查询毕业生信息
|
||||
* @param idCard 身份证号
|
||||
*/
|
||||
export const getGraduateInfoByIdCard = (idCard: string): AxiosPromise<GraduateInfoVO> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/idcard/${idCard}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 校验学号是否唯一
|
||||
* @param studentNo 学号
|
||||
* @param id 主键ID(修改时传入)
|
||||
*/
|
||||
export const checkStudentNoUnique = (studentNo: string, id?: string | number): AxiosPromise<boolean> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/checkStudentNo',
|
||||
method: 'get',
|
||||
params: { studentNo, id }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 校验身份证号是否唯一
|
||||
* @param idCard 身份证号
|
||||
* @param id 主键ID(修改时传入)
|
||||
*/
|
||||
export const checkIdCardUnique = (idCard: string, id?: string | number): AxiosPromise<boolean> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/checkIdCard',
|
||||
method: 'get',
|
||||
params: { idCard, id }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 审核毕业生信息
|
||||
* @param id 主键
|
||||
* @param auditStatus 审核状态
|
||||
* @param auditRemark 审核意见
|
||||
*/
|
||||
export const auditGraduateInfo = (id: string | number, auditStatus: string, auditRemark?: string) => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/audit/${id}`,
|
||||
method: 'put',
|
||||
params: { auditStatus, auditRemark }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量审核毕业生信息
|
||||
* @param ids 主键数组
|
||||
* @param auditStatus 审核状态
|
||||
* @param auditRemark 审核意见
|
||||
*/
|
||||
export const batchAuditGraduateInfo = (ids: (string | number)[], auditStatus: string, auditRemark?: string) => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/batchAudit',
|
||||
method: 'put',
|
||||
data: ids,
|
||||
params: { auditStatus, auditRemark }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 统计总体就业情况
|
||||
*/
|
||||
export const getOverallStatistics = (): AxiosPromise<GraduateStatisticsVO> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/overall',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按专业统计就业情况
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsByMajor = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/major',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按学院统计就业情况
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsByCollege = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/college',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按就业状态统计
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsByEmploymentStatus = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/employment',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按单位性质统计
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsByCompanyType = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/company',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按地域分布统计
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsByRegion = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/region',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按薪资范围统计
|
||||
* @param graduationYear 毕业年份
|
||||
*/
|
||||
export const getStatisticsBySalaryRange = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/salary',
|
||||
method: 'get',
|
||||
params: { graduationYear }
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 按年份统计历年就业情况
|
||||
*/
|
||||
export const getStatisticsByYear = (): AxiosPromise<GraduateStatisticsVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/statistics/year',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询待审核的毕业生信息数量
|
||||
*/
|
||||
export const getPendingAuditCount = (): AxiosPromise<number> => {
|
||||
return request({
|
||||
url: '/zsjy/graduate/pendingCount',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询指定学院的毕业生信息列表
|
||||
* @param collegeId 学院ID
|
||||
* @param query 查询条件
|
||||
*/
|
||||
export const getListByCollegeId = (collegeId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/college/${collegeId}`,
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询指定专业的毕业生信息列表
|
||||
* @param majorId 专业ID
|
||||
* @param query 查询条件
|
||||
*/
|
||||
export const getListByMajorId = (majorId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/major/${majorId}`,
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询指定班级的毕业生信息列表
|
||||
* @param classId 班级ID
|
||||
* @param query 查询条件
|
||||
*/
|
||||
export const getListByClassId = (classId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
|
||||
return request({
|
||||
url: `/zsjy/graduate/class/${classId}`,
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
@@ -6,13 +6,15 @@
|
||||
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 此处导出招生就业管理模块相关的所有API接口
|
||||
// 示例:
|
||||
// export * from './enrollment' // 招生管理
|
||||
// export * from './employment' // 就业管理
|
||||
// export * from './enterprise' // 企业管理
|
||||
// export * from './career' // 职业规划
|
||||
// export * from './statistics' // 统计分析
|
||||
// 导出招生就业管理模块相关的所有API接口
|
||||
export * from './enterprise'; // 企业信息管理
|
||||
// export * from './jobPosition'; // 招聘岗位管理 (待开发)
|
||||
// export * from './recruitmentPoster'; // 招聘海报管理 (待开发)
|
||||
|
||||
// 临时导出一个空对象,防止编译错误
|
||||
export default {};
|
||||
// 现有导出
|
||||
export * from './statistics'; // 统计分析
|
||||
export * from './enrollmentProcess'; // 录取流程管理
|
||||
export * from './enrollmentStatistics'; // 报名统计
|
||||
|
||||
// 类型导出
|
||||
export * from './types'; // 类型定义
|
||||
@@ -0,0 +1,91 @@
|
||||
import request from '@/utils/request'
|
||||
import { JobPositionVO, JobPositionForm, JobPositionQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
|
||||
/**
|
||||
* 查询招聘岗位列表
|
||||
* @param query 查询参数
|
||||
* @returns 招聘岗位列表
|
||||
*/
|
||||
export function listJobPosition(query?: JobPositionQuery): AxiosPromise<TableDataInfo<JobPositionVO>> {
|
||||
return request({
|
||||
url: '/zsjy/position/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询招聘岗位详细
|
||||
* @param id 招聘岗位ID
|
||||
* @returns 招聘岗位详情
|
||||
*/
|
||||
export function getJobPosition(id: string | number): AxiosPromise<JobPositionVO> {
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增招聘岗位
|
||||
* @param data 招聘岗位表单
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function addJobPosition(data: JobPositionForm) {
|
||||
return request({
|
||||
url: '/zsjy/position',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改招聘岗位
|
||||
* @param data 招聘岗位表单
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function updateJobPosition(data: JobPositionForm) {
|
||||
return request({
|
||||
url: '/zsjy/position',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除招聘岗位
|
||||
* @param id 招聘岗位ID
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function delJobPosition(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出招聘岗位
|
||||
* @param query 查询参数
|
||||
* @returns 导出结果
|
||||
*/
|
||||
export function exportJobPosition(query: JobPositionQuery) {
|
||||
return request({
|
||||
url: '/zsjy/position/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询企业下拉选项
|
||||
* @returns 企业列表
|
||||
*/
|
||||
export function listEnterpriseOptions() {
|
||||
return request({
|
||||
url: '/zsjy/enterprise/options',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
import request from '@/utils/request'
|
||||
import { RecruitmentPosterVO, RecruitmentPosterForm, RecruitmentPosterQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
|
||||
/**
|
||||
* 查询招聘海报列表
|
||||
* @param query 查询参数
|
||||
* @returns 招聘海报列表
|
||||
*/
|
||||
export function listRecruitmentPoster(query?: RecruitmentPosterQuery): AxiosPromise<TableDataInfo<RecruitmentPosterVO>> {
|
||||
return request({
|
||||
url: '/zsjy/poster/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询招聘海报详细
|
||||
* @param id 招聘海报ID
|
||||
* @returns 招聘海报详情
|
||||
*/
|
||||
export function getRecruitmentPoster(id: string | number): AxiosPromise<RecruitmentPosterVO> {
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增招聘海报
|
||||
* @param data 招聘海报表单
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function addRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
return request({
|
||||
url: '/zsjy/poster',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改招聘海报
|
||||
* @param data 招聘海报表单
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function updateRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
return request({
|
||||
url: '/zsjy/poster',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除招聘海报
|
||||
* @param id 招聘海报ID
|
||||
* @returns 操作结果
|
||||
*/
|
||||
export function delRecruitmentPoster(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出招聘海报
|
||||
* @param query 查询参数
|
||||
* @returns 导出结果
|
||||
*/
|
||||
export function exportRecruitmentPoster(query: RecruitmentPosterQuery) {
|
||||
return request({
|
||||
url: '/zsjy/poster/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询岗位下拉选项
|
||||
* @param enterpriseId 企业ID
|
||||
* @returns 岗位列表
|
||||
*/
|
||||
export function listPositionOptions(enterpriseId?: number | string) {
|
||||
return request({
|
||||
url: '/zsjy/position/options',
|
||||
method: 'get',
|
||||
params: { enterpriseId }
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,743 @@
|
||||
/**
|
||||
* 招生就业管理模块 - 类型定义
|
||||
*/
|
||||
|
||||
/**
|
||||
* 企业信息 VO
|
||||
*/
|
||||
export interface EnterpriseVO {
|
||||
/**
|
||||
* 企业ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 企业名称
|
||||
*/
|
||||
enterpriseName?: string;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
industry?: string;
|
||||
|
||||
/**
|
||||
* 行业名称
|
||||
*/
|
||||
industryName?: string;
|
||||
|
||||
/**
|
||||
* 主营业务
|
||||
*/
|
||||
mainBusiness?: string;
|
||||
|
||||
/**
|
||||
* 企业规模
|
||||
*/
|
||||
enterpriseScale?: string;
|
||||
|
||||
/**
|
||||
* 企业规模名称
|
||||
*/
|
||||
enterpriseScaleName?: string;
|
||||
|
||||
/**
|
||||
* 企业联系人姓名
|
||||
*/
|
||||
contactName?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
contactPhone?: string;
|
||||
|
||||
/**
|
||||
* 企业邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 企业地址
|
||||
*/
|
||||
address?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
tenantId?: string;
|
||||
|
||||
/**
|
||||
* 创建部门
|
||||
*/
|
||||
createDept?: number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业信息表单对象
|
||||
*/
|
||||
export interface EnterpriseForm extends BaseEntity {
|
||||
/**
|
||||
* 企业ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 企业名称
|
||||
*/
|
||||
enterpriseName: string;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
industry: string;
|
||||
|
||||
/**
|
||||
* 主营业务
|
||||
*/
|
||||
mainBusiness: string;
|
||||
|
||||
/**
|
||||
* 企业规模
|
||||
*/
|
||||
enterpriseScale: string;
|
||||
|
||||
/**
|
||||
* 企业联系人姓名
|
||||
*/
|
||||
contactName: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
contactPhone: string;
|
||||
|
||||
/**
|
||||
* 企业邮箱
|
||||
*/
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* 企业地址
|
||||
*/
|
||||
address: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业信息查询条件
|
||||
*/
|
||||
export interface EnterpriseQuery extends PageQuery {
|
||||
/**
|
||||
* 企业名称
|
||||
*/
|
||||
enterpriseName?: string;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
industry?: string;
|
||||
|
||||
/**
|
||||
* 主营业务
|
||||
*/
|
||||
mainBusiness?: string;
|
||||
|
||||
/**
|
||||
* 企业规模
|
||||
*/
|
||||
enterpriseScale?: string;
|
||||
|
||||
/**
|
||||
* 企业联系人姓名
|
||||
*/
|
||||
contactName?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
contactPhone?: string;
|
||||
|
||||
/**
|
||||
* 企业邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 企业地址
|
||||
*/
|
||||
address?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘岗位VO对象
|
||||
*/
|
||||
export interface JobPositionVO {
|
||||
/**
|
||||
* 岗位ID
|
||||
*/
|
||||
id: number | string;
|
||||
|
||||
/**
|
||||
* 所属企业ID
|
||||
*/
|
||||
enterpriseId: number | string;
|
||||
|
||||
/**
|
||||
* 企业名称(关联字段)
|
||||
*/
|
||||
enterpriseName?: string;
|
||||
|
||||
/**
|
||||
* 岗位名称
|
||||
*/
|
||||
positionName: string;
|
||||
|
||||
/**
|
||||
* 工作地址
|
||||
*/
|
||||
workAddress: string;
|
||||
|
||||
/**
|
||||
* 工作时间
|
||||
*/
|
||||
workTime: string;
|
||||
|
||||
/**
|
||||
* 薪资
|
||||
*/
|
||||
salary: string;
|
||||
|
||||
/**
|
||||
* 所需技能
|
||||
*/
|
||||
requiredSkills?: string;
|
||||
|
||||
/**
|
||||
* 有效期开始日期
|
||||
*/
|
||||
startDate: string;
|
||||
|
||||
/**
|
||||
* 有效期结束日期
|
||||
*/
|
||||
endDate: string;
|
||||
|
||||
/**
|
||||
* 是否永久有效(0否 1是)
|
||||
*/
|
||||
isPermanent: number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
tenantId?: string;
|
||||
|
||||
/**
|
||||
* 创建部门
|
||||
*/
|
||||
createDept?: number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘岗位Form对象
|
||||
*/
|
||||
export interface JobPositionForm extends BaseEntity {
|
||||
/**
|
||||
* 岗位ID
|
||||
*/
|
||||
id?: number | string;
|
||||
|
||||
/**
|
||||
* 所属企业ID
|
||||
*/
|
||||
enterpriseId: number | string;
|
||||
|
||||
/**
|
||||
* 岗位名称
|
||||
*/
|
||||
positionName: string;
|
||||
|
||||
/**
|
||||
* 工作地址
|
||||
*/
|
||||
workAddress: string;
|
||||
|
||||
/**
|
||||
* 工作时间
|
||||
*/
|
||||
workTime: string;
|
||||
|
||||
/**
|
||||
* 薪资
|
||||
*/
|
||||
salary: string;
|
||||
|
||||
/**
|
||||
* 所需技能
|
||||
*/
|
||||
requiredSkills?: string;
|
||||
|
||||
/**
|
||||
* 有效期开始日期
|
||||
*/
|
||||
startDate: string;
|
||||
|
||||
/**
|
||||
* 有效期结束日期
|
||||
*/
|
||||
endDate: string;
|
||||
|
||||
/**
|
||||
* 是否永久有效(0否 1是)
|
||||
*/
|
||||
isPermanent: number;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘岗位Query对象
|
||||
*/
|
||||
export interface JobPositionQuery extends PageQuery {
|
||||
/**
|
||||
* 所属企业ID
|
||||
*/
|
||||
enterpriseId?: number | string;
|
||||
|
||||
/**
|
||||
* 岗位名称
|
||||
*/
|
||||
positionName?: string;
|
||||
|
||||
/**
|
||||
* 工作地址
|
||||
*/
|
||||
workAddress?: string;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 是否永久有效
|
||||
*/
|
||||
isPermanent?: number;
|
||||
|
||||
/**
|
||||
* 创建时间范围
|
||||
*/
|
||||
params?: {
|
||||
beginCreateTime?: string;
|
||||
endCreateTime?: string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘海报VO对象
|
||||
*/
|
||||
export interface RecruitmentPosterVO {
|
||||
/**
|
||||
* 海报ID
|
||||
*/
|
||||
id: number | string;
|
||||
|
||||
/**
|
||||
* 企业ID
|
||||
*/
|
||||
enterpriseId: number | string;
|
||||
|
||||
/**
|
||||
* 企业名称(关联字段)
|
||||
*/
|
||||
enterpriseName?: string;
|
||||
|
||||
/**
|
||||
* 岗位ID(为空表示企业整体海报)
|
||||
*/
|
||||
positionId?: number | string;
|
||||
|
||||
/**
|
||||
* 岗位名称(关联字段)
|
||||
*/
|
||||
positionName?: string;
|
||||
|
||||
/**
|
||||
* 海报文件路径
|
||||
*/
|
||||
posterPath: string;
|
||||
|
||||
/**
|
||||
* 海报类型(1企业海报 2岗位海报)
|
||||
*/
|
||||
posterType: string;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
tenantId?: string;
|
||||
|
||||
/**
|
||||
* 创建部门
|
||||
*/
|
||||
createDept?: number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘海报Form对象
|
||||
*/
|
||||
export interface RecruitmentPosterForm extends BaseEntity {
|
||||
/**
|
||||
* 海报ID
|
||||
*/
|
||||
id?: number | string;
|
||||
|
||||
/**
|
||||
* 企业ID
|
||||
*/
|
||||
enterpriseId: number | string;
|
||||
|
||||
/**
|
||||
* 岗位ID(为空表示企业整体海报)
|
||||
*/
|
||||
positionId?: number | string;
|
||||
|
||||
/**
|
||||
* 海报文件路径
|
||||
*/
|
||||
posterPath: string;
|
||||
|
||||
/**
|
||||
* 海报类型(1企业海报 2岗位海报)
|
||||
*/
|
||||
posterType: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 招聘海报Query对象
|
||||
*/
|
||||
export interface RecruitmentPosterQuery extends PageQuery {
|
||||
/**
|
||||
* 企业ID
|
||||
*/
|
||||
enterpriseId?: number | string;
|
||||
|
||||
/**
|
||||
* 岗位ID
|
||||
*/
|
||||
positionId?: number | string;
|
||||
|
||||
/**
|
||||
* 海报类型(1企业海报 2岗位海报)
|
||||
*/
|
||||
posterType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页响应数据
|
||||
*/
|
||||
export interface TableDataInfo<T> {
|
||||
total: number;
|
||||
rows: T[];
|
||||
code?: number;
|
||||
msg?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 毕业生信息VO
|
||||
*/
|
||||
export interface GraduateInfoVO {
|
||||
id?: string | number;
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
gender?: string;
|
||||
genderName?: string;
|
||||
idCard?: string;
|
||||
nation?: string;
|
||||
politicalStatus?: string;
|
||||
birthDate?: string;
|
||||
enrollmentYear?: number;
|
||||
graduationYear?: number;
|
||||
collegeId?: string | number;
|
||||
collegeName?: string;
|
||||
majorId?: string | number;
|
||||
majorName?: string;
|
||||
classId?: string | number;
|
||||
className?: string;
|
||||
educationLevel?: string;
|
||||
educationLevelName?: string;
|
||||
trainingMode?: string;
|
||||
phoneNumber?: string;
|
||||
email?: string;
|
||||
qqNumber?: string;
|
||||
wechatNumber?: string;
|
||||
province?: string;
|
||||
city?: string;
|
||||
district?: string;
|
||||
detailAddress?: string;
|
||||
fullAddress?: string;
|
||||
postalCode?: string;
|
||||
employmentStatus?: string;
|
||||
employmentStatusName?: string;
|
||||
employmentCompany?: string;
|
||||
companyType?: string;
|
||||
companyTypeName?: string;
|
||||
jobPosition?: string;
|
||||
workProvince?: string;
|
||||
workCity?: string;
|
||||
workLocation?: string;
|
||||
salaryRange?: string;
|
||||
salaryRangeName?: string;
|
||||
furtherSchool?: string;
|
||||
furtherMajor?: string;
|
||||
skills?: string;
|
||||
awards?: string;
|
||||
jobIntention?: string;
|
||||
auditStatus?: string;
|
||||
auditStatusName?: string;
|
||||
auditTime?: string;
|
||||
auditBy?: string | number;
|
||||
auditByName?: string;
|
||||
auditRemark?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
createBy?: string | number;
|
||||
createTime?: string;
|
||||
updateBy?: string | number;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 毕业生信息表单
|
||||
*/
|
||||
export interface GraduateInfoForm {
|
||||
id?: string | number;
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
gender?: string;
|
||||
idCard?: string;
|
||||
nation?: string;
|
||||
politicalStatus?: string;
|
||||
birthDate?: string;
|
||||
enrollmentYear?: number;
|
||||
graduationYear?: number;
|
||||
collegeId?: string | number;
|
||||
collegeName?: string;
|
||||
majorId?: string | number;
|
||||
majorName?: string;
|
||||
classId?: string | number;
|
||||
className?: string;
|
||||
educationLevel?: string;
|
||||
trainingMode?: string;
|
||||
phoneNumber?: string;
|
||||
email?: string;
|
||||
qqNumber?: string;
|
||||
wechatNumber?: string;
|
||||
province?: string;
|
||||
city?: string;
|
||||
district?: string;
|
||||
detailAddress?: string;
|
||||
postalCode?: string;
|
||||
employmentStatus?: string;
|
||||
employmentCompany?: string;
|
||||
companyType?: string;
|
||||
jobPosition?: string;
|
||||
workProvince?: string;
|
||||
workCity?: string;
|
||||
salaryRange?: string;
|
||||
furtherSchool?: string;
|
||||
furtherMajor?: string;
|
||||
skills?: string;
|
||||
awards?: string;
|
||||
jobIntention?: string;
|
||||
auditStatus?: string;
|
||||
auditTime?: string;
|
||||
auditBy?: string | number;
|
||||
auditRemark?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 毕业生信息查询
|
||||
*/
|
||||
export interface GraduateInfoQuery extends PageQuery {
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
gender?: string;
|
||||
idCard?: string;
|
||||
nation?: string;
|
||||
politicalStatus?: string;
|
||||
birthDate?: string;
|
||||
enrollmentYear?: number;
|
||||
graduationYear?: number;
|
||||
collegeId?: string | number;
|
||||
collegeName?: string;
|
||||
majorId?: string | number;
|
||||
majorName?: string;
|
||||
classId?: string | number;
|
||||
className?: string;
|
||||
educationLevel?: string;
|
||||
trainingMode?: string;
|
||||
phoneNumber?: string;
|
||||
email?: string;
|
||||
employmentStatus?: string;
|
||||
employmentCompany?: string;
|
||||
companyType?: string;
|
||||
jobPosition?: string;
|
||||
workProvince?: string;
|
||||
workCity?: string;
|
||||
salaryRange?: string;
|
||||
furtherSchool?: string;
|
||||
furtherMajor?: string;
|
||||
auditStatus?: string;
|
||||
auditBy?: string | number;
|
||||
status?: string;
|
||||
params?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 毕业生信息统计VO
|
||||
*/
|
||||
export interface GraduateStatisticsVO {
|
||||
name?: string;
|
||||
value?: number;
|
||||
total?: number;
|
||||
percentage?: number;
|
||||
employmentCount?: number;
|
||||
employmentRate?: number;
|
||||
furtherStudyCount?: number;
|
||||
furtherStudyRate?: number;
|
||||
unemploymentCount?: number;
|
||||
type?: string;
|
||||
year?: number;
|
||||
collegeId?: string | number;
|
||||
collegeName?: string;
|
||||
majorId?: string | number;
|
||||
majorName?: string;
|
||||
employmentStatus?: string;
|
||||
employmentStatusName?: string;
|
||||
companyType?: string;
|
||||
companyTypeName?: string;
|
||||
province?: string;
|
||||
city?: string;
|
||||
salaryRange?: string;
|
||||
salaryRangeName?: string;
|
||||
}
|
||||
Reference in new issue
Block a user