关于流程配置项的介绍
下面内容主要是对Workflow-Api-Pro项目中流程配置的介绍。相关项目源码可以去githubWorkflow-Api-Pro查看。
简介
我们可以自己配置json,生成流程环节,然后存入数据表workflow_definition中的content的字段。
json中主要包含一下字段:
- description:对该流程的综合描述
- update_author:定义流程的人员
- updated_date: 流程的生成(更新)时间
- steps: 流程的步骤
- comments: 流程审批意见分类
下面主要对step和comments讲解(也是流程配置的主要内容)
step解析
step是一个数组,一条流程有多个环节,每个环节以json对象的形式放入到step数组中。
1、每个json对象的内容讲解
- id:该环节的唯一标识
- name: 该环节的名称
- is_preemptive:该环节是否支持抢办 true 为支持 false为不支持(会签默认是会签)
- “comments”:该环节属于那一类评审意见
"comments": {
"ref": 7, \\ 评审意见分类ID
"notice": ""
}
- actions:流程的下一步动作,是一个数组,每一个对象表示下一步的信息
"actions": [
{
"id": 1001, // 流程动作ID 唯一性
"name": "送项目外协负责人确认", // 流程动作的名称
"category": "next", //环节按钮的显示(供前段使用,如‘next’表示提交下一步,‘terminate’表示注销。。。)
"results": [
{
"step": 2,
"owners": {
"name": "getProjectManager" // 可分发人员
},
"status": "Finished"
}
],
// 针对于动作的回调函数 post_functions为动作之后的回调函数, pre_functions为动作之前的回调函数
"post_functions": [
{
"name": "activateWorkflow"
},
{
"name": "startHandle"
}
]
}
]
- results:是在action中的对象的一个属性,是一个数组表示当前环节可以选择的下一个环节有哪些,每个环节选项依然对应一个json对象
{
"step": 2, // 对应环节唯一标识
"owners": {
// 通过回调函数获取该环节的可选人员(待办人员)
"name": "getProjectManager" // 回调函数 在workflow文件夹的callback.php中写入,
},
"status": "Finished"
}
- restrict:也是在action中的对象的一个属性,表示该动作显示的条件。type为‘and’表示list中的回调条件必须满足;为‘or’满足一个就显示
"restrict": {
"conditions": {
"type": "and",
"list": [
"checkIsCmriProject"
]
}
}
- pre_functions:是一个数组表示在进入该环节前需要的操作,里面是一个回调函数名称。action中的为动作执行前的操作
"pre_functions": [
{
"name": "refuseHandle"
}
]
- post_functions:是一个数组表示在执行离开该环节后需要的操作,里面是一个回调函数名称。action中的为动作执行后的操作
"post_functions": [
{
"name": "activateWorkflow"
},
{
"name": "startHandle"
}
]
comments 解析
- id:唯一表示
- name:评审意见title
"comments": [
{
"id": 1,
"name": "订单负责人起草意见"
},
{
"id": 2,
"name": "项目外协负责人确认意见"
}
]