目录
- 1、描述及效果
- 1.1 描述
- 1.2 效果
- 1.2.1 如果请假开始日期大于请假结束日期,弹出提示
- 1.2.2 如果请假开始时间大于请假结束时间,弹出提示
- 2、思路
- 3、步骤
- 3.1 本次使用E9流程表单前端接口API介绍
- 3.1.1 表单提交操作执行前,执行自定义逻辑并阻断/放行后续操作
- 3.1.2 获取单个字段值
- 3.2 上代码
- 4、总结
1、描述及效果
1.1 描述
请假流程中,在主表实现请假开始日期时间不得大于请假结束日期时间。
1.2 效果
1.2.1 如果请假开始日期大于请假结束日期,弹出提示
示例图1-1:
1.2.2 如果请假开始时间大于请假结束时间,弹出提示
示例图1-2:
2、思路
获取请假日期、时间的字段值,在提交流程时进行验证,如满足请假开始日期时间小于请假结束日期时间时,继续提交;则反之。
3、步骤
3.1 本次使用E9流程表单前端接口API介绍
具体《E9流程表单前端接口API》详情,请参考泛微官方文献,本篇只介绍需要用到的API。
3.1.1 表单提交操作执行前,执行自定义逻辑并阻断/放行后续操作
动作类型 | 说明 |
---|---|
WfForm.OPER_SUBMIT | 提交/批准/提交需反馈/不需反馈等 |
接口名称及参数说明:
registerCheckEvent:function(type,fun)
样例:
$().ready(function(){
WfForm.registerCheckEvent(WfForm.OPER_SUBMIT,function(callback){
//... 执行自定义逻辑
callback();
});
});
3.1.2 获取单个字段值
getFieldValue: function(fieldMark)
参数说明
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
fieldMark | String | 是 | 字段标示,格式 field${字段ID} |
样例:
var fieldvalue = WfForm.getFieldValue("field110");
3.2 上代码
WfForm.registerCheckEvent(WfForm.OPER_SUBMIT,function(callback){
//获取字段值
var beginDate = WfForm.getFieldValue("field34505");//请假开始日期
var beginTime = WfForm.getFieldValue("field34506");//请假开始时间
var endDate = WfForm.getFieldValue("field34507");//请假结束日期
var endTime = WfForm.getFieldValue("field34508");//请假结束时间
//判断请假开始日期时间是否大于请假结束日期时间
if(beginDate >= endDate){
Dialog.alert("请假开始日期不得大于请假结束日期");
}else if(beginTime >= endTime){
Dialog.alert("请假开始时间不得大于请假结束时间");
}else{
callback();// 继续提交需调用callback,不调用代表阻断
};
});
说明:泛微系统自定义的alert警告框:Dialog.alert("警告框");
注:泛微系统自定义的alert警告框不适用于移动模板弹框提醒,建议使用“WfForm.showMessage”或者“WfForm.showConfirm”这两个API做为移动模板弹框提醒。
4、总结
这是本人写的第一篇技术博客,也是在泛微OA_E9中写的第一个需求代码。文辞粗浅,各位海涵。需求比较简单,技术方面不多阐述。
接触泛微OA_E9已四年有余,这几年业务和项目接触过很多,期间做过大大小小的项目,也从乙方转成了甲方。
何其有幸,能做着自己喜欢的工作,既能朝九晚六,又能与工作一起成长。
再会!