var loginUrl = "/admin/login.html"; /** * 获取当前运行程序的根 * @returns */ function getContextPath(){ var pathName = document.location.pathname; var index = pathName.substr(1).indexOf("/"); var result = pathName.substr(0,index+1); return result; } var urlPath = getContextPath(); function getPath() { return 'http://' + window.location.host + getContextPath() + "/"; } /** * 普通弹框 * strMsg:弹出消息内容 * title:对话框标题 * options:{name:对话框ID, * moveable:可移动的false(默认),不启用; true,启用;} * */ $.Alert = function(strMsg, title, options){ layui.use('layer', function(){ var layer = layui.layer; layer.alert(strMsg, {icon: 6}); }); }; $.SuccAlert = function(strMsg, title, options){ layui.use('layer', function(){ var layer = layui.layer; strMsg=strMsg.replace(/\r\n/g,"
") strMsg=strMsg.replace(/\n/g,"
"); layer.alert(strMsg, {icon: 1}); }); }; $.ErrorAlert = function(strMsg, title, options){ layui.use('layer', function(){ var layer = layui.layer; strMsg=strMsg.replace(/\r\n/g,"
") strMsg=strMsg.replace(/\n/g,"
"); layer.alert(strMsg, {icon: 2}); }); }; /** * $.request * 描述:发送ajax请求,发送请求时默认添加参数MINView=JSON,请求的参数是json格式 * 参数: * options[map]:需要发送的请求的url地址 * data[map]:需要发送的请求的参数,支持数组参数 * success[function]:操作成功后(MINStatus=0)执行的方法 * data[map]:从服务器端返回的结果的json对象 * error[function]:操作失败后(MINStatus=1)执行的方法 * data[map]:从服务器端返回的结果的json对象 * loading[boolean]:通讯过程中是否显示loading条,默认true */ $.request = function(options) { var action = options.action; var data = options.data; var success = options.success; var error = options.error; var fatal = options.fatal; var loading = options.loading != false; var async = options.async; var method = options.method==null?"POST":options.method; var lang = options.lang == false ? false : true; if (data == null) data = {}; if (data.MINView == null){ data.MINView = "JSON"; } var loadingId; if(loading) { layui.use('layer', function(){ var layer = layui.layer; loadingId = layer.msg('处理中...', {icon: 16,shade: [0.5, '#f5f5f5'],scrollbar: false,offset: 'auto', time:100000}) ; }); } action = action.replace("../", ""); action = action.replace("../", ""); action = action.replace("../", ""); action = 'http://' + window.location.host + getContextPath() + "/" + action; $.ajax({ url : action, data : data, async : async, type:method, success : function(responseTxt, statusTxt, xhr) { layui.use('layer', function(){ var layer = layui.layer; layer.close(loadingId); }); if (statusTxt == "success") { var obj = $.parseJSON(responseTxt); if (obj.MINStatus == "0") {//正常返回 if (success != null){ success(obj); } } else if (obj.MINStatus == "1") {//正常返回,但是提示错误 if (error != null) { error(obj); } else { $.Alert(obj.MINErrorMessage); } } else if (obj.MINStatus == "2") {//登录超时 $.Alert("登录超时,3秒后跳到登录页面", "登录超时"); //setTimeout('top.location.href = "http://'+ window.location.host +getContextPath() + loginUrl +'"', 3000); setTimeout('parent.window.location.href = "http://'+ window.location.host +getContextPath() + loginUrl +'"', 3000); } }else if(statusTxt == "error"){ $.Alert(xhr.status + ":" + xhr.statusText); } }, error: function (xhr, textStatus, errorThrown) { layui.use('layer', function(){ var layer = layui.layer; layer.close(loadingId); }); $.ErrorAlert("请求后台失败"); } }); }; /** * 主页跳转 */ $.turnPage = function(pageUrl){ $.get(pageUrl, function(responseTxt, statusTxt, xhr) { $("#mainContex").html(responseTxt); }); }; function isEmpty(str) { if(str == 'undefined' || str == "" || str == null) { return true; } return false; } //$.fmtMoney //描述:格式化金额字符串 //参数: // cash[string]:金额字符串 //返回:格式化后的金额字符串[string] //示例: // 代码: // var amount = $.fmtMoney("12.3"); // 结果:amount="12.30"; var MINNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); var MINDigits = new Array("", "拾", "佰", "仟"); var MINUnits = new Array("", "万", "亿", "万亿", "仟兆"); $.fmtMoney = function(cash) { var temp = cash.toString(); if (temp.length == 0) { return "0.00"; } var dotPos = temp.indexOf("."); if (dotPos < 0) { return temp + '.00'; } if (dotPos == 0) { temp = '0' + temp; dotPos = temp.indexOf("."); } if (dotPos == temp.length - 2) { return temp + '0'; } if (dotPos == temp.length - 1) { return temp + '00'; } return temp; }; $.testAmt = function(cash){ var regex = /^([1-9][\d]{0,14}|0)(\.[\d]{1,2})?$/; return regex.test(cash); }; //为金额添加,分割符和.分割符 $.toCashWithCommaAndDot = function(cash){ if($.testAmt(cash)){ var temp = $.toCashWithComma( cash ); return $.fmtMoney(temp); }else return cash; }; //为金额添加,分割符 $.toCashWithComma = function( cash ) { while( cash.charAt(0) == '0' ) { cash = cash.substr(1); } if( cash.indexOf('.')<0 ){ return $.addComma(cash); } var dotIndex = cash.indexOf('.'); var integerCash = cash.substring( 0, dotIndex ); var decimalCash = cash.substring( dotIndex,dotIndex+3 ); cash = $.addComma(integerCash)+decimalCash; if (cash == '.00'){ cash = '0.00'; } return cash; }; //添加逗号分隔符 $.addComma = function(str) { if (str.length > 3) { var mod = str.length % 3; var output = (mod > 0 ? (str.substring(0,mod)) : ''); for (i=0 ; i < Math.floor(str.length / 3); i++) { if ((mod == 0) && (i == 0)) output += str.substring(mod+ 3 * i, mod + 3 * i + 3); else output += ',' + str.substring(mod + 3 * i, mod + 3 * i + 3); } return (output); } else return str; }; //移除格式 $.removeComma = function(str) { return str.replace(new RegExp('\,', [ "g" ]), ''); }; //移除格式,如果为整数,不要.00 $.removeCommaNoZero = function(str) { var cash= str.replace(new RegExp('\,', [ "g" ]), ''); var decimalCash = cash.substring( cash.indexOf('.')+1 ); if(parseInt(decimalCash)==0){ return parseInt(cash); } return cash; }; //$.toChineseCash //描述:格式化大写金额字符串 //参数: // cash[string]:金额字符串 //返回:格式化后的大写金额字符串[string] //示例: // 代码: // var amount = $.toChineseCash("12.3"); // 结果:amount="拾贰圆叁角"; $.toChineseCash = function(cash) { cash = fomatFloat(cash,2); if(cash == "0.00"){ return "零圆"; } if(!$.testAmt($.removeComma(cash))) return ""; if (cash == null || cash.length == 0) { return ''; } if (cash.indexOf(".")<0){ cash = cash+".00"; } if (cash.indexOf(".")==0){ cash = "0"+cash; if(cash.length==1){ cash = cash+"00"; } } var noCommaCash = $.removeComma(cash); if (parseFloat(cash) == 0) { return ''; } var convertIntegerToChineseCash = function(cash1) { if (cash1 == "0") return ""; var s = ""; // 返回值 var p = 0; // 字符位置指针 var m = cash1.length % 4; // 取模 // 四位一组得到组数 var k = (m > 0 ? Math.floor(cash1.length / 4) + 1 : Math.floor(cash1.length / 4)); // 外层循环在所有组中循环 // 从左到右 高位到低位 四位一组 逐组处理 // 每组最后加上一个单位: "[万亿]","[亿]","[万]" for ( var i = k; i > 0; i--) { var L = 4; if (i == k && m != 0) { L = m; } // 得到一组四位数 最高位组有可能不足四位 var s1 = cash1.substring(p, p + L); var l = s1.length; // 内层循环在该组中的每一位数上循环 从左到右 高位到低位 for ( var j = 0; j < l; j++) { var n = parseInt(s1.substring(j, j + 1)); if (n == 0) { if ((j < l - 1) && (parseInt(s1.substring(j + 1, j + 1 + 1)) > 0) // 后一位(右低) && s.substring(s.length - 1, s.length) != MINNums[n]) { s += MINNums[n]; } } else { s += MINNums[n]; s += MINDigits[l - j - 1]; } } p += L; // 每组最后加上一个单位: [万],[亿] 等 if (i < k)// 不是最高位的一组 { if (parseInt(s1) != 0) { // 如果所有 4 位不全是 0 则加上单位 [万],[亿] 等 s += MINUnits[i - 1]; } } else { // 处理最高位的一组,最后必须加上单位 s += MINUnits[i - 1]; } } // alert(s); return s + "圆"; }; var convertDecimalToChineseCash = function(cash2) { var returnCash = ""; if (cash2 == "00"||cash2 == "0") returnCash = "整"; else { for ( var i = 0; i < cash2.length; i++) { if (i >= 2) break;// 截取两位小数 var intValue = parseInt(cash2.charAt(i)); switch (i) { case 0: if (intValue != 0) returnCash += MINNums[intValue] + "角"; break; case 1: if (intValue != 0) returnCash += MINNums[intValue] + "分"; break; default: break; } } } return returnCash; }; if (!isFloat(noCommaCash)) { return convertIntegerToChineseCash(noCommaCash); } var dotIndex = noCommaCash.indexOf('.'); var integerCash = noCommaCash.substring(0, dotIndex); var decimalCash = noCommaCash.substring(dotIndex + 1); integerCash = convertIntegerToChineseCash(integerCash); // 1001.01 一千零一元零一分 if (integerCash != "" && decimalCash.substring(0, 1) == "0" && (decimalCash.substring(1) != "0" && decimalCash.substring(1) != "")) { integerCash = integerCash + "零"; } return integerCash + convertDecimalToChineseCash(decimalCash); } function isFloat(s2) { var isFloat1 = RegExp(/^([0-9]+(\.+))[0-9]+$/); return (isFloat1.test(s2)); } /** * 设定临时值 * @param key * @param val */ function setTempVal(key, val) { $.zui.store.pageSet(key, val); } /** * 获取临时值 * @param key * @param val */ function getTempVal(key) { $.zui.store.pageGet(key); } /** * 获取get的参数 * @param name * @returns */ function getQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } /** * 存储当前行数据 * @param rowData */ function setNowRowData(rowData) { layui.sessionData("ROW_DATA", {key:"NOW_ROW", value:rowData}); } /** * 存储当前行数据 * @param rowData 列数据 * @param params:{} * fields:[{field: 'id', title: 'ID'}, * {field: 'name', title: '用户名'}, * {field: 'headImg', title: '头像', img:true}, * {field: 'remark', title: '备注', maxlength:40}]] * columnNumber:2 // 明细页面显示的列数 */ function setNowRowData(rowData, params) { rowData.params = params; layui.sessionData("ROW_DATA", {key:"NOW_ROW", value:rowData}); } /** * 获取当前行数据 * @returns */ function getNowRowData() { return layui.sessionData("ROW_DATA").NOW_ROW; } //产生随机数函数 function rndNum(n){ var rnd=""; for(var i=0;i'; for(var k in selectVal){ //通过定义一个局部变量k遍历获取到了map中所有的key值 var itemVal = selectVal[k]; //获取到了key所对应的value的值! html = html + ''; } html = html + ''; $("#" + id).html(html); } /** * 生成基本样式下拉列表 第二种 * @param id div的ID * @param paramKey 应用参数名(例:IM_BRANCH_STATE) * @param selectName 下拉列表的id或者name * @param selectOption 默认选择的选项 * @param isSearchSelect 是否是可以搜搜的选择框 */ function initSelectb(id, paramKey, selectName, selectOption, isSearchSelect) { var selectVal = getAppParam(paramKey); if(isEmpty(selectVal)) { return false; } var html = ''; $("#" + id).html(html); } /** * 生成复选框 * @param id div的ID * @param paramKey 应用参数名(例:IM_BRANCH_STATE) * @param selectName 下拉列表的id或者name * @param selectOption 默认选择的选项 */ function initCheckBox(id, paramKey, selectName, selectOption) { var selectVal = getAppParam(paramKey); if(isEmpty(selectVal)) { return false; } var html = ""; for(var k in selectVal){ //通过定义一个局部变量k遍历获取到了map中所有的key值 var itemVal = selectVal[k]; //获取到了key所对应的value的值! html = html + ''; } $("#" + id).html(html); } /** * 生成下拉列表---自己有值 * @param id div的ID * @param selectVal 需要设定的值 * @param selectName 下拉列表的id或者name * @param selectOption 默认选择的选项 */ function initSelectByVal(id, selectVal, selectName, selectOption) { if(isEmpty(selectVal)) { return false; } var html = ""; var html = ''; $("#" + id).html(html); } /** * 生成单选框 * @param id div的ID * @param paramKey 应用参数名(例:IM_BRANCH_STATE) * @param selectName 下拉列表的id或者name * @param selectOption 默认选择的选项值 */ function initRadio(id, paramKey, selectName, selectOption) { var selectVal = getAppParam(paramKey); if(isEmpty(selectVal)) { return false; } var html = ""; for(var k in selectVal){ //通过定义一个局部变量k遍历获取到了map中所有的key值 var itemVal = selectVal[k]; //获取到了key所对应的value的值! html = html + ''; } $("#" + id).html(html); } /** * js转意字符 * @param str * @returns */ function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); } /** *详情查看,去掉

等图书符号 */ function escape2Htmlb(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; var stt = str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){ return arrEntities[t]; }); return escape2Html(stt).replace(/<.*?>/ig,""); } /** *根据表id监听switch */ function switchMonitor(data,tableTest,id,is){ var change = data.elem.checked; alert(this.id); //获取表格数据 var oldData = table.cache["tableTest"]; for (var i = 0; i < oldData.length; i++) { if(oldData[i].trid == this.id ){ if(change){ oldData[i].isdecision = 1; }else{ oldData[i].isdecision = 0; } } } table.cache["tableTest"] = oldData; } /**每次登陆清理之前的残留缓存*/ function clearLove(){ setTempVal("TEMP_APP_PARAM_IS_SET",""); setTempVal("TEMP_APP_ROLEBSN_IS_SET","") } /** * 打开新页面 * 点击我跳转 * * @param obj:this * @param param:下个页面要显示的数据 */ function showChapters(obj, param) { openMainTabPage($(obj).attr("novelName"), $(obj).attr("_href"), param); } /** * * 跳转页面 * * @param id :新页面页面ID * @param title 页面标题 * @param hrefPage 要跳转的页面 * @param param 传到下个页面的参数 * @param nowPageId 当前页面ID ---回调函数用 * @param backFunction 回调函数 */ function openMainTabPage(id, title, hrefPage, param, nowPageId, backFunction) { layui.use(['element'], function () { $ = layui.jquery; var novelName= '   /  ' + title; var url= hrefPage; if(hrefPage.indexOf('?') != -1) { url = url + "¶m=" + param; } else { url = url + "?param=" + param; } parent.element.tabDelete('kitTab', id); var winHeight = window.innerHeight - 60; res = parent.element.tabAdd('kitTab', { title: novelName ,content: '' ,id:id }); parent.element.tabChange('kitTab', id);//添加选项卡后,默认此tab为选中状态 $("#titileTabId", parent.document).show(); //$("#tabContent", parent.document).css("top","46px"); $("#titileTabId", parent.document).css({display:""}); // 如果是从主页跳转过来的,head居右 if(nowPageId == '-1' || '000000' == nowPageId) { $("#titileTabId", parent.document).css("left","0px"); } else { $("#titileTabId", parent.document).css("left","200px"); } parent.element.on('tab(kitTab)', function(data){ var oDiv = document.createElement('div'); oDiv.style.display="none"; oDiv.innerHTML = this.outerHTML; var nowTabId = oDiv.childNodes[0].getAttribute('lay-id'); if(backFunction && nowTabId == nowPageId) { backFunction(); } // 获取所有的标签 var tabTile = $(this).parent('.kit-tab ul.layui-tab-title'); var tabIdArr = []; tabTile.children('li[lay-id]').each(function() { var curId = $(this).attr('lay-id').toString(); tabIdArr[tabIdArr.length] = curId; }); // 排序 tabIdArr.sort(function(a,b){ return a.length > b.length; }); var tabIdArr2 = []; var goHere = false; // 删除当前标签以前的标签 for(tableId in tabIdArr) { tableId = tabIdArr[tableId]; if(nowTabId == tableId) { goHere = true; } if(nowTabId != tableId && goHere) { tabIdArr2[tabIdArr2.length] = tableId; } } // 排序 tabIdArr2.sort(function(a,b){ return a.length < b.length; }); for(tableId in tabIdArr2) { tableId = tabIdArr2[tableId]; try { parent.element.tabDelete('kitTab', tableId); } catch (err){ alert(err); } } // 如果是首页去掉head部 if(nowTabId == '-1' || '000000' == nowTabId) { $("#titileTabId", parent.document).hide(); $("#tabContent", parent.document).css("top","0px"); $("#titileTabId", parent.document).css({display:"none"}); } }); }); } /** * 关闭指定ID的页面 * @param id */ function deleteTabPage(id) { parent.element.tabDelete('kitTab', id); } /** * * 跳转页面 * * @param id :页面ID * @param title 页面标题 * @param hrefPage 要跳转的页面 * @param param 传到下个页面的参数 * @param nowPageId 当前页面ID ---回调函数用 * @param backFunction 回调函数 */ function openMainTabPageParent(id, title, hrefPage, param, nowPageId, backFunction) { layui.use(['element'], function () { $ = layui.jquery; var novelName= '  /  ' + title; var url= hrefPage; if(hrefPage.indexOf('?') != -1) { url = url + "¶m=" + param; } else { url = url + "?param=" + param; } parent.parent.element.tabDelete('kitTab', id); var winHeight = window.innerHeight - 60; res = parent.parent.element.tabAdd('kitTab', { title: novelName ,content: '' ,id:id }); parent.parent.element.tabChange('kitTab', id);//添加选项卡后,默认此tab为选中状态 $("#titileTabId", parent.parent.document).show(); //$("#tabContent", parent.parent.document).css("top","46px"); $("#titileTabId", parent.parent.document).css({display:""}); $("#bottomGd", parent.parent.document).addClass("mainFull"); $("#container", parent.parent.document).addClass("mainFull"); // 如果是从主页跳转过来的,head居右 if(nowPageId == '-1' || '000000' == nowPageId) { $("#titileTabId", parent.parent.document).css("left","0px"); } else { $("#titileTabId", parent.parent.document).css("left","200px"); } parent.parent.element.on('tab(kitTab)', function(data){ var oDiv = document.createElement('div'); oDiv.style.display="none"; oDiv.innerHTML = this.outerHTML; var nowTabId = oDiv.childNodes[0].getAttribute('lay-id'); // 如果存在需要回调,则回调 if(backFunction && nowTabId == nowPageId) { backFunction(); } // 获取所有的标签 var tabTile = $(this).parent('.kit-tab ul.layui-tab-title'); var tabIdArr = []; tabTile.children('li[lay-id]').each(function() { var curId = $(this).attr('lay-id').toString(); tabIdArr[tabIdArr.length] = curId; }); // 排序 tabIdArr.sort(function(a,b){ return a.length > b.length; }); var tabIdArr2 = []; var goHere = false; // 删除当前标签以前的标签 for(tableId in tabIdArr) { tableId = tabIdArr[tableId]; if(nowTabId == tableId) { goHere = true; } if(nowTabId != tableId && goHere) { tabIdArr2[tabIdArr2.length] = tableId; } } // 排序 tabIdArr2.sort(function(a,b){ return a.length < b.length; }); for(tableId in tabIdArr2) { tableId = tabIdArr2[tableId]; try { parent.parent.element.tabDelete('kitTab', tableId); } catch (err){ alert(err); } } // 如果是首页去掉head部 if(nowTabId == '-1' || '000000' == nowTabId) { $("#titileTabId", parent.parent.document).hide(); $("#tabContent", parent.parent.document).css("top","0px"); $("#titileTabId", parent.parent.document).css({display:"none"}); } }); }); } /** * 关闭指定ID的页面 * @param id */ function deleteTabPageParent(id) { parent.parent.element.tabDelete('kitTab', id); } /** * * @param num 数字 * @param n 保留小数位数 * @returns */ function fomatFloat(num,n){ if (isEmpty(n)) { n = 6; } /*if (num.substring(0,1) == ".") { num = "0" + num; }*/ var f = parseFloat(num); if(isNaN(f)){ return false; } f = Math.round(num*Math.pow(10, n))/Math.pow(10, n); // n 幂 var s = f.toString(); var rs = s.indexOf('.'); //判定如果是整数,增加小数点再补0 if(rs < 0){ rs = s.length; s += '.'; } while(s.length <= rs + n){ s += '0'; } s = currKeepTwo(s); return s; } function currKeepTwo(num){ num = isEmpty(num)?"0.00":num; if (num.substring(0,1) == ".") { num = "0" + num; } var i = 0; while (num.substr(-1) == "0") { i ++; if (i == 5) { break; } num = num.substr(0,num.length - 1); } if (num.substr(-1) == ".") { num = num + "00"; } // num = fomatFloat(num, 2); return num; } String.prototype.endWith=function(endStr){ var d=this.length-endStr.length; return (d>=0&&this.lastIndexOf(endStr)==d); } String.prototype.trim=function() { return this.replace(/(^\s*)|(\s*$)/g, ''); } /** * 获取地址栏中的参数 * @param param * @returns */ function getParam(param) { var reg = new RegExp("(^|&)"+param+"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } // 加法 function accAdd(arg1, arg2,pointWs) { var r1, r2, max; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } max = Math.pow(10, Math.max(r1, r2)) if (isEmpty(pointWs)) { return ((arg1 * max + arg2 * max) / max); } else { // return ((arg1 * max + arg2 * max) / max).toFixed(pointWs); return Math.round(((arg1 * max + arg2 * max) / max)*Math.pow(10, pointWs))/Math.pow(10, pointWs); } } // 减法 function accSub(arg1, arg2,pointWs) { var r1, r2, max, min; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } max = Math.pow(10, Math.max(r1, r2)); //动态控制精度长度 min = (r1 >= r2) ? r1 : r2; if (isEmpty(pointWs)) { return ((arg1 * max - arg2 * max) / max).toFixed(min); } else { // return ((arg1 * max - arg2 * max) / max).toFixed(pointWs); return Math.round(((arg1 * max - arg2 * max) / max)*Math.pow(10, pointWs))/Math.pow(10, pointWs); } } // 乘法 // pointWs:小数点位数 function accMul(arg1, arg2, pointWs) { var max = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { max += s1.split(".")[1].length } catch (e) { } try { max += s2.split(".")[1].length } catch (e) { } var resData = Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, max); if(!isEmpty(pointWs)) { // 四舍五入 // return resData.toFixed(pointWs); return Math.round(resData*Math.pow(10, pointWs))/Math.pow(10, pointWs); } return resData; } // 除法 //pointWs:小数点位数 function accDivFun(arg1, arg2, pointWs) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) { } try { t2 = arg2.toString().split(".")[1].length } catch (e) { } with (Math) { r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) var resData = (r1 / r2) * pow(10, t2 - t1); if(!isEmpty(pointWs)) { // 四舍五入 // return resData.toFixed(pointWs); return Math.round(resData*Math.pow(10, pointWs))/Math.pow(10, pointWs); } return resData; } }