verify(h5): 提交页问题清单浮层真浏览器验证通过

两条分支都跑通了(穿透单次要 30 秒左右,耐心等):

  红色分支(阻断)缺身份证材料 + 必填未填
    → 标题「还不能提交」、[必须处理 3]、
      三张红卡(--s3,左边框 #E34D59 / 底 #FDF3F4):
      VAL-16 / VAL-22 / VAL-05
    → 「知道了,去修改」点击后浮层关闭

  黄色分支(可强提)只差一个 VAL-09 重复文件
    → 标题「提交前请确认」、[提醒 1]、
      一张橙卡(--s2,左边框 #ED7B2F)
    → 「仍然提交」→ 弹出「提交成功 / 已提交,等待班主任初审」

提交成功后的状态切换也验证了:
  · 上传按钮与「删除」**全部消失**(canEdit=false)
  · 提交按钮被替换为只读文案「已提交,等待班主任初审」
  · 材料列表显示规范名 + 压缩后体积:
    张同学-361029XXXXXX0015-身份证.jpg  17KB · 900×1200
  · 库:status=1 red=0 yellow=1 submit_time 已写
    日志:提交未通过 ×2 → 提交成功
  · 顺带验证 loadFiles()(重进页面能看到上次传的材料与体积并能删)

⚠️ git add -A 差点把 backend/data/uploads/ 下的**运行时上传文件**提交进来。
   那是数据不是代码 —— 已加进 .gitignore(backend/data/)并从暂存区撤回。

新增 scripts/dev-seed-warn-state.py:把某份草稿快速摆到"只剩黄色警告"的状态,
用来验浮层/审核端的"只有警告"分支,省掉"手填 7 个字段 + 等穿透"。
它**不**替代 E2E —— 逻辑仍由 e2e-m3-submit.py 断言,这个脚本只负责摆状态。

演示态:collect_submission.id=21 现在是「已提交」(本次验证留下)。
它是很好的演示态,但要重跑填报流程必须先删掉它(见交接摘要 §一·十三)。
名册(task 17, id=38)绑定 sys_user.id=151,保持不动。
This commit is contained in:
2026-09-29 13:21:07 +08:00
parent 6620b024cf
commit edb47e8557
3 changed files with 176 additions and 0 deletions
+32
View File
@@ -908,6 +908,38 @@ P4 写 M5 校验引擎时,我凭记忆用了一套 VAL 编号,**与 PRD 权
没有覆盖「动态表单的必填字段」(因为表单字段是配置出来的)。
按系列顺延补的 —— **这是新增,不是 PRD 原有条目**,需要登记。
### ✅ 浏览器验证已完成(同日补做)
`fill.vue` 的问题清单浮层在**真浏览器**里跑通了两条分支(穿透慢,单次要 30 秒左右,耐心等):
| 分支 | 触发条件 | 实测表现 |
|---|---|---|
| **红色**(阻断) | 缺身份证材料 + 必填未填 | 标题「**还不能提交**」、`[必须处理 3]`、三张红卡(`--s3`,左边框 `#E34D59`/底 `#FDF3F4`):`VAL-16` / `VAL-22` / `VAL-05`;按钮「**知道了,去修改**」→ 点击后浮层关闭 |
| **黄色**(可强提) | 只差一个 `VAL-09` 重复文件 | 标题「**提交前请确认**」、`[提醒 1]`、一张橙卡(`--s2`,左边框 `#ED7B2F`);按钮「**仍然提交**」→ 点后弹出「提交成功 / 已提交,等待班主任初审」 |
**提交成功后的状态切换也验证了**:
- 上传按钮与「删除」**全部消失**(`canEdit=false`,已提交不再可改)
- 提交按钮被替换为只读文案「已提交,等待班主任初审」
- 材料列表显示规范名 + 压缩后体积:`张同学-361029XXXXXX0015-身份证.jpg 17KB · 900×1200`
- 库:`status=1 red=0 yellow=1 submit_time` 已写;日志 `提交未通过 ×2 → 提交成功`
**顺带验证**:`loadFiles()` 正常(重进页面能看到上次传的材料与体积、并能删)。
### 演示态的现状(下一个会话请注意)
- **`collect_submission.id = 21` 现在是「已提交」状态**(上面这次验证留下的)。
它是个很好的演示态,但**要重跑填报流程必须先删掉**:
```sql
DELETE FROM collect_file WHERE submission_id = 21;
DELETE FROM collect_submission WHERE id = 21;
```
- 名册(task 17,id=38)绑定 `sys_user.id=151`(学生微信账号)——**保持不动**。
### 新增的开发工具
`scripts/dev-seed-warn-state.py`:把某份草稿快速摆到"只剩黄色警告"的状态
(填必填 + 传两张同内容的图 → `VAL-09`)。
**用途**:验证浮层/审核端的"只有警告"分支时,不必在页面上手填 7 个字段再等穿透。
它**不**替代 E2E —— 逻辑仍由 `e2e-m3-submit.py` 断言,这个脚本只负责摆状态。
### 下一步
1. **提交页在浏览器里的肉眼验证还没做**(问题清单浮层的渲染与交互)。
代码与产物都对,但**未经浏览器验证** —— 不要当成已验证。