function timeoutThread(fn,timeout){ var nfn=fn; window.setTimeout(nfn ,timeout || 20); } function msg(content){ layer.msg(content); } function offsetMsg(content,style,offset){ if(!offset){ offset = 'rb'; } if(!style){ style = 'width:100%;height:100%;color:#fff;line-height:150px;font-size:18px;background-color:#0073d5;text-align:center;'; } layer.open({ type: 1, title: false, closeBtn: 0, shade: [0], shadeClose : true, area: ['300px','150px'], offset: offset, time: 2000, //2秒后自动关闭 shift: 2, content: '
' +content + '
' }); } //content可以是dom,string function pop(title,content,maxmin){ if(!maxmin) maxmin = true; layer.open({ type: 1, title: title, content: content, maxmin: maxmin }); } function pop(title,content,width,height,maxmin){ layer.open({ type: 1, title: title, area: [width + 'px', height + 'px'], content: content, maxmin : true }); } //title:false不显示, 空title function popWindow(title,url,width,height){ layer.open({ type: 2, title: title, maxmin: true, area : [width+"px" , height+"px"], content: url }); } //全屏window function fullWindow(title,url,maxmin){ var index = layer.open({ type: 2, title: title, content: url, maxmin: maxmin }); layer.full(index); } //关闭所有layer function closeAll(){ layer.closeAll() ; } //ajax,从formid获取数据后提交数据 function ajaxForm(url,formid,successfn,dataType){ if(!dataType)dataType = "json"; var loadIndex = layer.load(0,{shade:0.3}); $.ajax({ type: "post", data: $('#' + formid).serialize(), url: url, dataType: dataType, success: function(r){ layer.close(loadIndex); if(successfn){ successfn(r); }else{ msg(r.message); } }, error: function(e){ layer.close(loadIndex); msg("操作数据发生异常,请稍后再试或联系管理员"); } }); } //ajaxPost function ajaxPost(url, data, successfn,dataType) { console.log(data); data = (data==null || data=="" || typeof(data)=="undefined")? {"clientDate": new Date().getTime()} : data; if(!dataType)dataType = "json"; var loadIndex = layer.load(0,{shade:0.3}); $.ajax({ type: "post", data: data, url: url, dataType: dataType, success: function(r){ layer.close(loadIndex); if(successfn){ successfn(r); }else{ msg(r.message); } }, error: function(e){ layer.close(loadIndex); msg("操作数据发生异常,请稍后再试或联系管理员"); } }); } //刷新grid function reloadGrid(gridId,timeout){ timeout = timeout || 400; timeoutThread(reloadGrid_inner,timeout); function reloadGrid_inner(){ $('#'+gridId).bootstrapTable('refresh'); } } //根据datatable选中的数据获取field的值进行删除 function goDelete(gridId,field,url,callback){ var val = getSelectedValue(gridId,field); if(val){ layer.confirm('确定删除选中的数据', { btn: ['确定','取消'] //按钮 }, function(){ if(url.indexOf("@value@")){ url = url.replace("@value@",val) } if(callback) { ajaxPost(url,null,callback); }else{ ajaxPost(url,null,function(r){ if(r.success){ reloadGrid(gridId); } msg(r.message); }); } }, function(){ }); }else{ msg("请选择需要删除的数据"); } } //获取datatable选中单行的指定field的值 function getSingleSelectedValue(gridId,field){ var selects = $('#'+gridId).bootstrapTable('getSelections'); if( selects && selects.length == 1 ){ return selects[0][field]; }else if(selects.length > 0 ){ msg("只能选择单条数据"); return null; }else{ msg("请选中数据"); return null; } } //获取datatable选中多行的指定field的值 function getSelectedValue(gridId,field){ var selects = $('#'+gridId).bootstrapTable('getSelections'); if( selects && selects.length > 0 ){ var values = []; for (var i = 0; i < selects.length; i++) { var cellValue = selects[i][field]; if(cellValue && (""+cellValue).length > 0){ values.push(cellValue); } } return values.join(','); }else{ return null; } } //获取datatable单选行的数据 function getSingleSelectedRow(gridId){ var rows = $('#'+gridId).bootstrapTable.bootstrapTable('getSelections'); var num = rows.length; if (num == 1) { return rows[0]; } else { return null; } } //数据表格启用状态格式化 function enableFormatter(value,row,index){ if(value == 1){ return '' }else{ return ''; } } //自定义高精度浮点数运算 //对象格式写法 //float_caculator.add(1.11444,23.45674231); var float_calculator={ /** * 1.记录两个运算数小数点后的位数 * 2.将其转化为整数类型进行运算 * 3.移动小数点的位置 **/ //加 add:function(arg1,arg2){ var r1,r2,m; try{ //取小数位长度 r1=arg1.toString().split(".")[1].length; r2=arg2.toString().split(".")[1].length; }catch(e){ r1=0;r2=0; } m=Math.pow(10,Math.max(r1,r2)); //计算因子 return (arg1*m+arg2*m)/m; }, //减 minus:function(arg1,arg2){ return this.add(arg1,-arg2); }, //乘 mul:function(arg1,arg2){ var r1,r2,m; try{ //取小数位长度 r1=arg1.toString().split(".")[1].length; r2=arg2.toString().split(".")[1].length; }catch(e){ r1=0;r2=0; } m=Math.pow(10,Math.max(r1,r2)); //计算因子 return (arg1*m)*(arg2*m)/(m*m); }, //除 div:function(arg1,arg2){ if( arg2 == 0 ) return 0; var t1=0,t2=0,r1,r2; try{ t1=arg1.toString().split(".")[1].length; t2=arg2.toString().split(".")[1].length; }catch(e){} with(Math){ r1=Number(arg1.toString().replace(".","")); r2=Number(arg2.toString().replace(".","")); } return (r1/r2)*Math.pow(10,t2-t1); } }; function Scroll(w) { var win = w || window; var d = win.document; if (d.documentElement && !(d.documentElement.scrollTop == undefined || d.documentElement.scrollTop == 0)) { return { 'top': win.document.documentElement.scrollTop, 'left': win.document.documentElement.scrollLeft }; } else if (win.document.body) { return { 'top': win.document.body.scrollTop, 'left': win.document.body.scrollLeft }; } } function BoundingClientRect(obj) { if (navigator.product == 'Gecko') { var objWin = null; var top = obj.offsetTop; var left = obj.offsetLeft; var right = obj.offsetWidth; var bottom = obj.offsetHeight; while (obj = obj.offsetParent) { top += obj.offsetTop; left += obj.offsetLeft; if (obj.tagName.toLowerCase() == 'body') { objWin = obj.ownerDocument.defaultView; } } var theScroll = Scroll(objWin); left -= theScroll.left; top -= theScroll.top; right += left; bottom += top; return { 'left': left, 'top': top, 'right': right, 'bottom': bottom }; } else { return obj.getBoundingClientRect(); } }