Files
X-Financial/document/development/工作台费用进度详情返回与类型列/CONCEPT.md

3.3 KiB

工作台费用进度详情返回与类型列概念文档

功能一句话

让用户从首页费用进度进入单据详情后能返回首页,并在费用进度列表中直接看到每笔单据的费用类型。

背景与问题

当前首页费用进度点击单据后进入详情页,但详情页返回按钮默认回到单据中心,破坏了用户从首页查看进度的上下文。同时费用进度行只展示单号、标题、流程、状态和金额,用户需要点进详情才知道单据属于差旅、招待、办公等哪类费用。

目标与非目标

目标:

  • 从首页费用进度进入详情时,详情页返回按钮回到个人工作台。
  • 从单据中心进入详情时,原有返回单据中心逻辑不变。
  • 在首页费用进度行新增“费用类型”列。
  • 费用类型优先使用单据已有类型字段,缺失时按标题、场景和备注轻量归类。

非目标:

  • 不修改详情页主体内容。
  • 不新增后端接口。
  • 不改变单据中心列表、审批详情和其他来源的返回逻辑。

用户与场景

个人员工在首页查看最近费用进度,点击某笔单据进入详情核对处理情况。查看完后点击返回,应回到刚才的首页工作台继续看其他进度项,而不是跳到单据中心列表。

功能能力

  • 首页打开详情时带入 returnTo=workbench 来源标记。
  • 详情页根据来源标记动态显示返回按钮文案并执行返回首页。
  • 费用进度数据新增 expenseTypeLabel
  • 费用类型列在桌面端作为独立列展示,窄屏下按移动端布局折行展示。

方案设计

前端实现:

  • PersonalWorkbench.vueopen-document 事件 payload 中补 source: 'workbench'returnTo: 'workbench'
  • AppShellRouteView.vue 接收工作台来源并传给 openRequestDetail
  • useAppShell.js 在打开详情时写入查询参数,在关闭详情时根据查询参数返回工作台或单据中心。
  • workbenchSummary.jsprogressItems 中补费用类型字段。
  • personal-workbench.css 与响应式样式新增费用类型列。

算法与公式

当前功能不涉及复杂数学公式。

费用类型归类优先级:

  1. 单据显式字段:expenseCategoryexpense_typecategory 等。
  2. 文本规则:从场景、标题、备注和描述中匹配差旅、招待、办公、培训、市场等关键词。
  3. 兜底为“其他费用”。

测试方案

  • 源码测试确认首页费用进度打开详情时带 returnTo=workbench
  • 源码测试确认详情返回文案和关闭逻辑支持工作台来源。
  • 单元测试确认 progressItems 输出费用类型字段。
  • 源码测试确认费用进度模板和样式包含费用类型列。
  • 运行前端定向测试与构建。

指标与验收

  • 从首页费用进度进入详情后,返回按钮回到个人工作台。
  • 从单据中心进入详情后,返回按钮仍回到单据中心。
  • 首页费用进度行可直接看到费用类型。
  • 相关定向测试与前端构建通过。

风险与开放问题

  • 当前费用类型归类仍是前端轻量归类。后续若后端已有稳定 ontology 类型字段,应优先接入 canonical 字段。
  • 路由查询参数只用于详情返回来源,不应影响单据筛选和详情数据加载。