日期时间段默认为上一个月的开始日和结束日
在系统所有的报表中都这样操作,我们如何快速的引入?和方便下次修改统计规则?
1:创建JS文件test.js,主要代码如下
Date.getDateOfNPreMonthStart = function (n) {
var dt = new Date();
var y = (dt.getMonth()-n < 0) ? (dt.getFullYear() - 1) : dt.getFullYear();
var m = (dt.getMonth()-n < 0) ? (dt.getMonth()- n + 12) : (dt.getMonth() - n);
return new Date(y, m, 1);
};
Date.getDateOfNPreMonthEnd = function (n) {
var dt = new Date();
var y = (dt.getMonth()-n < 0) ? (dt.getFullYear() - 1) : dt.getFullYear();
var m = (dt.getMonth()-n < 0) ? (dt.getMonth()- n + 12) : (dt.getMonth() - n);
var preM = Date.getDayOfMonth(y, m);
return new Date(y, m, preM);
};
var InitValues={
fetchDate : function(type){
switch(type){
case "LAST_MONTH_START":
return InitValues.formateDate(Date.getDateOfNPreMonthStart(1));
case "6_MONTH_START":
return InitValues.formateDate(Date.getDateOfNPreMonthStart(6));
case "LAST_MONTH_END":
return InitValues.formateDate(Date.getDateOfNPreMonthEnd(1));
}
},
formateDate : function(tmp){
return tmp.getFullYear()+'-'+(tmp.getMonth()+1)+'-'+tmp.getDate();
}
};
var form = getFormWarpRequest();
if(!form.txtDates_Date){
return;
}
if(form.txtDates_Date.value.indexOf("1900")==-1&&form.txtDatee_Date.value.indexOf("1900")==-1){
return;
}
form.txtDates_Date.value=InitValues.fetchDate("LAST_MONTH_START");
form.txtDatee_Date.value=InitValues.fetchDate("LAST_MONTH_END");
canSubmitPrompt();
2:把JS放在RS中可以访问的位置,通过HTML控件在每一张报表中引入