功能背景
我们在完成一些大型的任务时,会涉及到多个担当来分工,每个担当都有自己的工作范围,但是在担当确认自己的工作时,其他担当的工作内容需要保密。
实例
- 申请人在填报时,需要填写类型、项目名、担当,预计金额、预计完成日期是担当确认的。
- 下图是担当1和担当2填写确认信息的画面,只需要确认自己的数据,无权查看其他担当的信息。
3.所有担当确认完成后,申请人查看到的数据画面(预计金额和预计完成时间应该是只读的,但是忘了设置字段的属性了)。
代码块(担当节点)
控制明细数据行的显示及隐藏
注:只是界面效果隐藏,序号不会变化,即被隐藏行的前后行序号会断层不连续
WfForm.controlDetailRowDisplay(“detail_1”, “3,5”, true); //明细1行标为3,5的隐藏不显示
WfForm.controlDetailRowDisplay(“detail_1”, “all”, false); //明细1所有行不隐藏都显示
获取当前打开请求的基础信息
//获取当前操作人员
WfForm.getGlobalStore().commonParam.currentUserid
//获取当前操作人员名称
WfForm.getGlobalStore().commonParam.lastname
//获取当前节点名称
WfForm.getGlobalStore().commonParam.nodename
<script>
var ddField = WfForm.convertFieldNameToId("dd","detail_1");
var yjjeField = WfForm.convertFieldNameToId("yjje","detail_1");
var yjwcsjField = WfForm.convertFieldNameToId("yjwcsj","detail_1");
function Init(){
var currentUser = WfForm.getGlobalStore().commonParam.currentUserid;
var detailCount = WfForm.getDetailRowCount("detail_1");
for(let i = 0; i<detailCount ; i++){
var ddValue = WfForm.getFieldValue(ddField+"_"+i);
//如果明细表的担当不是当前用户,该行隐藏并且修改该行字段的属性
//如果字段属性是必填,只隐藏该行但是不修改属性,提交的时候会报错,提示有隐藏的字段未填写数据
if(ddValue != currentUser){
WfForm.controlDetailRowDisplay("detail_1", i.toString(), true);
WfForm.changeFieldAttr(yjjeField+"_"+i,2);
WfForm.changeFieldAttr(yjwcsjField+"_"+i,2);
}
}
}
jQuery(document).ready(function(){
debugger;
Init();
})
</script>