这个问题没有最终解决,还需要修改。
这个部门名称会随着流程所在节点的用户部门的变化而发生变化。打个比方,新建流程的人部门是信息中心,但走到人力资源部审批时,这个部门就变成了人力资源部,这显然不对。于是我想通过当前用户的角色来控制这个部门的显示,在部门选择框的值脚本上写了如下代码:
var roles = getWebUser().getRoles();
var rtn="";
var valu = "";
for(var it = roles.iterator();roles!=null && it.hasNext();){
var role = it.next();
rtn+=role.getName();
}
if (rtn.indexOf("部门培训管理员")>-1)
{
var user = getWebUser();
var depts = user.getDepartments();
for (var iter = depts.iterator(); iter.hasNext();) {
var dept = iter.next();
valu = dept.getName();
}
valu;
}
上图为我对部门选择框的基本属性设置,昨天根据群里一位朋友提示,在值脚本里修改代码如下:
var name = getItemValue("dept_name");
if (name==null ||name.trim().length()<=0)
{
var user = getWebUser();
var depts = user.getDepartments();
for (var iter = depts.iterator(); iter.hasNext();) {
var dept = iter.next();
name = dept.getName();
}
}
name;