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

5.3 KiB
原始文件 Blame 文件历史

前端降噪审计修复

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

  • 管理员从工作台系统管理摘要点击“审计日志”进入 /audit-logs。
  • 报销支付表单默认付款日期不再是固定历史日期。
  • 报销详情状态摘要只展示一次状态语义。
  • 差旅不进入工作台、审批中心或报销列表的默认主路径。
  • 前端 typecheck 和 build 通过。
  • UI 设计规则检查和 Trellis governance 通过。
  • 如改动面向用户可测试,部署与公网检查通过后再告知用户测试。

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