var helper = {}; helper.http = { newXMLHttp: function() { var XMLHttp = null; if(window.XMLHttpRequest) { XMLHttp = new XMLHttpRequest(); } if(XMLHttp == null && window.ActiveXObject) { var clsids = ["MSXML2.XMLHttp.7.0", "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp.2.0", "MSXML2.XMLHttp.1.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"]; for(var i = 0; i < clsids.length && XMLHttp == null; i++) { try { XMLHttp = new ActiveXObject(clsids[i]); } catch(e) {} } } return XMLHttp; }, get: function(URL, func) { try { var XMLHttp = this.newXMLHttp(); if(typeof(func) != "function") { XMLHttp.open("GET", URL, false); XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); XMLHttp.send(null); var result = XMLHttp.status; var responseText = XMLHttp.responseText; if(result == 200) { return responseText; } else { return result; } } else { XMLHttp.onreadystatechange = function() { if(XMLHttp.readyState == 4) { if(XMLHttp.status == 200) { var responseText = XMLHttp.responseText; func(responseText); } else { func(false); } } }; XMLHttp.open("GET", URL, true); XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); XMLHttp.send(null); } } catch(e) {} }, post: function(URL, data, func) { try { var XMLHttp = this.newXMLHttp(); if(typeof(func) != "function") { XMLHttp.open("POST", URL, false); XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); XMLHttp.send(data); var result = XMLHttp.status; var responseText = XMLHttp.responseText; if(result == 200) { return responseText; } else { return false; } } else { XMLHttp.onreadystatechange = function() { if(XMLHttp.readyState == 4) { if(XMLHttp.status == 200) { var responseText = XMLHttp.responseText; func(responseText); } else { func(false); } } }; XMLHttp.open("POST", URL, true); XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); XMLHttp.send(data); } } catch(e) {} } }; helper.cookies = { del: function(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = helper.cookies.get(name); if(cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); }, set: function(name, value, remember) { if(remember == true) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString(); } else { document.cookie = name + "=" + escape(value) + ";path=/"; } }, setday: function(name, value, remember) { var Days = remember; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString(); }, setdomain: function(name, value, remember) { var domain = window.location.host.split("."); if(remember == true) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=." + domain[domain.length - 2] + "." + domain[domain.length - 1]; } else { document.cookie = name + "=" + escape(value) + ";path=/" + ";domain=." + domain[1] + "." + domain[2]; } }, get: function(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if(arr = document.cookie.match(reg)) { return unescape(arr[2]); } else { return ''; } } }; /* 获取URL中指定的参数 例如: URL:test.com/test.aspx?test=t var t=help.request.queryString("test"); 得到t */ helper.request = { queryString: function(item) { locationSearch = ""; var tmpLocationArr = location.href.split("?"); if(tmpLocationArr.length > 1) locationSearch = "?" + tmpLocationArr[1]; var svalue = locationSearch.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i")); var Qvalue = svalue ? svalue[1] : svalue; if(Qvalue == null) { return ""; } else { return Qvalue.trim(); } }, queryurl: function(url, item) { locationSearch = ""; var tmpLocationArr = url.split("?"); if(tmpLocationArr.length > 1) locationSearch = "?" + tmpLocationArr[1]; var svalue = locationSearch.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i")); var Qvalue = svalue ? svalue[1] : svalue; if(Qvalue == null) { return ""; } else { return Qvalue.trim(); } } }; helper.pager = { //分页 PageList1: function(strFunName) { /***总页数***/ var intPageCount = parseInt((parseInt(intRecordCount) + parseInt(intPageSize) - 1) / parseInt(intPageSize)); if(intPageCount <= 1) { return ""; } /***页码距***/ var intPageCurrent = 10; /***起始页码***/ var intStartPage = (parseInt((parseInt(intPageIndex) + intPageCurrent - 1) / intPageCurrent) - 1) * intPageCurrent + 1; /***结束页码***/ var intEndPage = intStartPage + intPageCurrent - 1; if(intPageIndex % intPageCurrent == 0) { intStartPage++; intEndPage++; } if(intPageIndex % intPageCurrent - 1 == 0 && intPageIndex != 1) { intStartPage--; intEndPage--; } if(intEndPage >= intPageCount) { intEndPage = intPageCount; } /***上一页,下一页***/ var intUpPage = parseInt(intPageIndex) - 1; var intDownPage = parseInt(intPageIndex) + 1; var strUpPage = "上一页"; var strDownPage = "下一页"; if(intUpPage < 1) { //intUpPage = 1; strUpPage = ""; } if(intPageIndex >= intPageCount) { //intDownPage = intPageCount; strDownPage = ""; } /***生成页码列表***/ var strPageList = strUpPage; for(var i = intStartPage; i <= intEndPage; i++) { if(intPageIndex == i) { /***当前页码***/ strPageList += "" + i + ""; } else { strPageList += "" + i + ""; } } strPageList += strDownPage; //直接跳转 strPageList += "总页数:" + intPageCount + " / "; strPageList += ""; strPageList += " 跳转"; return strPageList; }, checkPageValue: function() { var intPageIndexNext = document.getElementById('tb_index').value; if(parseInt(intPageIndexNext) == 0) { document.getElementById('tb_index').value = "1"; $.jBox.alert('输入页面不能为0', '提示'); return; } if(intPageIndexNext == "") { document.getElementById('tb_index').value = "1"; $.jBox.alert('输入页面不能为空', '提示'); return; } if(intPageIndexNext.length != 0) { var intPageCount = parseInt((parseInt(intRecordCount) + parseInt(intPageSize) - 1) / parseInt(intPageSize)); if(intPageIndexNext <= intPageCount) { intPageIndex = intPageIndexNext; loadlist(); } else { document.getElementById('tb_index').value = intPageCount; $.jBox.alert('输入页面不能大于总页数', '提示'); } } else { document.getElementById('tb_index').value = "1"; } }, loadJS: function(url) { var domScript = document.createElement('script'); domScript.type = "text/javascript"; domScript.src = url; domScript.onload = domScript.onreadystatechange = function() { if(!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) { this.onload = this.onreadystatechange = null; this.parentNode.removeChild(this); } }; document.getElementsByTagName('head')[0].appendChild(domScript); } }; helper.masklayer = { layer: null, showcount: 0, show: function() { this.layer = document.getElementById("masklayer"); if(!this.layer) { this.layer = document.createElement("div"); this.layer.id = "masklayer"; this.layer.className = "masklayer"; /*this.layer.style.position = "absolute"; this.layer.style.top = "0"; this.layer.style.left = "0"; this.layer.style.zIndex = 1000; var width = Math.max( Math.max(document.body.clientWidth, document.documentElement.clientWidth), Math.max(document.body.scrollWidth, document.documentElement.scrollWidth) ); var height = Math.max( Math.max(document.body.clientHeight, document.documentElement.clientHeight), Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) ); this.layer.style.width = width + "px"; this.layer.style.height = height + "px";*/ this.layer.innerHTML = "" + "
"; document.body.appendChild(this.layer); } this.showcount++; }, hide: function() { if(--this.showcount == 0) { if(this.layer && this.layer.parentNode) { this.layer.parentNode.removeChild(this.layer); } } }, moveToCenter: function(e, x, y) { if(e.style.display == "none") e.style.display = ""; var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft); if(x > 0) { x += scrollLeft; } else x = parseInt((document.documentElement.clientWidth - e.clientWidth) / 2) + scrollLeft; if(y > 0) { y += scrollTop; } else y = parseInt((document.documentElement.clientHeight - e.clientHeight) / 2) + scrollTop; x = x < 0 ? 0 : x; y = y < 50 ? 50 : y; e.style.left = x + "px"; e.style.top = y + "px"; } }; helper.filter = { Transcoding: function(content) { content = content.replace(/∞L/g, "<"); content = content.replace(/∞R/g, ">"); content = content.replace(/∞∴/g, "'"); content = content.replace(/∞≡/g, "#"); content = content.replace(/∞※/g, "\""); return content; }, //过滤html filterHTMLTag: function(str) { str = str.replace(/<\/?[^>]*>/g, ''); //去除HTML tag str = str.replace(/[ | ]*\n/g, '\n'); //去除行尾空白 //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行 str = str.replace(/ /ig, ''); //去掉 return str; } }; function str2asc(strstr) { return("0" + strstr.charCodeAt(0).toString(16)).slice(-2); } helper.url = { getpara: function(name) { var val; paras = window.location.search; paras = paras.substr(1); paraarray = paras.split("&"); for(i = 0; i < paraarray.length; i++) { temp = paraarray[i].split("="); if(temp[0] == name) { val = temp[1]; break; } } if(val == null || val == "") { return ""; } else { return val; } } }; helper.sys = { getElementsByClassName: function(pnode, className) { var nodes = pnode.getElementsByTagName('*'); var elements = new Array(); for(var i = 0; i < nodes.length; i++) { if(nodes[i].className == className) { elements[elements.length] = nodes[i]; } } return elements; }, removeElement: function(element) { if(element && element.parentNode) { element.parentNode.removeChild(element); return true; } else { return false; } }, Return: function(url) { top.location.href = url; } }; helper.DateFormat = { d2s: function(postdate) { var second = 1000; var minutes = second * 60; var hours = minutes * 60; var days = hours * 24; var months = days * 30; var twomonths = days * 365; var myDate = new Date(Date.parse(postdate)); if(isNaN(myDate)) { myDate = new Date(postdate.replace(/-/g, "/")); } var nowtime = new Date(); var longtime = nowtime.getTime() - myDate.getTime(); var showtime = 0; if(longtime > months * 2) { return postdate; } else if(longtime > months) { return "1个月前"; } else if(longtime > days * 7) { return("1周前"); } else if(longtime > days) { return(Math.floor(longtime / days) + "天前"); } else if(longtime > hours) { return(Math.floor(longtime / hours) + "小时前"); } else if(longtime > minutes) { return(Math.floor(longtime / minutes) + "分钟前"); } else if(longtime > second) { return(Math.floor(longtime / second) + "秒前"); } else { return("刚刚"); } }, getPreMonth: /** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中月的天数 var year2 = year; var month2 = parseInt(month) - 1; if(month2 == 0) { year2 = parseInt(year2) - 1; month2 = 12; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if(day2 > days2) { day2 = days2; } if(month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }, getNextMonth: /** * 获取下一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中的月的天数 var year2 = year; var month2 = parseInt(month) + 1; if(month2 == 13) { year2 = parseInt(year2) + 1; month2 = 1; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if(day2 > days2) { day2 = days2; } if(month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }, getNowDate: function() { var NowDate; var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) var YY = myDate.getFullYear(); //获取完整的年份(4位,1970-????) var MM = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月) var DD = myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime = myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString(); //获取日期与时间 NowDate = YY + "-" + MM + "-" + DD; return NowDate; }, getFirstDayInCurrentMonth: function() { var NowDate; var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) var YY = myDate.getFullYear(); //获取完整的年份(4位,1970-????) var MM = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月) var DD = myDate.getDate(); //获取当前日(1-31) NowDate = YY + "-" + MM + "-1"; return NowDate; }, getNowYear: function() { //获取当前年份 var myDate = new Date(); return myDate.getFullYear(); //获取完整的年份(4位,1970-????) }, }; helper.string = { stringbuilder: function() { this.arr = new Array(); this.append = function(str) { this.arr.push(str); }; this.tostring = function() { return this.arr.join(''); }; } }; helper.getDropList = { getDept: function(el) { //获取部门 el.select2({ width: 'resolve', minimumResultsForSearch: -1, ajax: { type: "get", url: huayi.config.callcenter_url + "Department/GetDeptList", async: true, dataType: "json", data: function(params) { return { token: $.cookie("token"), pid: params.id } }, processResults: function(data) { return { results: data.data } }, cache: true }, placeholder: "请选择", }); }, } helper.HtmlUtil = { /*1.用浏览器内部转换器实现html转码*/ htmlEncode:function (html){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement ("div"); //2.然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(火狐,google支持) (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html); //3.最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了 var output = temp.innerHTML; temp = null; return output; }, /*2.用浏览器内部转换器实现html解码*/ htmlDecode:function (text){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement("div"); //2.然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持) temp.innerHTML = text; //3.最后返回这个元素的innerText(ie支持)或者textContent(火狐,google支持),即得到经过HTML解码的字符串了。 var output = temp.innerText || temp.textContent; temp = null; return output; }, /*3.用正则表达式实现html转码*/ htmlEncodeByRegExp:function (str){ var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(//g,">"); s = s.replace(/ /g," "); s = s.replace(/\'/g,"'"); s = s.replace(/\"/g,"""); return s; }, /*4.用正则表达式实现html解码*/ htmlDecodeByRegExp:function (str){ var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(/</g,"<"); s = s.replace(/>/g,">"); s = s.replace(/ /g," "); s = s.replace(/'/g,"\'"); s = s.replace(/"/g,"\""); return s; } } helper.init = { setajax: function(isload) { /// 配置AJAX $(document).on("ajaxStart", function() { if(isload) { //加载框显示 } }).on("ajaxSuccess", function(e, jqXHR, s, data) { try { if(s.type == "POST") { if(typeof(data) != 'object') { data = $.parseJSON(data); } } if(s.type == "GET") { data = data } if(data.state.toLowerCase() == "notoken") { top.window.location.href = "/login.html"; return; } if(data.state.toLowerCase() == "unauthorized") { layer.confirm(data.message, { btn: ['确定'] //按钮 }); } if(data.state.toLowerCase() == "error") { layer.confirm(data.message, { btn: ['确定'] //按钮 }); } } catch(e) { if(isload) { //加载框消失 } } }).on("ajaxStop", function() { if(isload) { //加载框消失 } }) }, setdh: function() { $(document).ready(function() { $("#ReIndex").click(function() { top.$("iframe:visible")[0].src = "widgets.html"; }); $(".dhRight").click(function() { location.reload(); }) }) } } helper.init.setajax(); helper.init.setdh(); helper.method = { // 导出列表 exportFileFun:function (api, params) { var url = huayi.config.callcenter_url + api; if(typeof(params) !== "object") { return } // 分页为空 Object.keys(params).forEach(function(key, index) { if(index === 0) { url += `?${key}=${params[key]}` } else { url += `&${key}=${params[key]}` } }) window.location.href = url; } }