泛微OA的JS语句之日期防呆,控制字段属性
jQuery(document).ready(function () {
//请假结束时间改变的时候检测跟填表日期的对比
WfForm.bindFieldChangeEvent("field7418", function (obj, id, value) {
if (value != "") {
var tbrq = WfForm.getFieldValue("field7211");//填表日期
if (tbrq > value) {
WfForm.showMessage("请说明补假原因!", 1, 4);
}
}
});
WfForm.bindFieldChangeEvent("field7236", function () { //表单值变更触发事件
var LeaveTime = $("#field7236").val();
if (LeaveTime >= 24) {
WfForm.changeFieldAttr("field7234", 3);//当值有变动且大于等于24的时候 必填
} else {
WfForm.changeFieldAttr("field7234", 2);//当值有变动且小于24的时候 选填 1:只读 2:选填 3:必填
}
});
WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, function (callback) {
var tbrq = WfForm.getFieldValue("field7211");//填表日期
var stratDateStr = WfForm.getFieldValue("field7418");//开始时间
var endDateStr = WfForm.getFieldValue("field7419");//结束时间
var data = getDays(stratDateStr, endDateStr);//调用时间转换方法
if (data.days < 0) {
WfForm.showMessage("结束日期必须大于申请日期!");
} else {
//先判断下结束时间是否大于填报时间
if (tbrq > endDateStr) {
// if (WfForm.getSignRemark() == "" || isChina(WfForm.getSignRemark())) {
// WfForm.showMessage("请假结束日期大于填表日期,请填写签字意见后再提交", 1, 4);
// return;
//}
} else {
callback();//回滚,继续提交
// if(data.strat===data.end){ //取消跨月判断 如需要开启 请删除代码前//
// }else{
// alert("表单不能进行跨月提交!");
//}
}
}
});
});
function getDays(stratDateStr, endDateStr) {
var stratDateArr, endDateArr, days;
stratDateArr = stratDateStr.split('-');//拆分时间
endDateArr = endDateStr.split('-');
var stratMonth = stratDateArr[2].split(' ');//日期时间类型需特殊处理
var endMonth = endDateArr[2].split(' ');
//一下是日期类型数据处理
//var newDateS = new Date(Date.UTC(stratDateArr[0],stratDateArr[1]-1,stratDateArr[2]));//转换成毫秒数
// var newDateE = new Date(Date.UTC(endDateArr[0],endDateArr[1]-1,endDateArr[2]));
//以下是日期时间类型数据处理
var newDateS = new Date(Date.UTC(stratDateArr[0], stratDateArr[1] - 1, stratMonth[0]));//转换成毫秒数
var newDateE = new Date(Date.UTC(endDateArr[0], endDateArr[1] - 1, endMonth[0]));
days = parseInt((newDateE - newDateS) / 1000 / 60 / 60 / 24);//绝对值毫秒数转换天数
var data = { //封装JSON 返回数据
"days": days,
"strat": stratDateArr[1],
"end": endDateArr[1],
}
return data;
}
function Chenge() {
WfForm.changeFieldAttr(" field7234", 3);
}
function isChina(s) {
var patrn = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
if (!patrn.exec(s)) {
return false;
}
else {
return true;
}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
