文件
hyb-oa/.trellis/tasks/05-29-role-based-navigation-simplification/design.md
T

4.0 KiB

菜单栏角色化降噪重构设计

Design Direction

采用“安静的任务型工作栏”:一级导航不是模块目录,而是每类用户今天最可能要点击的任务入口。视觉上保持当前 OA 工具气质,降低解释性文案和卡片感,让菜单通过排序、角色显隐和短中文名表达优先级。

Information Architecture

普通员工

  • 工作台
  • 报销
  • 请假记录
  • 我的进度
  • 更多

审批人 / 负责人

  • 工作台
  • 待我处理
  • 报销
  • 项目
  • 团队
  • 更多

财务 / 管理员

  • 工作台
  • 待我处理
  • 报销
  • 付款
  • 应付账款
  • 票据
  • 管理
  • 更多

具体入口仍受权限和 feature flag 限制;上面是目标信息架构,不代表绕过权限展示。

Proposed Implementation

  1. 服务端导航

    • 在 server/src/services/workspaceSettings.js 中统一用户可见文案:
      • workflowTasks: 待我处理
      • leaveRequests: 请假记录
      • paymentBatches: 付款
      • apOperations: 应付账款
      • invoicePool: 票据
      • featureFlags: 功能管理
      • erpIntegrations: 外部系统
    • 调整 DEFAULT_MODULE_VISIBILITY:普通高频保留,低频配置、预算、集成、审计等默认后置。
    • 保证 workflowTasks 只对业务审批人、负责人、财务等可处理角色出现。
    • 避免普通员工看到财务、票据、管理、个人设置入口。
  2. 前端导航分组

    • 在 client/src/components/navigation/NavLinks.tsx 中让服务端 placement 和角色语义成为主导。
    • 移除“按路径重新把 backup 提升到业务/财务”的行为,或改为只在同一后置层内排序。
    • 更多 改为轻量 details/summary 行,无副标题、无大卡片。
    • 侧边栏一级分组减少到任务感更强的结构,避免展示过多 section label。
  3. 侧边栏壳层

    • 在 client/src/components/navigation/Sidebar.tsx 移除 今日优先 说明卡。
    • 若需要轻量状态提示,后续只在有真实待处理数量时显示;本轮优先移除说明卡,不强制新增数据查询。
  4. 顶部和账号入口

    • 个人设置 保留在 Topbar 账号菜单,不出现在侧边栏。
    • 通知保留顶部铃铛,不加入侧边栏。
  5. 移动底栏

    • 在 client/src/components/mobile/MobileBottomNav.tsx 中把审批人文案改为 待办,非审批人继续显示 进度。
    • 不新增移动底栏 请假。
  6. 工作区设置页

    • 在 client/src/pages/WorkspaceSetupPage.tsx 中调整文案:从“主导航/管理区/隐藏”的模块视角,转成“常用入口/管理与低频/隐藏”或等价表达。
    • 保留现有能力,不在本轮开发复杂的拖拽或角色矩阵配置。
  7. 文档和规则

    • 更新 docs/产品设计规则.md:新增功能默认不进一级侧边栏,必须先判断角色、频次和真实待办价值。
    • 更新 .trellis/spec/hyb-oa/frontend-react-vite-design.md:固化导航壳层和菜单降噪规则。

Risk And Mitigation

  • 风险:前端重分组和服务端 placement 互相打架,导致后置模块又被抬到一级。
    • 缓解:把服务端结果作为事实源,前端只排序和轻量归类;增加角色导航单测。
  • 风险:文案变更影响既有测试断言。
    • 缓解:同步更新导航、smoke 和截图断言。
  • 风险:管理合并入口没有完整管理首页承接。
    • 缓解:本轮可先指向现有工作区设置或现有管理承接页;不做管理页大改。
  • 风险:普通员工入口过少导致找不到低频功能。
    • 缓解:保留 更多 和全局搜索;低频能力隐藏/后置,不删除。

Verification Plan

  • 服务端角色导航单测覆盖 employee、manager、finance、admin、owner。
  • 前端 typecheck/build。
  • 截图检查 PC 1440 宽侧边栏和移动 390 宽底栏。
  • 文档 diff 检查新规则是否只沉淀产品事实和工程约束,不加入视觉细节到 docs/产品设计规则.md。