Files
jiapu/dist/public/js/lay-module/tableTree/tableTree.js
T

3 lines
22 KiB
JavaScript

layui.define(["laydate","laytpl","table","layer","tableEdit","form"],function(X){"use strict";var R="tableTree",E=layui,Y=E.laytpl,n=E.$,A=E.table,P=E.layer,U=E.tableEdit,I=U.callbackFn("tableEdit(getEntity)"),z=E.form,L=[];L.push(".layui-tableEdit-checked i{background-color:#60b979!important;}"),L.push(".layui-tableEdit-edit{position:absolute;right:2px;font-size:18px;bottom:8px;z-index:199109084;}"),L.push(".layui-tableEdit-edge{position:absolute;left:8px;bottom:0;font-size:15x;z-index:19910908445;}"),L.push(".layui-tableEdit-tab{position:absolute;left:25px;bottom:0;font-size:15px;z-index:19910908445;}"),L.push(".layui-tableEdit-span {position:absolute;left:25px;bottom:0;}");var $=document.createElement("style");$.innerHTML=L.join(`
`),document.getElementsByTagName("head")[0].appendChild($);var b={callbacks:{},tableTreeCache:{},isEmpty:function(e){return typeof e=="undefined"||e===null||e.length<=0},parseConfig:function(e,t){var a,i,r,l,d;return e.forEach(function(o){o.forEach(function(f){if(!(t!==f.field||!f.config)){var h=f.config;a=h.type,i=h.data,r=h.enabled,l=h.dateType,d=h.cascadeSelectField}})}),{type:a,data:i,enabled:r,dateType:l,cascadeSelectField:d}}},M=function(){this.config={}};M.prototype={render:function(e,t){var a=this;if(t){a._done=e.done,n.extend(a.config,e);var i=a.config.treeConfig,r=function(l){l.data||(l.data=A.cache[a.config.id]=[]),b.tableTreeCache[n(this.elem).attr("id")]=l.data;var d={field:i.showField,element:this.elem};a.initTree(d),a._done&&a._done.call(this,l)};a.config.done=r}else a.config=e;a.tableEntity=A.render(a.config)},initTree:function(e){var t=b.tableTreeCache[n(e.element).attr("id")];this.doInitTree(t,e.field,null,0),this.closeAllTreeNodes(),this.parseColsConfig(),this.off(),this.events()},doInitTree:function(e,t,a,i){var r=this,l=n(r.config.elem).next().find("div.layui-table-body");E.each(e,function(d,o){if(i===0){a=l.find('tr[data-index="'+d+'"]'),n(a).attr("tree-id",o[r.config.treeConfig.treeid]);var f=n(a).find('td[data-field="'+t+'"]'),h=f.find("div.layui-table-cell"),c=h.find("span.layui-tableEdit-span"),s=o[r.config.treeConfig.showField];s=b.isEmpty(s)?"":s,!c[0]&&(h.text(""),h.prepend('<div class="layui-tableTree-div"><span class="layui-tableEdit-span">'+s+"</span></div>")),f.find("i.layui-tableEdit-edge")[0]||r.addIcon(a,f,i)}else r.addTreeRow(a,o);if(o.treeList){var u=i===0?a:n(a).next();r.doInitTree(o.treeList,t,u,i+1)}})},parseColsConfig:function(){var e=this;e.config.colsConfig={},e.config.cols.forEach(function(t){t.forEach(function(a){a.config&&(e.config.colsConfig[a.field]=a.config)})})},addTreeRow:function(e,t){var a=this,i=e.data("lvl");i=b.isEmpty(i)?0:parseInt(i);var r=a.config.treeConfig.treeid;b.isEmpty(t[r])&&(t[r]=Number(Math.random().toString().substr(3,3)+Date.now()).toString(36));var l=n('<tr data-lvl="'+(i+1)+'" tree-id="'+t[r]+'"></tr>');e.after(l),a.addElementToTr(t,e,l,i+1)},getDataByTreeId:function(e,t){for(var a=this.config.treeConfig.treeid,i=0;i<e.length;i++){var r=e[i];if(t+""==r[a]+"")return r;if(r.treeList&&r.treeList.length>0){var l=this.getDataByTreeId(r.treeList,t);if(l)return l}}},addIcon:function(e,t,a){var i=this.config.treeConfig.iconClass;i=b.isEmpty(i)?"layui-icon-triangle-r":i;var r=this,l=n('<i class="layui-icon layui-tableEdit-edge '+i+'"></i>'),d=t.find("div.layui-tableTree-div"),o=n('<div class="layui-tableTree-edit"></div>'),f=d.children("span.layui-tableEdit-span");if(a>0){var h=a*21+25,c=a*21+5;f.css("left",h+"px"),l.css("left",c+"px")}d.append(l),n(t).append(o);var s=n('<i class="layui-icon layui-icon-add-1 layui-tableEdit-edit"></i>');o.append(s);var u=n('<i class="layui-icon layui-icon-edit layui-tableEdit-edit"></i>');o.append(u);var v=n('<i class="layui-icon layui-icon-delete layui-tableEdit-edit"></i>');o.append(v);var g=n('<i class="layui-icon layui-icon-return layui-tableEdit-edit asc" style="font-size: 16px"></i>');o.append(g),o.hide(),g.css("transform","rotate(90deg)");var p=r.config.size;p=p||"",p==="sm"&&(f.css("bottom","0px"),l.css("bottom","0px"),u.css("bottom","4px"),s.css("bottom","4px"),v.css("bottom","4px"),g.css("bottom","4px")),p==="lg"&&(f.css("bottom","-1px"),l.css("bottom","-1px"),u.css("bottom","15px"),s.css("bottom","15px"),v.css("bottom","15px"),g.css("bottom","15px")),g.css("right","3px"),v.css("right","24px"),u.css("right","48px"),s.css("right","72px")},events:function(){var e=this,t=n(e.config.elem).attr("lay-filter"),a=n(this.config.elem).next().find("div.layui-table-body"),i=n(e.config.elem).attr("id"),r=this.config.treeConfig.iconClass,l=e.config.treeConfig.showField;a.on("click","i.layui-tableEdit-edit",function(c){var s=n(this).hasClass("layui-icon-add-1"),u=n(this).hasClass("layui-icon-edit"),v=b.tableTreeCache[i],g=n(this).hasClass("layui-icon-delete"),p=n(this).hasClass("layui-icon-return"),N=n(this).parents("tr"),y=n(this).parents("td"),k=y.data("field"),T=N.attr("tree-id"),C=e.getDataByTreeId(v,T),O=N.data("lvl");if(O=O||0,s){var G={value:null,data:C,field:k,add:function(m){if(!m&&(m=[]),m=e.removeRepeatData(m),m.length<=0){var S={};e.config.cols.forEach(function(B){B.forEach(function(H){H.field&&(H.field in C||(S[H.field]=null))})}),m.push(S)}e.asyncAddTree(m,C,N,O);var x=C.treeList;x||(x=C.treeList=[]);for(var F=0;F<m.length;)x.push(m[F]),F++;e.openTreeNode(N)},event:"add"};D.callbackFn.call(y[0],"tool("+t+")",G)}if(u){var _=e.parseTempletData(C,k);_=_||"",I.input({element:y[0],oldValue:_,callback:function(m){var S={value:m,data:C,field:k,update:function(x){if(x)for(var F in x){C[F]=x[F];var B=e.parseTempletData(C,F);B=B||"",y.find("div.layui-table-cell span.layui-tableEdit-span").text(B)}},event:"edit"};D.callbackFn.call(y[0],"tool("+t+")",S)}})}if(g&&P.confirm('<div style="color: red;text-align: center;">确定删除吗?</div>',function(m){var S={value:null,data:C,field:k,event:"del",del:function(){var x=N.data("lvl");x=x||0,e.removeChildren(N,x),e.clearCacheData(C),N.remove()}};D.callbackFn.call(y[0],"tool("+t+")",S),P.close(m)}),p){var w=n(this),q=w.hasClass("asc");q?(w.removeClass("asc"),w.css("transform","rotate(-90deg)"),w.addClass("desc")):(w.removeClass("desc"),w.css("transform","rotate(90deg)"),w.addClass("asc")),e.exeTreeNodesSort(N,e.config.treeConfig.treeid,q)}}),A.on("checkbox("+t+")",function(c){var s=this,u=b.tableTreeCache[i],v=n(s).parents("tr"),g=v.data("lvl");g=g||0,c.type==="one"&&(function(){e.setChildNodeChecked(v,g,c.checked),e.setSupperNodeChecked(v,c.checked)})();var p=v.attr("tree-id");c.data=e.getDataByTreeId(u,p),D.callbackFn.call(this,"checkbox("+t+")",c)});var d="div.layui-tableTree-div span.layui-tableEdit-span";a.on("click",d,function(c){E.stope(c);var s=n(this).parents("tr"),u=s.data("lvl");u=u||0;var v=n(this).parents("td").find("i.layui-tableEdit-edge"),g=v.hasClass("layui-tableEdit-clicked");e.showOrHideChildrenNodes(s,u,!g),e.rotateFunc(v,!g)}),this.config.treeConfig.showToolbar&&(a.on("mouseenter ",'td[data-field="'+l+'"]',function(c){E.stope(c),a.find("div.layui-tableTree-edit").hide(),n(this).find("div.layui-tableTree-edit").show()}),a.on("mouseleave",'td[data-field="'+l+'"]',function(c){E.stope(c),a.find("div.layui-tableTree-edit").hide()}));var o='td[data-field="'+l+'"] input.layui-tableEdit-input';a.on("blur",o,function(){n(this).remove()});var f="tool("+t+")";A.on(f,function(c){var s=this,u=n(s).data("field"),v=e.config.colsConfig[u],g=b.tableTreeCache[i];if(c.field=u,!v){D.callbackFn.call(s,f,c);return}var p=function(y){c.value=Array.isArray(y)?y.length>0?y:[{name:"",value:""}]:y,D.callbackFn.call(s,f,c)},N=n(s.parentNode).attr("tree-id");c.data=e.getDataByTreeId(g,N),c.update=function(y){if(y)for(var k in y){c.data[k]=y[k];var T=e.parseTempletData(c.data,k);T=T||"",n(s).find("div.layui-table-cell").text(T)}},v.type==="select"?I.register({data:v.data,element:s,enabled:v.enabled,selectedData:c.data[u],callback:p}):v.type==="date"?I.date({dateType:v.dateType,element:s,callback:p}):v.type==="input"?I.input({element:s,oldValue:c.data[u],callback:p}):v.type==="signedInput"?I.signedInput({element:s,oldValue:c.data[u],callback:p}):D.callbackFn.call(s,f,c)});var h="div.layui-tableTree-div i."+r;a.on("click",h,function(c){E.stope(c);var s=n(this).parents("tr"),u=b.tableTreeCache[i],v=s.data("lvl");v=v||0;var g=n(this).parents("td"),p=g.data("field"),N=s.attr("tree-id"),y=e.getDataByTreeId(u,N),k={value:null,data:y,field:p,async:function(T){if(e.openTreeNode(s),!(!T||T.length===0)&&(T=e.removeRepeatData(T),T.length!==0)){e.asyncAddTree(T,y,s,v),y.treeList||(y.treeList=[]);for(var C=0;C<T.length;)y.treeList.push(T[C]),C++;e.openTreeNode(s)}},event:"async"};D.callbackFn.call(g[0],"tool("+t+")",k)})},off:function(){var e=n(this.config.elem).next().find("div.layui-table-body");e.off("click","i.layui-tableEdit-edit");var t="div.layui-tableTree-div span.layui-tableEdit-span";e.off("click",t);var a=this.config.treeConfig.showField;e.off("mouseleave",'td[data-field="'+a+'"]');var i='td[data-field="'+a+'"] input.layui-tableEdit-input';e.off("blur",i);var r=this.config.treeConfig.iconClass,l="div.layui-tableTree-div i."+r;e.off("click",l)},removeRepeatData:function(e){var t=[],a=this;return e.forEach(function(i){a.checkedRepeatData(i)||t.push(i)}),t},asyncAddTree:function(e,t,a,i){var r=this,l=r.config.treeConfig.treeid,d=r.config.treeConfig.treepid;!e&&(e=[]),e.forEach(function(f){f[d]=t[l],r.addTreeRow(a,f),f.treeList&&f.treeList.length>0&&r.asyncAddTree(f.treeList,f,a.next(),i+1)});var o=a.find('td[data-field="'+r.config.treeConfig.showField+'"] i.layui-tableEdit-edge');r.rotateFunc(o,!0)},parseTempletData:function(e,t){var a=null;return this.config.cols.forEach(function(i){i.forEach(function(r){if(r.field===t){var l=r.templet;l?typeof l=="string"?a=Y(n(l).html()).render(e):a=l(e,t):a=e[t]}})}),a},clearCacheData:function(e){if(e){var t=this.config.treeConfig.treeid,a=n(this.config.elem).attr("id"),i=b.tableTreeCache[a];this.clearChildCacheData(i,e[t])}},clearChildCacheData:function(e,t){for(var a=this.config.treeConfig.treeid,i=0;i<e.length;i++){var r=e[i];if(t+""==r[a]+""){e.splice(i,1);break}else r.treeList&&r.treeList.length>0&&this.clearChildCacheData(r.treeList,t)}},rotateFunc:function(e,t){t?(e.css("transform","rotate(90deg)"),e.addClass("layui-tableEdit-clicked")):(e.css("transform",""),e.removeClass("layui-tableEdit-clicked"))},showOrHideChildrenNodes:function(e,t,a){var i=e.next(),r=i.data("lvl");if(r=r||0,i[0]&&r>t){if(a){if(r-t===1){i.show();var l=i.find('td[data-field="'+this.config.treeConfig.showField+'"] i.layui-tableEdit-edge');l.hasClass("layui-tableEdit-clicked")&&(i.show(),this.showTreeNodes(i,r))}}else i.hide();this.showOrHideChildrenNodes(i,t,a)}},showTreeNodes:function(e,t){var a=e.next(),i=a.data("lvl");if(i=i||0,a[0]&&i>t){if(i-t===1){a.show();var r=a.find('td[data-field="'+this.config.treeConfig.showField+'"] i.layui-tableEdit-edge');r.hasClass("layui-tableEdit-clicked")&&(a.show(),this.showTreeNodes(a,i))}this.showTreeNodes(a,t)}},getParentNode:function(e,t){if(t===0)return null;var a=n(e),i=a.prev(),r=i.data("lvl");return r=r||0,t-r===1?i:this.getParentNode(i,t)},removeChildren:function(e,t){var a=e.next(),i=a.data("lvl");i=i||0,a[0]&&i>t&&(a.remove(),this.removeChildren(e,t))},checkedRepeatData:function(e){var t=this.config.treeConfig.treeid,a=n(this.config.elem).attr("id"),i=b.tableTreeCache[a],r=this.getDataByTreeId(i,e[t]);return!!r},getCheckedTreeNodeData:function(){var e=this,t=n(this.config.elem).next().find("div.layui-table-body"),a=n(e.config.elem).attr("id"),i=b.tableTreeCache[a],r=t.find("td.layui-table-col-special div.layui-form-checked"),l=new Set;return r.each(function(){var d=n(this).parents("tr").eq(0),o=d.attr("tree-id"),f=e.getDataByTreeId(i,o);l.add(f)}),Array.from(l)},getTopNode:function(e){var t=e.data("lvl"),a=e.prev();return t=t||0,t===0?e:this.getTopNode(a)},reload:function(e){e&&e.done&&(this._done=e.done),this.render(this.config)},openTreeNode:function(e){var t=this,a,i;typeof e=="string"||Object.prototype.toString.call(e)==="[object Number]"?(a=e,i=n(t.config.elem).next().find('div.layui-table-body tr[tree-id="'+a+'"]')):i=n(e),i.show();var r=i.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),l=i.data("lvl");l=l||0,t.showOrHideChildrenNodes(i,l,!0),t.rotateFunc(r,!0);for(var d=t.getParentNode(i,l);d&&d[0];)d.show(),r=d.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),l=d.data("lvl"),l=l||0,t.rotateFunc(r,!0),d=t.getParentNode(d,l);var o=t.getTopNode(i);t.showOrHideChildrenNodes(o,0,!0)},closeTreeNode:function(e){var t=this,a,i;typeof e=="string"||Object.prototype.toString.call(e)==="[object Number]"?(a=e,i=n(t.config.elem).next().find('div.layui-table-body tr[tree-id="'+a+'"]')):i=n(e);var r=i.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),l=i.data("lvl");l=l||0,t.showOrHideChildrenNodes(i,l,!1),t.rotateFunc(r,!1)},openAllTreeNodes:function(){var e=this,t=n(this.config.elem).next().find("div.layui-table-body");t.find("tr").each(function(a){var i=n(this),r=i.find('td[data-field="'+e.config.treeConfig.showField+'"] i.layui-tableEdit-edge');n(this).show(),e.rotateFunc(r,!0)})},closeAllTreeNodes:function(){var e=this,t=n(this.config.elem).next().find("div.layui-table-body");t.find("tr").each(function(a){var i=n(this),r=i.find('td[data-field="'+e.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),l=i.data("lvl");l=l||0,l>0&&n(this).hide(),e.rotateFunc(r,!1)})},sort:function(e,t){var a=this;t.sort(function(i,r){var l=/(^[-+]?\d+$)|(^[-+]?\d+\.\d+$)/,d=i[e.field],o=r[e.field];if(l.test(d)&&l.test(o))return d=parseFloat(d),o=parseFloat(o),d>o?1:d<o?-1:0;if(d&&!o)return 1;if(!d&&o)return-1;(d+"").localeCompare(o+"","zh-CN")}),e.desc&&t.reverse(),t.forEach(function(i){i.treeList&&i.treeList.length>0&&a.sort(e,i.treeList)})},getTableTreeData:function(){var e=n(this.config.elem).attr("id"),t=b.tableTreeCache[e];return t},addTopTreeNode:function(e){var t=this,a=t.config.treeConfig.treeid,i=t.config.treeConfig.treepid,r=n(t.config.elem).attr("id"),l=b.tableTreeCache[r];if(l.length<=0){e||(e={}),t.config.cols.forEach(function(s){s.forEach(function(u){u.field&&(u.field in e||(e[u.field]=null))})}),delete e[i];var d=t.config.url,o=!b.isEmpty(d);o&&delete t.config.url,e[a]||(e[a]=Number(Math.random().toString().substr(3,3)+Date.now()).toString(36)),l.push(e),t.config.data=l,t.render(t.config),o&&(delete t.config.data,t.config.url=d);return}if(!e||e&&typeof e!="object"){e={};for(var f in l[0])e[f]=null}delete e[i];var h=n(t.config.elem).next().find("div.layui-table-body tr").eq(0);(b.isEmpty(e[a])||t.checkedRepeatData(e))&&(e[a]=Number(Math.random().toString().substr(3,3)+Date.now()).toString(36));var c=n('<tr data-index="'+l.length+'" tree-id="'+e[a]+'"></tr>');h.before(c),e.LAY_TABLE_INDEX=l.length,l.push(e),t.addElementToTr(e,h,c,0),t.rotateFunc(c.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),!0)},addElementToTr:function(e,t,a,i){var r=this;t.children("td").each(function(){var l=n(this).data("field"),d=null;if(l+""=="0")d=n('<td data-field="0" data-key="1-0-0" class="layui-table-col-special"></td>'),d.append(this.innerHTML);else{for(var o=[],f=n(this).children("div.layui-table-cell").attr("class"),h=this.attributes,c=0;c<h.length;c++)o.push(h[c].nodeName+'="'+h[c].nodeValue+'"');var s=r.parseTempletData(e,l);s=s||"",l===r.config.treeConfig.showField?(d=n("<td "+o.join(" ")+'><div class="'+f+'"><div class="layui-tableTree-div"><span class="layui-tableEdit-span">'+s+"</span></div></div></td>"),r.addIcon(a,d,i)):a.append("<td "+o.join(" ")+'><div class="'+f+'">'+s+"</div></td>")}a.append(d)}),z.render("checkbox")},delTreeNode:function(e){if(e){var t=this,a=n(t.config.elem).attr("id"),i=b.tableTreeCache[a],r,l;typeof e=="string"||Object.prototype.toString.call(e)==="[object Number]"?(r=e,l=n(t.config.elem).next().find('div.layui-table-body tr[tree-id="'+r+'"]')):(l=n(e),r=l.attr("tree-id"));var d=t.getDataByTreeId(i,r),o=l.data("lvl");o=o||0,t.removeChildren(l,o),t.clearCacheData(d),l.remove()}},childNodeHasChecked:function(e,t){var a=e.next(),i=a.data("lvl");if(i=i||0,a[0]&&i>t){var r=n(a).find("td.layui-table-col-special div.layui-form-checkbox");return r.hasClass("layui-form-checked")?!0:this.childNodeHasChecked(a,t)}else return!1},setChildNodeChecked:function(e,t,a){var i=e.next(),r=i.data("lvl");r=r||0,i[0]&&r>t&&(this.setCheckboxInfo(i,a),this.setChildNodeChecked(i,t,a))},setSupperNodeChecked:function(e,t){var a=this,i=n(e).attr("tree-id"),r=a.config.treeConfig.treepid,l=n(a.config.elem).attr("id"),d=b.tableTreeCache[l],o=a.getDataByTreeId(d,i),f=o[r],h=n(a.config.elem).next().find("div.layui-table-body"),c=h.find('tr[tree-id="'+f+'"]'),s=c.data("lvl");s=s||0,t?a.setCheckboxInfo(c,t):a.childNodeHasChecked(c,s)||a.setCheckboxInfo(c,t),s!==0&&a.setSupperNodeChecked(c,t)},setCheckboxInfo:function(e,t){var a=e.find("td.layui-table-col-special div.layui-form-checkbox"),i=e.find('td.layui-table-col-special input[type="checkbox"]');t?(a.addClass("layui-form-checked"),i.prop("checked",!0)):(a.removeClass("layui-form-checked"),i.prop("checked",!1))},keywordSearch:function(e){var t=this,a=n(this.config.elem).next().find("div.layui-table-body"),i=a.find('td[data-field="'+this.config.treeConfig.showField+'"] span.layui-tableEdit-span'),r=n(t.config.elem).attr("id"),l=b.tableTreeCache[r],d=t.config.treeConfig.treepid;t.clearSearch(),a.find("tr").each(function(){var f=n(this);f.is(":hidden")||f.addClass("layui-tableTree-search")});var o=new Set;i.each(function(){var f=this.innerText,h=n(this).parents("tr").eq(0);if(f.indexOf(e)>-1){h.show();var c=h.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge');h.hasClass("layui-tableTree-search")&&!c.hasClass("layui-tableEdit-clicked")&&(t.rotateFunc(c,!0),c.addClass("layui-tableTree-search"));var s=h.attr("tree-id");o.add(s);for(var u=t.getDataByTreeId(l,s),v=u[d],g=a.find('tr[tree-id="'+v+'"]');g[0];)g.show(),s=g.attr("tree-id"),u=t.getDataByTreeId(l,s),u&&(o.add(s),c=g.find('td[data-field="'+t.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),g.hasClass("layui-tableTree-search")&&!c.hasClass("layui-tableEdit-clicked")&&(t.rotateFunc(c,!0),c.addClass("layui-tableTree-search"))),v=u[d],g=a.find('tr[tree-id="'+v+'"]')}else{var s=h.attr("tree-id");!o.has(s)&&h.hide()}})},clearSearch:function(){var e=this,t=n(this.config.elem).next().find("div.layui-table-body"),a=t.find("tr.layui-tableTree-search");a.length<=0||t.find("tr").each(function(){var i=n(this);if(i.hasClass("layui-tableTree-search")){i.show();var r=i.find('td[data-field="'+e.config.treeConfig.showField+'"] i.layui-tableEdit-edge.layui-tableTree-search');r[0]&&(e.rotateFunc(r,!1),r.removeClass("layui-tableTree-search"),r.removeClass("layui-tableEdit-clicked"))}else i.hide();i.removeClass("layui-tableTree-search")})},refreshTableBody:function(e,t,a,i){var r=this,l=r.config.treeConfig.treeid,d=n(r.config.elem).next().find("div.layui-table-body tbody");E.each(e,function(o,f){var h;i||(t=d.children(":last-child")),h=a<=0?n('<tr data-index="'+o+'" tree-id="'+f[l]+'"></tr>'):n('<tr data-lvl="'+a+'" tree-id="'+f[l]+'"></tr>'),i?(d.html(""),d.append(h)):t.after(h),i=!1,r.addElementToTr(f,t,h,a),f.treeList&&r.refreshTableBody(f.treeList,h,a+1,!1)})},refresh:function(e){var t=n(this.config.elem).attr("id"),a=this.config.treeConfig.treeid,i=b.tableTreeCache[t];if(e&&(i.splice(0,i.length),e.forEach(function(l){l[a]||(l[a]=Number(Math.random().toString().substr(3,3)+Date.now()).toString(36)),i.push(l)})),this.sort({field:this.config.treeConfig.treeid},i),!(i.length<-0)){E.each(i,function(l,d){d.LAY_TABLE_INDEX=l});var r=n(this.config.elem).next().find("div.layui-table-body tr").eq(0);this.refreshTableBody(i,r,0,!0),this.openAllTreeNodes(),z.render("checkbox")}},findChildTreeNodes:function(e,t,a){var i=this,r=this.config.treeConfig.treepid;e.forEach(function(l){r in l&&l[r]+""==t+""?a.push(l):l.treeList&&i.findChildTreeNodes(l.treeList,t,a)})},sortByTreeNode:function(e,t,a){if(e){(typeof e=="string"||Object.prototype.toString.call(e)==="[object Number]")&&(e=n(this.config.elem).next().find('div.layui-table-body tr[tree-id="'+e+'"]'));var i=n(e);i.show(),this.exeTreeNodesSort(i,t,a);var r=i.data("lvl"),l;r=r||0;for(var d=this.getParentNode(i,r);d&&d[0];)d.show(),l=d.find('td[data-field="'+this.config.treeConfig.showField+'"] i.layui-tableEdit-edge'),r=d.data("lvl"),r=r||0,this.rotateFunc(l,!0),d=this.getParentNode(d,r);var o=this.getTopNode(i);this.showOrHideChildrenNodes(o,0,!0)}},exeTreeNodesSort:function(e,t,a){var i=this,r=n(i.config.elem).attr("id"),l=b.tableTreeCache[r],d=e.data("lvl");d=d||0;var o=[];i.findChildTreeNodes(l,e.attr("tree-id"),o);var f=i.config.treeConfig.treeid;if(o.length>0){i.sort({field:t,desc:a},o),o.forEach(function(c){var s=n('tr[tree-id="'+c[f]+'"]'),u=s.data("lvl");u=u||0,i.removeChildren(s,u),s.remove()});var h=i.getDataByTreeId(l,e.attr("tree-id"));i.asyncAddTree(o,h,e,d)}}};var D={on:function(e,t){var a=e.match(/\((.*)\)$/),i=a?e.replace(a[0],"")+"_"+a[1]:e;b.callbacks[R+"_"+i]=t},callbackFn:function(e,t){var a=e.match(/\((.*)\)$/),i=a?e.replace(a[0],"")+"_"+a[1]:e,r=R+"_"+i,l=b.callbacks[r];if(l)return l.call(this,t)},render:function(e){var t=new M;return t.render(e,!0),{getTreeOptions:function(){return t.config},getCheckedTreeNodeData:function(){return t.getCheckedTreeNodeData()},reload:function(a){t.reload(a)},openTreeNode:function(a){t.openTreeNode(a)},closeTreeNode:function(a){t.closeTreeNode(a)},closeAllTreeNodes:function(){t.closeAllTreeNodes()},openAllTreeNodes:function(){t.openAllTreeNodes()},sort:function(a){var i=n(t.config.elem).attr("id"),r=b.tableTreeCache[i];if(t.sort(a,r),!(r.length<-0)){E.each(r,function(d,o){o.LAY_TABLE_INDEX=d});var l=n(t.config.elem).next().find("div.layui-table-body tr").eq(0);t.refreshTableBody(r,l,0,!0),t.openAllTreeNodes(),z.render("checkbox")}},getTableTreeData:function(){return t.getTableTreeData()},addTopTreeNode:function(a){t.addTopTreeNode(a)},delTreeNode:function(a){t.delTreeNode(a)},keywordSearch:function(a){t.keywordSearch(a)},clearSearch:function(){t.clearSearch()},refresh:function(a){t.refresh(a)},sortByTreeNode:function(a,i,r){t.sortByTreeNode(a,i,r)}}}};X(R,D)});