





# 流程系统操作说明



## 一、新建流程模型

### 1.1、流程设计

进入流程模型页面

![1614666369795](./images/process/01进入流程模型.png)



新建流程模型

![1614666718898](./images/process/02新建流程模型.png)

> 类别： 模型是类别，可从`mcs`后台系统字典中新建， 主要用来区分流程属于什么类型的业务。
>
> KEY:    唯一标志，不能重复
>
> 名称：  流程名称，
>
> 复制模型设计： 可以选择模型，进行复制目标模型中的设计文件，到新建的模型中。





点击进入流程设计

![1614666771400](./images/process/03点击流程设计.png)





流程设计(**添加用户任务**)

填写节点名称(<span style="color:red;">节点名称必填请注意填写</span>)

![1614666930851](./images/process/04添加用户任务.png)

![1614666991603](./images/process/05填写节点名称.png)

 

设置候选配置说明

> 审批人为选择用户，可多选。
>
> 候选组为组织，可针对组织职位进行设置， 可多选。



为当前任务设置审批人

![1614667291711](./images/process/06选择执行人候选组.png)



选择候选配置 **执行人**

![image-20210302162525605](./images/process/06选择执行人确认.png)

 

设置认领方式(默认手动认领)

> 手动认领为设置的 审批人/候选组， 在系统内手动点击认领并执行。

![image-20210329104131336](./images/process/06设置认领方式.png)

当前**经理审批**节点已初步设置完成， 设置有两个审批人， 认领方式为 **手动认领**

手动认领方式，为审批人在系统中任务列表手动点击认领后才能执行流程任务。





**当流程有多个审批任务的时候可以在追加任务**

添加一个新的任务**总监审批**

![image-20210329101330057](./images/process/06_01点击追加任务.png)

给当前用户任务设置**候选组**和**认领方式**

![image-20210329101912798](./images/process/06_02添加候选组.png)



![image-20210329102420645](./images/process/06_03设置候选职位.png)

设置认领方式为**自动认领**

![image-20210329102605676](./images/process/06_04设置自动认领.png)

![image-20210329105022877](./images/process/06_05匹配发起人组织.png)

当前任务**总监审批** 设置了多个候选组，推荐每一个职位下设置一个用户。 当同一个职位下匹配有多个用户时候，认领方式会自动变成手动认领。

如果设置了审批人，那么会直接转变成所有设置关联的用户手动认领。



#### 1.1.1、认领方式说明

- 手动认领

> 由设置的审批人和候选组都有权限在流程任务中进行手动认领后执行流程

- 自动认领

> 自动认领需要配置认领规则，按照认领规则来进行认领

- 指定提交

> 通过审批人和候选组来匹配设置的用户， 如果用户只有一个，则任务直接被当前用户认领。
>
> 如果用户有多个，则在流程执行界面进行手动选择用户，并执行流程。



#### 1.1.2、认领规则说明

1. 匹配发起人组织

> 逻辑为：如果【**审批人**】和 已设置【**候选组**】的组织和 【**发起人组织**】相同则为匹配到用户。
>
> - 匹配结果只有一个，则指定为该用户。
>
> - 匹配结果是多个用户，则会变成手动认领，匹配的用户均可在流程任务中认领并执行。
>
> - 匹配结果没有关联用户，则需要管理员认领（如果当前组织职位匹配后只有一个管理员那么此管理员会自动认领任务， 如果多个则会为**手动认领**）

 

2. 匹配表单归属组织

> 逻辑为：如果【**审批人**】和 已设置【**候选组**】的组织和 【**表单归属组织**】相同则为匹配到用户。
>
> - 匹配结果只有一个，则指定为该用户。
>
> - 匹配结果是多个用户，则会变成手动认领，匹配的用户均可在流程任务中认领并执行。
>
> - 匹配结果没有关联用户，则需要管理员认领（如果当前组织职位匹配后只有一个管理员那么此管理员会自动认领任务， 如果多个则会为**手动认领**）



3. 匹配表单变量(组织)

