/** *显示等待 */ function loadshow(){ $.mobile.loading('show',{text:'数据加载中...',textVisible:'true',theme:'a',textonly:false,html:''}); addMask(); } /** * 移除等待 */ function loadclose() { $.mobile.loading('hide'); $('div[data-role="page"]').find('.loading-mask').remove(); }; // 给加载等待添加遮罩层 function addMask() { var mask = $('
') $('div[data-role="page"]').append(mask); } //写cookies function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } // 读cookies function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; } // 删除cookie function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } var CapType_Rest = 0; //当查询剩余容量时传递 var CapType_Real = 1; //当查询实际容量时传递 var STDAH; //标纯容量 var MonomerVolType; //电池电压类型 // 获取标纯电流 function GetFDCurrent(stdcap,hourrate) { var res = 0.055; switch(hourrate) { case 1: res = 0.514; break; case 2: res = 0.306; break; case 3: res = 0.250; break; case 4: res = 0.200; break; case 5: res = 0.166; break; case 6: res = 0.146; break; case 7: res = 0.131; break; case 8: res = 0.118; break; case 9: res = 0.108; break; case 10: res = 0.100; break; case 20: res = 0.055; break; default: res = 0.055; break; } return (stdcap * res); } // 获取放电小时率 stdah:标纯容量 current:当前电流 function GetHourRate(stdah,current) { var index = 0; var value=[5.14, 3.06, 2.50, 2.00, 1.66, 1.46, 1.31, 1.18, 1.08, 1.00, 0.55, 0.40]; var res; current = Math.abs(current); res = current/(stdah/10); if(res >= 5.14) return 1; else if(res <= 0.55) return 20; else { for(var index=0; index<10; index++) { if((res<=value[index]) && (res>value[index+1])) break; else continue; } if((value[index]-res) < (res-value[index+1])) { return (index+1); } else { if(index+2 > 10) return (20); else return (index+2); } } } function N_TO_10H(n_H) { switch(n_H) { case 1 : return(1/0.55); case 2 : return(1/0.61); case 3 : return(1/0.75); case 4 : return(1/0.79); case 5 : return(1/0.833); case 6 : return(1/0.876); case 7 : return(1/0.917); case 8 : return(1/0.944); case 9 : return(1/0.974); case 10: return(1/1); case 20: return(1/1.1); } return 1.0; } //获取剩余容量 STDAH:标称容量 HourRate:放电小时率 SumAH:测试容量 MaxMonomerVol:最大电池电压 MonomerVol:当前电池组的最低单体电压 //MonomerVolType:电池电压类型 CapType:容量类型(定值是常量) function GetMonomerCap(STDAH,HourRate,SumAH,MaxMonomerVol, MonomerVol,MonomerVolType,CapType) { if((MaxMonomerVol - MonomerVolType*0.9) <= 0) return 0; if(SumAH < 0) SumAH *= (-1); var tmp_cap; tmp_cap = MonomerVol - MonomerVolType * 0.9; tmp_cap *= (STDAH - SumAH * N_TO_10H(HourRate)); var dt_vol = MaxMonomerVol - MonomerVolType*0.9; if(dt_vol < 0.01) dt_vol = 0.01; tmp_cap = tmp_cap/dt_vol; if(tmp_cap < 0) tmp_cap = 0; if(CapType == CapType_Rest) return tmp_cap; else if(CapType == CapType_Real) return (tmp_cap + SumAH * N_TO_10H(HourRate)); else return ((tmp_cap + SumAH * N_TO_10H(HourRate))*100 / STDAH); } /* 获取电池组续航时间 * 续航时长=实际容量/(放电小时率*实际电流(45)) * @param int moncapstd 电池组标称容量 * @param int realcap 电池组实际容量 * @param int curr53 实时电流(53) * */ function getGruopEndurTimeLong(moncapstd, realcap, curr53) { var endurTimeLong = 0; var real_curr45 = curr53*53/45; var hourRate = N_TO_10H(GetHourRate(moncapstd, real_curr45)); endurTimeLong = realcap/(hourRate*real_curr45); return endurTimeLong; } //获取后备时间 function GetRestTimeSecond(restcap,curr) { var tmp_curr = Math.abs(curr); if(tmp_curr < 0.1) tmp_curr = 0.1; var rest_time = ((restcap / tmp_curr) * 3600); if(rest_time > (99*3600)) rest_time = (99*3600); return rest_time; } //将秒转化成时:分:秒 function formatSeconds(value) { if(value > 0){ }else{ value = 0; } var theTime = parseInt(value); // 秒 var theTime1 = 0; // 分 var theTime2 = 0; // 小时 //alert(theTime); if(theTime >= 60) { theTime1 = parseInt(theTime/60); theTime = parseInt(theTime%60); //alert(theTime1+"-"+theTime); if(theTime1 >= 60) { theTime2 = parseInt(theTime1/60); theTime1 = parseInt(theTime1%60); } } var result = (theTime<10?"0":"")+parseInt(theTime); if(theTime1 >= 0) { result =(theTime1<10?"0":"")+parseInt(theTime1)+":"+result; } if(theTime2 >= 0) { result =(theTime2<10?"0":"")+parseInt(theTime2)+":"+result; } return result; } /*从多维数组中获取最大值*/ function getMaxFromArr(arr) { var newArray = arr.join(",").split(","); return Math.max.apply({},newArray); } /*从多维数组中获取最小值*/ function getMinFromArr (arr) { var newArray = arr.join(",").split(","); return Math.min.apply({},newArray); } /** * @param d * the delimiter * @param p * the pattern of your date * @author meizz * @author kimsoft add w+ pattern */ Date.prototype.format = function(style) { var o = { "M+" : this.getMonth() + 1, // month "d+" : this.getDate(), // day "h+" : this.getHours(), // hour "m+" : this.getMinutes(), // minute "s+" : this.getSeconds(), // second "w+" : "\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".charAt(this .getDay()), // week "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter "S" : this.getMilliseconds() // millisecond } if (/(y+)/.test(style)) { style = style.replace(RegExp.$1, (this.getFullYear() + "") .substr(4 - RegExp.$1.length)); } for ( var k in o) { if (new RegExp("(" + k + ")").test(style)) { style = style.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return style; }; /** * @param d * the delimiter * @param p * the pattern of your date * @rebuilder kimsoft * @version build 2006.12.15 */ String.prototype.toDate = function(delimiter, pattern) { delimiter = delimiter || "-"; pattern = pattern || "ymd"; var a = this.split(delimiter); var y = parseInt(a[pattern.indexOf("y")], 10); // remember to change this next century ;) if (y.toString().length <= 2) y += 2000; if (isNaN(y)) y = new Date().getFullYear(); var m = parseInt(a[pattern.indexOf("m")], 10) - 1; var d = parseInt(a[pattern.indexOf("d")], 10); if (isNaN(d)) d = 1; return new Date(y, m, d); }; /* 添加导航条 @param array data 生成面包屑导航内容的数据 data为一个对象数组,每个对象包含基本属性url,txt url存储的为要跳转的连接, txt为文本值 data[i].url, data[i].txt */ function addBreadCrumb(breadcrumb, data) { // 清理导航内容 breadcrumb.text(""); // 遍历data向容器中添加内容 for(var i = 0; i < data.length; i++) { var li; if(data[i].txt.trim().length > 0) { if(i == data.length-1) { li= $('查询数据失败!!!
'+'查询数据内容为空!!!
'+'操作成功!!!
'+'操作失败!!!
'+'