tttt
2015-07-16 08:06
465 查看
/**
* 返回合计的footer
* @param data : 需要合计的list
* @param columns :所需要合计 的字段 : ['money1','money2'] 这个是columns_int的父集
* @param columns_int : 其中需要保留整数的 的合计 的字段 : ['age','count']
* @param obj : 显示合计字段的对象 : {'AKB020':'合计'}
* @returns {Array} : footer
*/
function sum_public(data,columns,columns_int,obj){
var sums = [];
//传来为null转为[]
if(!columns){
columns = [] ;
return [obj];
}
if(!columns_int){
columns_int = [] ;
}
//初始化 合计结果的变量
for( var x = 0 , j = columns.length ; x < j ; x++){
sums.push(0);
}
for(var x in data){
var row = data[x] ;
//累加二位小数
for(var y = 0 ; y < columns.length ; y++){
var value = row[columns[y]] ;
if(!value){
value = '0' ;
}
sums[y] += parseFloat(value);//
}
}
//给obj对象添加 合计后的数据
for(var x in sums){
obj[''+columns[x]] = sums[x].toFixed(2) ;
}
//如果有需要合计整数的,在这里
for(var x in columns_int){
obj[''+columns_int[x]] = parseInt(obj[''+columns_int[x]]) ;
}
//返回的是 footer
return [obj] ;
}
/**
* 暂时之后计算后面的日期
* 暂时不支持 填负数
* @param date
* @param month_num
* @param day_num
* @param pattern
* @returns {String}
*/
function getDate_public(date,month_num,day_num,pattern){
if(!date){
date = new Date();
}
if(! (date instanceof Date)){
alert_info("格式化日期错误,第一个参数请传Date对象");
return
}
var year = date.getFullYear();
var month = '' ;
var day = '' ;
if(month_num != null ){
if(isNaN(month_num)){
alert_info("格式化日期错误,第二个参数请传数值");
return ;
}
month = date.getMonth() + 1 ;
for(var x = 0 ; x < month_num ; x++){
month = month + 1;
if(month == 13){
year ++ ;
month = 1;
}
}
if(day_num != null){
if(isNaN(day_num)){
alert_info("格式化日期错误,第三个参数请传数值");
return ;
}
day = date.getDate();
//得到要计算的年月有多少天
var temp_date = new Date(year,month,0);
for(var x = 0 ; x < day_num ; x++){
day = day + 1;
if(day == temp_date.getDate()){
month ++;
if(month == 13){
year ++ ;
month = 1;
}
day = 1 ;
}
}
if(day < 10){
day = '0' + day ;
}else if(day > temp_date.getDate()){
day = temp_date.getDate() ;
}
}
}
if( month && month < 10){
month = '0' + month ;
}
var return_str = '' ;
if(day){
return_str = year + pattern + month + pattern + day;
}else if(month){
return_str = year + pattern + month ;
}else{
return_str = year + '' ;
}
return return_str;
}
* 返回合计的footer
* @param data : 需要合计的list
* @param columns :所需要合计 的字段 : ['money1','money2'] 这个是columns_int的父集
* @param columns_int : 其中需要保留整数的 的合计 的字段 : ['age','count']
* @param obj : 显示合计字段的对象 : {'AKB020':'合计'}
* @returns {Array} : footer
*/
function sum_public(data,columns,columns_int,obj){
var sums = [];
//传来为null转为[]
if(!columns){
columns = [] ;
return [obj];
}
if(!columns_int){
columns_int = [] ;
}
//初始化 合计结果的变量
for( var x = 0 , j = columns.length ; x < j ; x++){
sums.push(0);
}
for(var x in data){
var row = data[x] ;
//累加二位小数
for(var y = 0 ; y < columns.length ; y++){
var value = row[columns[y]] ;
if(!value){
value = '0' ;
}
sums[y] += parseFloat(value);//
}
}
//给obj对象添加 合计后的数据
for(var x in sums){
obj[''+columns[x]] = sums[x].toFixed(2) ;
}
//如果有需要合计整数的,在这里
for(var x in columns_int){
obj[''+columns_int[x]] = parseInt(obj[''+columns_int[x]]) ;
}
//返回的是 footer
return [obj] ;
}
/**
* 暂时之后计算后面的日期
* 暂时不支持 填负数
* @param date
* @param month_num
* @param day_num
* @param pattern
* @returns {String}
*/
function getDate_public(date,month_num,day_num,pattern){
if(!date){
date = new Date();
}
if(! (date instanceof Date)){
alert_info("格式化日期错误,第一个参数请传Date对象");
return
}
var year = date.getFullYear();
var month = '' ;
var day = '' ;
if(month_num != null ){
if(isNaN(month_num)){
alert_info("格式化日期错误,第二个参数请传数值");
return ;
}
month = date.getMonth() + 1 ;
for(var x = 0 ; x < month_num ; x++){
month = month + 1;
if(month == 13){
year ++ ;
month = 1;
}
}
if(day_num != null){
if(isNaN(day_num)){
alert_info("格式化日期错误,第三个参数请传数值");
return ;
}
day = date.getDate();
//得到要计算的年月有多少天
var temp_date = new Date(year,month,0);
for(var x = 0 ; x < day_num ; x++){
day = day + 1;
if(day == temp_date.getDate()){
month ++;
if(month == 13){
year ++ ;
month = 1;
}
day = 1 ;
}
}
if(day < 10){
day = '0' + day ;
}else if(day > temp_date.getDate()){
day = temp_date.getDate() ;
}
}
}
if( month && month < 10){
month = '0' + month ;
}
var return_str = '' ;
if(day){
return_str = year + pattern + month + pattern + day;
}else if(month){
return_str = year + pattern + month ;
}else{
return_str = year + '' ;
}
return return_str;
}
相关文章推荐
- javascript demo 基本技巧
- 基于 laravel 4.1 的简易博客实例
- lomox旧版 的一个demo集合,里面有界面demo源码
- spring传播特性解惑
- DEMO Spring 2010 获奖产品
- pisa python xhtml2pdf demo
- 深入理解Java7笔记一
- java用JXL读取excle文件(demo)示例代码
- JSON案例
- textmate开发一个blog
- Silverlight现有的一部分Demo
- Node.js学习笔记一
- 利用Sharepoint2010进行全文搜索的一个Demo
- Go by Example
- birt hello world(二)
- WebViewDemo源码及解析
- Android笔记 ActionBar+Fragment+ViewPager实现仿微信首页滑动切换窗口
- CXF 实现 WebService (1)
- tips for large team presentation
- 最短路径问题迪杰斯特拉(Dijkstra)Android 测试