运行时的流程图和波特图其实是用的processChart组件,在组件上提供的有下面两个事件,事件中具体的参数说明可以参考API

1
2
3
4
5
6
onPertItemClick (PertItemClickEvent event)
[回调型事件]在波特图上某个元素点击时触发
 
 
onTrackItemClick (TrackItemClickEvent event)
[回调型事件]在轨迹图上某个业务环节点击时触发

如果是所有的流程图统一的处理这个两个事件中的执行逻辑,可以通过扩展空间的方式实现/UI2/system/service/process/dialog/processChart.w对应的js中
Model.prototype.trackItemClick = function(event){(流程图的事件)和
Model.prototype.pertItemClick = function(event){(波特图的事件)

如果是单个功能中的,需要自己在功能页面中放processChart组件,在需要查看的时候调用processChart组件的API(如图)加载流程图,,具体的参数说明可以看API手册,然后在事件中操作
processChart

事件中获取相关的数据可以参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//轨迹图click事件
 Model.prototype.processChart2TrackItemClick = function(event){
    var activity = event.activity;//获取activity
    var activityName = event.activityName;//获取activityName
    var process = event.process //获取process
    var process = event.processName //获取processName
    
   //已经执行过的环节获取task或者执行者的数据,注意没有执行过的环节是获取不到的
   if(event.bot.task){
    
       var taskid = event.bot.task.id //获取taskid
   }
   //获取执行者
    var executors = event.bot.executors;
    if(executors){
      for(var i = 0;i<executors.length;i++){
        var executorFID = executors[i].sExecutorFID;//执行者FID
        var executorFName = executors[i].sExecutorFName;//执行者FName
      }
    }
 };
 
 //波特图click事件
 Model.prototype.processChart2PertItemClick = function(event){
    var activity = event.task.sActivity;//获取activity
    var activityName = event.task.sActivityName;//获取activityName
    var process = event.source.process //获取process
    var process = event.task.sProcessName //获取processName
    var taskid = event.task.id //获取taskid
   //获取执行者
    var executors = event.executors;
    if(executors){
      for(var i = 0;i<executors.length;i++){
        var executorFID = executors[i].sExecutorFID;//执行者FID
        var executorFName = executors[i].sExecutorFName;//执行者FName
      }
    }
 };

需要注意的是在轨迹图中通过event.process获取process需要在5.3.6.5569之后版本中才可以