文件
hyb-oa/.trellis/tasks/archive/2026-05/05-29-frontend-simplification-audit-fixes/prd.md
T

110 行
5.3 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 前端降噪审计修复
## Goal
修复前端降噪审计中已确认的低风险问题,避免工作台坏链路、财务付款日期误填和详情页重复文案继续影响试运行体验;同时明确差旅入口仍只作为历史/低频能力处理,不恢复为当前主线。
## What I Already Know
- 用户已认可前端降噪后的方向,并要求后续作为统一设计规则。
- 用户确认产品面向国内、小于 10 人的科技初创公司,系统由单人长期开发维护。
- 已完成两轮前端降噪:PC 工作台、报销列表、审批中心、报销详情。
- 已完成部署复检,公网 live readiness、权限矩阵、PC 只读视觉、移动入口和企微渲染均已通过。
- 只读审计发现:
- 工作台系统管理摘要里的“审计日志”指向 `/audit`,实际路由为 `/audit-logs`。
- 报销财务支付表单默认付款日期硬编码为 `2026-02-08`。
- 报销详情状态摘要出现“状态 / 状态:xxx”重复文案。
- 差旅入口仍出现在高级/低频位置,需要保持不恢复主线的边界。
## Scope
- 修复 PC 工作台系统管理摘要中的审计日志链接。
- 修复 PC 报销详情财务支付面板的付款日期默认值。
- 修复 PC 报销详情顶部状态摘要的重复文案。
- 补充一个聚焦 Playwright 断言覆盖工作台审计日志入口。
- 只读核对差旅入口边界,不恢复差旅主线能力。
## Assumptions
- 本任务只修复审计发现,不继续扩大页面重构范围。
- 不修改后端 API、数据库、权限模型、审批状态机、真实数据或企业微信配置。
- 差旅不在本任务恢复为主线能力;仅确认现有入口是否应保留为高级/历史/权限场景。
- 这次改动是小批量、可验证、可回滚的前端修复。
## Requirements
- 工作台“审计日志”入口必须跳转到现有 `/audit-logs` 路由。
- 付款日期不得继续硬编码历史日期;默认值应降低误填风险。
- 报销详情顶部状态摘要不得重复展示“状态”两个标签。
- 差旅入口不得重新进入高频主路径;如保留,必须位于高级、历史、权限或已有业务关联路径,不新增可见主入口。
- 继续保持自然中文文案,不引入 `Portal`、`Dashboard`、`Workflow` 作为用户可见产品词。
## Acceptance Criteria
- [x] 管理员从工作台系统管理摘要点击“审计日志”进入 `/audit-logs`。
- [x] 报销支付表单默认付款日期不再是固定历史日期。
- [x] 报销详情状态摘要只展示一次状态语义。
- [x] 差旅不进入工作台、审批中心或报销列表的默认主路径。
- [x] 前端 typecheck 和 build 通过。
- [x] UI 设计规则检查和 Trellis governance 通过。
- [x] 如改动面向用户可测试,部署与公网检查通过后再告知用户测试。
## Test Plan
- `cd client && npm run typecheck`
- `cd client && npm run build`
- `cd client && E2E_BASE_URL=http://127.0.0.1:<port> npx playwright test tests/e2e/login-portal-ux.spec.ts --grep "系统摘要审计日志" --workers=1 --reporter=list`
- `node scripts/qa/check-ui-design-rules.mjs`
- `node scripts/qa/check-trellis-governance.mjs`
- `git diff --check`
## Definition Of Done
- PRD 和实施方案得到用户批准。
- 按 Trellis workflow 激活任务并读取前端规约。
- 完成前端修复并保持改动范围小。
- 运行必要验证命令:
- `cd client && npm run typecheck`
- `cd client && npm run build`
- `node scripts/qa/check-ui-design-rules.mjs`
- `node scripts/qa/check-trellis-governance.mjs`
- `git diff --check`
- 必要时补充聚焦 Playwright 或路由断言。
- 提交中文 commit,commit message 引用本 Trellis task。
## Verification Results
- PASS:`cd client && npm run typecheck`
- PASS:`cd client && npm run build`
- PASS:`cd client && E2E_BASE_URL=http://127.0.0.1:3017 npx playwright test tests/e2e/login-portal-ux.spec.ts --grep "系统摘要审计日志" --workers=1 --reporter=list`
- PASS:`node scripts/qa/check-ui-design-rules.mjs`
- PASS:`python3 ./.trellis/scripts/task.py validate 05-29-frontend-simplification-audit-fixes`
- PASS:`node scripts/qa/check-trellis-governance.mjs`
- PASS:`git diff --check`
- Note:首次聚焦 Playwright 未指定 `E2E_BASE_URL`,命中已有 `127.0.0.1:3000` 旧服务并失败;改用本轮新代码启动的 `127.0.0.1:3017` 后通过。
## Out Of Scope
- 不做第三轮全站页面重构。
- 不恢复差旅主线能力。
- 不修改移动端/企业微信页面,除非共享代码受影响。
- 不修改后端 API、数据库、权限、审批状态机或部署配置。
- 不写真实业务数据,不执行真实付款,不写企业微信。
## Technical Notes
- 相关审计文件:
- `client/src/pages/PortalHomePage.tsx`
- `client/src/router/index.tsx`
- `client/src/components/navigation/NavLinks.tsx`
- `client/src/pages/reimbursement-detail/ReimbursementActions.tsx`
- `client/src/pages/ReimbursementDetailPage.tsx`
- `client/src/pages/WorkflowTasksPage.tsx`
- `client/src/pages/ReimbursementsPage.tsx`
- 相关事实源:
- `docs/产品设计规则.md`
- `.trellis/spec/hyb-oa/frontend-react-vite-design.md`
- `.trellis/spec/hyb-oa/project-governance.md`
- 验证证据参考:
- `.trellis/tasks/archive/2026-05/05-29-frontend-simplification-wave2-deploy-verify/research/postdeploy-summary.md`