Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
4.4 KiB
4.4 KiB
TASK · 报告操作收敛:列表只留「查看报告」、阅读页只留导出、Web 端导出改居中对话框(2026-09-24)
基线
origin/staging = 9c9b66d6(含已部署1420471a的分块导出)。分支codex/report-reader-actions-20260924。- 串行:与
TASK-report-chapter-export-fix-20260924.md(BUG-1020,改report-chart-block.ts/ 导出块)文件不交叉,可并行;与TASK-report-reader-main-20260924.md不交叉(那单改引擎与投影)。改globals.css报告段,后合者 rebase。
事故实证(产品 09-24 真机)
- 列表页已完成行:「查看报告」+「分块导出」(
personal-report-center.tsx,后者链到/reports/:id#export)。产品:进报告后本来就要勾选,列表上的「分块导出」多余。 - 阅读页操作条
report-actions.tsxReportActions:RawAppendixDownload(「下载原始附录」)、打印(printPersonalReport)、「分块导出」三个入口。产品:去掉前两个,「分块导出」改成导出图标按钮。 - 导出抽屉
report-export-drawer.tsx在桌面也是贴底弹出(CSS.report-export-drawerinset: auto 0 0 …)。产品:Web 端贴底弹窗"反人类"。
决策记录(产品 2026-09-24)
- D1 列表页已完成行只保留「查看报告」;删除「分块导出」链接。
#export深链的自动打开逻辑随之删除(无入口即死代码)。修订TASK-report-chapter-export-20260924.mdD10。 - D2 阅读页删除「下载原始附录」与「打印」:删
raw-appendix-download.tsx、ReportActions里的打印按钮与printPersonalReport调用、打印能力探测;/api/reports/[reportId]/raw-appendix路由与releaseRawReportAppendix若全仓再无调用者一并删除(含其测试,三栏说明)。报告页<style media="print">与核对表beforeprint展开逻辑:无打印入口后保留浏览器 Ctrl+P 的排版不变(不删 print CSS,只删按钮)。 - D3 「分块导出」按钮改为图标按钮:lucide
Download图标 +aria-label="导出报告"+ tooltip「导出」,44×44 触控区;操作条只剩「返回报告中心」和它。 - D4 导出对话框:≥ 860px(报告域既有断点)为居中模态:宽
min(720px, 92vw)、最高80vh、圆角--radius-lg、四边留白,遮罩同现;< 860px 保持底部抽屉。仍为同一个原生<dialog>组件,只换 CSS,不引第三方。修订原单 D9。 - D5 其余不变:套餐、全选、字数、D5 逐字节锁、
ordinaryOutputLeaks检查、文件名规则。
硬红线
- 不改导出块生成逻辑(
report-export-blocks.ts)与下载器。 - 断点只用 860;44px 触控;无 spinner / 骨架。
- 删除要干净:
grep -rn "RawAppendixDownload\|printPersonalReport\|#export" frontend/src除注释外 0 命中(若printPersonalReport仍被其它页面使用则保留函数,只删本页调用)。 /reports*渲染标记与基线一致;既有断言三栏;测试总数不低于基线。
任务分解
- T1 列表页删链接 + 删
#export消费逻辑(personal-report-center.tsx、report-actions.tsx)。验收:personal-report-entry.test.tsready 行只有一个动作;三栏更新。 - T2 操作条删原始附录与打印、导出改图标(
report-actions.tsx、raw-appendix-download.tsx、raw-appendix 路由及测试)。验收:personal-report-view.test.ts/personal-report-export.test.ts/personal-report-raw-appendix.test.ts相关断言三栏更新或随文件删除;图标按钮有 aria-label。 - T3 对话框响应式(
globals.css报告段)。验收:CSS 合同测试断言@media (min-width: 860px)下为居中(inset: 0; margin: auto或等价)且max-height: 80vh,窄屏仍贴底。 - T4 记录:DESIGN(报告中心动作、阅读页操作条、导出对话框形态)、VOICE(删除两条入口文案)、CHANGELOG、PROGRESS、
docs/testing/report-reader-actions-20260924.md(桌面居中、手机贴底、Esc/遮罩关闭、列表无导出、操作条只剩返回和导出图标)。本单是产品变更,不新开 BUG 号。
开工前置命令
git fetch origin --prune
git worktree add -b codex/report-reader-actions-20260924 .worktrees/report-reader-actions-20260924 origin/staging
cd .worktrees/report-reader-actions-20260924/frontend
./node_modules/.bin/tsc --noEmit && npm run lint && npm test 2>&1 | tail -5