泛微E9实现表单提交校验表单上时间字段距离提交时间是否超过24小时
开发需求
加班流程补交只允许在加班结束后24小时内提交
实现方案
通过在流程的创建节点添加代码块,监听提交动作
WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, function (callback) {
// 获取加班结束日期和时间
let date = WfForm.getFieldValue("field8200");// '2023-07-31'
let time = WfForm.getFieldValue("field8201");// '23:00'
let targetDate = new Date(date+" "+time);
let now = new Date();
// 计算目标日期时间加上24小时后的日期时间
let limitDate = new Date(targetDate);
limitDate.setHours(limitDate.getHours() + 24);
// 判断当前时间是否超过目标时间加上24小时
let isWithin24Hours = now < limitDate;
if (isWithin24Hours) {
callback();
} else {
// 通过
WfForm.showMessage("当前时间已经超过了加班结束时间24小时,无法提交");
}
});