>表单数据必须提交<span style="color:red;">**orgId**</span>。
>
>
>
>逻辑为：如果【**审批人**】和 已设置【**候选组**】的组织和 【**<span style="color:red;">orgId</span>**】相同则为匹配到用户。
>
>- 匹配结果只有一个，则指定为该用户。
>
>- 匹配结果是多个用户，则会变成手动认领，匹配的用户均可在流程任务中认领并执行。
>
>- 匹配结果没有关联用户，则需要管理员认领（如果当前组织职位匹配后只有一个管理员那么此管理员会自动认领任务， 如果多个则会为**手动认领**）
>
>
>
>如果是内置表单设计，则需要在设计中添加一个<span style="color:red;">**orgId**</span>的表单项， 然后在发起流程时候填写并提交。



添加**人事审批** 节点，设置候选组，另修改认领方式为**提交指定**。 当候选配置匹配到多个用户时候，则需要在流程执行的时候选择执行人。

![image-20210329135227593](./images/process/06_06添加人事审批.png)

​	![image-20210329135337225](./images/process/06_07选择人事候选组.png)



![image-20210329135437411](./images/process/06_08修改认领方式提交指定.png)







添加**结束节点**， 无结束节点的流程无法保存

![image-20210302171857530](./images/process/07添加结束节点.png)



**保存流程设计**

![1614667650555](./images/process/08保存流程设计.png)



PS:   如果需要配置认领方式为 **匹配表单归属组织** 和 **匹配表单变量(组织)** ， 则需要对表单进行组织关联，具体说明请查看开放接口。





### 1.2、发布流程

> 流程发布后才能进行发起流程等操作。

![1614670544785](./images/process/12发布流程设计.png)



发布模式支持

1. 标准模式发布 （此模式如果有历史版本会被清除信息）
2. 保留旧版定义模式发布(保留原来版本的定义信息)

标准模式发布

![1614670647798](./images/process/13标准定义发布.png)



保留旧版定义模式发布(保留原来版本的定义信息)

![1614670721562](./images/process/14保留旧版定义模式.png)









##  二、流程定义&表单集成



### 2.1、新建应用

进入应用管理页面，点击新建应用

![1614668167129](./images/process/09点击新建应用.png)





选择集成应用，如无应用请在**mcs后台系统**中应用认证管理模块中添加

![1614668298851](./images/process/10选择应用.png)

保存应用

> 前端应用名： 一般用来标志当前集成的应用。
>
> 前端应用路径： 这个路径是用来加载应用，请设置成线上项目的相对路径，如http://sinra-server0:9080/demo  则路径设置成**demo** ， 前端应用名表示应用的别名，推荐使用英文， **名称和路径不能重复**。
>
> 如果应用访问的地址无子路径的情况下，请重新打包成子路径访问方式。

![1614668493980](./images/process/11新增应用.png)









### 2.2、新建表单

按照业务场景来新建表单，目前表单集成方式支持 **外挂VUE表单**、**外挂iframe**、**内置表单设计**、 **开放API**

- **外挂VUE**

> 需要在应用的功能视图页面内修改集成`bpm系统`相关逻辑代码,  显示和隐藏保存等功能需应用项目配置设置，设置方式较麻烦，数据的修改和保存由应用项目来控制，支持业务功能性强。

操作说明请点击查看[前端流程表单集成说明文档.md](./前端流程表单集成说明文档.md)

- **外挂iframe**

> 使用`iframe`方式集成应用，但是目前仅支持在查看流程详情时候，查看`iframe`的表单信息，在查看详情时会默认读取流程任务中的业务id，将业务id传递给iframe，然后交由iframe项目进行获取表单数据。
>
>  仅需配置应用项目的地址即可进行查看。



**新建表单(外挂iframe)**

选择集成方式

![image-20210318153920800](./images/iframe/01选择集成方式.png)



设置表单KEY，选择所属的应用，

设置表单路径为项目的实际地址。

保存表单 

![image-20210318155427200](./images/iframe/02新增功能表单.png)







- **内置表单视设计**

> 在`bpm系统`内创建表单设计，并根据设计的视图来进行表单渲染，数据提交等操作均为`bpm系统`内部进行操作，
>
> 目前仅支持几种常用表单控件，匹配业务性较低，无需应用项目配合即可完成流程表单的数据操作。



**新建表单(内置表单设计)**

进入到表单管理页面

![1612506766789](./images/03进入表单管理页面.png)





切换选择内置表单设计

![1614652020346](./images/11切换选择内置表单视图.png)





**新建内置表单**

![1614652205195](./images/12新建内置表单.png)

