多考试块表:每场考试改为单列并修正第几次列合并
- ny_assemble_block_sheet() 中每场考试由 2 列改为 1 列,删除历史遗留的 「是否最佳」空白列,消除每场右侧多余空白窄列 - 删除「第几次」列的纵向合并,改为逐行显示 1/2/3…,不再被吞成 1 - 合格次数行同步改为每场 1 列;未考合并加 $end > $start 跨行守卫, 规避单行学生产生的非法 1x1 合并(Excel 修复提示) - 列宽按考试名估算(CJK 记 2 半角宽),clamp 8~18 - 同步更新 test-multi-export.php(95 项含 4 条防回归断言)、 make-samples.php(李四数学改为真正整场未考)、导出/接口/测试文档 及样例预览文件;全量回归 404 项 0 失败
This commit is contained in:
+15
-14
@@ -40,25 +40,26 @@
|
||||
|
||||
## 「每次考试」块表(多场对比,主推格式)
|
||||
|
||||
勾选多场考试,选 **两行表头** 形态。**一列「第几次」被所有考试共用**,每场考试占 2 列,
|
||||
学生块末尾多一行 **合格次数**。
|
||||
勾选多场考试,选 **两行表头** 形态。**一列「第几次」被所有考试共用**(逐行写 1、2、3…,不合并),
|
||||
每场考试占 **1 列**,学生块末尾多一行 **合格次数**。
|
||||
|
||||
| 学号 | 姓名 | 第几次 | 第一次月考·数学 | | 第一次月考·英语 | |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| | | | 成绩 | | 成绩 | |
|
||||
| (合并) | (合并) | 1 | 112 | 112 | 130 | |
|
||||
| (合并) | (合并) | 2 | 100 | | 129 | |
|
||||
| (合并) | (合并) | 3 | **136** | | **133** | |
|
||||
| (合并) | (合并) | **合格次数** | 3 | | 3 | |
|
||||
| 356002 | 李四 | 1 | (合并)**未考** | | 128 | |
|
||||
| (合并) | (合并) | **合格次数** | | | 1 | |
|
||||
| 学号 | 姓名 | 第几次 | 第一次月考·数学 | 第一次月考·英语 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| | | | 成绩 | 成绩 |
|
||||
| (合并) | (合并) | 1 | 112 | 130 |
|
||||
| (合并) | (合并) | 2 | 100 | 129 |
|
||||
| (合并) | (合并) | 3 | **136** | **133** |
|
||||
| (合并) | (合并) | **合格次数** | 3 | 3 |
|
||||
| 356002 | 李四 | 1 | (合并)**未考** | 128 |
|
||||
| (合并) | (合并) | **合格次数** | | 1 |
|
||||
|
||||
规则:
|
||||
|
||||
- **学生块高度** = 该生在所有勾选考试里最多的那次次数 + 1(末行是合格次数);
|
||||
- **学号 / 姓名**按学生块纵向合并;**第几次**只合并到最后一次考试行,末行留给「合格次数」标签;
|
||||
- **考试名称横跨 2 列**,第二行是 `成绩` 小标题;
|
||||
- **没考的考试**(整场没有该生记录)→ 该场 2 列 × 学生块高合并成一个 **`未考`** 格子;
|
||||
- **学号 / 姓名**按学生块纵向合并;**第几次**逐行写各自的次序号(1、2、3…),**不合并**
|
||||
——合并会把 2、3 吞掉只剩 1;
|
||||
- **每场考试占 1 列**:第 1 行是考试名、第 2 行是 `成绩` 小标题;
|
||||
- **没考的考试**(整场没有该生记录)→ 该列 × 学生块高合并成一个 **`未考`** 格子;
|
||||
- **排序**:学生按学号升序(出现班级 / 组别列时按 班级 → 组别 → 学号);
|
||||
- **暂存草稿**:默认不导出、也不占「第几次」编号。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user