# 分页

# 前言

在流程与集成交互中,正确处理分页参数是保证大数据量查询性能和用户体验的关键。本文档详细说明了FlowPortal BPM中分页功能的应用场景、参数传递机制,以及如何适配不同第三方系统的分页接口。

# 一、分页场景说明

# 1. 需要分页的场景

  • 开窗查询(Grid选择器)
  • 大数据量表格展示

# 2. 不需要分页的场景

  • 下拉框数据源
  • 少量数据的列表

# 二、分页参数传递流程

# 自动传递参数

参数名 说明 示例值
Paging.start 记录起始索引(从0开始) 0(第一页)
Paging.limit 每页记录数 20

# 参数传递示意图

  • 开窗查询->> ESB数据源: 自动传递分页参数
  • ESB数据源->> 集成组件: 手动映射分页参数

# 三、第三方系统适配方案

# 1. 无分页接口处理

// 搜索关键字处理示例
kw: Parameters.kw || 'noused'  // 空搜索时使用默认值

# 2. 分页参数转换

ESB参数 转换公式 目标系统参数
start start/limit + 1 pageIndex
limit limit pageSize
// 分页参数转换示例
pageIndex: Paging.start/Paging.limit+1, //pageIndex从1开始计数
pageSize: Paging.limit

# 四、排序参数处理

# 排序参数说明

数据源输入参数中还有sort参数,开窗查询时,在某列上按了排序,这个sort就会自动传递到ESB数据源

  • 来源:开窗查询列头点击排序
  • 格式:字段名 排序方向(如:Name ASC

# 五、注意事项

  1. 分页索引转换时注意:

    • ESB的start从0开始
    • 多数系统的pageIndex从1开始
  2. 性能建议:

    • 避免无限制返回数据
    • 合理设置默认limit值(建议10-20)
  3. 特殊系统适配:

    • 部分系统使用offset/limit模式:
    offset: Paging.start,
    limit: Paging.limit