>表单KEY:  不能重复，请注意填写， 
>
>功能名： 表单的功能名称，推荐写带有含义的中文
>
>应用：    表单绑定的应用，如无应用请在应用管理中新建。
>
>复制表单设计： 功能为选择一个表单，进行复制它的内置表单的设计数据。



新增功能表单完成

![1614652279810](./images/13表单列表(内置表单).png)





**修改表单数据**

![1614669910690](./images/24修改表单.png)





修改表单功能名(**不推荐修改其他内容**)

![1614669972890](./images/25修改表单功能名.png)





**设计表单（内置表单视图）**

在表单列表中点击设计按钮

![1614652430585](./images/14点击表单设计.png)



进入表单设计页面

![1614652508990](./images/15进入表单设计页面.png)



**表单设计的基本操作**

拖拽生成基础控件

![1614652625413](./images/16拖拽基础控件.png)



配置基础控件属性

![1614652712183](./images/17设置基础控件属性.png)





设置选择框内容

![1614653010966](./images/18设置选择框内容.png)



拖拽一行两列进行布局

![1614653105472](./images/19拖拽布局.png)



拖拽基础控件到布局中

![1614653192197](./images/20拖拽布局编辑属性.png)



**在线预览**

![1614655126589](./images/21点击在线预览可以查看当前设计.png)



查看预览，可修改显示内容

![1614655361670](./images/22查看预览.png)





**保存表单设计 **

![1614655444313](./images/23点击保存即可保存当前设计内容.png)



- 开放API

>此表单集成方式是全服务端进行操作，使用说明请查看[LDP应用集成流程服务说明.md](./LDP应用集成流程服务说明.md)



### 2.3、流程定义

#### 2.3.1、绑定表单



进入流程定义页面，选择对应的表单，点击绑定表单

![image-20210302155752424](./images/process/15绑定表单.png)



选择对应的表单，点击确认，进行绑定表单

![image-20210302155917834](./images/process/16选择绑定确认.png)



#### 2.3.2、回调地址配置

流程审批完成、终止、退回时都需要更新单据状态，这里通过配置回调地址来完成。到BPM中流程状态变更时，会调用对应得回调地址。

![回调](./images/process/41回调地址.png)

点击回调配置，分别配置成功、失败、退回三种情况的回调

![回调配置](./images/process/42回调地址配置.png)

如果有其他变量值，也可以在流程发起的时候传入流程变量，并在回调的地方通过大括号获取此变量值。



#### 2.3.3、流程定义授权

点击授权，进入授权界面，选择对应的用户/岗位，进行授权。

![image-20210302160044564](./images/process/17点击授权.png)



点击切换 **用户/岗位**可进行选择用户，或者岗位来进行授权。

![image-20210302160222148](./images/process/18授权用户岗位.png)



选择授权，点击确认。

![image-20210302160431692](./images/process/19授权用户岗位确认.png)









## 三、流程发起和办理

### 3.1、发起流程

![image-20210302161235549](./images/process/20选择流程发起.png)





填写表单内容， 并点击提交，进行发起流程

![image-20210302161940997](./images/process/21编辑表单发起流程.png)



发起后可在流程汇总中，查看流程信息。

![image-20210302162202424](./images/process/22流程汇总.png)





### 3.2、我的待阅

在**抄送方**账号中 我的待阅页面中可以查看抄送的流程信息

![image-20210302162853094](./images/process/23我的待阅.png)





### 3.3、执行流程

流程汇总中查看当前流程信息，可选择流程进行执行操作

![image-20210302164134946](./images/process/24流程汇总执行.png)



执行任务提交审批流程

![image-20210302164356273](./images/process/25流程审批提交.png)



### 3.4、查看流程详情

在**流程汇总\我的已办\我的待办**等页面中可以查看流程详情

![image-20210302164705879](./images/process/26查看流程详情.png)



查看过程意见

![image-20210302165025404](./images/process/27查看详情任务节点.png)

查看流程表单

![image-20210303134934150](./images/process/27查看流程表单.png)

查看流程图

![image-20210302165109578](./images/process/28查看详情流程图.png)







### 3.5、转办流程

进入我的待办页面， 点击对应流程 **执行**

![image-20210303132624880](./images/process/29我的待办.png)



点击转办

![image-20210302165821068](./images/process/29转办流程.png)





选择用户进行转办流程

![image-20210302165935478](./images/process/30选择用户进行转办.png)







