审批流程轨迹组件,用于展示纵向审批历史和当前状态,支持 Flowable 工作流原生数据对接。
# 基本用法
复制代码
# 示例
# Flowable 原生数据对接
直接传入 Flowable 返回的 HistoricTaskInstance 数据,组件自动解析状态。
复制代码
# 自动折叠长审批链
当审批链超过指定数量时,自动折叠多余节点,点击可展开。
复制代码
# 圆角风格
支持方形和圆形两套圆角规范。
复制代码
# 自定义操作按钮
通过插槽自定义节点操作按钮。
复制代码
# 自定义节点头像
通过插槽自定义节点图标或头像。
复制代码
# 自定义状态文本
通过 statusMap 属性自定义状态显示文本。
复制代码
# 属性说明
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|
data | Array | [] | - | 数据源,支持 Flowable 原始格式或自定义格式 |
format | String | flowable | flowable、custom | 数据格式,flowable 自动解析状态,custom 直接使用 |
collapse | Boolean | true | - | 是否自动折叠长审批链 |
collapseCount | Number | 5 | - | 折叠前可见节点数 |
rounded | String | square | square、round | 圆角风格,方形或圆形 |
timeFormat | String | YYYY-MM-DD HH:mm:ss | - | 时间格式化字符串(仅 format='flowable' 时生效) |
statusMap | Object | - | - | 自定义状态文本映射 |
# 状态值说明
| 状态值 | 默认文本 | 说明 |
|---|---|---|
approved | 已通过 | 有结束时间且无驳回原因 |
rejected | 已驳回 | deleteReason 包含 reject/驳回 |
pending | 待审批 | 无结束时间或最后节点自动追加 |
transferred | 已转办 | deleteReason 包含 transfer/转办 |
delegated | 已委托 | deleteReason 包含 delegate/委托 |
recalled | 已撤回 | deleteReason 包含 revoke/撤回/recall |
cancelled | 已取消 | deleteReason 包含 cancel/取消 |
started | 已发起 | 流程起始节点 |
# 插槽说明
| 插槽名 | 作用域 | 说明 |
|---|---|---|
node-avatar | { node, index } | 自定义节点图标/头像 |
node | { node, index } | 自定义节点标题 |
assignee | { node, index } | 自定义审批人显示 |
node-desc | { node, index } | 自定义描述/审批意见 |
node-action | { node, index } | 自定义节点操作按钮 |
expand-trigger | - | 自定义展开触发器内容 |
collapse-trigger | - | 自定义收起触发器内容 |
# Flowable 数据格式
组件支持直接对接 Flowable 工作流引擎返回的 HistoricTaskInstance 数据格式:
{
id: '50001', // 任务ID
name: '部门经理审批', // 任务名称
taskName: '部门经理审批', // 任务名称(兼容字段)
activityName: '部门经理审批', // 活动名称(兼容字段)
assignee: '张三', // 审批人
startTime: '2024-01-01T10:00:00', // 开始时间
endTime: '2024-01-01T10:30:00', // 结束时间(null 表示待办)
deleteReason: null, // 删除原因(rejected/delegate/transfer 等)
durationInMillis: 1800000, // 耗时(毫秒)
type: 'userTask' // 节点类型(startEvent/userTask/endEvent)
}
# 自定义数据格式
使用 format="custom" 时,数据格式如下:
{
id: '1', // 节点ID
name: '提交申请', // 节点名称
assignee: '张三', // 审批人
status: 'approved', // 状态(必填)
createTime: '2024-01-01 10:00:00', // 创建时间
endTime: '2024-01-01 10:05:00', // 结束时间
comment: '', // 审批意见/驳回原因
duration: '5分钟', // 耗时
description: '' // 描述信息
}
# 注意事项
- 组件自动推断状态:有
endTime且无deleteReason为通过状态,deleteReason包含reject为驳回状态 - 当
format='flowable'且最后一个节点不是pending状态时,组件会自动追加一个待办节点 - 连接线样式根据前一个节点的状态决定,驳回状态自动显示红色虚线
- 待办节点的图标会有脉冲动画效果,提示用户当前待处理