修改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]];
                }                        
            }
        }
    }
}

通过上面的代码就可以实现需要的显示顺序

results matching ""

    No results matching ""

    results matching ""

      No results matching ""