var returnFlg = 0; function post(url, data, func, dataType){ if(returnFlg == 0){ returnFlg = 1; $.post(url, data, function (msg){ returnFlg = 0; func(msg); }, dataType) .error(function(e) { console.log(e); //window.location.reload(); }); }else{ alert($language.validate_js_alert_repeat_submit); } } function getTimezoneOffset(){ var d = new Date(); var offset = d.getTimezoneOffset(); return offset; } function dateFormat(dt) { function checkTime(i) { if (i < 10) i = "0" + i; return i; } var ret = null; if (dt != null && dt instanceof Date) ret = checkTime(dt.getFullYear()) + '-' + checkTime(dt.getMonth() + 1) + '-' + checkTime(dt.getDate()) + ' ' + checkTime(dt.getHours()) + ':' + checkTime(dt.getMinutes()) + ':' + checkTime(dt.getSeconds()); return ret; } function dateFormatNoTime(dt) { function checkTime(i) { if (i < 10) i = "0" + i; return i; } var ret = null; if (dt != null && dt instanceof Date) ret = checkTime(dt.getFullYear()) + '-' + checkTime(dt.getMonth() + 1) + '-' + checkTime(dt.getDate()); return ret; } //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; } //计算天数差的函数,通用 function getDateDiff(startDate, endDate) { var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime(); var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime(); var dates = Math.abs((startTime - endTime))/(1000*60*60*24); return dates; } //计算天数差的函数,通用 function getDateDiff2(startDate, endDate) { var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime(); var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime(); var dates = (startTime - endTime)/(1000*60*60*24); return dates; } function jsonToString (obj){ var THIS = this; switch(typeof(obj)){ case 'string': return '"' + obj.replace(/(["\\])/g, '\\$1') + '"'; case 'array': return '[' + obj.map(THIS.jsonToString).join(',') + ']'; case 'object': if(obj instanceof Array){ var strArr = []; var len = obj.length; for(var i=0; i= 0) { //IE下的事件 otherJScipt.onreadystatechange = function () { //IE下的判断,判断是否加载完成 if (otherJScipt && (otherJScipt.readyState == "loaded" || otherJScipt.readyState == "complete")) { otherJScipt.onreadystatechange = null; if (callback != null) { callback(); } } }; } else { otherJScipt.onload = function () { otherJScipt.onload = null; if (callback != null) { callback(); } }; } } function initDate(dateFmt) { zh_cn_month2=["01","02","03","04","05","06","07","08","09","10","11","12"]; zh_cn_month3=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708",]; zh_cn_month4=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708",]; en_us_month4=["Janu","Febr","Marc","Apri","May","Juhn","July","Augu","Sept","Octo","Nove","Dece"]; en_us_month3=["Jan","Feb","Mar","Apr","May","Juh","Jul","Aug","Sep","Oct","Nov","Dec"]; en_us_month2=["01","02","03","04","05","06","07","08","09","10","11","12"]; zh_cn_week=["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"]; zh_cn_am="\u4e0b\u5348"; zh_cn_pm="\u4e0a\u5348"; en_us_week=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday "]; en_us_am="AM"; en_us_pm="PM"; language=(navigator.userLanguage==undefined?navigator.language:navigator.userLanguage).replace("-","_").toLowerCase(); Date.prototype.format = function(pattern) { if (pattern == null) pattern = dateFmt; pattern = pattern.replace(/:/, ":x"); pattern = pattern.replace(/yyyy/, ":y4"); pattern = pattern.replace(/yy/, ":y2"); pattern = pattern.replace(/MMMM/, ":M4"); pattern = pattern.replace(/MMM/, ":M3"); pattern = pattern.replace(/MM/, ":M2"); pattern = pattern.replace(/dd/, ":d2"); pattern = pattern.replace(/[^:]d/, ":d1"); pattern = pattern.replace(/HH/, ":H2"); pattern = pattern.replace(/[^:]H/, ":H1"); pattern = pattern.replace(/mm/, ":m2"); pattern = pattern.replace(/[^:]m/, ":m1"); pattern = pattern.replace(/ss/, ":s2"); pattern = pattern.replace(/[^:]s/, ":s1"); pattern = pattern.replace(/S+/, ":S"); pattern = pattern.replace(/E+/, ":E"); pattern = pattern.replace(/a+/, ":a"); pattern = pattern.replace(/kk/, ":k2"); pattern = pattern.replace(/[^:]k/, ":k1"); pattern = pattern.replace(/KK/, ":K2"); pattern = pattern.replace(/[^:]K/, ":K1"); pattern = pattern.replace(/hh/, ":h2"); pattern = pattern.replace(/[^:]h/, ":h1"); var year4 = this.getFullYear(); var year2 = year4.toString().substring(2); pattern = pattern.replace(/:y4/, year4); pattern = pattern.replace(/:y2/, year2); var month = this.getMonth(); pattern = pattern.replace(/:M4/, eval(language + "_month4[month]")); pattern = pattern.replace(/:M3/, eval(language + "_month3[month]")); pattern = pattern.replace(/:M2/, eval(language + "_month2[month]")); var dayOfMonth = this.getDate(); var dayOfMonth2 = dayOfMonth; var dayOfMonthLength = dayOfMonth.toString().length; if (dayOfMonthLength == 1) { dayOfMonth2 = "0" + dayOfMonth; } pattern = pattern.replace(/:d2/, dayOfMonth2); pattern = pattern.replace(/:d1/, dayOfMonth); var hours = this.getHours(); var hours2 = hours; var hoursLength = hours.toString().length; if (hoursLength == 1) { hours2 = "0" + hours; } pattern = pattern.replace(/:H2/, hours2); pattern = pattern.replace(/:H/, hours); var minutes = this.getMinutes(); var minutes2 = minutes; var minutesLength = minutes.toString().length; if (minutesLength == 1) { minutes2 = "0" + minutes; } pattern = pattern.replace(/:m2/, minutes2); pattern = pattern.replace(/:m1/, minutes); var seconds = this.getSeconds(); var seconds2 = seconds; var secondsLength = seconds.toString().length; if (secondsLength == 1) { seconds2 = "0" + seconds; } pattern = pattern.replace(/:s2/, seconds2); pattern = pattern.replace(/:s1/, seconds); var milliSeconds = this.getMilliseconds(); pattern = pattern.replace(/:S/, milliSeconds); var day = this.getDay(); pattern = pattern.replace(/:E/, eval(language + "_week[day]")); if (hours > 12) { pattern = pattern.replace(/:a/, eval(language + "_am")); } else { pattern = pattern.replace(/:a/, eval(language + "_pm")); } var kHours = hours; if (kHours == 0) { kHours = 24; } var kHours2 = kHours; var kHoursLength = kHours.toString().length; if (kHoursLength == 1) { kHours2 = "0" + kHours; } pattern = pattern.replace(/:k2/, kHours2); pattern = pattern.replace(/:k1/, kHours); var KHours = hours; if (hours > 11) { KHours = hours - 12; } var KHours2 = KHours; var KHoursLength = KHours.toString().length; if (KHoursLength == 1) { KHours2 = "0" + KHours; } pattern = pattern.replace(/:K2/, KHours2); pattern = pattern.replace(/:K1/, KHours); var hHours = KHours; if (hHours == 0) { hHours = 12; } var hHours2 = hHours; var hHoursLength = hHours.toString().length; if (KHoursLength == 1) { hHours2 = "0" + hHours; } pattern = pattern.replace(/:h2/, hHours2); pattern = pattern.replace(/:h1/, hHours); pattern = pattern.replace(/:x/, ":"); return pattern; }; } function toDecimal(x) { var f = parseFloat(x); if (isNaN(f)) { return; } f = Math.round(x*100)/100; return f; } function displayCurrDay(){ var tommorrow=new Date(); tommorrow.setDate(tommorrow.getDate()+1); var nowDate = new Date().format("yyyy-MM-dd"); var zeroHour = nowDate + " 00:00:00"; var lastHour = dateFormatNoTime(tommorrow) + " 00:00:00"; $("#startDate").val(zeroHour); $("#endDate").val(lastHour); } function displayCurrDay2(){ var tommorrow=new Date(); tommorrow.setDate(tommorrow.getDate()+1); var nowDate = new Date().format("yyyy-MM-dd"); var zeroHour = nowDate ; var lastHour = dateFormatNoTime(tommorrow) ; $("#startDate").val(zeroHour); $("#endDate").val(lastHour); } function getCurrDay(){ var nowDate = new Date().format("yyyy-MM-dd"); return nowDate; } function MillisecondToDate(msd, lang) { var _day_unit = ""; var _hours_unit = ""; var _minutes_unit = ""; var _seconds_unit = ""; if(lang == 'en_US'){ _day_unit = "day "; _hours_unit = "h "; _minutes_unit = "m "; _seconds_unit = "s"; }else{ _day_unit = "天"; _hours_unit = "小时"; _minutes_unit = "分钟"; _seconds_unit = "秒"; } var time = parseFloat(msd) / 1000; if (null != time && "" != time) { if (time > 60 && time < 60 * 60) { time = parseInt(time / 60.0) + _minutes_unit + parseInt((parseFloat(time / 60.0) - parseInt(time / 60.0)) * 60) + _seconds_unit; } else if (time >= 60 * 60 && time < 60 * 60 * 24) { time = parseInt(time / 3600.0) + _hours_unit + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) + _minutes_unit + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + _seconds_unit; } else { var day = parseInt(time / (60 * 60 * 24)); time = time - day*24*60*60; time = day + _day_unit + parseInt(time / 3600.0) + _hours_unit + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) + _minutes_unit + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + _seconds_unit; } } return time; } /** * 计算字符长度,中文占两个字节 * @param sTargetStr * @returns {Number} */ function calculate_byte(sTargetStr) { var sTmpStr, sTmpChar; var nOriginLen = 0; var nStrLength = 0; sTmpStr = new String(sTargetStr); nOriginLen = sTmpStr.length; for ( var i=0 ; i < nOriginLen ; i++ ) { sTmpChar = sTmpStr.charAt(i); if (escape(sTmpChar).length > 4) { nStrLength += 2; } else if (sTmpChar!='/r') { nStrLength ++; } } return nStrLength; } /** * hex转string * @param arr hex数组 * @returns {String} */ function hexToString(arr){ var val=""; for(var i = 0; i < arr.length; i++){ val += String.fromCharCode(arr[i]); } return val; } //IP转成整型 function _ip2int(ip) { var num = 0; ip = ip.split("."); num = Number(ip[3]) * 256 * 256 * 256 + Number(ip[2]) * 256 * 256 + Number(ip[1]) * 256 + Number(ip[0]); num = num >>> 0; return num; } //整型解析为IP地址 function _int2iP(num) { var str; var tt = new Array(); tt[0] = (num >>> 24) >>> 0; tt[1] = ((num << 8) >>> 24) >>> 0; tt[2] = (num << 16) >>> 24; tt[3] = (num << 24) >>> 24; str = String(tt[3]) + "." + String(tt[2]) + "." + String(tt[1]) + "." + String(tt[0]); return str; } function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds(); return currentdate; } function getBrowserName(){ var userAgent = window.navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOpera) { return "Opera"; }; //判断是否Opera浏览器 if (userAgent.indexOf("Firefox") > -1) { return "Firefox"; } //判断是否Firefox浏览器 if (userAgent.indexOf("Chrome") > -1){ if(window.navigator.webkitPersistentStorage){ return "Chrome"; }else{ return "360"; } } if (userAgent.indexOf("Safari") > -1) { return "Safari"; } //判断是否Safari浏览器 if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { return "IE"; }; //判断是否IE浏览器 } function isSupportBrowser(){ var bn = getBrowserName(); if(bn == "Chrome" || bn == "Firefox" || bn == "Edge"){ return true; } return false; } function isIE8Below(){ var DEFAULT_VERSION = 8.0; var ua = navigator.userAgent.toLowerCase(); var isIE = ua.indexOf("msie")>-1; var safariVersion = 9; if(isIE){ safariVersion = ua.match(/msie ([\d.]+)/)[1]; safariVersion = parseFloat(safariVersion); } if(safariVersion <= DEFAULT_VERSION ){ return true; } return false; } function getOnlineUserPointIcon(type, locateFunction, locateStatus){ if(type.toString() == "vc"){ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/2/online/1.png"; }else{ return "images/2/online/2.png"; } }else{ return "images/2/online/3.png"; } }else if(type.toString() == "3A50E" || type.toString() == "4A30E"){ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/1/online/1.png"; }else{ return "images/1/online/2.png"; } }else{ return "images/1/online/1.gif"; } }else{ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/0/online/members_online_gps.png"; }else{ return "images/0/online/members_online_gps_no_open.png"; } }else{ return "images/0/online/members_online_no_gps.png"; } } } function getOfflineUserPointIcon(type, locateStatus){ if(type.toString() == "vc"){ if(locateStatus == "1"){ return "images/2/offline/1.png"; }else{ return "images/2/offline/2.png"; } }else if(type.toString() == "3A50E" || type.toString() == "4A30E"){ if(locateStatus == "1"){ return "images/1/offline/1.png"; }else{ return "images/1/offline/1.gif"; } }else{ if(locateStatus == "1"){ return "images/0/offline/members_offline1.png"; }else{ return "images/0/offline/members_offline2.png"; } } } function getOnlineUserPointIcon1(type, locateFunction, locateStatus){ if(type.toString() == "vc"){ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/2/online/1.png"; }else{ return "images/2/online/2.png"; } }else{ return "images/2/online/3.png"; } }else if(type.toString() == "3A50E" || type.toString() == "4A30E"){ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/1/online/1.png"; }else{ return "images/1/online/2.png"; } }else{ return "images/1/online/1.gif"; } }else{ if(locateFunction == "1"){ if(locateStatus == "1"){ return "images/weixin/members_online_gps.png"; }else{ return "images/weixin/members_online_gps_no_open.png"; } }else{ return "images/weixin/members_online_no_gps.png"; } } } function getOfflineUserPointIcon1(type, locateStatus){ if(type.toString() == "vc"){ if(locateStatus == "1"){ return "images/2/offline/1.png"; }else{ return "images/2/offline/2.png"; } }else if(type.toString() == "3A50E" || type.toString() == "4A30E"){ if(locateStatus == "1"){ return "images/1/offline/1.png"; }else{ return "images/1/offline/1.gif"; } }else{ if(locateStatus == "1"){ return "images/weixin/members_offline1.png"; }else{ return "images/weixin/members_offline2.png"; } } } function getTreeNodeImage(devicetype, onlineStatus, locateFunction, locateStatus){ if(devicetype == "vc"){ if(locateFunction == "1"){ if(onlineStatus == "1"){ if(locateStatus == "1"){ return "images/vc_online_gps.png"; }else{ return "images/vc_online_gps_no_open.png"; } }else{ return "images/vc_offline_gps.png"; } }else{ if(onlineStatus == "1"){ return "images/vc_online_no_gps.png"; }else{ return "images/vc_offline.png"; } } }else if(devicetype == "3A50E" || devicetype == "4A30E"){ if(locateFunction == "1"){ if(onlineStatus == "1"){ if(locateStatus == "1"){ return "images/vehicle_online_gps.png"; }else{ return "images/vehicle_online_gps_no_open.png"; } }else{ return "images/vehicle_offline1.png"; } }else{ if(onlineStatus == "1"){ return "images/vehicle_online_no_gps.png"; }else{ return "images/vehicle_offline2.png"; } } }else{ if(locateFunction == "1"){ if(onlineStatus == "1"){ if(locateStatus == "1"){ return "images/members_online_gps.png"; }else{ return "images/members_online_gps_no_open.png"; } }else{ return "images/members_offline1.png"; } }else{ if(onlineStatus == "1"){ return "images/members_online_no_gps.png"; }else{ return "images/members_offline2.png"; } } } } function showPassword(passwordName, showPasswordImageName){ var password = $("#" + passwordName).val(); var type = $('#' + passwordName).attr("type").toString(); if(type != 'password'){ $("#" + showPasswordImageName).prop("src", "images/password_show.png"); $("#" + passwordName).prop("type", "password"); }else{ $("#" + showPasswordImageName).prop("src", "images/password_hide.png"); $("#" + passwordName).prop("type", "text"); } } //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return unescape(r[2]); return null; //返回参数值 } function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; } Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } }; function checkPermission(name){ if($("#" + name).prop("checked")){ $("#" + name).val(1); }else{ $("#" + name).val(0); } } function checkPermissions(functionName, names){ if($("#" + functionName).prop("checked")){ for(var i = 0; i < names.length; i++){ $("#" + names[i]).prop("checked", true); $("#" + names[i]).val(1); } }else{ for(var i = 0; i < names.length; i++){ $("#" + names[i]).prop("checked", false); $("#" + names[i]).val(0); } } } function checkParentPermissions(functionName, names){ var flg = true; for(var i = 0; i < names.length; i++){ if($("#" + names[i]).prop("checked")){ $("#" + functionName).prop("checked", true); flg = false; break; } } if(flg){ $("#" + functionName).prop("checked", false); } } function GroupInfoSortForId(arr){ var i, j; var temp; var done = false; j = 1; while ((j < arr.length) && (!done))//判断长度 { done = true; for (i = 0; i < arr.length - j; i++) { var id1 = arr[i].groupId; var id2 = arr[i + 1].groupId; if (arr[i].nodes == null) { id1 = 0; } if (arr[i + 1].nodes == null) { id2 = 0; } if (id1 > id2) { done = false; temp = arr[i]; arr[i] = arr[i + 1];//交换数据 arr[i + 1] = temp; } } j++; } return arr; } function GroupInfoSort(arr) { var i, j; var temp; var done = false; j = 1; while ((j < arr.length) && (!done))//判断长度 { done = true; for (i = 0; i < arr.length - j; i++) { if(arr[i].nodes == null || arr[i + 1].nodes == null) { continue; } if (arr[i].nodes.length > arr[i + 1].nodes.length) { done = false; temp = arr[i]; arr[i] = arr[i + 1];//交换数据 arr[i + 1] = temp; } } j++; } return arr; }