已修复:

实验课场地区块改为独立卡片布局,校区、教学楼和场地选择不再被嵌套表单挤压。
批量设置新增独立的“批量指定实验课场地”入口,包含场地性质、实验校区、教学楼和具体场地,并会联动筛选。
后端会保存并校验批量实验场地范围,避免跨校区/教学楼的无效设置。
This commit is contained in:
2026-08-09 16:26:41 +08:00 Unverified
parent 400761beaa
commit 26a39322fd
4 changed files with 120 additions and 40 deletions
@@ -85,13 +85,19 @@ public sealed class ScheduleSettingsControllerTests
[classroom.Id],
false,
null,
null),
null,
UpdateExperimentClassroomScope: true,
AllowedExperimentVenueNatures: TeachingVenueNature.Laboratory,
AllowedExperimentClassroomIds: [classroom.Id],
ExperimentRequiredCampusId: campus.Id,
ExperimentRequiredBuildingId: building.Id),
CancellationToken.None);
Assert.IsType<OkObjectResult>(result);
db.ChangeTracker.Clear();
var constraints = await db.TeachingTaskScheduleConstraints
.Include(item => item.AllowedClassrooms)
.Include(item => item.AllowedExperimentClassrooms)
.OrderBy(item => item.TeachingTaskId)
.ToListAsync();
Assert.Equal(2, constraints.Count);
@@ -103,6 +109,11 @@ public sealed class ScheduleSettingsControllerTests
Assert.Equal(
classroom.Id,
Assert.Single(constraint.AllowedClassrooms).ClassroomId);
Assert.Equal(campus.Id, constraint.ExperimentRequiredCampusId);
Assert.Equal(building.Id, constraint.ExperimentRequiredBuildingId);
Assert.Equal(
classroom.Id,
Assert.Single(constraint.AllowedExperimentClassrooms).ClassroomId);
});
}