docs: 用户文档补齐批次层/成绩框实时提示/窄屏支持/版本号来源/权限说明

This commit is contained in:
AskaEth committed 2026-09-11 04:17:40 +08:00
1 parent 08a5740fb2
commit 0485975cd1
5 files changed
+115 -22

No files matched your search

+32 -17
View File
@@ -10,14 +10,14 @@
## 一、先看懂三件事
1. **用什么软件做表**:Excel 或 WPS 都行,做完存成 `.xlsx` 或 `.csv` 都可以(推荐 `.csv`,系统兼容性最好,不用管编码)。
2. **表格长什么样**:**第一行是表头**(固定的 11 个英文列名),**从第二行开始每人一行**。不要合并单元格,不要在表头上方再加标题行、说明行。
2. **表格长什么样**:**第一行是表头**(固定的 12 个英文列名),**从第二行开始每人一行**。不要合并单元格,不要在表头上方再加标题行、说明行。
3. **编码不能自己编**:表里的「小项编码」「单位编码」「组别名称」必须是系统里已经配好的,**照抄系统里的写法**。系统里没有的编码,这一行会被跳过并报错。
---
## 二、表头(第一行的列名)
一共 11 列。**列名请直接用下面这套英文名,不要翻译成中文**;列的**先后顺序可以随便调**,多出来的列系统会忽略。
一共 12 列。**列名请直接用下面这套英文名,不要翻译成中文**;列的**先后顺序可以随便调**,多出来的列系统会忽略。
| 列名 | 是否必须 | 填什么 | 示例 |
|---|---|---|---|
@@ -30,6 +30,7 @@
| `age` | 可选 | 年龄,0–120 的整数 | `26` |
| `bib` | 可选 | 号码布 | `101` |
| `seed` | 可选 | 道次 / 种子,随便写或留空 | `种子1` |
| `heat` | 可选 | 批次号:1–999 的整数;**留空 = 未分批**(不参与算分,见下) | `1` |
| `status` | 可选 | 报名状态:4 个英文词(大小写都行)或等价的中文别名(见下) | `registered` |
| `member_names` | 可选 | 团体项目的队员名单,多人用 `/` 隔开 | `张三/李四/王五` |
@@ -75,6 +76,17 @@
### `seed` 道次 / 种子
自由填写,可以留空。系统只做记录,不参与算分、不影响名次。
### `heat` 批次 —— 可以留空
给同一组别的人**分批**用的号:填 **1–999 的正整数**,留空表示「未分批」。现场分批比赛(例如 100 米跑道只有 8 条、一组 30 人要分 4 场跑)时,填上批次,录入员就能在「成绩录入」页按批筛选,只在自己这一批里找人录成绩。
- **批次不参与算分**:名次与积分仍然按「小项 + 组别」整体计算,分批与否不会改变任何分数与名次;批次只是录入 / 展示分组;
- 同一小项、同一组别里,批次号相同的人就是同一批;批次号不要求连续,也不要求从 1 开始;
- 格子**留空**就是未分批,不报错;
- 填了不是整数、或超出 1–999(例如 `第1批`、`0`、`1000`),这一行会被跳过并提示「heat 需要是 1-999 的整数(留空表示未分批)」,其余行照常导入;
- 重新上传同一份表会把这一列**整条覆盖**:表里留空就会把这行原来的批次清掉(见第七节第 2 条)。
> 不想在报名表里写批次也行:导入后到「成绩录入」页勾选若干行点「设为第 N 批」,或用「一键均分」按人数自动分批(见[使用手册 · 4.1](./使用手册.md#41-选择项目与批次))。
### `status` 报名状态 —— 英文词或中文别名都认
**大小写不敏感**(`registered`、`Registered`、`DNS` 都认),也可以直接写中文:
@@ -110,12 +122,12 @@
表头那一行照抄,下面每人一行。假设 `M100` 是按年龄分组的男子100米,`F1`/`F2` 是两个单位:
| event_code | category | team_code | athlete_name | id_card | gender | age | bib | seed | status | member_names |
|---|---|---|---|---|---|---|---|---|---|---|
| M100 | 男子30岁以下 | F1 | 张伟 | 110101199001011234 | 男 | 26 | 101 | | registered | |
| M100 | 男子31岁以上 | F1 | 李强 | 110101198505054321 | 男 | 41 | 102 | | registered | |
| M100 | 女子组 | F2 | 王芳 | | 女 | | 202 | | registered | |
| W100 | 女子组 | F2 | 王芳 | 110101199203031234 | 女 | 34 | 202 | | registered | |
| event_code | category | team_code | athlete_name | id_card | gender | age | bib | seed | heat | status | member_names |
|---|---|---|---|---|---|---|---|---|---|---|---|
| M100 | 男子30岁以下 | F1 | 张伟 | 110101199001011234 | 男 | 26 | 101 | | 1 | registered | |
| M100 | 男子31岁以上 | F1 | 李强 | 110101198505054321 | 男 | 41 | 102 | | 1 | registered | |
| M100 | 女子组 | F2 | 王芳 | | 女 | | 202 | | 2 | registered | |
| W100 | 女子组 | F2 | 王芳 | 110101199203031234 | 女 | 34 | 202 | | 2 | registered | |
要点:**同一个人报多个项目,就写多行**(如上面的王芳报了两项);每行的 `event_code` 不同。
@@ -123,12 +135,12 @@
`BB` 是「多人抓杆蛇形跑」,七家单位各出基层组和领导组两支队伍:
| event_code | category | team_code | athlete_name | id_card | gender | age | bib | seed | status | member_names |
|---|---|---|---|---|---|---|---|---|---|---|
| BB | 基层组 | F1 | | | | | | | registered | 张三/李四/王五/赵六 |
| BB | 基层组 | F2 | | | | | | | registered | 钱七/孙八 |
| BB | 领导组 | F1 | | | | | | | registered | 周九 |
| BB | 领导组 | F3 | | | | | | | registered | |
| event_code | category | team_code | athlete_name | id_card | gender | age | bib | seed | heat | status | member_names |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BB | 基层组 | F1 | | | | | | | | registered | 张三/李四/王五/赵六 |
| BB | 基层组 | F2 | | | | | | | | registered | 钱七/孙八 |
| BB | 领导组 | F1 | | | | | | | | registered | 周九 |
| BB | 领导组 | F3 | | | | | | | | registered | |
要点:`athlete_name` 一列**全部留空**;不参赛的单位**不写行**(不写就是没报名);最后一行是不写队员的纯单位报名,也是允许的。
@@ -140,13 +152,14 @@
## 五、导入前请先检查(自检清单)
- [ ] 第一行是那 11 个英文列名,没有被翻译、没有被合并单元格
- [ ] 第一行是那 12 个英文列名,没有被翻译、没有被合并单元格
- [ ] 表头上方没有多余的标题行或空行
- [ ] `event_code`、`team_code` 都是从系统里抄的编码,没有空格
- [ ] `category` 与系统里的组别名一字不差
- [ ] 个人行都有姓名,且都有证件号或号码布
- [ ] 一份表里没有重复的证件号、没有重复的号码布
- [ ] `status` 只用那 4 个英文词(大小写都行)或第三节列的中文别名,不写别的词;拿不准就留空
- [ ] `heat` 要么留空,要么是 1–999 的整数(不参与算分,只是录入分组)
- [ ] 全表没有因为"怕麻烦"把某些列删掉——**表头 8 个必须列一个都不能少**(哪怕整列是空的)
---
@@ -165,6 +178,7 @@
| 第 N 行:填写了 athlete_name 就必须填 id_card 或 bib | 个人行缺两项唯一标识 | 补证件号或号码布;确实都没有的,请先在「运动员」里登记 |
| 第 N 行:证件号 / 号码布 … 在报名表内重复出现 | 同一份表里同一个人出现了两次 | 删掉重复行(同一个人报多个项目时,`event_code` 必须不同) |
| 第 N 行:status「xxx」无法识别 | `status` 填了系统不认的词(4 个标准词以外的英文,或第三节没列的中文) | 改成 `registered` / `scratched` / `dq` / `dns`(大小写都行)或第三节列的中文别名,也可以留空(= 正常参赛);改完重新上传 |
| 第 N 行:heat 需要是 1-999 的整数(留空表示未分批) | `heat` 填了非整数、0、负数或超过 999 的值(如 `第1批`、`一组`、`1000`) | 改成 1–999 的整数,或者整格留空(= 未分批);批次只影响录入分组,不参与算分 |
| 提示「冲突」,人员没有写入 | 这个人在系统里已有记录,但姓名 / 性别 / 年龄 / 单位 / 号码布跟表里**对不上** | 在导入结果里逐条选「保留已有数据」或「使用新数据」,选完再提交 |
| 文件传不上去 | 超过 16MB | 拆分上传,或改用 xlsx |
| 只导入了第一张表 | xlsx 只读第一个工作表 | 把要导入的数据放在第一个工作表里 |
@@ -178,7 +192,7 @@
- **更新**:这个人本来就有这个项目的报名,用表里的信息覆盖了(**不会产生重复报名**);
- **跳过**:没能导入的行,会带着**行号**列出来,改好那几行重新上传即可。
2. **重复上传同一份表是安全的**,不会把名单变成两份。改完再传一遍就行。
- ⚠️ 但要注意「更新」是**整条覆盖**:表里空着的格会把系统里原来的值清掉(队员名单、道次、号码布都会被清空),`status` 空着会被重置成「正常参赛」。如果之前手工调整过某些人的状态,**重传前请在表里把 `status` 写清楚**。
- ⚠️ 但要注意「更新」是**整条覆盖**:表里空着的格会把系统里原来的值清掉(队员名单、道次、号码布、**批次**都会被清空),`status` 空着会被重置成「正常参赛」。如果之前手工调整过某些人的状态或批次,**重传前请在表里把 `status`、`heat` 写清楚**。
3. 名单导入后,到「成绩录入」里录成绩、发布,积分榜就会自动更新。
4. **被「彻底删除」的人,导入时会以新人员建档**:管理员彻底删除某个人时,他的档案连同他名下的报名与成绩会一起从库里删掉;之后表里再出现同一个证件号或号码布,系统匹配不到旧档案,会把他当作**新人员**重新建档——名单里多出一条「以前删过的人」通常就是这么来的。新档案是全新的,他以前的报名、成绩与积分不会回来,需要重新录。
5. **被「彻底删除」的单位则相反,导入时会「复活」**:管理员彻底删除某个单位,只是把它从单位列表里移除,它的报名与成绩一条都没删;表里再出现这个 `team_code`,系统按编码复用原来那条单位记录,清掉删除标记并让它重新出现在列表里,**原有的报名、成绩与积分都还在**,也不会新建第二个同名单位。
@@ -194,4 +208,5 @@
> 5. 团体项目:姓名列留空,队员写进 `member_names`,多人用 `/` 隔开;
> 6. 拿不准的列**留空**,不要写「无」「/」「—」这类符号;
> 7. 表里**不要合并单元格**、不要加标题行、不要插图;
> 8. 填完先对着第五节的清单自查一遍,再发给收表人。
> 8. 填完先对着第五节的清单自查一遍,再发给收表人;
> 9. **批次(`heat`)**可以不填;要分批比赛就填 1–999 的整数,它只影响录入时怎么分组找人,**不影响成绩与名次**。