You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.8 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

function CheckDateRegion(s) {
if(isChanging){
return true;
}
if(s.id.indexOf('TB_'+Dtl_DateFrom_Ctrl_ID) == -1 && s.id.indexOf('TB_'+Dtl_DateTo_Ctrl_ID) == -1){
return true;
}
//获取主表中开始日期,结束日期控件
if(!frmDFromCtrl)
frmDFromCtrl = GetCtrl(window.parent.document, Form_DateFrom_Ctrl_ID);
if(!frmDToCtrl)
frmDToCtrl = GetCtrl(window.parent.document, Form_DateTo_Ctrl_ID);
if (!frmDFromCtrl) {
alert('主表中未查询到TB_' + Form_DateFrom_Ctrl_ID + '列,请联系管理员修改流程节点对应的JS文件DataUser/JSLibData/' + getArgsFromHref('EnsName') + '.js中的Form_DateFrom_Ctrl_ID变量为明细表中“开始日期”字段名称');
return false;
}
if (!frmDToCtrl) {
alert('主表中未查询到TB_' + Form_DateTo_Ctrl_ID + '文本框,请联系管理员修改流程节点对应的JS文件DataUser/JSLibData/' + getArgsFromHref('EnsName') + '.js中的Form_DateTo_Ctrl_ID变量为主表单“结束日期”字段的名称');
return false;
}
var dateFrom = frmDFromCtrl.value;
var dateTo = frmDToCtrl.value;
//获取明细表中开始日期,结束日期控件
var rowNum = 0;
//如果是开始日期
if(s.id.indexOf('TB_'+Dtl_DateFrom_Ctrl_ID) != -1){
dtlDFromCtrl = s;
rowNum = s.id.substr(('TB_'+Dtl_DateFrom_Ctrl_ID+'_').length);
dtlDToCtrl = GetCtrl(document, Dtl_DateTo_Ctrl_ID+'_'+rowNum);
if(!dtlDToCtrl){
alert('未查询到TB_' + Dtl_DateTo_Ctrl_ID + '列,请联系管理员修改流程节点对应的JS文件DataUser/JSLibData/' + getArgsFromHref('EnsName') + '.js中的Dtl_DateTo_Ctrl_ID变量为明细表中“结束日期”字段名称');
return false;
}
}
if(s.id.indexOf('TB_'+Dtl_DateTo_Ctrl_ID) != -1){
dtlDToCtrl = s;
rowNum = s.id.substr(('TB_'+Dtl_DateTo_Ctrl_ID+'_').length);
dtlDFromCtrl = GetCtrl(document, Dtl_DateFrom_Ctrl_ID+'_'+rowNum);
if(!dtlDFromCtrl){
alert('未查询到TB_' + Dtl_DateFrom_Ctrl_ID + '列,请联系管理员修改流程节点对应的JS文件DataUser/JSLibData/' + getArgsFromHref('EnsName') + '.js中的Dtl_DateFrom_Ctrl_ID变量为明细表中“开始日期”字段名称');
return false;
}
}
//校验日期范围准确性
if(dateFrom && dateFrom.length > 0){
var msg = '开始日期';
if(dtlDFromCtrl.value){
if(dtlDFromCtrl.value < dateFrom){
msg += '不能小于“'+dateFrom+'”,';
}
if(dateTo && dateTo.length > 0 && dtlDFromCtrl.value > dateTo){
msg += '不能大于“'+dateTo+'”,';
}
}
if(msg.length > 4){
alert(msg.substr(0,msg.length-1));
isChanging = true;
dtlDFromCtrl.value = dateFrom;
isChanging = false;
return true;
}
}
if(dateTo && dateTo.length > 0){
var msg = '结束日期';
if(dtlDToCtrl.value){
if(dtlDToCtrl.value > dateTo){
msg += '不能大于“'+dateTo+'”,';
}
if(dateFrom && dateFrom.length > 0 && dtlDToCtrl.value < dateFrom){
msg += '不能小于“'+dateFrom+'”,';
}
}
if(msg.length > 4){
alert(msg.substr(0,msg.length-1));
isChanging = true;
dtlDToCtrl.value = dateTo;
isChanging = false;
return true;
}
}
if(dtlDFromCtrl.value && dtlDFromCtrl.value.length > 0 && dtlDToCtrl.value && dtlDToCtrl.value.length > 0 && dtlDToCtrl.value < dtlDFromCtrl.value){
alert('结束日期不能小于开始日期!');
isChanging = true;
var tdate = dtlDFromCtrl.value;
dtlDFromCtrl.value = dtlDToCtrl.value;
dtlDToCtrl.value = tdate;
isChanging = false;
return true;
}
return true;
}
var Dtl_DateFrom_Ctrl_ID = "KSZYRQ"; //明细表开始日期字段的ID
var Dtl_DateTo_Ctrl_ID = "JSZYRQ"; //明细表结束日期字段的ID
var Form_DateFrom_Ctrl_ID = "KSRQ"; //主表单开始日期字段的ID
var Form_DateTo_Ctrl_ID = "JSRQ"; //主表单结束日期字段的ID
var frmDFromCtrl;
var frmDToCtrl;
var dtlDFromCtrl;
var dtlDToCtrl;
var isChanging = false;
function GetCtrl(doc, ctrlFieldId) {
var ctrls = doc.getElementsByTagName("input");
var idx;
var ctrlid = 'TB_' + ctrlFieldId;
var ctrl;
for (var i = 0; i < ctrls.length; i++) {
idx = ctrls[i].id.indexOf(ctrlid);
if (idx != -1 && (idx + ctrlid.length) == ctrls[i].id.length) {
ctrl = ctrls[i];
break;
}
}
return ctrl;
}
function getArgsFromHref(sArgName) {
var sHref = window.location.href;
var args = sHref.split("?");
var retval = "";
if (args[0] == sHref) /*参数为空*/
{
return retval; /*无需做任何处理*/
}
var str = args[1];
args = str.split("&");
for (var i = 0; i < args.length; i++) {
str = args[i];
var arg = str.split("=");
if (arg.length <= 1) continue;
if (arg[0] == sArgName) retval = arg[1];
}
return retval;
}