diff --git a/frontend/src/api/log.js b/frontend/src/api/log.js new file mode 100644 index 00000000..75f13d6b --- /dev/null +++ b/frontend/src/api/log.js @@ -0,0 +1,129 @@ +import request from '@/utils/request' + +// ======================== 教学日志核心 ======================== +// 说明:以下接口均已与实际运行的后端 LogController 逐一核对(前缀 /log, +// 经 vue.config.js 代理转发为 /api/log)。axios baseURL 为 /api(.env.development)。 + +// 分页条件查询教学日志列表(待上报 / 待审核视图) +// 支持参数:pageNum pageSize ksrq jsrq kcmc jys jxff skjy rzzt pxqb gdqk gdxxqk rwlb +export function getTeachingLogList(query) { + return request({ + url: '/log/teaching-log/list', + method: 'get', + params: query + }) +} + +// 分页条件查询已上报的教学日志列表(状态固定为「已上报」) +export function getReportedTeachingLogList(query) { + return request({ + url: '/log/teaching-log/reported/list', + method: 'get', + params: query + }) +} + +// 分页条件查询已审核的教学日志列表(状态固定为「已审核」) +export function getAuditedTeachingLogList(query) { + return request({ + url: '/log/teaching-log/audited/list', + method: 'get', + params: query + }) +} + +// 新增教学日志 +export function addTeachingLog(data) { + return request({ + url: '/log/teaching-log/add', + method: 'post', + data: data + }) +} + +// 批量上报教学日志(入参为 bh 编号数组,Content-Type: application/json) +export function batchReportTeachingLog(bhList) { + return request({ + url: '/log/teaching-log/batch-report', + method: 'post', + data: bhList + }) +} + +// 批量审核教学日志(入参为 bh 编号数组) +export function batchAuditTeachingLog(bhList) { + return request({ + url: '/log/teaching-log/batch-audit', + method: 'post', + data: bhList + }) +} + +// 退回教学日志(撤回重填),接口形态:POST /log/teaching-log/reject?bh=&thyj= +export function rejectTeachingLog(bh, thyj) { + return request({ + url: '/log/teaching-log/reject', + method: 'post', + params: { bh: bh, thyj: thyj } + }) +} + +// 批量导入教学日志 Excel,接口形态:POST /log/teaching-log/import-excel(multipart,字段名 file) +export function importTeachingLogExcel(file) { + const formData = new FormData() + formData.append('file', file) + return request({ + url: '/log/teaching-log/import-excel', + method: 'post', + data: formData + }) +} + +// 导出教学日志 Excel(返回 Blob),接口形态:GET /log/teaching-log/export +export function exportTeachingLog(query) { + return request({ + url: '/log/teaching-log/export', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +// 下载导入模板(返回 Blob),接口形态:GET /log/teaching-log/download-template +export function downloadTeachingLogTemplate() { + return request({ + url: '/log/teaching-log/download-template', + method: 'get', + responseType: 'blob' + }) +} + +// ======================== TODO:后端暂未提供,保留占位待接 ======================== + +// TODO(后端缺接口):批量删除教学日志 —— 当前后端 LogController 无 delete 接口, +// 待后端提供后确认入参与请求方式。 +export function deleteTeachingLog(bhList) { + return request({ + url: '/log/teaching-log/delete', + method: 'post', + data: bhList + }) +} + +// TODO(后端缺接口):重新检查通报变更情况 —— 当前后端无 recheck 接口,待后端提供后确认。 +export function recheckTeachingLog() { + return request({ + url: '/log/teaching-log/recheck', + method: 'post' + }) +} + +// TODO(后端缺接口):根据编号查询教学日志详情 —— 当前后端无 teaching-log/get 接口。 +// 列表接口已含完整字段,组件以行数据兜底展示;待后端提供 get 接口后再联调。 +export function getTeachingLogByBh(bh) { + return request({ + url: '/log/teaching-log/get', + method: 'get', + params: { bh: bh } + }) +} \ No newline at end of file diff --git a/frontend/src/api/studentRecords/studentRecords.js b/frontend/src/api/studentRecords/studentRecords.js new file mode 100644 index 00000000..1a19ecea --- /dev/null +++ b/frontend/src/api/studentRecords/studentRecords.js @@ -0,0 +1,84 @@ +import request from '@/utils/request' + +// 分页查询学员信息列表(姓名/联系电话/通信地址支持模糊查询,其余实体字段可作为查询条件) +export function listStudentRecord(query) { + return request({ + url: '/student-records/list', + method: 'get', + params: query + }) +} + +// 查询学员信息详情(bh 编号必传) +export function getStudentRecord(bh) { + return request({ + url: '/student-records/get', + method: 'get', + params: { bh: bh } + }) +} + +// 新增学员信息 +export function addStudentRecord(data) { + return request({ + url: '/student-records/add', + method: 'post', + data: data + }) +} + +// 修改学员信息(bh 编号必传) +export function updateStudentRecord(data) { + return request({ + url: '/student-records/update', + method: 'post', + data: data + }) +} + +// 删除学员信息(bh 编号) +export function delStudentRecord(bh) { + return request({ + url: '/student-records/delete', + method: 'post', + params: { bh: bh } + }) +} + +// 分页查询学员课程成绩(xybh 学员编号必传;nd 年度可选) +export function listStudentGrades(query) { + return request({ + url: '/student-records/grades', + method: 'get', + params: query + }) +} + +// 分页查询学员课程过程成绩(xybh 学员编号必传;nd 年度可选) +export function listStudentProcessGrades(query) { + return request({ + url: '/student-records/process-grades', + method: 'get', + params: query + }) +} + +// 导出学员课程成绩 Excel(xybh 学员编号必传) +export function exportStudentGrades(xybh) { + return request({ + url: '/student-records/export-grades', + method: 'get', + params: { xybh: xybh }, + responseType: 'blob' + }) +} + +// 导出学员课程过程成绩 Excel(xybh 学员编号必传) +export function exportStudentProcessGrades(xybh) { + return request({ + url: '/student-records/export-process-grades', + method: 'get', + params: { xybh: xybh }, + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/frontend/src/api/studentRecords/warningCondition.js b/frontend/src/api/studentRecords/warningCondition.js new file mode 100644 index 00000000..25deb0d8 --- /dev/null +++ b/frontend/src/api/studentRecords/warningCondition.js @@ -0,0 +1,37 @@ +import request from '@/utils/request' + +// 分页查询预警条件列表 +export function listWarningCondition(query) { + return request({ + url: '/student-records/warning-condition/list', + method: 'get', + params: query + }) +} + +// 查询预警条件详情 +export function getWarningCondition(bh) { + return request({ + url: '/student-records/warning-condition/get', + method: 'get', + params: { bh: bh } + }) +} + +// 新增预警条件 +export function addWarningCondition(data) { + return request({ + url: '/student-records/warning-condition/add', + method: 'post', + data: data + }) +} + +// 修改预警条件 +export function updateWarningCondition(data) { + return request({ + url: '/student-records/warning-condition/update', + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/frontend/src/api/subjectMajor/major.js b/frontend/src/api/subjectMajor/major.js new file mode 100644 index 00000000..85ad40f0 --- /dev/null +++ b/frontend/src/api/subjectMajor/major.js @@ -0,0 +1,56 @@ +import request from '@/utils/request' + +// 分页查询专业列表 +export function listMajor(query) { + return request({ + url: '/discipline/major/list', + method: 'get', + params: query + }) +} + +// 查询专业详情 +export function getMajor(zydh) { + return request({ + url: '/discipline/major/get', + method: 'get', + params: { zydh: zydh } + }) +} + +// 新增专业 +export function addMajor(data) { + return request({ + url: '/discipline/major/add', + method: 'post', + data: data + }) +} + +// 修改专业 +export function updateMajor(data) { + return request({ + url: '/discipline/major/update', + method: 'post', + data: data + }) +} + +// 删除专业 +export function delMajor(zydh) { + return request({ + url: '/discipline/major/delete', + method: 'post', + params: { zydh: zydh } + }) +} + +// 下载人才培养方案课程数据文件模板 +export function downloadMajorTemplate() { + return request({ + url: '/download/training-program', + method: 'get', + responseType: 'blob', + timeout: 30000 + }) +} \ No newline at end of file diff --git a/frontend/src/views/teachingLog/organLog/components/auditedView.vue b/frontend/src/views/teachingLog/organLog/components/auditedView.vue new file mode 100644 index 00000000..e34dc717 --- /dev/null +++ b/frontend/src/views/teachingLog/organLog/components/auditedView.vue @@ -0,0 +1,428 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/teachingLog/organLog/components/logView.vue b/frontend/src/views/teachingLog/organLog/components/logView.vue new file mode 100644 index 00000000..92afd58f --- /dev/null +++ b/frontend/src/views/teachingLog/organLog/components/logView.vue @@ -0,0 +1,595 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/teachingLog/organLog/components/reportedView.vue b/frontend/src/views/teachingLog/organLog/components/reportedView.vue new file mode 100644 index 00000000..fe5b7fb8 --- /dev/null +++ b/frontend/src/views/teachingLog/organLog/components/reportedView.vue @@ -0,0 +1,571 @@ + + + + + \ No newline at end of file