/** * 表格扩展模块 * date:2019-07-12 License By http://easyweb.vip */ layui.define(["layer","table","laytpl","form","util","contextMenu"],function(r){var g=layui.jquery;var q=layui.layer;var m=layui.table;var d=layui.laytpl;var c=layui.form;var a=layui.util;var s=layui.contextMenu;var k=layui.device;var b="tb-search";var i="tb-refresh";var j="tb-export";var e="txField_";var p={merges:function(y,A,u,x){if(!y){console.error("table filter not be null");return}if(!A){console.warn("merge indexs not be null");return}if(typeof u==="boolean"){x=u;u=undefined}var t=g('[lay-filter="'+y+'"]+.layui-table-view>.layui-table-box>.layui-table-body>table');var v=t.find(">tbody>tr");t.addClass("layui-table-x");function z(B,G,H){var E=m.cache[B];if(E.length>0){var I,C=1;if(H){I=E[0][H]}else{I=v.eq(0).find("td").eq(G).find(".layui-table-cell").html()}for(var F=1;F
';for(var A in y){u+=('")}u+="
";g("#exportFrame").remove();g("body").append('');var B=document.getElementById("exportFrame");var z=B.contentWindow;var w=z.document;z.focus();w.open();w.write(u);w.close();w.getElementById("eFrom").submit()}},render:function(v){var t=g(v.elem).attr("lay-filter");v.autoSort=false;var u=m.render(v);m.on("sort("+t+")",function(y){var w=y.field,z=y.type;var x=g.extend(v.where,{sort:w,order:z});u.reload({where:x,page:{curr:1}})});return u},renderFront:function(z){var y,w=g(z.elem).attr("lay-filter");z.autoSort=false;for(var v=0;v";x[y[t].field]=g(A).not(".export-hide").text().replace(/(^\s*)|(\s*$)/g,"")}}return w},getTbData:function(u){var t=window.tbX.cache[u];if(t==undefined){t=m.cache[u]}return p.deepClone(t)},putTbData:function(u,t){window.tbX.cache[u]=t;return t},bindCtxMenu:function(z,u){var w=m.cache[z];var t=[];for(var v=0;v0)){return}if(!v.attr("placeholder")){v.attr("placeholder","输入关键字按回车键搜索")}v.off("keydown").on("keydown",function(z){if(z.keyCode!=13){return}var w=v.attr("name");var A=v.val().replace(/(^\s*)|(\s*$)/g,"");var x=q.msg("搜索中..",{icon:16,shade:0.01,time:0});var y=p.getTbData(t);var B=p.filterData(y,w,A);window.tbX.cacheSearch[t]=B;u.reload({url:"",data:B,page:{curr:1}});q.close(x)})};var l=function(u){var t=u.config.id;m.on("sort("+t+")",function(y){var v=y.field,z=y.type;var w=q.msg("加载中..",{icon:16,shade:0.01,time:0});var x=window.tbX.cacheSearch[t];x||(x=p.getTbData(t));if(z){x=x.sort(function(D,B){var C=D[v],A=B[v];if(z=="asc"){return(C==A)?0:((C0){return}if(v!==void 0){v.preventDefault();v.stopPropagation()}var w='
';w+='
导出选中数据
';w+='
导出当前页数据
';w+='
导出全部数据
';w+="
";g(this).append(w);g(this).addClass("tbx-dropdown-btn");g(this).parent().css("position","relative");g(this).parent().css("z-index","9998");g(".tbx-dropdown-menu").off("click").on("click",".tbx-dropdown-menu-item",function(z){var y=g(this).data("type");if(y=="check"){var x=m.checkStatus(t);if(x.data.length==0){q.msg("请选择要导出的数据",{icon:2})}else{g(".tbx-dropdown-menu").remove();p.exportData({fileName:u.config.title,cols:u.config.cols,data:x.data})}}else{if(y=="current"){p.exportData({fileName:u.config.title,cols:u.config.cols,data:m.cache[t]})}else{if(y=="all"){p.exportData({fileName:u.config.title,cols:u.config.cols,data:p.getTbData(t)})}}}if(z!==void 0){z.preventDefault();z.stopPropagation()}})});g(document).off("click.tbxDropHide").on("click.tbxDropHide",function(){g(".tbx-dropdown-menu").remove()})};var f=function(){var t=".tbx-dropdown-btn {";t+=" position: relative;";t+=" }";t+=" .tbx-dropdown-btn:hover {";t+=" opacity: 1";t+=" }";t+=" .tbx-dropdown-menu {";t+=" position: absolute;";t+=" top: 100%;";t+=" right: 0;";t+=" padding: 5px 0;";t+=" margin: 5px 0 0 0;";t+=" overflow: visible;";t+=" min-width: 110px;";t+=" background: #fff;";t+=" border-radius: 2px;";t+=" box-shadow: 0 2px 4px rgba(0, 0, 0, .12);";t+=" border: 1px solid #d2d2d2;";t+=" z-index: 9998;";t+=" cursor: default;";t+=" }";t+=" .tbx-dropdown-menu .tbx-dropdown-menu-item {";t+=" display: block;";t+=" color: #555;";t+=" font-size: 14px;";t+=" padding: 10px 15px;";t+=" text-decoration: none;";t+=" white-space: nowrap;";t+=" cursor: pointer;";t+=" user-select: none;";t+=" line-height: normal;";t+=" }";t+=" .tbx-dropdown-menu .tbx-dropdown-menu-item:hover {";t+=" background-color: #eeeeee;";t+=" }";t+=" .export-show {";t+=" display: none;";t+=" }";return t};g("head").append("");r("tableX",p)});