diff --git a/src/Jiaowu.Api/Controllers/TeachingTasksController.cs b/src/Jiaowu.Api/Controllers/TeachingTasksController.cs index fa53ffc..c6149ff 100644 --- a/src/Jiaowu.Api/Controllers/TeachingTasksController.cs +++ b/src/Jiaowu.Api/Controllers/TeachingTasksController.cs @@ -614,12 +614,15 @@ public sealed class TeachingTasksController( return ValidationProblem("授课教师必须已完成该课程申报并经学院审核通过。"); var classIds = request.ClassIds.Distinct().ToArray(); - var classes = db.AdministrativeClasses.AsNoTracking() - .Where(x => classIds.Contains(x.Id)); - if (collegeId.HasValue) - classes = classes.Where(x => x.Major!.CollegeId == collegeId.Value); - if (await classes.CountAsync(cancellationToken) != classIds.Length) - return ValidationProblem("存在无效或不在当前数据范围内的行政班。"); + if (classIds.Length > 0) + { + var classes = db.AdministrativeClasses.AsNoTracking() + .Where(x => classIds.Contains(x.Id)); + if (collegeId.HasValue) + classes = classes.Where(x => x.Major!.CollegeId == collegeId.Value); + if (await classes.CountAsync(cancellationToken) != classIds.Length) + return ValidationProblem("存在无效或不在当前数据范围内的行政班。"); + } return null; } @@ -661,13 +664,6 @@ public sealed class TeachingTasksController( invalidPrimaryTeacher, "发布前必须指定且只能指定一名主讲教师。"); - var missingClass = tasks.FirstOrDefault(x => x.Classes.Count == 0); - if (missingClass is not null) - return PublishingProblem( - tasks, - missingClass, - "发布前至少需要关联一个行政班。"); - var termIds = tasks.Select(x => x.AcademicTermId).Distinct().ToArray(); var courseIds = tasks.Select(x => x.CourseId).Distinct().ToArray(); var teacherIds = tasks diff --git a/web/src/views/TeachingTasksView.vue b/web/src/views/TeachingTasksView.vue index db26dc7..c917e4c 100644 --- a/web/src/views/TeachingTasksView.vue +++ b/web/src/views/TeachingTasksView.vue @@ -597,7 +597,7 @@ onMounted(async () => {
当前结果{{ total }}个教学班
-

{{ responsibilityText }} 发布时还会校验教师授课资格、行政班、容量和周次。

+

{{ responsibilityText }} 发布时还会校验教师授课资格、容量和周次;选修课可不关联行政班。

@@ -681,7 +681,7 @@ onMounted(async () => { - + @@ -768,7 +768,7 @@ onMounted(async () => { - +