重要提交,可能会影响到其他模块及工作流。*****
This commit is contained in:
1 parent
bab7b53074
commit
e06d8fca2c
78 files changed
+3545
-3471
No files matched your search
@@ -98,7 +98,7 @@ export const approveApplication = (data: CwApprovalForm) => {
|
||||
params.append('approveOpinion', data.approvalComment || '');
|
||||
|
||||
return request({
|
||||
url: '/cw/approval/dept', // 🔧 修复:使用部门审批接口
|
||||
url: '/cw/approval/dept', // 🔧 修复:使用部门审批接口
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
@@ -136,7 +136,7 @@ export const batchApproveApplication = async (data: CwApprovalForm) => {
|
||||
}
|
||||
|
||||
// 检查是否有失败的项目
|
||||
const failures = results.filter(r => !r.success);
|
||||
const failures = results.filter((r) => !r.success);
|
||||
if (failures.length > 0) {
|
||||
console.error('🔧 批量审批部分失败:', failures);
|
||||
throw new Error(`批量审批完成,${failures.length}个项目审批失败`);
|
||||
|
||||
@@ -15,12 +15,12 @@ export const financeApproveApplication = (data: FinanceApprovalForm): AxiosPromi
|
||||
approveAction: data.approvalResult,
|
||||
approveOpinion: data.approvalComment
|
||||
});
|
||||
|
||||
|
||||
// 如果选择了院领导,添加参数
|
||||
if (data.selectedApproverId) {
|
||||
params.append('selectedApproverId', data.selectedApproverId.toString());
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url: '/cw/approval/finance',
|
||||
method: 'post',
|
||||
@@ -34,9 +34,9 @@ export const financeApproveApplication = (data: FinanceApprovalForm): AxiosPromi
|
||||
// 财务批量审批操作
|
||||
export const batchFinanceApproveApplication = (dataList: FinanceApprovalForm[]): Promise<any> => {
|
||||
// 前端模拟批量操作,逐个调用单个审批接口
|
||||
const promises = dataList.map(item => financeApproveApplication(item));
|
||||
|
||||
return Promise.all(promises).then(results => {
|
||||
const promises = dataList.map((item) => financeApproveApplication(item));
|
||||
|
||||
return Promise.all(promises).then((results) => {
|
||||
return {
|
||||
data: results,
|
||||
code: 200,
|
||||
|
||||
@@ -26,9 +26,9 @@ export const leaderApproveApplication = (data: LeaderApprovalForm): AxiosPromise
|
||||
// 分管领导批量审批操作
|
||||
export const batchLeaderApproveApplication = (dataList: LeaderApprovalForm[]): AxiosPromise<any> => {
|
||||
// 前端模拟批量操作,逐个调用单个审批接口
|
||||
const promises = dataList.map(item => leaderApproveApplication(item));
|
||||
const promises = dataList.map((item) => leaderApproveApplication(item));
|
||||
|
||||
return Promise.all(promises).then(results => {
|
||||
return Promise.all(promises).then((results) => {
|
||||
return {
|
||||
data: results,
|
||||
code: 200,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 财务项目预算审批 - API服务
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-01-26
|
||||
*/
|
||||
@@ -214,4 +214,4 @@ export const delApproverConfig = (id: string | number | Array<string | number>)
|
||||
url: '/cw/approverConfig/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -1,8 +1,8 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export interface StatisticsQuery {
|
||||
budgetYear?: string
|
||||
budgetYear?: string;
|
||||
}
|
||||
|
||||
// 获取项目清单(用于统计页面)
|
||||
@@ -11,7 +11,7 @@ export function getStatisticsList(query: StatisticsQuery): AxiosPromise<any> {
|
||||
url: '/cw/application/statistics/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取状态统计
|
||||
@@ -20,7 +20,7 @@ export function getStatusStatistics(budgetYear?: string): AxiosPromise<any> {
|
||||
url: '/cw/application/statistics/status',
|
||||
method: 'get',
|
||||
params: { budgetYear }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取部门预算汇总统计
|
||||
@@ -29,7 +29,7 @@ export function getDepartmentStatistics(budgetYear?: string): AxiosPromise<any>
|
||||
url: '/cw/application/statistics/department',
|
||||
method: 'get',
|
||||
params: { budgetYear }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取年度汇总统计
|
||||
@@ -37,5 +37,5 @@ export function getYearlyStatistics(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/cw/application/statistics/yearly',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -63,7 +63,6 @@ export interface SysRegionVO {
|
||||
* 子节点列表(用于树形结构)
|
||||
*/
|
||||
children?: SysRegionVO[];
|
||||
|
||||
}
|
||||
|
||||
export interface SysRegionForm extends BaseEntity {
|
||||
@@ -126,11 +125,9 @@ export interface SysRegionForm extends BaseEntity {
|
||||
* 逻辑删除标识(0未删除 1已删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface SysRegionQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 行政区划编码
|
||||
*/
|
||||
@@ -181,11 +178,8 @@ export interface SysRegionQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import request from '@/utils/request'
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 重置bucket访问密码
|
||||
@@ -11,7 +11,7 @@ export function resetBucketPassword(bucketName: string, newPassword: string) {
|
||||
url: '/system/bucket-password/reset',
|
||||
method: 'post',
|
||||
params: { bucketName, newPassword }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -23,7 +23,7 @@ export function getBucketPasswordInfo(bucketName: string) {
|
||||
return request({
|
||||
url: `/system/bucket-password/info/${bucketName}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function getBucketAccessRecords(bucketName: string, limit: number = 10) {
|
||||
url: `/system/bucket-password/records/${bucketName}`,
|
||||
method: 'get',
|
||||
params: { limit }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ export function validateBucketPassword(bucketName: string, password: string) {
|
||||
url: '/system/bucket-password/validate',
|
||||
method: 'post',
|
||||
params: { bucketName, password }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,12 +60,12 @@ export function validateBucketPassword(bucketName: string, password: string) {
|
||||
* @returns 生成的密码
|
||||
*/
|
||||
export function generateStrongPassword(length: number = 12): string {
|
||||
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*'
|
||||
let password = ''
|
||||
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*';
|
||||
let password = '';
|
||||
for (let i = 0; i < length; i++) {
|
||||
password += charset.charAt(Math.floor(Math.random() * charset.length))
|
||||
password += charset.charAt(Math.floor(Math.random() * charset.length));
|
||||
}
|
||||
return password
|
||||
return password;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,51 +74,51 @@ export function generateStrongPassword(length: number = 12): string {
|
||||
* @returns 密码强度评估
|
||||
*/
|
||||
export function validatePasswordStrength(password: string): {
|
||||
isValid: boolean
|
||||
score: number
|
||||
suggestions: string[]
|
||||
isValid: boolean;
|
||||
score: number;
|
||||
suggestions: string[];
|
||||
} {
|
||||
const suggestions: string[] = []
|
||||
let score = 0
|
||||
const suggestions: string[] = [];
|
||||
let score = 0;
|
||||
|
||||
// 长度检查
|
||||
if (password.length >= 8) {
|
||||
score += 1
|
||||
score += 1;
|
||||
} else {
|
||||
suggestions.push('密码长度至少8位')
|
||||
suggestions.push('密码长度至少8位');
|
||||
}
|
||||
|
||||
// 包含大写字母
|
||||
if (/[A-Z]/.test(password)) {
|
||||
score += 1
|
||||
score += 1;
|
||||
} else {
|
||||
suggestions.push('包含大写字母')
|
||||
suggestions.push('包含大写字母');
|
||||
}
|
||||
|
||||
// 包含小写字母
|
||||
if (/[a-z]/.test(password)) {
|
||||
score += 1
|
||||
score += 1;
|
||||
} else {
|
||||
suggestions.push('包含小写字母')
|
||||
suggestions.push('包含小写字母');
|
||||
}
|
||||
|
||||
// 包含数字
|
||||
if (/\d/.test(password)) {
|
||||
score += 1
|
||||
score += 1;
|
||||
} else {
|
||||
suggestions.push('包含数字')
|
||||
suggestions.push('包含数字');
|
||||
}
|
||||
|
||||
// 包含特殊字符
|
||||
if (/[!@#$%^&*]/.test(password)) {
|
||||
score += 1
|
||||
score += 1;
|
||||
} else {
|
||||
suggestions.push('包含特殊字符')
|
||||
suggestions.push('包含特殊字符');
|
||||
}
|
||||
|
||||
return {
|
||||
isValid: score >= 4,
|
||||
score,
|
||||
suggestions
|
||||
}
|
||||
};
|
||||
}
|
||||
+28
-28
@@ -1,4 +1,4 @@
|
||||
import request from '@/utils/request'
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 获取文件临时访问URL
|
||||
@@ -15,7 +15,7 @@ export function getFileAccessUrl(ossId: number | string | bigint, bucketPassword
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -34,7 +34,7 @@ export function getBatchFileAccessUrl(ossIds: number[], bucketPassword?: string,
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -52,7 +52,7 @@ export function getFileDownloadUrl(ossId: number | string | bigint, bucketPasswo
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +70,7 @@ export function getFilePreviewUrl(ossId: number | string | bigint, bucketPasswor
|
||||
bucketPassword,
|
||||
expireSeconds
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,32 +83,32 @@ export function getFilePreviewUrl(ossId: number | string | bigint, bucketPasswor
|
||||
export async function secureDownloadFile(ossId: number | string | bigint, fileName: string, bucketPassword?: string) {
|
||||
try {
|
||||
// 获取临时下载URL
|
||||
const { data: downloadUrl } = await getFileDownloadUrl(ossId, bucketPassword)
|
||||
const { data: downloadUrl } = await getFileDownloadUrl(ossId, bucketPassword);
|
||||
|
||||
// 使用fetch下载文件
|
||||
const response = await fetch(downloadUrl)
|
||||
const response = await fetch(downloadUrl);
|
||||
if (!response.ok) {
|
||||
throw new Error('下载失败')
|
||||
throw new Error('下载失败');
|
||||
}
|
||||
|
||||
const blob = await response.blob()
|
||||
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)
|
||||
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)
|
||||
URL.revokeObjectURL(url);
|
||||
|
||||
return Promise.resolve()
|
||||
return Promise.resolve();
|
||||
} catch (error) {
|
||||
console.error('文件下载失败:', error)
|
||||
return Promise.reject(error)
|
||||
console.error('文件下载失败:', error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,20 +122,20 @@ export async function secureDownloadFile(ossId: number | string | bigint, fileNa
|
||||
export async function securePreviewFile(ossId: number | string | bigint, contentType?: string, bucketPassword?: string) {
|
||||
try {
|
||||
// 获取临时预览URL
|
||||
const { data: previewUrl } = await getFilePreviewUrl(ossId, bucketPassword)
|
||||
const { data: previewUrl } = await getFilePreviewUrl(ossId, bucketPassword);
|
||||
|
||||
// 根据文件类型选择预览方式
|
||||
if (contentType?.startsWith('image/')) {
|
||||
// 图片直接返回URL用于预览
|
||||
return Promise.resolve(previewUrl)
|
||||
return Promise.resolve(previewUrl);
|
||||
} else {
|
||||
// 其他文件在新窗口打开
|
||||
window.open(previewUrl, '_blank')
|
||||
return Promise.resolve(previewUrl)
|
||||
window.open(previewUrl, '_blank');
|
||||
return Promise.resolve(previewUrl);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('文件预览失败:', error)
|
||||
return Promise.reject(error)
|
||||
console.error('文件预览失败:', error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ export async function securePreviewFile(ossId: number | string | bigint, content
|
||||
export function getBucketPasswordHint(bucketName: string) {
|
||||
// 这里可以根据bucket名称返回相应的密码提示
|
||||
// 例如:从配置中获取密码提示信息
|
||||
return `请输入 ${bucketName} bucket 的访问密码`
|
||||
return `请输入 ${bucketName} bucket 的访问密码`;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -157,5 +157,5 @@ export function getBucketPasswordHint(bucketName: string) {
|
||||
*/
|
||||
export function validateBucketPassword(password: string): boolean {
|
||||
// 简单的密码格式验证
|
||||
return password && password.length >= 6
|
||||
return password && password.length >= 6;
|
||||
}
|
||||
@@ -163,7 +163,6 @@ export interface StudentLeaveVO {
|
||||
* 销假备注
|
||||
*/
|
||||
cancelRemark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentLeaveForm extends BaseEntity {
|
||||
@@ -336,11 +335,9 @@ export interface StudentLeaveForm extends BaseEntity {
|
||||
* 操作类型:add-新增,update-修改,view-查看
|
||||
*/
|
||||
type?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentLeaveQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -501,11 +498,8 @@ export interface StudentLeaveQuery extends PageQuery {
|
||||
*/
|
||||
cancelRemark?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import { ClassInfoVO, ClassInfoQuery, ClassInfoForm, OptionData } from './classInfo/types'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { DeptTreeVO, DeptVO } from '@/api/system/dept/types'
|
||||
import { treeselect as deptTreeselect, listDeptExcludeChild } from '@/api/system/dept'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { ClassInfoVO, ClassInfoQuery, ClassInfoForm, OptionData } from './classInfo/types';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { DeptTreeVO, DeptVO } from '@/api/system/dept/types';
|
||||
import { treeselect as deptTreeselect, listDeptExcludeChild } from '@/api/system/dept';
|
||||
|
||||
// 通用类型定义
|
||||
interface TableDataInfo<T> {
|
||||
@@ -27,8 +27,8 @@ export const listClassInfo = (query: ClassInfoQuery): AxiosPromise<TableDataInfo
|
||||
url: '/xg/classInfo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询班级信息详细
|
||||
@@ -37,8 +37,8 @@ export const getClassInfo = (id: string | number): AxiosPromise<R<ClassInfoVO>>
|
||||
return request({
|
||||
url: '/xg/classInfo/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增班级信息
|
||||
@@ -48,8 +48,8 @@ export const addClassInfo = (data: ClassInfoForm): AxiosPromise<R<void>> => {
|
||||
url: '/xg/classInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改班级信息
|
||||
@@ -59,8 +59,8 @@ export const updateClassInfo = (data: ClassInfoForm): AxiosPromise<R<void>> => {
|
||||
url: '/xg/classInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除班级信息
|
||||
@@ -69,8 +69,8 @@ export const delClassInfo = (id: string | number | Array<string | number>): Axio
|
||||
return request({
|
||||
url: '/xg/classInfo/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出班级信息
|
||||
@@ -80,8 +80,8 @@ export const exportClassInfo = (query: ClassInfoQuery): AxiosPromise<any> => {
|
||||
url: '/xg/classInfo/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据班级代码查询班级信息
|
||||
@@ -90,8 +90,8 @@ export const getClassInfoByCode = (classCode: string): AxiosPromise<R<ClassInfoV
|
||||
return request({
|
||||
url: '/xg/classInfo/getByClassCode/' + classCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据年级查询班级信息列表
|
||||
@@ -100,8 +100,8 @@ export const getClassInfoByGrade = (grade: string): AxiosPromise<R<ClassInfoVO[]
|
||||
return request({
|
||||
url: '/xg/classInfo/getByGrade/' + grade,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据学院代码查询班级信息列表
|
||||
@@ -110,8 +110,8 @@ export const getClassInfoByCollege = (collegeCode: string): AxiosPromise<R<Class
|
||||
return request({
|
||||
url: '/xg/classInfo/getByCollegeCode/' + collegeCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据专业代码查询班级信息列表
|
||||
@@ -120,8 +120,8 @@ export const getClassInfoByMajor = (majorCode: string): AxiosPromise<R<ClassInfo
|
||||
return request({
|
||||
url: '/xg/classInfo/getByMajorCode/' + majorCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据辅导员ID查询班级信息列表
|
||||
@@ -130,8 +130,8 @@ export const getClassInfoByCounselor = (counselorId: number): AxiosPromise<R<Cla
|
||||
return request({
|
||||
url: '/xg/classInfo/getByCounselorId/' + counselorId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据班主任ID查询班级信息列表
|
||||
@@ -140,18 +140,18 @@ export const getClassInfoByClassTeacher = (classTeacherId: number): AxiosPromise
|
||||
return request({
|
||||
url: '/xg/classInfo/getByClassTeacherId/' + classTeacherId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取班级选项列表(用于下拉框)
|
||||
*/
|
||||
export const getClassOptions = (): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getClassOptions', // 修正路径:从 /options 改为 /getClassOptions
|
||||
url: '/xg/classInfo/getClassOptions', // 修正路径:从 /options 改为 /getClassOptions
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新班级学生统计
|
||||
@@ -159,9 +159,9 @@ export const getClassOptions = (): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
export const updateStudentCount = (classId: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/updateStudentCount/' + classId,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量更新班级学生统计
|
||||
@@ -169,10 +169,10 @@ export const updateStudentCount = (classId: number): AxiosPromise<R<void>> => {
|
||||
export const batchUpdateStudentCount = (classIds: number[]): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/batchUpdateStudentCount',
|
||||
method: 'post', // 修正HTTP方法:从 put 改为 post
|
||||
method: 'post', // 修正HTTP方法:从 put 改为 post
|
||||
data: classIds
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 启用班级
|
||||
@@ -180,9 +180,9 @@ export const batchUpdateStudentCount = (classIds: number[]): AxiosPromise<R<void
|
||||
export const enableClass = (id: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/enable/' + id,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 禁用班级
|
||||
@@ -190,9 +190,9 @@ export const enableClass = (id: number): AxiosPromise<R<void>> => {
|
||||
export const disableClass = (id: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/disable/' + id,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
});
|
||||
};
|
||||
|
||||
// ================================
|
||||
// 统计数据接口 - 新增
|
||||
@@ -205,8 +205,8 @@ export const getClassStatistics = (): AxiosPromise<R<any>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 统计各学院班级数量
|
||||
@@ -215,8 +215,8 @@ export const countClassByCollege = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/college',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 统计各年级班级数量
|
||||
@@ -225,8 +225,8 @@ export const countClassByGrade = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/grade',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 统计各专业班级数量
|
||||
@@ -235,8 +235,8 @@ export const countClassByMajor = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/major',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 统计班级状态分布
|
||||
@@ -245,8 +245,8 @@ export const countClassByStatus = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/status',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取学院选项
|
||||
@@ -255,8 +255,8 @@ export const getCollegeOptions = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/colleges',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 从系统部门获取学院选项(二级学院)
|
||||
@@ -267,7 +267,7 @@ export const getDeptCollegeOptions = (): AxiosPromise<DeptTreeVO[]> => {
|
||||
url: '/system/dept/treeselect',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 从系统部门获取专业选项(学院的下级部门)
|
||||
@@ -287,7 +287,7 @@ export const getDeptMajorOptions = (deptId: string | number): AxiosPromise<DeptV
|
||||
url: '/system/dept/list/exclude/' + numericDeptId,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取辅导员选项
|
||||
@@ -296,14 +296,14 @@ export const getCounselorOptions = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/counselors',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取班主任选项列表
|
||||
*/
|
||||
export const getClassTeacherOptions = (): AxiosPromise<R<OptionData[]>> => {
|
||||
console.log('调用班主任API: /xg/classInfo/teacherOptions')
|
||||
console.log('调用班主任API: /xg/classInfo/teacherOptions');
|
||||
return request({
|
||||
url: '/xg/classInfo/teacherOptions',
|
||||
method: 'get',
|
||||
@@ -312,5 +312,5 @@ export const getClassTeacherOptions = (): AxiosPromise<R<OptionData[]>> => {
|
||||
'Authorization': 'Bearer ' + getToken(),
|
||||
'clientid': import.meta.env.VITE_APP_CLIENT_ID
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
+126
-126
@@ -1,121 +1,121 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
// ========== 统计分析相关类型定义 ==========
|
||||
|
||||
// 统计查询参数
|
||||
export interface StatisticsQuery {
|
||||
pageNum?: number
|
||||
pageSize?: number
|
||||
configName?: string
|
||||
configType?: string
|
||||
dimensionType?: string
|
||||
isEnabled?: boolean
|
||||
createTime?: string[]
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
configName?: string;
|
||||
configType?: string;
|
||||
dimensionType?: string;
|
||||
isEnabled?: boolean;
|
||||
createTime?: string[];
|
||||
}
|
||||
|
||||
// 统计分析查询参数
|
||||
export interface StatisticsAnalysisQuery {
|
||||
statisticsType?: string
|
||||
dimension?: string
|
||||
field?: string
|
||||
groupBy?: string
|
||||
conditions?: Record<string, any>
|
||||
startTime?: string
|
||||
endTime?: string
|
||||
collegeIds?: number[]
|
||||
majorIds?: number[]
|
||||
classIds?: number[]
|
||||
grades?: string[]
|
||||
genders?: string[]
|
||||
politicalStatuses?: string[]
|
||||
nationalities?: string[]
|
||||
studentStatuses?: string[]
|
||||
trainingTypes?: string[]
|
||||
useCache?: boolean
|
||||
statisticsType?: string;
|
||||
dimension?: string;
|
||||
field?: string;
|
||||
groupBy?: string;
|
||||
conditions?: Record<string, any>;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
collegeIds?: number[];
|
||||
majorIds?: number[];
|
||||
classIds?: number[];
|
||||
grades?: string[];
|
||||
genders?: string[];
|
||||
politicalStatuses?: string[];
|
||||
nationalities?: string[];
|
||||
studentStatuses?: string[];
|
||||
trainingTypes?: string[];
|
||||
useCache?: boolean;
|
||||
}
|
||||
|
||||
// 统计配置视图对象
|
||||
export interface StatisticsConfigVo {
|
||||
id?: number
|
||||
configName?: string
|
||||
configType?: string
|
||||
dimensionType?: string
|
||||
queryConditions?: string
|
||||
displaySettings?: string
|
||||
chartType?: string
|
||||
isEnabled?: boolean
|
||||
sortOrder?: number
|
||||
remark?: string
|
||||
createBy?: number
|
||||
createTime?: string
|
||||
updateBy?: number
|
||||
updateTime?: string
|
||||
id?: number;
|
||||
configName?: string;
|
||||
configType?: string;
|
||||
dimensionType?: string;
|
||||
queryConditions?: string;
|
||||
displaySettings?: string;
|
||||
chartType?: string;
|
||||
isEnabled?: boolean;
|
||||
sortOrder?: number;
|
||||
remark?: string;
|
||||
createBy?: number;
|
||||
createTime?: string;
|
||||
updateBy?: number;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
// 统计配置业务对象
|
||||
export interface StatisticsConfigBo {
|
||||
id?: number
|
||||
configName?: string
|
||||
configType?: string
|
||||
dimensionType?: string
|
||||
queryConditions?: string
|
||||
displaySettings?: string
|
||||
chartType?: string
|
||||
isEnabled?: boolean
|
||||
sortOrder?: number
|
||||
remark?: string
|
||||
id?: number;
|
||||
configName?: string;
|
||||
configType?: string;
|
||||
dimensionType?: string;
|
||||
queryConditions?: string;
|
||||
displaySettings?: string;
|
||||
chartType?: string;
|
||||
isEnabled?: boolean;
|
||||
sortOrder?: number;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 统计结果视图对象
|
||||
export interface StatisticsResultVo {
|
||||
title?: string
|
||||
type?: string
|
||||
dimension?: string
|
||||
data?: Array<Record<string, any>>
|
||||
total?: number
|
||||
statisticsTime?: string
|
||||
fromCache?: boolean
|
||||
cacheKey?: string
|
||||
extra?: Record<string, any>
|
||||
chartConfig?: Record<string, any>
|
||||
groupData?: Record<string, Array<Record<string, any>>>
|
||||
summary?: Record<string, any>
|
||||
title?: string;
|
||||
type?: string;
|
||||
dimension?: string;
|
||||
data?: Array<Record<string, any>>;
|
||||
total?: number;
|
||||
statisticsTime?: string;
|
||||
fromCache?: boolean;
|
||||
cacheKey?: string;
|
||||
extra?: Record<string, any>;
|
||||
chartConfig?: Record<string, any>;
|
||||
groupData?: Record<string, Array<Record<string, any>>>;
|
||||
summary?: Record<string, any>;
|
||||
}
|
||||
|
||||
// 统计报表视图对象
|
||||
export interface StatisticsReportVo {
|
||||
reportType?: string
|
||||
title?: string
|
||||
description?: string
|
||||
data?: Array<Record<string, any>>
|
||||
summary?: Record<string, any>
|
||||
generateTime?: string
|
||||
reportType?: string;
|
||||
title?: string;
|
||||
description?: string;
|
||||
data?: Array<Record<string, any>>;
|
||||
summary?: Record<string, any>;
|
||||
generateTime?: string;
|
||||
metadata?: {
|
||||
total: number
|
||||
conditions: Record<string, any>
|
||||
}
|
||||
total: number;
|
||||
conditions: Record<string, any>;
|
||||
};
|
||||
}
|
||||
|
||||
// 统计缓存信息
|
||||
export interface StatisticsCacheInfo {
|
||||
key?: string
|
||||
hitCount?: number
|
||||
missCount?: number
|
||||
hitRate?: number
|
||||
size?: number
|
||||
lastAccessTime?: string
|
||||
createTime?: string
|
||||
expireTime?: string
|
||||
key?: string;
|
||||
hitCount?: number;
|
||||
missCount?: number;
|
||||
hitRate?: number;
|
||||
size?: number;
|
||||
lastAccessTime?: string;
|
||||
createTime?: string;
|
||||
expireTime?: string;
|
||||
}
|
||||
|
||||
// 导出参数
|
||||
export interface StatisticsExportQuery {
|
||||
dimension?: string
|
||||
format?: 'excel' | 'csv'
|
||||
includeChart?: boolean
|
||||
conditions?: Record<string, any>
|
||||
reportType?: string
|
||||
dimension?: string;
|
||||
format?: 'excel' | 'csv';
|
||||
includeChart?: boolean;
|
||||
conditions?: Record<string, any>;
|
||||
reportType?: string;
|
||||
}
|
||||
|
||||
// ========== 统计配置管理API ==========
|
||||
@@ -126,7 +126,7 @@ export function listStatisticsConfig(query: StatisticsQuery): AxiosPromise<any>
|
||||
url: '/xg/statisticsConfig/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取统计配置详情
|
||||
@@ -134,7 +134,7 @@ export function getStatisticsConfig(id: number): AxiosPromise<StatisticsConfigVo
|
||||
return request({
|
||||
url: `/xg/statisticsConfig/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 新增统计配置
|
||||
@@ -143,7 +143,7 @@ export function addStatisticsConfig(data: StatisticsConfigBo): AxiosPromise<any>
|
||||
url: '/xg/statisticsConfig',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 修改统计配置
|
||||
@@ -152,7 +152,7 @@ export function updateStatisticsConfig(data: StatisticsConfigBo): AxiosPromise<a
|
||||
url: '/xg/statisticsConfig',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 删除统计配置
|
||||
@@ -160,7 +160,7 @@ export function delStatisticsConfig(ids: number[]): AxiosPromise<any> {
|
||||
return request({
|
||||
url: `/xg/statisticsConfig/${ids}`,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 导出统计配置
|
||||
@@ -169,7 +169,7 @@ export function exportStatisticsConfig(query: StatisticsQuery): AxiosPromise<any
|
||||
url: '/xg/statisticsConfig/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 启用/禁用统计配置
|
||||
@@ -178,7 +178,7 @@ export function changeStatisticsConfigStatus(id: number, status: boolean): Axios
|
||||
url: `/xg/statisticsConfig/changeStatus`,
|
||||
method: 'put',
|
||||
data: { id, isEnabled: status }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ========== 统计分析API ==========
|
||||
@@ -188,7 +188,7 @@ export function getStatisticsOverview(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/overview',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 学院统计
|
||||
@@ -197,7 +197,7 @@ export function getCollegeStatistics(query: StatisticsAnalysisQuery): AxiosPromi
|
||||
url: '/xg/statisticsAnalysis/college',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 专业统计
|
||||
@@ -206,7 +206,7 @@ export function getMajorStatistics(query: StatisticsAnalysisQuery): AxiosPromise
|
||||
url: '/xg/statisticsAnalysis/major',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 班级统计
|
||||
@@ -215,7 +215,7 @@ export function getClassStatistics(query: StatisticsAnalysisQuery): AxiosPromise
|
||||
url: '/xg/statisticsAnalysis/class',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 年级统计
|
||||
@@ -224,7 +224,7 @@ export function getGradeStatistics(query: StatisticsAnalysisQuery): AxiosPromise
|
||||
url: '/xg/statisticsAnalysis/grade',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 性别统计
|
||||
@@ -233,7 +233,7 @@ export function getGenderStatistics(query: StatisticsAnalysisQuery): AxiosPromis
|
||||
url: '/xg/statisticsAnalysis/gender',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 年龄统计
|
||||
@@ -242,7 +242,7 @@ export function getAgeStatistics(query: StatisticsAnalysisQuery): AxiosPromise<S
|
||||
url: '/xg/statisticsAnalysis/age',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 政治面貌统计
|
||||
@@ -251,7 +251,7 @@ export function getPoliticalStatusStatistics(query: StatisticsAnalysisQuery): Ax
|
||||
url: '/xg/statisticsAnalysis/political',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 民族统计
|
||||
@@ -260,7 +260,7 @@ export function getNationStatistics(query: StatisticsAnalysisQuery): AxiosPromis
|
||||
url: '/xg/statisticsAnalysis/nation',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 生源地统计
|
||||
@@ -269,7 +269,7 @@ export function getSourceRegionStatistics(query: StatisticsAnalysisQuery): Axios
|
||||
url: '/xg/statisticsAnalysis/sourceRegion',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 血型统计
|
||||
@@ -278,7 +278,7 @@ export function getBloodTypeStatistics(query: StatisticsAnalysisQuery): AxiosPro
|
||||
url: '/xg/statisticsAnalysis/bloodType',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 宗教信仰统计
|
||||
@@ -287,7 +287,7 @@ export function getReligionStatistics(query: StatisticsAnalysisQuery): AxiosProm
|
||||
url: '/xg/statisticsAnalysis/religion',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 学籍状态统计
|
||||
@@ -296,7 +296,7 @@ export function getStudentStatusStatistics(query: StatisticsAnalysisQuery): Axio
|
||||
url: '/xg/statisticsAnalysis/studentStatus',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 按维度统计 - 培养方式统计
|
||||
@@ -305,7 +305,7 @@ export function getTrainingTypeStatistics(query: StatisticsAnalysisQuery): Axios
|
||||
url: '/xg/statisticsAnalysis/trainingType',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 高级统计 - 身高统计
|
||||
@@ -314,7 +314,7 @@ export function getHeightStatistics(query: StatisticsAnalysisQuery): AxiosPromis
|
||||
url: '/xg/statisticsAnalysis/height',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 高级统计 - 体重统计
|
||||
@@ -323,7 +323,7 @@ export function getWeightStatistics(query: StatisticsAnalysisQuery): AxiosPromis
|
||||
url: '/xg/statisticsAnalysis/weight',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 多维度组合统计
|
||||
@@ -332,7 +332,7 @@ export function getMultiDimensionStatistics(query: StatisticsAnalysisQuery): Axi
|
||||
url: '/xg/statisticsAnalysis/multiDimension',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 时间趋势统计
|
||||
@@ -341,7 +341,7 @@ export function getTimeTrendStatistics(query: StatisticsAnalysisQuery): AxiosPro
|
||||
url: '/xg/statisticsAnalysis/timeTrend',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ========== 统计报表API ==========
|
||||
@@ -352,7 +352,7 @@ export function generateStudentSummaryReport(query: StatisticsAnalysisQuery): Ax
|
||||
url: '/xg/statisticsAnalysis/report/studentSummary',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 生成班级统计报表
|
||||
@@ -361,7 +361,7 @@ export function generateClassStatisticsReport(query: StatisticsAnalysisQuery): A
|
||||
url: '/xg/statisticsAnalysis/report/classStatistics',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 生成学院统计报表
|
||||
@@ -370,7 +370,7 @@ export function generateCollegeStatisticsReport(query: StatisticsAnalysisQuery):
|
||||
url: '/xg/statisticsAnalysis/report/collegeStatistics',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 生成困难学生统计报表
|
||||
@@ -379,7 +379,7 @@ export function generateDifficultStudentReport(query: StatisticsAnalysisQuery):
|
||||
url: '/xg/statisticsAnalysis/report/difficultStudent',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 生成特殊群体统计报表
|
||||
@@ -388,7 +388,7 @@ export function generateSpecialGroupReport(query: StatisticsAnalysisQuery): Axio
|
||||
url: '/xg/statisticsAnalysis/report/specialGroup',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ========== 统计导出API ==========
|
||||
@@ -400,7 +400,7 @@ export function exportStatisticsResult(query: StatisticsExportQuery): AxiosPromi
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 导出统计报表
|
||||
@@ -410,7 +410,7 @@ export function exportStatisticsReport(query: StatisticsExportQuery): AxiosPromi
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ========== 统计缓存API ==========
|
||||
@@ -420,7 +420,7 @@ export function getCacheStatistics(): AxiosPromise<StatisticsCacheInfo> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/cache/info',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 清空统计缓存
|
||||
@@ -428,7 +428,7 @@ export function clearStatisticsCache(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/cache/clear',
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 预热统计缓存
|
||||
@@ -436,7 +436,7 @@ export function warmupStatisticsCache(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/cache/warmup',
|
||||
method: 'post'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ========== 辅助API ==========
|
||||
@@ -446,7 +446,7 @@ export function getStatisticsDimensionOptions(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/dimensionOptions',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取图表类型选项
|
||||
@@ -454,7 +454,7 @@ export function getChartTypeOptions(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/chartTypeOptions',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取学院选项
|
||||
@@ -462,7 +462,7 @@ export function getCollegeOptions(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/collegeOptions',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取专业选项
|
||||
@@ -471,7 +471,7 @@ export function getMajorOptions(collegeCode?: string): AxiosPromise<any> {
|
||||
url: '/xg/statisticsAnalysis/majorOptions',
|
||||
method: 'get',
|
||||
params: { collegeCode }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取班级选项
|
||||
@@ -480,7 +480,7 @@ export function getClassOptions(majorCode?: string): AxiosPromise<any> {
|
||||
url: '/xg/statisticsAnalysis/classOptions',
|
||||
method: 'get',
|
||||
params: { majorCode }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取年级选项
|
||||
@@ -488,7 +488,7 @@ export function getGradeOptions(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/xg/statisticsAnalysis/gradeOptions',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 执行统计配置
|
||||
@@ -497,5 +497,5 @@ export function executeStatisticsConfig(configId: number, query: StatisticsAnaly
|
||||
url: `/xg/statisticsAnalysis/executeConfig/${configId}`,
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
});
|
||||
}
|
||||
+164
-164
@@ -1,146 +1,146 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { getToken } from '@/utils/auth';
|
||||
|
||||
// 学生信息数据类型
|
||||
export interface StudentInfo {
|
||||
id?: number
|
||||
studentNo?: string
|
||||
name?: string
|
||||
nameEnglish?: string
|
||||
formerName?: string
|
||||
namePinyin?: string
|
||||
gender?: string
|
||||
birthDate?: string
|
||||
idCard?: string
|
||||
phone?: string
|
||||
email?: string
|
||||
nation?: string
|
||||
politicalStatus?: string
|
||||
maritalStatus?: string
|
||||
religion?: string
|
||||
photoUrl?: string
|
||||
photoPath?: string
|
||||
majorCode?: string
|
||||
majorName?: string
|
||||
classCode?: string
|
||||
className?: string
|
||||
collegeCode?: string
|
||||
collegeName?: string
|
||||
grade?: string
|
||||
enrollmentYear?: number
|
||||
enrollmentDate?: string
|
||||
schoolSystem?: number
|
||||
educationLevel?: string
|
||||
trainingType?: string
|
||||
admissionCategory?: string
|
||||
sourceRegion?: string
|
||||
middleSchool?: string
|
||||
studentStatus?: string
|
||||
infoStatus?: string
|
||||
counselorName?: string
|
||||
classTeacherName?: string
|
||||
qq?: string
|
||||
wechat?: string
|
||||
dormitoryBuilding?: string
|
||||
dormitoryRoom?: string
|
||||
homeAddress?: string
|
||||
currentAddress?: string
|
||||
postalCode?: string
|
||||
householdRegisterType?: string
|
||||
hukouLocation?: string
|
||||
height?: number
|
||||
weight?: number
|
||||
bloodType?: string
|
||||
healthStatus?: string
|
||||
specialCondition?: string
|
||||
medicalHistory?: string
|
||||
allergies?: string
|
||||
disabilityType?: string
|
||||
disabilityLevel?: string
|
||||
emergencyContactName?: string
|
||||
emergencyContactPhone?: string
|
||||
emergencyContactRelation?: string
|
||||
fatherName?: string
|
||||
fatherPhone?: string
|
||||
fatherWorkUnit?: string
|
||||
motherName?: string
|
||||
motherPhone?: string
|
||||
motherWorkUnit?: string
|
||||
guardianName?: string
|
||||
guardianPhone?: string
|
||||
guardianRelation?: string
|
||||
familyIncome?: string
|
||||
familyEconomicStatus?: string
|
||||
familyMembers?: number
|
||||
bankCardNo?: string
|
||||
bankName?: string
|
||||
bankBranch?: string
|
||||
cardHolderName?: string
|
||||
isPoorStudent?: number
|
||||
isMinority?: number
|
||||
isDisabled?: number
|
||||
isOrphan?: number
|
||||
isLeftBehindChild?: number
|
||||
isSingleChild?: number
|
||||
hasLoan?: number
|
||||
loanAmount?: number
|
||||
specialties?: string
|
||||
awards?: string
|
||||
violations?: string
|
||||
socialActivities?: string
|
||||
dataSource?: string
|
||||
lastAuditTime?: string
|
||||
isComplete?: number
|
||||
completionRate?: number
|
||||
extField1?: string
|
||||
extField2?: string
|
||||
extField3?: string
|
||||
extField4?: string
|
||||
extField5?: string
|
||||
remark?: string
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
id?: number;
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
nameEnglish?: string;
|
||||
formerName?: string;
|
||||
namePinyin?: string;
|
||||
gender?: string;
|
||||
birthDate?: string;
|
||||
idCard?: string;
|
||||
phone?: string;
|
||||
email?: string;
|
||||
nation?: string;
|
||||
politicalStatus?: string;
|
||||
maritalStatus?: string;
|
||||
religion?: string;
|
||||
photoUrl?: string;
|
||||
photoPath?: string;
|
||||
majorCode?: string;
|
||||
majorName?: string;
|
||||
classCode?: string;
|
||||
className?: string;
|
||||
collegeCode?: string;
|
||||
collegeName?: string;
|
||||
grade?: string;
|
||||
enrollmentYear?: number;
|
||||
enrollmentDate?: string;
|
||||
schoolSystem?: number;
|
||||
educationLevel?: string;
|
||||
trainingType?: string;
|
||||
admissionCategory?: string;
|
||||
sourceRegion?: string;
|
||||
middleSchool?: string;
|
||||
studentStatus?: string;
|
||||
infoStatus?: string;
|
||||
counselorName?: string;
|
||||
classTeacherName?: string;
|
||||
qq?: string;
|
||||
wechat?: string;
|
||||
dormitoryBuilding?: string;
|
||||
dormitoryRoom?: string;
|
||||
homeAddress?: string;
|
||||
currentAddress?: string;
|
||||
postalCode?: string;
|
||||
householdRegisterType?: string;
|
||||
hukouLocation?: string;
|
||||
height?: number;
|
||||
weight?: number;
|
||||
bloodType?: string;
|
||||
healthStatus?: string;
|
||||
specialCondition?: string;
|
||||
medicalHistory?: string;
|
||||
allergies?: string;
|
||||
disabilityType?: string;
|
||||
disabilityLevel?: string;
|
||||
emergencyContactName?: string;
|
||||
emergencyContactPhone?: string;
|
||||
emergencyContactRelation?: string;
|
||||
fatherName?: string;
|
||||
fatherPhone?: string;
|
||||
fatherWorkUnit?: string;
|
||||
motherName?: string;
|
||||
motherPhone?: string;
|
||||
motherWorkUnit?: string;
|
||||
guardianName?: string;
|
||||
guardianPhone?: string;
|
||||
guardianRelation?: string;
|
||||
familyIncome?: string;
|
||||
familyEconomicStatus?: string;
|
||||
familyMembers?: number;
|
||||
bankCardNo?: string;
|
||||
bankName?: string;
|
||||
bankBranch?: string;
|
||||
cardHolderName?: string;
|
||||
isPoorStudent?: number;
|
||||
isMinority?: number;
|
||||
isDisabled?: number;
|
||||
isOrphan?: number;
|
||||
isLeftBehindChild?: number;
|
||||
isSingleChild?: number;
|
||||
hasLoan?: number;
|
||||
loanAmount?: number;
|
||||
specialties?: string;
|
||||
awards?: string;
|
||||
violations?: string;
|
||||
socialActivities?: string;
|
||||
dataSource?: string;
|
||||
lastAuditTime?: string;
|
||||
isComplete?: number;
|
||||
completionRate?: number;
|
||||
extField1?: string;
|
||||
extField2?: string;
|
||||
extField3?: string;
|
||||
extField4?: string;
|
||||
extField5?: string;
|
||||
remark?: string;
|
||||
createTime?: string;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
// 查询参数类型
|
||||
export interface StudentQuery {
|
||||
pageNum?: number
|
||||
pageSize?: number
|
||||
studentNo?: string
|
||||
name?: string
|
||||
gender?: string
|
||||
idCard?: string
|
||||
majorCode?: string
|
||||
majorName?: string
|
||||
classCode?: string
|
||||
className?: string
|
||||
collegeCode?: string
|
||||
collegeName?: string
|
||||
grade?: string
|
||||
enrollmentYear?: number
|
||||
studentStatus?: string
|
||||
infoStatus?: string
|
||||
counselorId?: number
|
||||
classTeacherId?: number
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
studentNo?: string;
|
||||
name?: string;
|
||||
gender?: string;
|
||||
idCard?: string;
|
||||
majorCode?: string;
|
||||
majorName?: string;
|
||||
classCode?: string;
|
||||
className?: string;
|
||||
collegeCode?: string;
|
||||
collegeName?: string;
|
||||
grade?: string;
|
||||
enrollmentYear?: number;
|
||||
studentStatus?: string;
|
||||
infoStatus?: string;
|
||||
counselorId?: number;
|
||||
classTeacherId?: number;
|
||||
}
|
||||
|
||||
// 统计数据类型
|
||||
export interface StatisticsData {
|
||||
totalCount?: number
|
||||
activeCount?: number
|
||||
completeCount?: number
|
||||
pendingCount?: number
|
||||
maleCount?: number
|
||||
femaleCount?: number
|
||||
totalCount?: number;
|
||||
activeCount?: number;
|
||||
completeCount?: number;
|
||||
pendingCount?: number;
|
||||
maleCount?: number;
|
||||
femaleCount?: number;
|
||||
}
|
||||
|
||||
// 选项数据类型
|
||||
export interface OptionData {
|
||||
value: string | number
|
||||
label: string
|
||||
code?: string
|
||||
[key: string]: any
|
||||
value: string | number;
|
||||
label: string;
|
||||
code?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
// 查询学生信息列表
|
||||
@@ -149,7 +149,7 @@ export function listStudents(query: StudentQuery): AxiosPromise<any> {
|
||||
url: '/xg/studentInfo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取学生信息详情
|
||||
@@ -157,7 +157,7 @@ export function getStudent(id: number): AxiosPromise<StudentInfo> {
|
||||
return request({
|
||||
url: `/xg/studentInfo/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 根据学号查询学生信息
|
||||
@@ -165,7 +165,7 @@ export function getStudentByNo(studentNo: string): AxiosPromise<StudentInfo> {
|
||||
return request({
|
||||
url: `/xg/studentInfo/studentNo/${studentNo}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 根据身份证号查询学生信息
|
||||
@@ -173,7 +173,7 @@ export function getStudentByIdCard(idCard: string): AxiosPromise<StudentInfo> {
|
||||
return request({
|
||||
url: `/xg/studentInfo/idCard/${idCard}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 根据班级代码查询学生列表
|
||||
@@ -181,7 +181,7 @@ export function getStudentsByClass(classCode: string): AxiosPromise<StudentInfo[
|
||||
return request({
|
||||
url: `/xg/studentInfo/class/${classCode}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 根据学院代码查询学生列表
|
||||
@@ -189,7 +189,7 @@ export function getStudentsByCollege(collegeCode: string): AxiosPromise<StudentI
|
||||
return request({
|
||||
url: `/xg/studentInfo/college/${collegeCode}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 新增学生信息
|
||||
@@ -198,7 +198,7 @@ export function addStudent(data: StudentInfo): AxiosPromise<any> {
|
||||
url: '/xg/studentInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 修改学生信息
|
||||
@@ -207,7 +207,7 @@ export function updateStudent(data: StudentInfo): AxiosPromise<any> {
|
||||
url: '/xg/studentInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 删除学生信息
|
||||
@@ -215,7 +215,7 @@ export function delStudent(ids: number[]): AxiosPromise<any> {
|
||||
return request({
|
||||
url: `/xg/studentInfo/${ids.join(',')}`,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 导出学生信息
|
||||
@@ -225,7 +225,7 @@ export function exportStudents(query: StudentQuery): AxiosPromise<any> {
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 批量导入学生信息
|
||||
@@ -234,7 +234,7 @@ export function importStudents(data: any): AxiosPromise<any> {
|
||||
url: '/xg/studentInfo/import',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取导入模板
|
||||
@@ -243,7 +243,7 @@ export function getImportTemplate(): AxiosPromise<any> {
|
||||
url: '/xg/studentInfo/importTemplate',
|
||||
method: 'post',
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 批量更新学生信息状态
|
||||
@@ -252,7 +252,7 @@ export function batchUpdateInfoStatus(studentIds: number[], infoStatus: string):
|
||||
url: '/xg/studentInfo/batchUpdateInfoStatus',
|
||||
method: 'put',
|
||||
data: { studentIds, infoStatus }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 批量更新学生学籍状态
|
||||
@@ -261,7 +261,7 @@ export function batchUpdateStudentStatus(studentIds: number[], studentStatus: st
|
||||
url: '/xg/studentInfo/batchUpdateStudentStatus',
|
||||
method: 'put',
|
||||
data: { studentIds, studentStatus }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 审核学生信息
|
||||
@@ -270,7 +270,7 @@ export function auditStudent(studentId: number, auditStatus: string, auditRemark
|
||||
url: `/xg/studentInfo/${studentId}/audit`,
|
||||
method: 'put',
|
||||
params: { auditStatus, auditRemark }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 批量审核学生信息
|
||||
@@ -279,7 +279,7 @@ export function batchAuditStudents(studentIds: number[], auditStatus: string, au
|
||||
url: '/xg/studentInfo/batchAudit',
|
||||
method: 'put',
|
||||
data: { studentIds, auditStatus, auditRemark }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ================================
|
||||
@@ -291,7 +291,7 @@ export function getStatisticsOverview(): AxiosPromise<StatisticsData> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/overview',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 统计各学院学生数量
|
||||
@@ -299,7 +299,7 @@ export function getCollegeStatistics(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/college',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 统计各年级学生数量
|
||||
@@ -307,7 +307,7 @@ export function getGradeStatistics(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/grade',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 统计各专业学生数量
|
||||
@@ -315,7 +315,7 @@ export function getMajorStatistics(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/major',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 统计学籍状态分布
|
||||
@@ -323,7 +323,7 @@ export function getStudentStatusStatistics(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/studentStatus',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 统计信息完整度分布
|
||||
@@ -331,7 +331,7 @@ export function getCompletionRateStatistics(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/statistics/completionRate',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 查询信息不完整的学生列表
|
||||
@@ -339,7 +339,7 @@ export function getIncompleteStudents(): AxiosPromise<StudentInfo[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/incomplete',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 查询待审核的学生列表
|
||||
@@ -347,7 +347,7 @@ export function getPendingAuditStudents(): AxiosPromise<StudentInfo[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/pendingAudit',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 生成学生信息报表
|
||||
@@ -356,7 +356,7 @@ export function generateReport(reportType: string, params?: any): AxiosPromise<a
|
||||
url: `/xg/studentInfo/report/${reportType}`,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// ================================
|
||||
@@ -368,7 +368,7 @@ export function getCollegeOptions(): AxiosPromise<OptionData[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/colleges',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取专业选项
|
||||
@@ -377,7 +377,7 @@ export function getMajorOptions(collegeCode?: string): AxiosPromise<OptionData[]
|
||||
url: '/xg/studentInfo/options/majors',
|
||||
method: 'get',
|
||||
params: { collegeCode }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取班级选项
|
||||
@@ -386,7 +386,7 @@ export function getClassOptions(majorCode?: string): AxiosPromise<OptionData[]>
|
||||
url: '/xg/studentInfo/options/classes',
|
||||
method: 'get',
|
||||
params: { majorCode }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取辅导员选项
|
||||
@@ -394,12 +394,12 @@ export function getCounselorOptions(): AxiosPromise<OptionData[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/counselors',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 获取班主任选项
|
||||
export function getClassTeacherOptions(): AxiosPromise<OptionData[]> {
|
||||
console.log('调用班主任API: /xg/classInfo/teacherOptions')
|
||||
console.log('调用班主任API: /xg/classInfo/teacherOptions');
|
||||
return request({
|
||||
url: '/xg/classInfo/teacherOptions',
|
||||
method: 'get',
|
||||
@@ -408,7 +408,7 @@ export function getClassTeacherOptions(): AxiosPromise<OptionData[]> {
|
||||
'Authorization': 'Bearer ' + getToken(),
|
||||
'clientid': import.meta.env.VITE_APP_CLIENT_ID
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 检查学号是否存在
|
||||
@@ -417,7 +417,7 @@ export function checkStudentNo(studentNo: string, studentId?: number): AxiosProm
|
||||
url: '/xg/studentInfo/checkStudentNo',
|
||||
method: 'get',
|
||||
params: { studentNo, studentId }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 检查身份证号是否存在
|
||||
@@ -426,7 +426,7 @@ export function checkIdCard(idCard: string, studentId?: number): AxiosPromise<bo
|
||||
url: '/xg/studentInfo/checkIdCard',
|
||||
method: 'get',
|
||||
params: { idCard, studentId }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 查询重复学号的学生列表
|
||||
@@ -434,7 +434,7 @@ export function getDuplicateStudentNo(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/duplicateStudentNo',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 查询重复身份证号的学生列表
|
||||
@@ -442,7 +442,7 @@ export function getDuplicateIdCard(): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/xg/studentInfo/duplicateIdCard',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 更新学生信息完整度
|
||||
@@ -450,5 +450,5 @@ export function updateCompletionRate(studentId: number): AxiosPromise<any> {
|
||||
return request({
|
||||
url: `/xg/studentInfo/${studentId}/updateCompletionRate`,
|
||||
method: 'put'
|
||||
})
|
||||
});
|
||||
}
|
||||
+530
-530
File diff suppressed because it is too large.
Load diff
@@ -10,7 +10,7 @@ interface ClassTeacherCounselorRelBo {
|
||||
teacherName?: string;
|
||||
counselorId?: number | string;
|
||||
counselorName?: string;
|
||||
relationType?: number; // 1:班主任 2:辅导员
|
||||
relationType?: number; // 1:班主任 2:辅导员
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import request from '@/utils/request';
|
||||
// export * from './activity' // 活动管理
|
||||
|
||||
// 导出学工用户模块API
|
||||
export * from './sysUser'
|
||||
export * from './sysUser';
|
||||
|
||||
// 临时导出一个空对象,防止编译错误
|
||||
export default {};
|
||||
@@ -61,6 +61,3 @@ export interface DormBedForm {
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -58,7 +58,6 @@ export interface DormRoomVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormRoomForm extends BaseEntity {
|
||||
@@ -116,11 +115,9 @@ export interface DormRoomForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormRoomQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 房间编号
|
||||
*/
|
||||
@@ -166,11 +163,8 @@ export interface DormRoomQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -38,7 +38,6 @@ export interface DormManagerSourceVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerSourceForm extends BaseEntity {
|
||||
@@ -81,11 +80,9 @@ export interface DormManagerSourceForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerSourceQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -116,11 +113,8 @@ export interface DormManagerSourceQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormManagerBuildingVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerBuildingForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormManagerBuildingForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerBuildingQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -86,11 +83,8 @@ export interface DormManagerBuildingQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ export interface DormManagerVO {
|
||||
* 授权范围名称(逗号分隔的字符串)
|
||||
*/
|
||||
scopeNames?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerForm extends BaseEntity {
|
||||
@@ -106,11 +105,9 @@ export interface DormManagerForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormManagerQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@@ -151,11 +148,8 @@ export interface DormManagerQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -17,8 +17,7 @@ export interface DormBuildingVO {
|
||||
floors: number;
|
||||
}
|
||||
|
||||
export interface DormBuildingForm extends Omit<DormBuildingVO, 'createTime' | 'createBy' | 'updateTime' | 'updateBy' | 'areaName' | 'campusName'> {
|
||||
}
|
||||
export interface DormBuildingForm extends Omit<DormBuildingVO, 'createTime' | 'createBy' | 'updateTime' | 'updateBy' | 'areaName' | 'campusName'> {}
|
||||
|
||||
export interface DormBuildingQuery {
|
||||
buildingCode?: string;
|
||||
@@ -45,6 +44,3 @@ export interface BuildingTreeSelectVo {
|
||||
floors?: number;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormAreaVO {
|
||||
* 排序号
|
||||
*/
|
||||
sortOrder: number;
|
||||
|
||||
}
|
||||
|
||||
export interface DormAreaForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormAreaForm extends BaseEntity {
|
||||
* 排序号
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface DormAreaQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 宿舍区编码
|
||||
*/
|
||||
@@ -81,10 +78,10 @@ export interface DormAreaQuery extends PageQuery {
|
||||
*/
|
||||
areaDescription?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,6 +99,3 @@ export interface TreeSelectVo {
|
||||
/** 子节点 */
|
||||
children?: TreeSelectVo[];
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ export interface DormCampusVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormCampusForm extends BaseEntity {
|
||||
@@ -61,11 +60,9 @@ export interface DormCampusForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface DormCampusQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 校区编码
|
||||
*/
|
||||
@@ -76,11 +73,8 @@ export interface DormCampusQuery extends PageQuery {
|
||||
*/
|
||||
campusName?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ export function getMockDormTree(): { data: DormTreeNode[] } {
|
||||
}
|
||||
|
||||
// 生成房间数据的模拟数据
|
||||
export function getMockRooms(buildingId: string | number, floorNumber?: number): { rows: RoomInfo[], total: number } {
|
||||
export function getMockRooms(buildingId: string | number, floorNumber?: number): { rows: RoomInfo[]; total: number } {
|
||||
const rooms: RoomInfo[] = [];
|
||||
|
||||
// 根据buildingId判断楼层数
|
||||
@@ -233,7 +233,7 @@ export function getMockRooms(buildingId: string | number, floorNumber?: number):
|
||||
}
|
||||
|
||||
return {
|
||||
rows: rooms.filter(room => !floorNumber || room.floorNumber === floorNumber),
|
||||
rows: rooms.filter((room) => !floorNumber || room.floorNumber === floorNumber),
|
||||
total: rooms.length
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface ClassMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface ClassMsgForm extends BaseEntity {
|
||||
@@ -291,11 +290,9 @@ export interface ClassMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface ClassMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 学院代码
|
||||
*/
|
||||
@@ -326,11 +323,8 @@ export interface ClassMsgQuery extends PageQuery {
|
||||
*/
|
||||
classStatus?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface StuColBatchClassVO {
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassForm extends BaseEntity {
|
||||
@@ -101,11 +100,9 @@ export interface StuColBatchClassForm extends BaseEntity {
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchClassQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次ID
|
||||
*/
|
||||
@@ -146,11 +143,8 @@ export interface StuColBatchClassQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface StuColBatchVO {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface StuColBatchForm extends BaseEntity {
|
||||
* 收集类型 1 - 新学期收集 2 - 其他
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StuColBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 批次名称
|
||||
*/
|
||||
@@ -91,11 +88,8 @@ export interface StuColBatchQuery extends PageQuery {
|
||||
*/
|
||||
collectionType?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentQuery, StudentVO, StudentForm, XgDeptTreeVO, R, TableDataInfo } from './types';
|
||||
|
||||
|
||||
/**
|
||||
* 查询部门下拉树结构
|
||||
* @param deptId 部门ID
|
||||
@@ -32,7 +31,6 @@ export const XgDeptTreeSelect = (belongDeptId?: number): AxiosPromise<XgDeptTree
|
||||
// }) as any;
|
||||
};
|
||||
|
||||
|
||||
// 查询学生列表
|
||||
export function listStudent(query?: StudentQuery): AxiosPromise<R<TableDataInfo<StudentVO[]>>> {
|
||||
// 实际使用时连接后端接口
|
||||
@@ -56,11 +54,13 @@ export function listStudent(query?: StudentQuery): AxiosPromise<R<TableDataInfo<
|
||||
}
|
||||
|
||||
// 查询学生详细
|
||||
export function getStudent(studentId?: string | number): AxiosPromise<R<{
|
||||
student: StudentVO;
|
||||
majors: any[];
|
||||
classes: any[];
|
||||
}>> {
|
||||
export function getStudent(studentId?: string | number): AxiosPromise<
|
||||
R<{
|
||||
student: StudentVO;
|
||||
majors: any[];
|
||||
classes: any[];
|
||||
}>
|
||||
> {
|
||||
if (studentId) {
|
||||
// 实际使用时连接后端接口
|
||||
// return request({
|
||||
@@ -69,7 +69,7 @@ export function getStudent(studentId?: string | number): AxiosPromise<R<{
|
||||
// });
|
||||
|
||||
// 模拟数据
|
||||
const student = mockStudentData.find(item => item.studentId === studentId);
|
||||
const student = mockStudentData.find((item) => item.studentId === studentId);
|
||||
return Promise.resolve({
|
||||
data: {
|
||||
code: 200,
|
||||
@@ -435,4 +435,14 @@ const mockClasses = [
|
||||
}
|
||||
];
|
||||
|
||||
export default { listStudent, getStudent, addStudent, updateStudent, delStudent, deptTreeSelect, exportStudent, changeStudentStatus, XgDeptTreeSelect };
|
||||
export default {
|
||||
listStudent,
|
||||
getStudent,
|
||||
addStudent,
|
||||
updateStudent,
|
||||
delStudent,
|
||||
deptTreeSelect,
|
||||
exportStudent,
|
||||
changeStudentStatus,
|
||||
XgDeptTreeSelect
|
||||
};
|
||||
@@ -45,7 +45,7 @@ export interface StudentMsgVO {
|
||||
birthDate: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality: string;
|
||||
|
||||
@@ -140,7 +140,7 @@ export interface StudentMsgVO {
|
||||
wechat: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus: string;
|
||||
|
||||
@@ -518,7 +518,6 @@ export interface StudentMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgForm extends BaseEntity {
|
||||
@@ -568,7 +567,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -663,7 +662,7 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1041,11 +1040,9 @@ export interface StudentMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -1087,7 +1084,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -1182,7 +1179,7 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1556,11 +1553,8 @@ export interface StudentMsgQuery extends PageQuery {
|
||||
*/
|
||||
extField5?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ export interface StudentMsgBatchVO {
|
||||
birthDate: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality: string;
|
||||
|
||||
@@ -140,7 +140,7 @@ export interface StudentMsgBatchVO {
|
||||
wechat: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus: string;
|
||||
|
||||
@@ -523,7 +523,6 @@ export interface StudentMsgBatchVO {
|
||||
* 正在进行中的批次id
|
||||
*/
|
||||
batchId: string | number;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgBatchForm extends BaseEntity {
|
||||
@@ -573,7 +572,7 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -668,7 +667,7 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1051,11 +1050,9 @@ export interface StudentMsgBatchForm extends BaseEntity {
|
||||
* 正在进行中的批次id
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentMsgBatchQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -1097,7 +1094,7 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
birthDate?: string;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
* 民族
|
||||
*/
|
||||
nationality?: string;
|
||||
|
||||
@@ -1192,7 +1189,7 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
wechat?: string;
|
||||
|
||||
/**
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
* 婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶
|
||||
*/
|
||||
maritalStatus?: string;
|
||||
|
||||
@@ -1571,11 +1568,8 @@ export interface StudentMsgBatchQuery extends PageQuery {
|
||||
*/
|
||||
batchId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ export interface XgClassPosDictVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictForm extends BaseEntity {
|
||||
@@ -111,11 +110,9 @@ export interface XgClassPosDictForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosDictQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -161,11 +158,8 @@ export interface XgClassPosDictQuery extends PageQuery {
|
||||
*/
|
||||
sortOrder?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -118,7 +118,6 @@ export interface XgClassPosMsgVO {
|
||||
* 备注信息
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgForm extends BaseEntity {
|
||||
@@ -246,11 +245,9 @@ export interface XgClassPosMsgForm extends BaseEntity {
|
||||
* 备注信息
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface XgClassPosMsgQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -336,11 +333,8 @@ export interface XgClassPosMsgQuery extends PageQuery {
|
||||
*/
|
||||
deptId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@ export interface XgLeaveTypeConfigVO {
|
||||
* 销假逾期多少时长给予提醒(天)
|
||||
*/
|
||||
cancelOverdueReminder: number;
|
||||
|
||||
}
|
||||
|
||||
export interface XgLeaveTypeConfigForm extends BaseEntity {
|
||||
@@ -131,11 +130,9 @@ export interface XgLeaveTypeConfigForm extends BaseEntity {
|
||||
* 销假逾期多少时长给予提醒(天)
|
||||
*/
|
||||
cancelOverdueReminder?: number;
|
||||
|
||||
}
|
||||
|
||||
export interface XgLeaveTypeConfigQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 1代表删除)
|
||||
*/
|
||||
@@ -156,11 +153,8 @@ export interface XgLeaveTypeConfigQuery extends PageQuery {
|
||||
*/
|
||||
isEnabled?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ export interface StudentManagerVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerForm extends BaseEntity {
|
||||
@@ -101,11 +100,9 @@ export interface StudentManagerForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@@ -146,11 +143,8 @@ export interface StudentManagerQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { StudentManagerSourceVO, StudentManagerSourceForm, StudentManagerSourceQuery } from '@/api/xg/xsjcxx/xgStudentManagerSource/studentManagerSource/types';
|
||||
import {
|
||||
StudentManagerSourceVO,
|
||||
StudentManagerSourceForm,
|
||||
StudentManagerSourceQuery
|
||||
} from '@/api/xg/xsjcxx/xgStudentManagerSource/studentManagerSource/types';
|
||||
|
||||
/**
|
||||
* 查询学生管理员授权关系列表
|
||||
|
||||
@@ -38,7 +38,6 @@ export interface StudentManagerSourceVO {
|
||||
* 备注
|
||||
*/
|
||||
remark: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceForm extends BaseEntity {
|
||||
@@ -81,11 +80,9 @@ export interface StudentManagerSourceForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface StudentManagerSourceQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
@@ -116,11 +113,8 @@ export interface StudentManagerSourceQuery extends PageQuery {
|
||||
*/
|
||||
deleted?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -129,7 +129,7 @@ export const submitAppointment = async (data: XljkConsultationAppointmentForm) =
|
||||
console.error('检查预约限制失败', error);
|
||||
// 检查失败不阻止预约,继续提交
|
||||
}
|
||||
|
||||
|
||||
// 提交预约申请
|
||||
return request({
|
||||
url: '/api/xljk/consultation/appointment/submit',
|
||||
@@ -141,15 +141,15 @@ export const submitAppointment = async (data: XljkConsultationAppointmentForm) =
|
||||
// 获取我的预约记录(学生用)
|
||||
export const getMyAppointments = (studentId: string | number, forceRefresh: boolean = false) => {
|
||||
let url = `/api/xljk/consultation/appointment/my-appointments/${studentId}`;
|
||||
|
||||
|
||||
// 强制添加时间戳参数,确保绕过浏览器缓存
|
||||
url += `?_t=${new Date().getTime()}`;
|
||||
|
||||
|
||||
// 如果需要额外强制刷新(如用户手动点击刷新按钮)
|
||||
if (forceRefresh) {
|
||||
url += `&force=true`;
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url,
|
||||
method: 'get',
|
||||
@@ -211,4 +211,4 @@ export const getClassOptions = (collegeName?: string, majorName?: string) => {
|
||||
method: 'get',
|
||||
params: { collegeName, majorName }
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -9,12 +9,12 @@ import { NoShowQuery, NoShowVO } from './types';
|
||||
export function listNoShow(query: NoShowQuery) {
|
||||
// 创建一个新的查询对象,避免修改原始对象
|
||||
const params = { ...query };
|
||||
|
||||
|
||||
// 如果状态是'all',表示"全部",则从参数中移除
|
||||
if (params.status === 'all') {
|
||||
delete params.status;
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/consultation/no-show/list',
|
||||
method: 'get',
|
||||
@@ -57,4 +57,4 @@ export function checkLimitation(studentId: string | number) {
|
||||
method: 'get',
|
||||
params: { studentId }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -556,17 +556,17 @@ export interface NoShowVO {
|
||||
* 咨询师名称
|
||||
*/
|
||||
counselorName?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 预约日期
|
||||
*/
|
||||
appointmentDate?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 预约时段
|
||||
*/
|
||||
appointmentDetailTime?: string;
|
||||
|
||||
|
||||
/**
|
||||
* 咨询原因
|
||||
*/
|
||||
@@ -601,4 +601,4 @@ export interface NoShowVO {
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
}
|
||||
}
|
||||
@@ -35,15 +35,15 @@ export const addEvaluation = (data: XljkEvaluationForm) => {
|
||||
if (data.departmentName && !data.departmentId) {
|
||||
data.departmentId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
if (data.majorName && !data.majorId) {
|
||||
data.majorId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
if (data.className && !data.classId) {
|
||||
data.classId = 0; // 使用临时ID,后端会根据名称处理
|
||||
}
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/evaluation',
|
||||
method: 'post',
|
||||
@@ -182,10 +182,10 @@ export const batchAddEvaluationDetails = (data: XljkEvaluationDetailForm[]) => {
|
||||
export const batchUpdateMentalStatus = (data: XljkEvaluationDetailForm[]) => {
|
||||
// 确保数据中的ID字段保持原有格式,不做Number转换
|
||||
console.log('批量更新数据 - 第一条记录evaluationId:', data[0]?.evaluationId);
|
||||
|
||||
|
||||
return request({
|
||||
url: '/api/xljk/evaluation/detail/batch/mentalStatus',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -525,4 +525,4 @@ export interface EvaluationStatistics {
|
||||
* 重点关注学生百分比
|
||||
*/
|
||||
focusPercent: number;
|
||||
}
|
||||
}
|
||||
@@ -103,6 +103,7 @@ export function listEnrollmentInfo(query: EnrollmentInfoQuery) {
|
||||
## 📱 移动端支持
|
||||
|
||||
部分接口支持移动端访问,主要包括:
|
||||
|
||||
- 学生在线报名
|
||||
- 报名状态查询
|
||||
- 录取结果查询
|
||||
|
||||
@@ -58,7 +58,7 @@ export const updateEnrollmentInfo = (data: EnrollmentInfoForm) => {
|
||||
export const updateEnrollmentStatus = (id: string | number | Array<string | number>, status: string) => {
|
||||
const data = Array.isArray(id)
|
||||
? { ids: id, status } // 批量更新
|
||||
: { id, status }; // 单个更新
|
||||
: { id, status }; // 单个更新
|
||||
|
||||
return request({
|
||||
url: '/zsjy/enrollment/info/updateStatus',
|
||||
@@ -132,7 +132,7 @@ export const submitEnrollmentApplication = (data: EnrollmentInfoForm) => {
|
||||
* 查询我的报名状态(供学生端使用)
|
||||
* @param params 查询参数
|
||||
*/
|
||||
export const queryMyEnrollmentStatus = (params: { idCard?: string, examNumber?: string }): AxiosPromise<EnrollmentInfoVO> => {
|
||||
export const queryMyEnrollmentStatus = (params: { idCard?: string; examNumber?: string }): AxiosPromise<EnrollmentInfoVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/info/myStatus',
|
||||
method: 'get',
|
||||
|
||||
@@ -1,365 +1,365 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export interface EnrollmentProcessVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId: number
|
||||
enrollmentId: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName: string
|
||||
studentName: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard: string
|
||||
idCard: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus: string
|
||||
currentStatus: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler: number
|
||||
currentHandler: number;
|
||||
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
currentHandlerName: string
|
||||
currentHandlerName: string;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus: string
|
||||
infoAuditStatus: string;
|
||||
|
||||
/**
|
||||
* 信息审核人ID
|
||||
*/
|
||||
infoAuditUser: number
|
||||
infoAuditUser: number;
|
||||
|
||||
/**
|
||||
* 信息审核人姓名
|
||||
*/
|
||||
infoAuditUserName: string
|
||||
infoAuditUserName: string;
|
||||
|
||||
/**
|
||||
* 信息审核时间
|
||||
*/
|
||||
infoAuditTime: string
|
||||
infoAuditTime: string;
|
||||
|
||||
/**
|
||||
* 信息审核意见
|
||||
*/
|
||||
infoAuditOpinion: string
|
||||
infoAuditOpinion: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus: string
|
||||
admissionStatus: string;
|
||||
|
||||
/**
|
||||
* 录取处理人ID
|
||||
*/
|
||||
admissionUser: number
|
||||
admissionUser: number;
|
||||
|
||||
/**
|
||||
* 录取处理人姓名
|
||||
*/
|
||||
admissionUserName: string
|
||||
admissionUserName: string;
|
||||
|
||||
/**
|
||||
* 录取处理时间
|
||||
*/
|
||||
admissionTime: string
|
||||
admissionTime: string;
|
||||
|
||||
/**
|
||||
* 缴费状态(0-未缴费 1-已缴费)
|
||||
*/
|
||||
paymentStatus: string
|
||||
paymentStatus: string;
|
||||
|
||||
/**
|
||||
* 缴费确认时间
|
||||
*/
|
||||
paymentConfirmTime: string
|
||||
paymentConfirmTime: string;
|
||||
|
||||
/**
|
||||
* 录取通知书号码
|
||||
*/
|
||||
noticeNumber: string
|
||||
noticeNumber: string;
|
||||
|
||||
/**
|
||||
* 录取处理意见
|
||||
*/
|
||||
admissionOpinion: string
|
||||
admissionOpinion: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus: string
|
||||
finalAuditStatus: string;
|
||||
|
||||
/**
|
||||
* 最终审核人ID
|
||||
*/
|
||||
finalAuditUser: number
|
||||
finalAuditUser: number;
|
||||
|
||||
/**
|
||||
* 最终审核人姓名
|
||||
*/
|
||||
finalAuditUserName: string
|
||||
finalAuditUserName: string;
|
||||
|
||||
/**
|
||||
* 最终审核时间
|
||||
*/
|
||||
finalAuditTime: string
|
||||
finalAuditTime: string;
|
||||
|
||||
/**
|
||||
* 最终审核意见
|
||||
*/
|
||||
finalAuditOpinion: string
|
||||
finalAuditOpinion: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted: number
|
||||
isCompleted: number;
|
||||
|
||||
/**
|
||||
* 录取完成时间
|
||||
*/
|
||||
completionTime: string
|
||||
completionTime: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark: string
|
||||
remark: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string
|
||||
createTime: string;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime: string
|
||||
updateTime: string;
|
||||
|
||||
/**
|
||||
* 性别(0-男 1-女)
|
||||
*/
|
||||
gender?: string
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 地区/省份
|
||||
*/
|
||||
province?: string
|
||||
province?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(驼峰命名)
|
||||
*/
|
||||
collegeName?: string
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(驼峰命名)
|
||||
*/
|
||||
collegeId?: string
|
||||
collegeId?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(下划线命名)
|
||||
*/
|
||||
college_name?: string
|
||||
college_name?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(下划线命名)
|
||||
*/
|
||||
college_id?: string
|
||||
college_id?: string;
|
||||
|
||||
/**
|
||||
* 学院名称(拼写变体 - collage)
|
||||
*/
|
||||
collage_name?: string
|
||||
collage_name?: string;
|
||||
|
||||
/**
|
||||
* 学院代码(拼写变体 - collage)
|
||||
*/
|
||||
collage_id?: string
|
||||
collage_id?: string;
|
||||
|
||||
/**
|
||||
* 专业名称(驼峰命名)
|
||||
*/
|
||||
majorName?: string
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 专业代码(驼峰命名)
|
||||
*/
|
||||
majorCode?: string
|
||||
majorCode?: string;
|
||||
|
||||
/**
|
||||
* 专业名称(下划线命名)
|
||||
*/
|
||||
major_name?: string
|
||||
major_name?: string;
|
||||
|
||||
/**
|
||||
* 专业代码(下划线命名)
|
||||
*/
|
||||
major_code?: string
|
||||
major_code?: string;
|
||||
|
||||
/**
|
||||
* 报考专业(来自报名信息表)
|
||||
*/
|
||||
appliedMajor?: string
|
||||
appliedMajor?: string;
|
||||
|
||||
/**
|
||||
* 关联的报名信息对象
|
||||
*/
|
||||
enrollmentInfo?: any
|
||||
enrollmentInfo?: any;
|
||||
}
|
||||
|
||||
export interface EnrollmentProcessForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId?: number
|
||||
enrollmentId?: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard?: string
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus?: string
|
||||
currentStatus?: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler?: number
|
||||
currentHandler?: number;
|
||||
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
currentHandlerName?: string
|
||||
currentHandlerName?: string;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus?: string
|
||||
infoAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 信息审核意见
|
||||
*/
|
||||
infoAuditOpinion?: string
|
||||
infoAuditOpinion?: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus?: string
|
||||
admissionStatus?: string;
|
||||
|
||||
/**
|
||||
* 缴费状态(0-未缴费 1-已缴费)
|
||||
*/
|
||||
paymentStatus?: string
|
||||
paymentStatus?: string;
|
||||
|
||||
/**
|
||||
* 录取通知书号码
|
||||
*/
|
||||
noticeNumber?: string
|
||||
noticeNumber?: string;
|
||||
|
||||
/**
|
||||
* 录取处理意见
|
||||
*/
|
||||
admissionOpinion?: string
|
||||
admissionOpinion?: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus?: string
|
||||
finalAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 最终审核意见
|
||||
*/
|
||||
finalAuditOpinion?: string
|
||||
finalAuditOpinion?: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted?: number
|
||||
isCompleted?: number;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
export interface EnrollmentProcessQuery extends PageQuery {
|
||||
/**
|
||||
* 报名信息ID,关联zsjy_enrollment_info.id
|
||||
*/
|
||||
enrollmentId?: number
|
||||
enrollmentId?: number;
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
studentName?: string
|
||||
studentName?: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard?: string
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)
|
||||
*/
|
||||
currentStatus?: string
|
||||
currentStatus?: string;
|
||||
|
||||
/**
|
||||
* 当前处理人ID
|
||||
*/
|
||||
currentHandler?: number
|
||||
currentHandler?: number;
|
||||
|
||||
/**
|
||||
* 信息审核状态(0-待审核 1-审核通过 9-审核驳回)
|
||||
*/
|
||||
infoAuditStatus?: string
|
||||
infoAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 录取处理状态(0-待处理 1-处理完成 9-处理驳回)
|
||||
*/
|
||||
admissionStatus?: string
|
||||
admissionStatus?: string;
|
||||
|
||||
/**
|
||||
* 最终审核状态(0-待确认 1-确认通过 9-确认驳回)
|
||||
*/
|
||||
finalAuditStatus?: string
|
||||
finalAuditStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否完成录取(0-未完成 1-已完成)
|
||||
*/
|
||||
isCompleted?: number
|
||||
isCompleted?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any
|
||||
params?: any;
|
||||
}
|
||||
|
||||
// 查询录取流程状态列表
|
||||
@@ -368,8 +368,8 @@ export const listEnrollmentProcess = (query: EnrollmentProcessQuery): AxiosPromi
|
||||
url: '/zsjy/enrollment/process/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询我的待审核列表
|
||||
export const listMyAuditProcess = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -377,16 +377,16 @@ export const listMyAuditProcess = (query: EnrollmentProcessQuery): AxiosPromise<
|
||||
url: '/zsjy/enrollment/process/myAudit',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询录取流程状态详细
|
||||
export const getEnrollmentProcess = (id: string | number): AxiosPromise<EnrollmentProcessVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 新增录取流程状态
|
||||
export const addEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
@@ -394,8 +394,8 @@ export const addEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
url: '/zsjy/enrollment/process',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 从报名信息创建流程
|
||||
export const createProcessFromEnrollment = (enrollmentId: number) => {
|
||||
@@ -403,8 +403,8 @@ export const createProcessFromEnrollment = (enrollmentId: number) => {
|
||||
url: '/zsjy/enrollment/process/createFromEnrollment',
|
||||
method: 'post',
|
||||
params: { enrollmentId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 同步流程状态
|
||||
export const syncProcessStatus = (id: string | number) => {
|
||||
@@ -412,8 +412,8 @@ export const syncProcessStatus = (id: string | number) => {
|
||||
url: '/zsjy/enrollment/process/syncStatus',
|
||||
method: 'post',
|
||||
params: { id }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 修改录取流程状态
|
||||
export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
@@ -421,24 +421,24 @@ export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
|
||||
url: '/zsjy/enrollment/process',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 删除录取流程状态
|
||||
export const delEnrollmentProcess = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 根据报名信息ID查询流程状态
|
||||
export const getProcessByEnrollmentId = (enrollmentId: number): AxiosPromise<EnrollmentProcessVO> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/enrollment/' + enrollmentId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 查询待处理的流程列表
|
||||
export const getPendingProcessList = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -446,8 +446,8 @@ export const getPendingProcessList = (query: EnrollmentProcessQuery): AxiosPromi
|
||||
url: '/zsjy/enrollment/process/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 根据状态查询流程列表
|
||||
export const getProcessListByStatus = (status: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -455,16 +455,16 @@ export const getProcessListByStatus = (status: string, query: EnrollmentProcessQ
|
||||
url: '/zsjy/enrollment/process/status/' + status,
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 获取流程统计数据
|
||||
export const getProcessStatistics = (): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/statistics',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 搜索流程
|
||||
export const searchProcess = (keyword: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
|
||||
@@ -472,35 +472,26 @@ export const searchProcess = (keyword: string, query: EnrollmentProcessQuery): A
|
||||
url: '/zsjy/enrollment/process/search',
|
||||
method: 'get',
|
||||
params: { keyword, ...query }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 信息审核
|
||||
export const infoAudit = (data: {
|
||||
processId: number;
|
||||
auditResult: string;
|
||||
auditOpinion?: string;
|
||||
}) => {
|
||||
export const infoAudit = (data: { processId: number; auditResult: string; auditOpinion?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/infoAudit',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 录取处理
|
||||
export const admissionProcess = (data: {
|
||||
processId: number;
|
||||
admissionResult: string;
|
||||
admissionOpinion?: string;
|
||||
noticeNumber?: string;
|
||||
}) => {
|
||||
export const admissionProcess = (data: { processId: number; admissionResult: string; admissionOpinion?: string; noticeNumber?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/admissionProcess',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 确认缴费
|
||||
export const confirmPayment = (processId: number) => {
|
||||
@@ -508,21 +499,17 @@ export const confirmPayment = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/confirmPayment',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 最终审核
|
||||
export const finalAudit = (data: {
|
||||
processId: number;
|
||||
finalResult: string;
|
||||
finalOpinion?: string;
|
||||
}) => {
|
||||
export const finalAudit = (data: { processId: number; finalResult: string; finalOpinion?: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/finalConfirm',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 完成流程
|
||||
export const completeProcess = (processId: number) => {
|
||||
@@ -530,20 +517,17 @@ export const completeProcess = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/complete',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 驳回流程
|
||||
export const rejectProcess = (data: {
|
||||
processId: number;
|
||||
rejectReason: string;
|
||||
}) => {
|
||||
export const rejectProcess = (data: { processId: number; rejectReason: string }) => {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/process/reject',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 重置流程
|
||||
export const resetProcess = (processId: number) => {
|
||||
@@ -551,8 +535,8 @@ export const resetProcess = (processId: number) => {
|
||||
url: '/zsjy/enrollment/process/reset',
|
||||
method: 'post',
|
||||
params: { processId }
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 导出录取流程状态
|
||||
export const exportEnrollmentProcess = (query: EnrollmentProcessQuery) => {
|
||||
@@ -560,5 +544,5 @@ export const exportEnrollmentProcess = (query: EnrollmentProcessQuery) => {
|
||||
url: '/zsjy/enrollment/process/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import type { PageQuery } from '@/types/page'
|
||||
import type { EnrollmentProcessVO } from './enrollmentProcess'
|
||||
import request from '@/utils/request';
|
||||
import type { PageQuery } from '@/types/page';
|
||||
import type { EnrollmentProcessVO } from './enrollmentProcess';
|
||||
|
||||
/**
|
||||
* 查询招生录取统计列表
|
||||
@@ -12,7 +12,7 @@ export function listEnrollmentStatistics(query: PageQuery) {
|
||||
url: '/zsjy/enrollment/statistics/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -25,7 +25,7 @@ export function exportEnrollmentStatistics(query: PageQuery) {
|
||||
method: 'post',
|
||||
params: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function getEnrollmentStatistics(id: string | number) {
|
||||
return request({
|
||||
url: `/zsjy/enrollment/statistics/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,7 +48,7 @@ export function getEnrollmentStatisticsChartData() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/chart',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -59,7 +59,7 @@ export function getEnrollmentStatisticsOverview() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/overview',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +70,7 @@ export function getEnrollmentStatisticsByMajor() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/major',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,7 +81,7 @@ export function getEnrollmentStatisticsByCollege() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/college',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -92,7 +92,7 @@ export function getEnrollmentStatisticsByRegion() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/region',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -103,7 +103,7 @@ export function getEnrollmentStatisticsByGender() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/gender',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -114,7 +114,7 @@ export function getEnrollmentStatisticsByPayment() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/payment',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,5 +125,5 @@ export function getEnrollmentStatisticsByStatus() {
|
||||
return request({
|
||||
url: '/zsjy/enrollment/statistics/status',
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
@@ -1,11 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
GraduateInfoVO,
|
||||
GraduateInfoForm,
|
||||
GraduateInfoQuery,
|
||||
GraduateStatisticsVO
|
||||
} from '@/api/zsjy/types';
|
||||
import { GraduateInfoVO, GraduateInfoForm, GraduateInfoQuery, GraduateStatisticsVO } from '@/api/zsjy/types';
|
||||
|
||||
/**
|
||||
* 查询毕业生信息列表
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 导出招生就业管理模块相关的所有API接口
|
||||
export * from './enterprise'; // 企业信息管理
|
||||
export * from './enterprise'; // 企业信息管理
|
||||
// export * from './jobPosition'; // 招聘岗位管理 (待开发)
|
||||
// export * from './recruitmentPoster'; // 招聘海报管理 (待开发)
|
||||
|
||||
// 现有导出
|
||||
export * from './statistics'; // 统计分析
|
||||
export * from './enrollmentProcess'; // 录取流程管理
|
||||
export * from './enrollmentStatistics'; // 报名统计
|
||||
export * from './statistics'; // 统计分析
|
||||
export * from './enrollmentProcess'; // 录取流程管理
|
||||
export * from './enrollmentStatistics'; // 报名统计
|
||||
|
||||
// 类型导出
|
||||
export * from './types'; // 类型定义
|
||||
export * from './types'; // 类型定义
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import { JobPositionVO, JobPositionForm, JobPositionQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { JobPositionVO, JobPositionForm, JobPositionQuery, TableDataInfo } from './types';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询招聘岗位列表
|
||||
@@ -12,7 +12,7 @@ export function listJobPosition(query?: JobPositionQuery): AxiosPromise<TableDat
|
||||
url: '/zsjy/position/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ export function getJobPosition(id: string | number): AxiosPromise<JobPositionVO>
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function addJobPosition(data: JobPositionForm) {
|
||||
url: '/zsjy/position',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ export function updateJobPosition(data: JobPositionForm) {
|
||||
url: '/zsjy/position',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ export function delJobPosition(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/zsjy/position/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +76,7 @@ export function exportJobPosition(query: JobPositionQuery) {
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,5 +87,5 @@ export function listEnterpriseOptions() {
|
||||
return request({
|
||||
url: '/zsjy/enterprise/options',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
import { RecruitmentPosterVO, RecruitmentPosterForm, RecruitmentPosterQuery, TableDataInfo } from './types'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import request from '@/utils/request';
|
||||
import { RecruitmentPosterVO, RecruitmentPosterForm, RecruitmentPosterQuery, TableDataInfo } from './types';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询招聘海报列表
|
||||
@@ -12,7 +12,7 @@ export function listRecruitmentPoster(query?: RecruitmentPosterQuery): AxiosProm
|
||||
url: '/zsjy/poster/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ export function getRecruitmentPoster(id: string | number): AxiosPromise<Recruitm
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,7 +37,7 @@ export function addRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
url: '/zsjy/poster',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ export function updateRecruitmentPoster(data: RecruitmentPosterForm) {
|
||||
url: '/zsjy/poster',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ export function delRecruitmentPoster(id: string | number | Array<string | number
|
||||
return request({
|
||||
url: '/zsjy/poster/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +76,7 @@ export function exportRecruitmentPoster(query: RecruitmentPosterQuery) {
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,5 +89,5 @@ export function listPositionOptions(enterpriseId?: number | string) {
|
||||
url: '/zsjy/position/options',
|
||||
method: 'get',
|
||||
params: { enterpriseId }
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -11,7 +11,7 @@ export function getStatisticsOverview() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取统计概览数据失败:', error);
|
||||
ElMessage.error('获取统计数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -28,7 +28,7 @@ export function getMajorDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取专业分布数据失败:', error);
|
||||
ElMessage.error('获取专业分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -45,7 +45,7 @@ export function getRegionDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取地区分布数据失败:', error);
|
||||
ElMessage.error('获取地区分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -62,7 +62,7 @@ export function getGenderRatio() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取性别比例数据失败:', error);
|
||||
ElMessage.error('获取性别比例数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -81,7 +81,7 @@ export function getEnrollmentTrend(days?: number) {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取报名趋势数据失败:', error);
|
||||
ElMessage.error('获取报名趋势数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -98,7 +98,7 @@ export function getStatusDistribution() {
|
||||
headers: {
|
||||
'isToken': true
|
||||
}
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
console.error('获取状态分布数据失败:', error);
|
||||
ElMessage.error('获取状态分布数据失败,请联系管理员');
|
||||
throw error;
|
||||
@@ -113,9 +113,9 @@ export interface StatisticsOverview {
|
||||
paymentRate: string;
|
||||
admittedCount: number;
|
||||
admissionRate: string;
|
||||
majorDistribution: Array<{[key: string]: any}>;
|
||||
regionDistribution: Array<{[key: string]: any}>;
|
||||
genderRatio: {[key: string]: number};
|
||||
weeklyTrend: Array<{[key: string]: any}>;
|
||||
statusDistribution: {[key: string]: number};
|
||||
majorDistribution: Array<{ [key: string]: any }>;
|
||||
regionDistribution: Array<{ [key: string]: any }>;
|
||||
genderRatio: { [key: string]: number };
|
||||
weeklyTrend: Array<{ [key: string]: any }>;
|
||||
statusDistribution: { [key: string]: number };
|
||||
}
|
||||
Reference in new issue
Block a user