运行时的流程图和波特图其实是用的processChart组件,在组件上提供的有下面两个事件,事件中具体的参数说明可以参考API
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手册,然后在事件中操作

事件中获取相关的数据可以参考如下:
//轨迹图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之后版本中才可以
评一波