1、校历的78、晚上、夜间等直接落库,

2、配当、任务书完善、排课窗完善;
3、任务书批量发布、删除等;
4、班历同步校历
This commit is contained in:
2026-09-18 10:38:39 +08:00
parent 911dfe911b
commit f3ae9fb2fd
62 changed files with 3508 additions and 143 deletions
@@ -57,3 +57,14 @@ export function allocationExport(xydxqbhList) {
responseType: 'blob'
})
}
// 自动排布:把铺学时建议的计算起始周回填到 pdqsz;
// onlyMissing=true(辅助排布)只补未设起始周的任务;bhList 限定所选任务
export function allocationAutoArrange(xydxqbh, onlyMissing, bhList) {
return request({
url: '/teachingAllocation/autoArrange',
method: 'post',
params: { xydxqbh, onlyMissing: !!onlyMissing },
data: bhList && bhList.length ? bhList : null
})
}
+98
View File
@@ -0,0 +1,98 @@
import request from '@/utils/request'
// 「我的教学」角色视图接口(阶段 C,MyBusinessController /my)
// 教员/教研室/学员身份全部由服务端按登录账号解析,不传他人编号
// ==================== 教员 ====================
/** 本教员课程任务 GET /my/teacher/courses?nd=&xqdc= */
export function myTeacherCourses(params) {
return request({
url: '/my/teacher/courses',
method: 'get',
params
})
}
/** 本教员实施计划 GET /my/teacher/lessons?start=&end=&nd= */
export function myTeacherLessons(params) {
return request({
url: '/my/teacher/lessons',
method: 'get',
params
})
}
/** 本教员课表网格 GET /my/teacher/grid?mbbh=&start=&end=&nd= */
export function myTeacherGrid(params) {
return request({
url: '/my/teacher/grid',
method: 'get',
params
})
}
// ==================== 教研室 ====================
/** 今日本室计划 GET /my/office/today?rq=&offset= */
export function myOfficeToday(params) {
return request({
url: '/my/office/today',
method: 'get',
params
})
}
/** 本室课程 GET /my/office/courses?nd=&xqdc= */
export function myOfficeCourses(params) {
return request({
url: '/my/office/courses',
method: 'get',
params
})
}
/** 本室教员清单 GET /my/office/teachers */
export function myOfficeTeachers() {
return request({
url: '/my/office/teachers',
method: 'get'
})
}
// ==================== 学员 ====================
/** 本学员队课程列表 GET /my/student/courses?nd=&xqdc= */
export function myStudentCourses(params) {
return request({
url: '/my/student/courses',
method: 'get',
params
})
}
/** 本学员队课次 GET /my/student/lessons?start=&end= */
export function myStudentLessons(params) {
return request({
url: '/my/student/lessons',
method: 'get',
params
})
}
/** 本学员队课表网格 GET /my/student/grid?mbbh=&start=&end=&nd= */
export function myStudentGrid(params) {
return request({
url: '/my/student/grid',
method: 'get',
params
})
}
/** 本学员队干部清单 GET /my/team/cadres */
export function myTeamCadres() {
return request({
url: '/my/team/cadres',
method: 'get'
})
}
@@ -23,6 +23,25 @@ export function arrangeLessons(data) {
})
}
// 拖拽移动课次:{ sskcbh, from: {rq,jc}, to: {rq,jc} };返回 {moved, warning?}
export function moveLesson(data) {
return request({
url: '/schedulingWindow/move',
method: 'post',
data
})
}
// 导出排课窗视图 Excel(每周一个 sheet)
export function exportSchedulingView(xydxqbh) {
return request({
url: '/schedulingWindow/export',
method: 'get',
params: { xydxqbh },
responseType: 'blob'
})
}
// 删除所选节次(仅删除该课程在这些格上的课次;已提交实施计划的课次会被拒绝)
export function deleteLessonCells(data) {
return request({
@@ -0,0 +1,26 @@
import request from '@/utils/request'
// 读取教务系统参数(DBVersion 单行;显示开关 xs78J/xsws/xsyj 等)
export function getSystemSettings() {
return request({
url: '/systemSettings/get',
method: 'get'
})
}
// 更新系统参数(后端只写非空字段,可局部提交)
export function updateSystemSettings(data) {
return request({
url: '/systemSettings/update',
method: 'post',
data
})
}
// 节次段字典:节次时间表的双节次行(jcsy 节次索引、sd 时段),空表时前端回退默认六段
export function getPeriodSlots() {
return request({
url: '/systemSettings/periodSlots',
method: 'get'
})
}
+49 -4
View File
@@ -5,12 +5,12 @@ import request from '@/utils/request'
* 接口依据:/taskBookFill/*(前端 baseURL 为 /api,此处不重复 /api 前缀)
*/
/** 填报列表 GET /taskBookFill/list?jxrwbh= */
export function taskBookList(jxrwbh) {
/** 填报列表 GET /taskBookFill/list?jxrwbh=&jybh= */
export function taskBookList(jxrwbh, jybh) {
return request({
url: '/taskBookFill/list',
method: 'get',
params: { jxrwbh }
params: { jxrwbh, jybh }
})
}
@@ -59,7 +59,7 @@ export function taskBookSetRoom(data) {
})
}
/** 填报字段 POST /taskBookFill/fill body: { bh, jysjhjybh, jsbh, jysjhbz } */
/** 填报字段 POST /taskBookFill/fill body: { bh, jysjhjybh, jsbh, jysjhbz, kcxh } */
export function taskBookFill(data) {
return request({
url: '/taskBookFill/fill',
@@ -67,3 +67,48 @@ export function taskBookFill(data) {
data
})
}
/** 批量指定责任教员 POST /taskBookFill/batchSetTeacher body: { bhList, mode, jybh } */
export function taskBookBatchSetTeacher(data) {
return request({
url: '/taskBookFill/batchSetTeacher',
method: 'post',
data
})
}
/** 批量指定场地 POST /taskBookFill/batchSetRoom body: { bhList, jsbh, useSpecial } */
export function taskBookBatchSetRoom(data) {
return request({
url: '/taskBookFill/batchSetRoom',
method: 'post',
data
})
}
/** 批量填报 POST /taskBookFill/batchFill body: { bhList, jysjhjybh?, jsbh?, useSpecial?, jysjhbz?, kcxh? } */
export function taskBookBatchFill(data) {
return request({
url: '/taskBookFill/batchFill',
method: 'post',
data
})
}
/** 行级删除 POST /taskBookFill/deleteRows body: { bhList } */
export function taskBookDeleteRows(bhList) {
return request({
url: '/taskBookFill/deleteRows',
method: 'post',
data: { bhList }
})
}
/** 教研室跨任务汇总 GET /taskBookFill/officeSummary?jysdh= */
export function taskBookOfficeSummary(jysdh) {
return request({
url: '/taskBookFill/officeSummary',
method: 'get',
params: { jysdh }
})
}
+18 -6
View File
@@ -76,16 +76,28 @@ export function deleteTeachingTask(bh) {
}
/**
* 教学任务发布(需要先填写教研室任务书)
* POST /teachingTask/batchPublish?bh=
* @param bh 教学任务编号
* 返回:更新数量
* 批量删除教学任务(级联删除教研室任务书)
* POST /teachingTask/batchDelete body: [bh, ...]
*/
export function publishTeachingTask(bh) {
export function batchDeleteTeachingTask(bhList) {
return request({
url: '/teachingTask/batchDelete',
method: 'post',
data: bhList
})
}
/**
* 教学任务批量发布(需要先填写教研室任务书)
* POST /teachingTask/batchPublish body: [bh, ...]
* @param bhList 教学任务编号数组(单个任务传 [bh])
* 返回:成功发布的任务数
*/
export function publishTeachingTask(bhList) {
return request({
url: '/teachingTask/batchPublish',
method: 'post',
params: { bh }
data: bhList
})
}
@@ -114,3 +114,29 @@ export function exportTimetableGrid(params) {
responseType: 'blob'
})
}
/**
* 有课/无课时段查询
* GET /kcb/freeSlots?dim=&id=&start=&end=
* 返回 FreePeriodsVO:periods / days[].busy / days[].free / days[].blocked
*/
export function getFreeSlots(params) {
return request({
url: '/kcb/freeSlots',
method: 'get',
params
})
}
/**
* 课次综合查询
* GET /kcb/lessons?nd=&xqdc=&xydbh=&xydmc=&jybh=&jsbh=&jysdh=&xybh=&start=&end=
* 返回 List<DailyWeeklyTimetableVO>
*/
export function listLessons(params) {
return request({
url: '/kcb/lessons',
method: 'get',
params
})
}
@@ -25,12 +25,13 @@ export function batchSaveClassCalendarEvent(xydxqbh, cells) {
})
}
// 重新同步校历:confirm=false 返回缺失格预览,confirm=true 实际补齐
export function resyncClassCalendar(xydxqbh, confirm) {
// 重新同步校历:confirm=false 返回差异预览,confirm=true 实际写入;
// force=true 时额外覆盖与校历不一致的已有格
export function resyncClassCalendar(xydxqbh, confirm, force) {
return request({
url: '/class-calendar/resync',
method: 'post',
params: { xydxqbh, confirm }
params: { xydxqbh, confirm, force: !!force }
})
}