修改and(会签)显示的环节顺序
场景描述
会签多个环节流转时默认显示的环节不是需要的,要调整默认的显示顺序
如下流程图:
运行时默认显示的顺序如下图,要调整为部门领导审核在第一个、技术总监审核在第二个、总经理审核在最后
实现思路
在流转对话框打开前修改processContrl
具体实现
在页面的流程组件的“打开对话框前”事件中可以获取到流转对话框中需要的数据,修改对应的数据即可,如下:
var processControl = event.processControl;//获取processControl
var activities = processControl.getActivities();
if(activities && activities.length >0){
if(activities[0].isAnd()){//判断是不是and,如果是获取children进行处理
var children = activities[0].getChildren();
var childrens = activities[0].activityData["@@children"];//获取and下的所有环节的数组,判断是不是需要的顺序,不是就进行调整
if (children && children.length>0){
for (var i=0; i<children.length; i++){
if(i!= 0 && children[i].getLabel()=="部门领导审核"){//判断要设置为第一个的环节不是在第一个就调整为第一个
[childrens[0],childrens[i]] = [childrens[i],childrens[0]];
}else if(i!=1 && children[i].getLabel()=="技术总监审核"){
[childrens[1],childrens[i]] = [childrens[i],childrens[1]]; //判断要设置为第二个的环节不是在第二个就调整为第二个
}else if(i!=children.length-1 && children[i].getLabel()=="总经理审核"){
[childrens[children.length-1],childrens[i]] = [childrens[i],childrens[children.length-1]];
}
}
}
}
}
通过上面的代码就可以实现需要的显示顺序