### 3.6、委派流程

进入我的待办页面， 点击对应流程 **执行**

![image-20210303132624880](./images/process/29我的待办.png)



点击委派

![image-20210303132953684](./images/process/30选择用户进行委派.png)

选择用户进行委派确认

![image-20210303133419861](./images/process/30选择用户委派确认.png)



委派操作不会转移当前流程，我的待办中依然会有流程的信息，也可以进行执行操作, 委派的目标用户也可以进行代操作。

![image-20210303133614190](./images/process/30选择用户委派完成.png)



登录至`approve001` 账号我的待办中可进行执行操作

![image-20210303134041802](./images/process/30委派的待办流程.png)





### 3.7、终止流程

进入我的待办页面， 点击对应流程 **执行**

![image-20210303132624880](./images/process/29我的待办.png)



点击**终止**按钮, 即可终止当前流

![image-20210302170116006](./images/process/31终止流程.png)









### 3.8、回退流程

进入我的待办页面， 点击对应流程 **执行**

![image-20210303132624880](./images/process/29我的待办.png)



点击**回退**按钮

![image-20210302170230007](./images/process/32回退流程.png)

选择**回退节点**，可指定选择回退的节点， 点击确定即可执行回退流程操作。

当选择回退到初始节点时，如流程绑定了表单，发起人可重新编辑表单内容进行提交。

![image-20210302170330696](./images/process/33回退到指点流程节点.png)





**在回退人界面中即可查看当前被回退的流程信息**

![image-20210302170452248](./images/process/34回退流程信息.png)



回退后可重新提交流程

![image-20210302170614792](./images/process/35重新申请流程.png)



### 3.9、设置审批人

> 当流程设计中用户任务的候选配置的认领方式中设置  **提交指定/自动认领** 时， 则会在当前用户任务的上一个节点获取可选的审批人，用来进行选择审批人操作。

如下图，某流程设计

单部门管理已设置提交指定，并设置了多个审批人。

![image-20210319111928708](./images/process/36候选配置说明.png)



在**发起流程**的时候审批人将会出现多个，这时发起流程就需要设置审批人进行提交，提交后指定的审批人则会出现流程信息。

![image-20210319112110134](./images/process/37发起选择审批人.png)



![image-20210319113032349](./images/process/3701选择审批人发起流程.png)



进入到**产品经理**我的待办

![image-20210319113223895](./images/process/38进入我的待办.png)





进入到执行任务界面，会按照下一个任务节点读取到可执行的审批人列表。

![image-20210319113442415](./images/process/39审批人进行执行.png)

流程设计 中下一个任务节点为**多部门管理**，候选配置中设置了多个审批人。

![image-20210319112856286](./images/process/38审批人执行.png)





执行任务时会读取下一个节点的审批人列表，用来选择进行操作，如果是手动认领，则不会出现。由下一个节点的审批人自己进行操作认领后执行。





## 四、问题汇总

### 4.1、发起流程问题

> 发起流程中无流程，请查看如下设置是否正确

1. 流程模型中是否已发布。
2. 流程定义中是否已授权当前用户（无授权的用户无法发起流程）。



>  在发起流程或者流程操作页面中无表单

1. 显示暂无数据: 		请查看是否流程是否绑定表单，如果无绑定也可以提交。
2. 显示资源加载失败:  请查看是否绑定的表单 地址填写错误， 或者应用项目打包出错。
3.  外置VUE表单无数据显示， 请查看当前用户是否有权限访问绑定应用的功能视图页面， 请在`mcs系统`中查看授权。
4. 外置iframe表单无法显示， 请查看配置项目的地址是否正常可访问。(`iframe表单`仅支持在流程详情中显示，其他模式下暂不显示。)





### 4.2、无待办问题

> 流程模型中查看对应流程的流程设计，查看节点是否有设置候选配置

![image-20210303104043453](./images/26查看候选配置.png)





设置候选配置后需要重新发布，发布模式请选择**保留旧版定义模式**

![image-20210303104700012](./images/27发布旧版定义.png)





### 4.3、内置表单设计问题

- 新建表单设计需要支持 **匹配表单变量(组织)** 认领方式，则需要新建一个表单项且字段名必须设置成<span style="color:red;">orgId</span>

  ![image-20210329141630383](./images/process/40_01内置表单设计设置组织.png)