2026-08-11-oa-task-centers-pagination-design.md 1.2 KB

OA 四个中心列表分页设计

背景

待办中心 / 已办中心 / 我发起的 / 抄送我的目前一次返回全量,无 el-pagination。需与同模块草稿箱及标准列表页对齐,补服务端分页。

决策

  • 默认每页 20 条(与草稿箱一致);可选 10 / 20 / 50。
  • DB 级 count + offset/limit,再对当前页 enrich。
  • 接口返回 { list, total };page / pageSize 查询参数。

后端

  • GET /api/.../oa-approval/tasks/{kind} 增加 page(默认 1)、pageSize(默认 20,1–100)。
  • list_tasks 增加同名参数;返回 {"list": [...], "total": N}(破坏性:原直接返回 list,调用方与单测需同步)。
  • pending / done / cc:在 OaTask 查询上分页;cc 的 readStatus 仍先筛选再分页。
  • mine:在 OaInstance 查询上分页。
  • 排序保持 create_time DESC。

前端

  • 四页:list-body 内表格 + pagination list-pager-bar + el-pagination(对齐草稿箱)。
  • 序号:(page - 1) * pageSize + index + 1。
  • fetchOaTasks 传 page / pageSize;抄送筛选/重置时 page = 1。

非目标

角标 count、详情/审批动作、额外筛选项、假分页。