docs: 0.5.12 用户文档同步 —— 记住上次录入的小项(改名丢按钮的真相)+ 清空本组/本批成绩

- 《使用手册》:§1 录入员权限行补「清空成绩」;4.1 新增「回到录入页会记住上次录的小项」
  (三级优先顺序 + 记忆只在本机 + 失效自动退回默认);4.7 改为「撤销发布 / 清空成绩」,
  给出「成绩内容留不留」对照表、两颗按钮出现条件、必须勾选、权限与留痕;§18 补交叉引用
- 《升级说明》:新增「## dev_0.5.12」一节(① 修的根因不是改名 ② 新增清空本组/清空本批
  ③ 升级后 5 分钟核对 ④ 详细说明在哪)
- 《常见问题》:新增 Q102(改了小项名称后「撤销发布」按钮不见了 —— 你看到的是两个不同的小项);
  Q8 补清空的交叉引用

无代码改动、无数据库迁移;已有成绩、榜单与导出件一字不变。
This commit is contained in:
AskaEth committed 2026-09-17 01:28:08 +08:00
1 parent 72362239c6
commit b29b2b390a
3 files changed
+120 -3

No files matched your search

+50 -3
View File
@@ -13,7 +13,7 @@
| 身份 | 说明 | 能做什么 |
| --- | --- | --- |
| 访客 guest | 未登录时的默认身份,不需要建账号 | 只读查看积分榜、成绩、基础数据等公开数据;不能录入、发布、改配置 |
| 录入员 recorder | 现场记录员 | 访客全部权限 + 成绩录入 / 存草稿 / 发布 / 撤销发布 / 破纪录确认 / 积分调整 / 大屏控制 / 变更历史 |
| 录入员 recorder | 现场记录员 | 访客全部权限 + 成绩录入 / 存草稿 / 发布 / 撤销发布 / **清空成绩**(4.7)/ 破纪录确认 / 积分调整 / 大屏控制 / 变更历史 |
| 管理员 admin | 赛事管理员 | 录入员全部权限 + 系统设置、用户管理、备份、审计日志、规则包与赛事项目包导入导出 |
> 未登录也能进管理面板,只是所有写操作按钮被禁用,顶部会出现「当前为访客只读视图」提示。
@@ -82,6 +82,16 @@
4. 组别页签旁边有**批次下拉**(`全部` / `第 1 批` / `第 2 批` / … / `未分批`),默认 `全部`(`未分批` 只在确实还有未分批的行时才出现)。选某一批后表格只显示那一批的人,方便录入员**只在自己这一批里找名字**,不用在一大堆人里翻;
5. 配了「按队内平均」通道的小项(例如「个人+团体」项目的团体通道),工具栏下方会出现 **「平均值口径」单选**:`只算有效成绩`(没有有效成绩的人不进分母)或 `全部报名人员都计入`(没成绩的按 0 计入平均)。点选后立即保存到该小项,不需要另外点保存;这是小项级设置,该小项的所有组别共用。⚠️ 该小项的聚合口径选了 **「队内最低分」** 时这个单选**对它不起作用**:那种口径取的是队内最差的一份成绩,一个人都没有效成绩的单位一律不参与排名(见 10.4 第 5 条)。
**回到录入页会记住上次录的小项**:离开「成绩录入」页再回来(切到别的页面、去基础数据改点东西、刷新页面),**右侧默认还是你上次录的那个小项**,不用每次重新找。优先顺序是:
1. **地址里带的小项**最优先——从仪表盘「当前赛程」点某一项的 **「录入」** 进来时,就按点的那一项打开(不是上次那项);
2. 否则用**上次录过的小项**——**已发布的小项也算**(发布完回来接着看、接着补录的正是它);
3. 都没有时(换过浏览器 / 清过浏览器数据 / 从没录过)退回原来的默认:**第一个「待录入」的小项**,再没有就取列表第一个。
记忆**只存在本机**(按小项的编号记,与显示名称无关,所以**改小项名称不会影响它**)。**记忆失效时不会挡人**:那个小项被删了、或者浏览器不允许存本机数据(例如隐私模式)时,都会**自动退回上面的默认**,照常进得去。
> 这条修的是一个容易误判的现象:以前回到录入页时**可能被换到另一个小项**(因为默认挑的是「待录入」的,而**刚发布完的小项状态是「已发布」**,恰好被排除),于是「撤销发布」按钮跟着不见了——左栏那项却仍写着已发布。那不是改名弄坏的,是**看的是两个不同的小项**;详见 4.7 与《常见问题》Q102。
**批次录入进度条**:工具栏正下方有一条横跨整行的进度条,显示当前筛选范围的录入进度,例如 `第 2 批 已录 5/8 · 3 条有错`(有错的行既不算「已录」,也会在发布时被防呆拦下,所以要单独报出来);**全部录完时文字变成「已录完 8/8」、进度条变绿**。分母就是当前筛选范围的行数——选了某一批就只数这一批。它和发布防呆、行上的状态徽标用的是**同一套判定**,不会出现「进度条说录完了、发布却说缺人」。
**批次是什么**:层级是 **大项 → 小项 → 组别 → 批次**。批次只是「把一条组别里的人分成几组,方便分批录入 / 分批查找」的**录入与展示分组**——**不参与算分**:名次与积分仍然按「小项 + 组别」整体计算,分批与否不会让分数、名次发生任何变化(评审口径不会变成「按批排名」)。批次筛选也只影响这张表格显示哪些行,不影响发布、积分榜与大屏。
@@ -193,9 +203,20 @@
- 该组在**分项成绩 / 最新成绩里的名次显示 `—`**(成绩照常显示)——这是有意的,免得出现「有金牌但 0 分」这种自相矛盾的画面;导出的「分项成绩表」「全部」「全部(单页)」里,这些行的**名次与积分列也是 `—`、状态列写「未结算」**(见 11.1);
- 有人永远录不出成绩时(例如已退赛但没改状态),在录入页点 **「立即结算」**,系统按当前已发布成绩先结算一次榜单和奖牌;之后补录完还会再自动结算。
### 4.7 撤销发布
### 4.7 撤销发布 / 清空成绩(这两个最容易混)
已发布的组别会出现「撤销发布」按钮:
**「撤销发布」和「清空」只差一步:成绩内容留不留。**
| 动作 | 成绩内容 | 已产生的分 |
| --- | --- | --- |
| **撤销发布** | **保留**(退回草稿,改完重新发布即可) | 收回(该组已产生的积分流水作废,大屏回退到发布前) |
| **清空**(清空本组 / 清空本批) | **一起清掉**(成绩、名次、备注、行上的状态全回到「没录过」) | 也收回(同样作废流水、退榜) |
**只想把分收回来、成绩留着改 → 用「撤销发布」;想让这一组 / 这一批回到「没录过」→ 才用「清空」。**
**撤销发布**
已发布的组别会出现「撤销发布」按钮(当前这张表里有已发布的行时才有):
1. 点击后在确认框中确认;
2. 系统作废该组已产生的积分流水,大屏回退到发布前状态;
@@ -203,6 +224,31 @@
> **只错了一条成绩时**,不必撤销整组发布、把别人的成绩也一起翻下来——点那一格(或该行的「修改本条」)退回草稿改完重发即可,见 4.10。
**清空本组 / 清空本批**
用途是**这一组(或这一批)整个录错、要从头再来**。入口在**右侧表格上方那一行工具栏**里(**和「撤销发布」并排**,同一栏还有「补报名」「按成绩重排」「下一格」;「存草稿 / 发布」在更上面的页头):
| 按钮 | 什么时候出现 | 清掉什么 |
| --- | --- | --- |
| **清空本组** | **一直都有**(选了小项与组别之后) | 当前**小项 + 组别**下的**全部**成绩行;以及这一组**按单位录入的「团体名次」**(会一并清掉,否则会出现「成绩都清了、榜上还有分」) |
| **清空本批** | **只在上面筛了某一批次时出现**(筛选是 `全部` 时它等于清整组,所以不重复给) | 只清**当前这一批**的行;**别的批次与团体名次都不动** |
**清空会发生什么**:这一范围里每一行都回到**「没录过」**——成绩、名次、备注,以及行上的**状态**(已标的 `DNS 弃赛` / `DQ 取消` / `DNF 未完赛` / `退赛` 也一并回到「有效」);原先已发布的**分一并收回**,**积分榜与大屏跟着回退**。作废与重算走的是「撤销发布」那条路,所以清完之后榜上剩下的分,与「这些成绩从没发布过」完全一致。
> **报名层面的「退赛」(用 4.8 的「批量退赛」标的)不在这里动**:那个人的报名仍然是退赛,要让他重新算数请用「批量恢复」(见 4.8)。
**清空前必须先勾选**
点按钮会弹确认框,里面写清:**哪个小项、哪个组别、哪个范围**(本组 / 第 N 批 / 未分批)、**清多少条、其中多少条已发布**、已发布的那部分分会一并收回、以及清整组时会不会连带清掉团体名次。**必须勾上「我知道这会清掉已发布的分数」,确认键才点得动**(服务端也会再兜一次,没勾选一律拒绝)。最后一行还写着:**只想收回分数、保留成绩内容,请改用「撤销发布」。**
几个拦下来的情况(都会说明原因,不会静默什么都不做):没选小项或组别;点了「清空本批」但上面筛选还是 `全部`(会提示先选批次);这一范围**本来就没有成绩**(提示「这一范围没有成绩可清空」,多半是看错了批次 / 组别)。
**权限与留痕**
- **清空与录成绩同档:录入员及以上。** 访客 / 未登录时按钮是灰的并写明原因;**示例数据模式**下不可用(与「发布」「撤销发布」同一口径);
- **清空没有「整个小项」这个粒度**——最小就是「组」(或组里的一批),故意的:一颗按钮清掉整个小项所有组别的成绩,爆炸半径太大;
- 谁在什么时候清了**哪个小项、哪个组、哪个范围、清了几条、收回多少分**都会记进**审计日志**(第 13 节,动作名 `result.clear`);**「变更历史」(第 12 节)也会多一个版本节点**并写明清了多少条(它归在「撤销发布」这一类里,因为本质就是撤销发布 + 清内容)。
### 4.8 勾选与批量操作(退赛 / 恢复 / 移出报名)
表格每行最左边有勾选框,表头那个勾选框是**全选当前筛选范围内的行**——它只勾当前组别、当前批次筛选下看得见的行,被筛掉的行不会被选上。勾选后工具栏里出现「已选 N 行」与三个按钮:
@@ -1180,6 +1226,7 @@
**Q:发布后发现有错怎么办?**
只错一条成绩:到「成绩录入」找到那一行,**点那一格(或点「修改本条」)→ 填原因 → 确认 → 改对 → 重新发布本组**,只动这一条(见 4.10)。
整组要改:点「撤销发布」→ 修改 → 重新发布。撤销会作废该组积分流水,大屏回退;全程可在「变更历史」追溯。
整组 / 整批**录错了、要从头再来**(连成绩内容一起清掉):用工具栏上的「**清空本组 / 清空本批**」——它同样收回分、退榜并记进「变更历史」,区别只在**成绩内容留不留**(撤销发布保留、清空清掉,见 4.7)。
**Q:并列名次怎么显示?**
成绩相同(或手动名次相同)即视为并列,显示同一名次,例如两个「3」。积分按规则包里的并列口径计算,默认是「顺延」:并列第 3 各得第 3 名的分,无第 4 名,下一名是第 5 名。奖牌也按并列处理,并列第 1 各记 1 金、无银牌。