Files
loan-pricing/doc/2026-03-28-workflow-update-time-list-design.md

4.1 KiB

流程列表更新时间展示设计文档

1. 背景

当前流程列表页展示的是“创建时间”,但列表排序语义已经是按 update_time 倒序。这会导致页面展示字段与排序依据不一致。

本次需求是将流程列表中的“创建时间”替换为“更新时间”,并保持列表继续按更新时间排序。

2. 已确认约束

  • 仅调整流程列表页时间列展示
  • 列表中不同时展示创建时间和更新时间
  • 后端列表链路继续按 update_time 倒序排序
  • 前端时间列改为展示 updateTime
  • 不修改详情页时间展示逻辑
  • 文档和计划统一保存在 doc 目录

3. 现状分析

当前列表链路情况如下:

  1. 前端流程列表页时间列文案为“创建时间”
  2. 前端时间列绑定字段为 createTime
  3. 后端列表专用 SQL 已按 lpw.update_time DESC 排序
  4. 列表专用 VO 当前仅暴露 createTime

因此页面展示与实际排序依据不一致。

4. 方案对比

方案一:前后端统一切换为更新时间

做法:

  • 前端将时间列文案改为“更新时间”
  • 前端字段绑定从 createTime 改为 updateTime
  • 后端列表专用 VO 增加 updateTime
  • 联表 SQL 返回 lpw.update_time AS updateTime
  • 排序继续保留 ORDER BY lpw.update_time DESC

优点:

  • 展示语义与排序语义完全一致
  • 改动范围小
  • 不引入字段语义混乱

缺点:

  • 无明显缺点

方案二:继续展示创建时间,只补充说明按更新时间排序

做法:

  • 保持前端展示 createTime
  • 仅在文档或页面认知上说明排序按更新时间进行

优点:

  • 改动最少

缺点:

  • 不符合“列表中展示更新时间”的需求
  • 页面展示和排序逻辑仍不一致

方案三:后端把 update_time 映射到 createTime

做法:

  • 前端继续绑定 createTime
  • 后端列表返回时用 update_time 填到 createTime

优点:

  • 前端改动更少

缺点:

  • 字段语义错误
  • 后续维护容易误解

5. 设计结论

采用方案一。

最终实现为:

  • 流程列表页将“创建时间”替换为“更新时间”
  • 时间列字段绑定改为 updateTime
  • 后端列表专用 VO 补充 updateTime
  • 联表 SQL 返回 lpw.update_time AS updateTime
  • 排序继续按 lpw.update_time DESC

6. 后端设计

6.1 返回对象

列表专用返回对象 LoanPricingWorkflowListVO 增加:

  • private Date updateTime;

保留现有字段不变。

6.2 SQL 设计

在列表专用 SQL 中:

  • 新增 lpw.update_time AS updateTime
  • 保持 ORDER BY lpw.update_time DESC

不修改当前筛选条件。

7. 前端设计

ruoyi-ui/src/views/loanPricing/workflow/index.vue 中:

  • 将时间列文案从“创建时间”改为“更新时间”
  • 将列绑定字段从 createTime 改为 updateTime
  • 模板中 parseTime 的参数改为 scope.row.updateTime

页面中只保留这一列,不再显示创建时间。

8. 边界与非目标

本次不包含以下内容:

  • 不新增双时间列展示
  • 不修改详情页时间展示逻辑
  • 不修改数据库表结构
  • 不调整列表筛选项
  • 不改变分页行为

9. 风险与控制

风险点主要有两个:

  1. 后端 VO 未补充 updateTime,前端会拿不到值
  2. 前端列头改了但仍绑定 createTime,会继续展示旧字段

控制方式:

  • 同步修改 VO、SQL、前端模板三个位置
  • 保持排序语句不动,只对齐展示字段
  • 通过源码检查、后端测试和前端构建做验证

10. 验证方案

实施后需要完成以下验证:

  1. 前端列表时间列文案为“更新时间”
  2. 前端列表时间列绑定字段为 updateTime
  3. 后端 LoanPricingWorkflowListVO 已定义 updateTime
  4. 后端联表 SQL 已返回 lpw.update_time AS updateTime
  5. 后端模块测试通过
  6. 前端生产构建通过

11. 实施范围

  • 前端:流程列表页 1 个页面文件
  • 后端:列表 VO 与联表 SQL
  • 数据库:无改动

本次属于列表展示字段与排序语义对齐,不涉及业务流程变更。