49 lines
5.0 KiB
Markdown
49 lines
5.0 KiB
Markdown
# 进度:星盘页就地编辑 / 报告表换行(issue #86 第 1 次打回)
|
||
|
||
修复单 `docs/tasks/TASK-chart-subject-table-fix-20261022.md`。分支 `codex/chart-subject-table-20261021`。开工先合入 `origin/staging` `2806bd5b75bd701e62e837fae70eda87d6d796ac`(只含文档,无冲突)。被打回的提交是 `885bd5665`。
|
||
|
||
## 改了什么
|
||
|
||
- **F1** 报告里只有表头含「速度 / Speed / 度数 / 黄经」的数值表加 `personal-report-table-numeric`,单行和按内容撑宽只挂在这个类上。作用说明、建议这类表恢复换行。打印时所有表都是页宽,单元格可以换行。打印块里不再出现按内容撑宽和禁止换行。
|
||
- **F2** 「保存他人」收到 `frontend/src/lib/other-profile-save.ts` 的 `saveOtherProfile`。请求、409 `reported_birth_time_is_immutable` 的文案、成功后清星盘和星历缓存都在这里。星盘编辑框和档案页都调它。档案页以前只刷新名单,改完别人再看星盘仍是旧盘,记为 BUG-1411。
|
||
- **F3** 编辑框只在点击落在框外(遮罩)时关闭。点内边距、或拖选文字后松手落在内边距上,不关闭、不丢掉未保存内容。Esc 仍关闭。记为 BUG-1412。
|
||
- 测试文件改名为 `frontend/tests/chart-birth-editor-and-report-table.test.tsx`。仓库里没有别的测试按源码断言旧文件名;BUG-1410 的验证路径已改成新名字。
|
||
- 「填报的出生时间保存后不能再改」只留在时间旁边那一行。表单说明里不再写。档案页编辑已经保存过出生时间的他人时,也锁住这一项,所以同一句仍然会出现,但只从这一处来。
|
||
|
||
## 断言改动
|
||
|
||
| 位置 | 原值 | 新值 | 原因 |
|
||
| --- | --- | --- | --- |
|
||
| 本单测试里的表格 CSS | `.personal-report-table-wrap` 的单元格含禁止换行;打印表按内容撑宽,单元格也不换行 | 这两条只出现在 `.personal-report-table-numeric` 下;打印块里没有;普通表宽 100% | 整句表和打印被数值表的单行规则带走了 |
|
||
| 同上,星宿英文名 | `.report-nakshatra-en` 自己禁止换行 | 仍是浅色小字;单行靠数值表单元格 | 禁止换行只留给数值表。数值表的格子已经不会从中间拆开英文名 |
|
||
| 同上,锁定提示 | 渲染结果里出现「填报的出生时间保存后不能再改」即可 | 锁定时正好一次,写在时间旁边;说明、编辑框源码、档案页源码里都没有这句 | 同一句原来在说明和锁定提示各出现一次 |
|
||
| `chart-library-other-profile.test.ts` | `/method: editingOther ? "PUT" : "POST"/` 写在人物页 | `/method: id ? "PUT" : "POST"/` 在 `saveOtherProfile` | 星盘编辑框和档案页共用这一处请求 |
|
||
| 同上 | `catch {` 后 180 字内「保存失败,请重试」 | `catch (caught)` 后仍有这句 | 409「填报的出生时间不能再改」要从共用函数原样提示,不能一律盖成保存失败 |
|
||
|
||
没有删测试,也没有放宽「保存失败不得假装成功」「不写本地星盘库」这些断言。
|
||
|
||
## 检查
|
||
|
||
| 检查 | 命令 | 结果 |
|
||
| --- | --- | --- |
|
||
| 类型 | `frontend` 里 `node_modules\.bin\tsc --noEmit -p .` | 退出码 0 |
|
||
| lint | `npm run lint` | 0 个错误,122 条警告(与打回验收记录的基线相同)。这次改过的前端文件再跑 eslint,0 条警告 |
|
||
| 本单测试 | `tsx --test tests/chart-birth-editor-and-report-table.test.tsx` | 8 通过,0 失败 |
|
||
| 星盘页、档案页、报告表、CSS 合同 | 同一条 `tsx --test` 加上 `chart-page-view.test.tsx`、`people-archive-view.test.tsx`、`people-archive-regressions.test.ts`、`self-edit-people-20260928.test.tsx`、`profile-gender-ui-20260927.test.tsx`、`chart-library-other-profile.test.ts`、`settings-mvp-contract.test.ts`、`report-reader-polish.test.tsx`、`report-fact-table-print.test.ts`、`personal-report-markdown-view.test.ts`、`personal-report-longform-md.test.ts` | 105 通过,0 失败,0 取消 |
|
||
| 阅读版速度 | `pytest tests/test_report_chart_blank_columns.py -q`(本工作树没有 `.venv`,用了 `agent-loop` 工作树的解释器) | 16 通过,退出码 0 |
|
||
| 全量 `npm test` / `next build` | 修复单约定交给验收 | 未跑 |
|
||
|
||
## 偏离
|
||
|
||
- 整句表用自动列宽加页宽,单元格可换行,没有退回改前的固定列宽。固定列宽是行星表被从中间拆开的原因。
|
||
- 档案页在别人已经保存过出生时间时也锁住这一项。这样「保存后不能再改」只留在时间旁边,档案页不会把这句丢掉。
|
||
- 开工时 `BUG_HISTORY` 去重后的最大号是 1404。新增 BUG-1411(档案页缓存)和 BUG-1412(点内边距关闭)。修复单写明 #85 占用 1404~1408,合入前会重编。没有再用 1404。
|
||
- 没有在浏览器里点已登录的星盘页、档案页和报告页。
|
||
|
||
## 未做
|
||
|
||
- 没有 push。
|
||
- 没有跑全量 `npm test`,没有 `next build`。
|
||
|
||
- 合入 staging 时 Claude 把本分支的 BUG-1404~1406 改为 **BUG-1410~1412**(1404~1408 归 #85,1409 归 #90)。
|