datatable={};(function(){function m(x){var O={};O.type=1;var M="";var C="";var K=null;function I(T){return $("#"+x+"_"+T)}function H(){var T=[];I("fieldconfig_table tbody tr").each(function(){var U=$(this).data("fielddef");if(U==null||U==undefined||U.name==undefined){return}T.push(U)});return T}function F(){I("submit_msg").hide();var T=I("button_submit").ladda();var V={table_id:I("table_id").val(),title:$.trim(I("title").val()),host:$.trim(I("host").val()),port:$.trim(I("port").val()),username:$.trim(I("username").val()),passwd:$.trim(I("passwd").val()),dbname:$.trim(I("dbname").val()),tablename:$.trim(I("tablename").val()),description:$.trim(I("description").val()),readers:I("readers").val(),writers:I("writers").val(),keyfield:I("keyfield").val(),sortfield:I("sortfield").val(),groupfield:I("groupfield").val(),fields:H()};T.ladda("start");var U="";if(O.type==1){U="/api/dbmanager/create/0"}else{U="/api/dbmanager/update/0"}$.ajax({type:"POST",url:U,data:{data:JSON.stringify(V)},dataType:"json",success:function(W){if(W.errcode!==null&&W.errcode!==undefined&&W.errcode!=0){I("submit_msg").text("提交失败, 错误信息: "+W.errmsg);I("submit_msg").css("display","inline");return}I("submit_msg").text("提交失成功!");I("submit_msg").css("display","inline");setTimeout(function(){O.Reset();T.prev().trigger("click")},1500)},error:function(){I("submit_msg").text("提交失败,请重试!");I("submit_msg").css("display","inline")},complete:function(){T.ladda("stop")}})}function S(T){var V="";for(var U=0;U<T.length;U++){var Z=T[U].name;V+='<option value="'+Z+'">'+Z+"</option>"}var X=I("keyfield").val();I("keyfield").html(V).val(X).trigger("chosen:updated");var W=I("sortfield").val();I("sortfield").html(V).val(W).trigger("chosen:updated");var Y=I("groupfield").val();I("groupfield").html(V).val(Y).trigger("chosen:updated");I("fieldconfig_name").html(V).val("")}function R(W,T){var V="";for(var U=0;U<T.length;U++){V+='<option value="'+T[U]+'">'+T[U]+"</option>"}I(W).html(V).val(T).trigger("chosen:updated")}function A(Y,V,U,T,Z,X){var W=Y+":"+V+":"+U+":"+T+":"+Z+":"+X;if(W==M||W==C){return}M=W;$.ajax({url:"/api/dbmanager/schema",data:{host:Y,port:V,user:U,passwd:T,dbname:Z,table:X},dataType:"json",success:function(af){var ae=$.trim(I("host").val());var ac=$.trim(I("port").val());var ab=$.trim(I("username").val());var aa=$.trim(I("passwd").val());var ag=$.trim(I("dbname").val());var ad=$.trim(I("tablename").val());if(ae!=af.host||ac!=af.port||ab!=af.user||aa!=af.passwd||ag!=af.dbname||ad!=af.table){return}C=ae+":"+ac+":"+ab+":"+aa+":"+ag+":"+ad;if(af.errcode!==undefined&&af.errcode!==null&&af.errcode!=0){toastr.error(af.errmsg,"数据库配置错误");K=null;return}S(af.fields);K=af.fields},complete:function(){M=""}})}function y(){var X=$.trim(I("host").val());var V=$.trim(I("port").val());var U=$.trim(I("username").val());var T=$.trim(I("passwd").val());var Y=$.trim(I("dbname").val());var W=$.trim(I("tablename").val());if(X.length<2||V.length<3||U.length<2||T.length<2||Y.length<2||W.length<2){return}A(X,V,U,T,Y,W)}function E(){var T=I("fieldconfig_name").val();if(T==null||T==undefined||T.length<=0){return}if(K==null||K.length<=0){return}var U=0;for(U=0;U<K.length;U++){if(K[U].name!=T){continue}break}var V=K[U];I("fieldconfig_def").val(V.default_val);I("fieldconfig_order").val(U+1);if(V.type=="int"){if(V.extra=="auto_increment"){I("fieldconfig_type").val("2")}else{I("fieldconfig_type").val("3")}}else{if(V.type=="varchar"){I("fieldconfig_type").val("1")}else{if(V.type=="text"){I("fieldconfig_type").val("1")}else{if(V.type=="blob"){I("fieldconfig_type").val("1")}else{if(V.type=="timestamp"){I("fieldconfig_type").val("6")}}}}}}function z(){M="";C="";K=null;I("table_id").val("").parent().parent().hide();I("title").val("");I("host").val("");I("port").val("");I("username").val("");I("passwd").val("");I("dbname").val("");I("tablename").val("");I("readers").val("").trigger("chosen:updated");I("writers").val("").trigger("chosen:updated");I("keyfield").val("").html('<option value=""></option>').trigger("chosen:updated");I("sortfield").val("").html('<option value=""></option>').trigger("chosen:updated");I("groupfield").val("").html('<option value=""></option>').trigger("chosen:updated");I("fieldconfig_table tbody").html("");I("fieldconfig_table").trigger("footable_initialize");I("fieldconfig_table").parent().parent().hide();I("fieldconfig_label").text(I("fieldconfig_label").attr("data-label"));I("description").val("");I("fieldconfig_name").html('<option disabled="disabled">请先填写数据库配置</option>').val("");I("fieldconfig_title").val("");I("fieldconfig_order").val("");I("fieldconfig_type").val("0");I("fieldconfig_hide").prop("checked",false);I("fieldconfig_islist").prop("checked",false);I("fieldconfig_need").prop("checked",false);I("fieldconfig_def").val("");I("fieldconfig_desc").val("");I("fieldconfig_extend").hide();I("fieldconfig_int_extend").hide();I("fieldconfig_min").val("");I("fieldconfig_max").val("");I("fieldconfig_str_extend").hide();I("fieldconfig_minlen").val("");I("fieldconfig_maxlen").val("");I("fieldconfig_remoteurl").val("").hide();I("fieldconfig_dict_key").val("");I("fieldconfig_dict_name").val("");I("fieldconfig_dict").append("");I("fieldconfig_dict").data("dict",[]);I("fieldconfig_dict").parent().parent().parent().hide();I("fieldconfig_dict_lable").text(I("fieldconfig_dict_lable").attr("data-label"));I("submit_msg").hide()}O.Init=function(){I("button_submit").ladda().click(F);I("button_close").click(z);I("keyfield").chosen({no_results_text:"请先填写数据库配置",placeholder_text_multiple:" ",width:"100%"});I("sortfield").chosen({no_results_text:"请先填写数据库配置",placeholder_text_multiple:" ",width:"100%"});I("groupfield").chosen({no_results_text:"请先填写数据库配置",placeholder_text_multiple:" ",width:"100%"});I("fieldconfig_show").chosen({placeholder_text_multiple:" ",width:"100%"});I("writers").ajaxChosen({dataType:"json",type:"GET",url:"/api/user/search"},{loadingImg:"js/plugins/chosen-ajax-addition/loading.gif"},{no_results_text:"找不到对应用户",placeholder_text_multiple:" ",width:"644px"});I("readers").ajaxChosen({dataType:"json",type:"GET",url:"/api/user/search"},{loadingImg:"js/plugins/chosen-ajax-addition/loading.gif"},{no_results_text:"找不到对应用户",placeholder_text_multiple:" ",width:"644px"});I("fieldconfig_name").val("");toastr.options={closeButton:true,debug:false,progressBar:false,preventDuplicates:false,positionClass:"toast-top-right",onclick:null,showDuration:"400",hideDuration:"1000",timeOut:"7000",extendedTimeOut:"1000",showEasing:"swing",hideMethod:"fadeOut",escapeHtml:true,hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};I("host").blur(y);I("port").blur(y);I("username").blur(y);I("passwd").blur(y);I("dbname").blur(y);I("tablename").blur(y);I("keyfield_chosen input").focus(y);I("fieldconfig_name").focus(y);I("tableconfig").validate();I("fieldconfig_table").footable();I("fieldconfig_name").change(E);I("fieldconfig_add_dict").click(function(){O.AddDict()});I("fieldconfig_add_fieldrow").click(function(){O.AddFieldRow()})};function P(U){var V=U.data("fielddef");I("fieldconfig_name option").each(function(){var W=$(this);if(W.val()==V.name){W.attr("style","")}});$next=U.next();if($next.hasClass("footable-row-detail")){$next.remove()}U.remove();var T=I("fieldconfig_table");T.trigger("footable_initialize");if($(T.children("tbody")[0]).children("tr").length==0){T.parent().parent().hide();I("fieldconfig_label").text(I("fieldconfig_label").attr("data-label"))}}function N(V){var X=V.data("fielddef");I("fieldconfig_name").val(X.name);I("fieldconfig_title").val(X.title);I("fieldconfig_order").val(X.order);I("fieldconfig_def").val(X.def);I("fieldconfig_desc").val(X.desc);I("fieldconfig_hide").prop("checked",X.ishide);I("fieldconfig_islist").prop("checked",X.islist);I("fieldconfig_need").prop("checked",X.need);var Z=X.dict;for(var U=0;U<Z.length;U++){var Y=$('<li class="search-choice">');Y.data("dict",{key:Z[U].key,name:Z[U].name});var T=$("<span></span>");T.text(Z[U].key+":"+Z[U].name);Y.append(T);var W=$('<a class="search-choice-close"></a>');W.click(function(){var ac=Y.data("dict");var ad=I("fieldconfig_dict").data("dict");var aa=[];for(var ab=0;ab<ad.length;ab++){if(ad[ab].key!=ac.key){aa.push(ad[ab])}}I("fieldconfig_dict").data("dict",aa);Y.remove()});Y.append(W);I("fieldconfig_dict").append(Y)}if(X.dict.length>0){I("fieldconfig_dict").parent().parent().parent().show()}I("fieldconfig_dict").data("dict",X.dict);I("fieldconfig_type").val(X.type);P(V)}function D(af){var am=$("<tr></tr>");am.data("fielddef",af);am.append("<td>"+af.order+"</td>");var Y=$("<td></td>");Y.text(af.name);am.append(Y);var ag=$("<td></td>");ag.text(af.title);am.append(ag);var ab=$("<td></td>");var ae=$('<span class="label label-primary"></span>');ae.text(af.typename);ab.append(ae);if(af.ishide){var aj=$('<span class="label label-danger">隐藏</span>');ab.append(aj)}if(af.islist){var V=$('<span class="label label-warning">列表</span>');ab.append(V)}if(af.need){var V=$('<span class="label label-warning">必填</span>');ab.append(V)}am.append(ab);var al=$("<td></td>");al.text(af.def);am.append(al);var U=$("<td></td>");am.append(U);var ad=$("<td></td>");if(af.dict.length>0){var aa=$('<div class="chosen-container chosen-container-multi"></div>');var ah=$('<ul class="chosen-choices" style="border-width:0px;"></ul>');for(var ak=0;ak<af.dict.length;ak++){var X=$('<li class="search-choice">');var W=$("<span></span>");W.text(af.dict[ak].key+":"+af.dict[ak].name);X.append(W);ah.append(X)}aa.append(ah);ad.append(aa)}am.append(ad);var T=$("<td></td>");T.text(af.desc);am.append(T);var ac=$("<td></td>");var ai=$('<a class="btn btn-xs btn-danger"><strong>删除</strong></a>');ai.click(function(){P(am)});ac.append(ai);var Z=$('<a class ="btn btn-xs btn-primary"><strong>编辑</strong></a>');Z.click(function(){N(am)});ac.append(Z);am.append(ac);I("fieldconfig_table tbody").prepend(am)}function w(){I("fieldconfig_name").val("");I("fieldconfig_title").val("");I("fieldconfig_order").val("");I("fieldconfig_def").val("");I("fieldconfig_desc").val("");I("fieldconfig_type").val("");I("fieldconfig_hide").prop("checked",false);I("fieldconfig_islist").prop("checked",false);I("fieldconfig_need").prop("checked",false);I("fieldconfig_extend").hide();I("fieldconfig_int_extend").hide();I("fieldconfig_min").val("");I("fieldconfig_max").val("");I("fieldconfig_str_extend").hide();I("fieldconfig_minlen").val("");I("fieldconfig_maxlen").val("");I("fieldconfig_remoteurl").val("").hide();I("fieldconfig_dict_key").val("");I("fieldconfig_dict_name").val("");I("fieldconfig_dict").html("");I("fieldconfig_dict").data("dict",[]);I("fieldconfig_dict").parent().parent().parent().hide();I("fieldconfig_dict_lable").text(I("fieldconfig_dict_lable").attr("data-label"))}function Q(T){I("fieldconfig_table").parent().parent().show(0,function(){I("fieldconfig_label").text("");for(var U=0;U<T.length;U++){D(T[U]);I("fieldconfig_name option").each(function(){if($(this).val()==T[U].name){$(this).attr("style","display:none")}})}I("fieldconfig_table").trigger("footable_initialize");w()})}O.AddFieldRow=function(){var T={name:I("fieldconfig_name").val(),title:$.trim(I("fieldconfig_title").val()),order:$.trim(I("fieldconfig_order").val()),def:$.trim(I("fieldconfig_def").val()),desc:$.trim(I("fieldconfig_desc").val()),ishide:I("fieldconfig_hide").is(":checked"),islist:I("fieldconfig_islist").is(":checked"),need:I("fieldconfig_need").is(":checked"),dict:I("fieldconfig_dict").data("dict"),type:I("fieldconfig_type").val(),typename:I("fieldconfig_type option:selected").text()};if(T.name==null||T.name==undefined||T.name.length<=0){return}if(T.order.match(/^[0-9]+$/)==null){return}I("fieldconfig_table").parent().parent().show(0,function(){I("fieldconfig_label").text("");D(T);I("fieldconfig_name option").each(function(){if($(this).val()==T.name){$(this).attr("style","display:none")}});I("fieldconfig_table").trigger("footable_initialize");w()})};O.AddDict=function(){var W=$.trim(I("fieldconfig_dict_key").val());var U=$.trim(I("fieldconfig_dict_name").val());var Z=I("fieldconfig_dict").data("dict");if(Z==null||Z==undefined||!$.isArray(Z)){Z=[];I("fieldconfig_dict").data("dict",Z)}if(W==null||W==undefined||U==null||U==undefined){return}if(W.length==0||U.length==0){return}for(var V=0;V<Z.length;V++){if(Z[V].key==W){Z[V].name=U;I("fieldconfig_dict li").each(function(){$this=$(this);if($this.data("dict").key==W){$this.children("span").text(W+":"+U)}});I("fieldconfig_dict_key").val("");I("fieldconfig_dict_name").val("");return}}var Y=$('<li class="search-choice">');Y.data("dict",{key:W,name:U});var T=$("<span></span>");T.text(W+":"+U);Y.append(T);var X=$('<a class="search-choice-close"></a>');X.click(function(){var ac=Y.data("dict");var ad=I("fieldconfig_dict").data("dict");var aa=[];for(var ab=0;ab<ad.length;ab++){if(ad[ab].key!=ac.key){aa.push(ad[ab])}}I("fieldconfig_dict").data("dict",aa);Y.remove();if(aa.length==0){I("fieldconfig_dict").parent().parent().parent().hide();I("fieldconfig_dict_lable").text(I("fieldconfig_dict_lable").attr("data-label"))}});Y.append(X);I("fieldconfig_dict").parent().parent().parent().show();I("fieldconfig_dict_lable").text("");I("fieldconfig_dict").append(Y);I("fieldconfig_dict_key").val("");I("fieldconfig_dict_name").val("");Z.push({key:W,name:U})};O.Reset=z;function B(T){I("title").val(T.title);I("host").val(T.host);I("port").val(T.port);I("username").val(T.username);I("passwd").val(T.passwd);I("dbname").val(T.dbname);I("tablename").val(T.tablename);I("description").val(T.description);if(T.readers!=undefined&&T.readers!=null){for(var U=0;U<T.readers.length;U++){var V=$("<option></option>");V.attr("value",T.readers[U]);V.text(T.readers[U]);I("readers").append(V)}I("readers").val(T.readers).trigger("chosen:updated")}if(T.writers!=undefined&&T.writers!=null){for(var U=0;U<T.writers.length;U++){var V=$("<option></option>");V.attr("value",T.writers[U]);V.text(T.writers[U]);I("writers").append(V)}I("writers").val(T.writers).trigger("chosen:updated")}if(T.keyfield!=undefined&&T.keyfield!=null){R("keyfield",T.keyfield)}if(T.sortfield!=undefined&&T.sortfield!=null){R("sortfield",T.sortfield)}if(T.groupfield!=undefined&&T.groupfield!=null){R("groupfield",T.groupfield)}A(T.host,T.port,T.username,T.passwd,T.dbname,T.tablename);Q(T.fields)}O.Edit=function(T){if(T.table_id==null||T.table_id==undefined){return false}O.type=2;z();I("table_id").parent().parent().show();I("table_id").val(T.table_id);B(T);setTimeout(function(){$(window).trigger("resize")},100)};O.Clone=function(T){O.type=1;z();B(T);setTimeout(function(){$(window).trigger("resize")},100)};O.ModalId=function(){return x+"_modal"};O.Create=function(){O.type=1;z();setTimeout(function(){$(window).trigger("resize")},100)};var L=O.ModalId();var G=document.getElementById(L);if(!G){var J=$("#tableconfig_div").clone();J.find("[id]").each(function(){var T=$(this);var U=T.attr("id");T.attr("id",x+"_"+U)});J.attr("id",L);J.css("display","none");$("body").append(J);O.Init()}return O}function b(w,x){var C={};var G=w;var z=x;function J(N){var K=$('<select class="form-control"></select>');for(var L=0;L<N.length;L++){var M=$("<option></option>");M.attr("value",N[L].key);M.text(N[L].name);K.append(M)}return K}function I(L){var K="#"+G+"_"+L.name;if(L.dict!==undefined&&L.dict!=null&&L.dict.length>0){$(K).val("").trigger("chosen:updated")}else{if(L.islist&&L.type!=34&&L.type!=35){$(K).val("").manifest("remove")}else{if(L.type==10){$(K).val("")}else{if(L.type==11){$(K).val("")}else{if(L.type==12){$(K).val("")}else{if(L.type==13){$(K).val("")}else{if(L.type==20){$(K).val("")}else{if(L.type==21){$(K).val("")}else{if(L.type==22){$(K).val("")}else{if(L.type==23){$(K).val("")}else{if(L.type==24){$(K).val("")}else{if(L.type==30){$(K).val("")}else{if(L.type==31){$(K).val("")}else{if(L.type==32){$(K).val("")}else{if(L.type==33){$(K).val("")}else{if(L.type==34){$(K).val([]).trigger("chosen:updated")}else{if(L.type==35){$(K).val([]).trigger("chosen:updated")}else{return null}}}}}}}}}}}}}}}}}}function E(N,K){N.html("");for(var L=0;L<K.length;L++){var M=$("<option></option>").attr("value",K[L]).text(K[L]);N.append(M)}N.val(K).trigger("chosen:updated")}function y(M,K){var L="#"+G+"_"+M.name;if(M.dict!==undefined&&M.dict!=null&&M.dict.length>0){$(L).val(K).trigger("chosen:updated")}else{if(M.islist&&M.type!=34&&M.type!=35){$(L).manifest("add",K)}else{if(M.type==10){$(L).val(K)}else{if(M.type==11){$(L).val(K)}else{if(M.type==12){$(L).val(K)}else{if(M.type==13){$(L).val(K)}else{if(M.type==20){$(L).val(K)}else{if(M.type==21){$(L).val(K)}else{if(M.type==22){$(L).val(K)}else{if(M.type==23){$(L).val(K)}else{if(M.type==24){$(L).val(K)}else{if(M.type==30){$(L).val(K)}else{if(M.type==31){$(L).data("jsoneditor").set(K)}else{if(M.type==32){$(L).val(K)}else{if(M.type==33){$(L).val(K)}else{if(M.type==34){E($(L),K)}else{if(M.type==35){E($(L),K)}else{return null}}}}}}}}}}}}}}}}}}function H(L){var K="#"+G+"_"+L.name;if(L.dict!==undefined&&L.dict!=null&&L.dict.length>0){return $(K).val()}else{if(L.islist&&L.type!=34&&L.type!=35){return $(K).manifest("values")}else{if(L.type==10){return $(K).val()}else{if(L.type==11){return $(K).val()}else{if(L.type==12){return $(K).val()}else{if(L.type==13){return $(K).val()}else{if(L.type==20){return $(K).val()}else{if(L.type==21){return $(K).val()}else{if(L.type==22){return $(K).val()}else{if(L.type==23){return $(K).val()}else{if(L.type==24){return $(K).val()}else{if(L.type==30){return $(K).val()}else{if(L.type==31){return $(K).data("jsoneditor").get()}else{if(L.type==32){return $(K).val()}else{if(L.type==33){return $(K).val()}else{if(L.type==34){return $(K).val()}else{if(L.type==35){return $(K).val()}else{return null}}}}}}}}}}}}}}}}}}function B(N){var M="#"+G+"_"+N.name;if(N.dict!==undefined&&N.dict!=null&&N.dict.length>0){$(M).chosen({placeholder_text_multiple:" ",placeholder_text:" ",width:"100%"})}else{if(N.islist&&N.type!=34&&N.type!=35){$(M).manifest({separator:" "}).focus(function(){$(M).manifest("container").addClass("mf_container_focus")}).blur(function(){$(M).manifest("container").removeClass("mf_container_focus")})}else{if(N.type==10){}else{if(N.type==11){}else{if(N.type==12){}else{if(N.type==13){}else{if(N.type==20){$(M).inputmask({mask:"9999-99-99"})}else{if(N.type==21){$(M).inputmask({mask:"9999-99-99 99:99:99"})}else{if(N.type==22){$(M).inputmask({mask:"9999-99-99 99:99:99"})}else{if(N.type==23){$(M).inputmask({mask:"9999-99-99 99:99:99"})}else{if(N.type==24){$(M).inputmask({mask:"9999-99-99 99:99:99"})}else{if(N.type==30){}else{if(N.type==31){var L=document.getElementById(G+"_"+N.name);var K=new JSONEditor(L,{hideMenu:true,mode:"code"});$(L).data("jsoneditor",K);K.setText("{}")}else{if(N.type==32){}else{if(N.type==33){}else{if(N.type==34){$(M).val([]).ajaxChosen({dataType:"json",type:"GET",url:"/api/user/search"},{loadingImg:"js/plugins/chosen-ajax-addition/loading.gif"},{no_results_text:"找不到对应用户",placeholder_text_multiple:" ",placeholder_text:" ",width:"100%"})}else{if(N.type==35){$(M).val([]).ajaxChosen({dataType:"json",type:"GET",url:"/api/user/search"},{loadingImg:"js/plugins/chosen-ajax-addition/loading.gif"},{no_results_text:"找不到对应用户",placeholder_text_multiple:" ",placeholder_text:" ",width:"100%"})}else{return null}}}}}}}}}}}}}}}}}}function A(P){var N=G+"_"+P.name;var M=$('<div class="form-group"></div>');var L=$('<label class="col-sm-2 control-label"></label>');L.text(P.title);M.append(L);var K=$('<div class="col-sm-9"></div>');var O=null;if(P.dict!==undefined&&P.dict!=null&&P.dict.length>0){O=J(P.dict)}else{if(P.islist&&P.type!=34&&P.type!=35){O=$('<input type="text">')}else{if(P.type==10){O=$('<input type="text" class="form-control" disabled placeholder="系统自动分配">')}else{if(P.type==11){O=$('<input type="text" class="form-control">')}else{if(P.type==12){O=$('<input type="text" class="form-control">')}else{if(P.type==13){O=$('<input type="text" class="form-control">')}else{if(P.type==20){O=$('<input type="text" class="form-control">')}else{if(P.type==21){O=$('<input type="text" class="form-control">')}else{if(P.type==22){O=$('<input type="text" class="form-control">')}else{if(P.type==23){O=$('<input type="text" class="form-control">')}else{if(P.type==24){O=$('<input type="text" class="form-control">')}else{if(P.type==30){O=$('<input type="text" class="form-control">')}else{if(P.type==31){O=$('<div style="width:100%;height:200px;"></div>')}else{if(P.type==32){O=$('<textarea class="form-control" rows="4" style="max-width:100%;"></textarea>')}else{if(P.type==33){O=$('<input type="text" class="form-control">')}else{if(P.type==34){O=$('<select class="form-control"><option></option></select>')}else{if(P.type==35){O=$('<select class="form-control"><option></option></select>')}else{return null}}}}}}}}}}}}}}}}}if(P.islist&&O.is("select")){O.attr("multiple","multiple")}O.attr("id",N);K.append(O);if(P.desc!=undefined&&P.desc!=null&&P.desc.length>0){K.append($('<span class="help-block m-b-none"></span>').text(P.desc))}M.append(K);return M}function D(){var M=z.fields;var N=$('<form method="post" class="form-horizontal"></form>');N.attr("id",G);for(var Q=0;Q<M.length;Q++){var R=A(M[Q]);if(R){N.append(R)}}N.append('<div class="hr-line-dashed"></div>');var L=$('<div class="col-sm-4 col-sm-offset-2"></div>');var O=$('<button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>');O.attr("id",G+"_closbutton");L.append(O);var P=$('<button class="ladda-button btn btn-primary" data-style="slide-left"></button>');P.attr("id",G+"_submitbutton");P.append('<span class="ladda-label">提交</span>');P.append('<span class="ladda-spinner"></span>');P.append('<div class="ladda-progress" style="width: 0px;"></div>');L.append(P);var K=$('<p class="text-danger" style="display:none;"></p>');K.attr("id",G+"_submitmsg");L.append(K);N.append(L);return N}C.ModalId=function(){return G+"_modal"};function F(){var R=C.ModalId();var M=document.getElementById(R);if(M){return $(M)}var T=$('<div class="modal inmodal" tabindex="-1" role="dialog" aria-hidden="true"></div>');T.attr("id",G+"_modal");var S=$('<div class="modal-dialog modal-lg"></div>');var L=$('<div class="modal-content"></div>');S.append(L);var K=$('<div class="modal-header" style="padding-bottom:0px;"></div>');K.append('<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>');var Q=$('<h2 style="text-align:left;"></h2>');Q.text(z.title);K.append(Q);L.append(K);var N=$('<div class="modal-footer" style="text-align:left;"></div>');var P=$('<div class="ibox"></div>');P.append(D());P.append('<div style="min-height:60px;"></div>');N.append(P);L.append(N);T.append(S);$("body").append(T);for(var O=0;O<z.fields.length;O++){B(z.fields[O])}return T}C.build=function(L,K){G=L;z=K;return F()};C.reset=function(){var K=F();for(var L=0;L<z.fields.length;L++){I(z.fields[L])}return K};C.Edit=function(K){var L=F();for(var M=0;M<z.fields.length;M++){y(z.fields[M],K[z.fields[M].name])}return L};C.Clone=function(K){return C.Edit(K)};C.values=function(N){var M="tableconfig_"+N.table_id;var K={};for(var L=0;L<N.fields.length;L++){var O=H(N.fields[L]);K[N.fields[L].name]=O}return K};F();return C}var p=null;var s=0;var k=0;var r=1;var a="";var f=1;var c=null;var e={pagecount:25,options:[],orderby:"",desc:""};var t=null;function g(F){var E=F+2;var B=F-2;if(B<=1){B=1;E=B+4}if(E>f){E=f;B=(E-4)<=0?1:E-4}var C=$("#datalist_pagination");C.html("");var y=$('<li class="paginate_button previous"></li>');if(F==1){y.addClass("disabled")}var w=$('<a><i class="fa fa-chevron-left"></i></a>');w.click(v);y.append(w);C.append(y);for(;B<=E;B++){var D=$('<li class="paginate_button"></li>');if(B==F){D.addClass("active")}var z=$("<a></a>");z.text(B);z.data("pageno",""+B);z.click(function(){var G=$(this).data("pageno");var H=$("#datalist_pagination").children().each(function(){var I=$(this);if(I.hasClass("previous")){if(G>1){I.removeClass("disabled")}if(G<=1){I.addClass("disabled")}}if(I.hasClass("next")){if(G<f){I.removeClass("disabled")}if(G>=f){I.addClass("disabled")}}$(this).removeClass("active")});t(G,true,false);$(this).parent().addClass("active")});D.append(z);C.append(D)}var A=$('<li class="paginate_button next"></li>');if(F==f){A.addClass("disabled")}var x=$('<a><i class="fa fa-chevron-right"></i></a>');x.click(n);A.append(x);C.append(A)}function o(){var C=$("#datalist_table");C.html("");var B=$("<thead></thead>");var A=$("<tr></tr>");var z=true;for(var y=0;y<p.fields.length;y++){var w=p.fields[y];var D=$("<th></th>");D.text(w.title);if(!w.ishide&&z){D.attr("data-toggle","true");z=false}if(w.ishide){D.attr("data-hide","all")}else{var E=false;for(var x=0;x<p.keyfield.length;x++){if(p.keyfield[x]==w.name){E=true;break}}if(!E){D.attr("data-breakpoints","xs sm")}}A.append(D)}A.append("<th>操作</th>");B.append(A);C.append(B);C.append("<tbody></tbody>");C.append('<tfoot><tr><td colspan="100" class="footable-visible"></td></tr></tfoot>');C.footable().on("footable_row_expanded",function(H){var F=$(H.row).data("trigger_functions");if(F!=undefined&&F!=null){for(var G=0;G<F.length;G++){F[G]()}$(H.row).data("trigger_functions",null)}});g(1)}function j(y,x,w){$("#datalist_databeg").text(x);$("#datalist_dataend").text(w);$("#datalist_datatotal").text(y)}function q(A,y,x){if(A!==undefined&&A!=null&&A.length>0){for(var w=0;w<A.length;w++){if(A.key==y){return A.name}}}if(x==22&&y){var z=new Date(parseInt(y)*1000);return z.getFullYear()+"-"+(z.getMonth()+1)+"-"+z.getDate()+" "+z.getHours()+":"+z.getMinutes()+":"+z.getSeconds()}return y}function l(C,O){var N=$("<tr></tr>");var G=[];for(var K=0;K<p.fields.length;K++){var w=p.fields[K];var A=$("<td></td>");if(w.islist){A.append($('<span class="label"></span>').text(q(w.dict,O[w.name],w.type)))}else{if(w.type==10){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==11){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==12){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==13){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==20){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==21){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==22){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==23){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==24){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==30){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==31){var I="datalist_row_"+s+"_"+C+"_"+w.name;var M=$("<div></div>");M.addClass(I);G.push((function(P,Q){return function(){var R=new JsonFormater({dom:Q,singleTab:" ",tabSize:1,imgCollapsed:"/img/Collapsed.gif",imgExpanded:"/img/Expanded.gif",quoteKeys:false});R.doFormat(P);R.collapseLevel(2)}})(O[w.name],"#datalist_table .footable-row-detail ."+I));A.append(M)}else{if(w.type==32){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==33){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==34){A.text(q(w.dict,O[w.name],w.type))}else{if(w.type==35){A.text(q(w.dict,O[w.name],w.type))}else{A.text(q(w.dict,O[w.name],-1))}}}}}}}}}}}}}}}}N.append(A);if(G.length>0){N.data("trigger_functions",G)}}var F=$("<td></td>");var D=$('<div class="dropdown" style="display:inline"></div>');var J=$('<a class="btn btn-xs btn-outline btn-danger" data-toggle="dropdown" aria-expanded="false"><strong>删除</strong></a>');D.append(J);var z=$('<ul class="dropdown-menu dropdown-user"style="padding-top:10px;padding-bottom:10px;"></ul>');var E=$('<li style="display:inline"><a style="display:inline;">取消</a></li>');z.append(E);var x=$('<li style="display:inline"></li>');var y=$('<a style="display:inline;"><span class="text-danger">确认</span></a>');x.append(y);z.append(x);D.append(z);y.click(function(){$.ajax({type:"POST",url:"/api/dbmanager/delete/"+p.table_id,data:{data:JSON.stringify(O)},dataType:"json",success:function(P){if(P.errcode!==null&&P.errcode!==undefined&&P.errcode!=0){toastr.error("删除失败",P.errmsg);return}toastr.success("","删除成功");t(r,false,true);$("#datalist_table").data("footable").removeRow(N)},error:function(Q,P,R){toastr.error("删除失败",R)},complete:function(){}})});F.append(D);var H=$('<a class="btn btn-xs btn-outline btn-warning"><strong>复制</strong></a>');H.click(function(){var P=null;if(p.table_id==0){P=m("tableconfig_clone_"+O.table_id)}else{P=b("tableconfig_clone_"+s+"_"+C,p)}P.Clone(O);$("#"+P.ModalId()).modal("show")});F.append(H);var B=$('<a class="btn btn-xs btn-outline btn-primary"><strong>编辑</strong></a>');B.click(function(){var P=null;if(p.table_id==0){P=m("tableconfig_edit_"+O.table_id)}else{P=b("tableconfig_edit_"+s+"_"+C,p)}P.Edit(O);$("#"+P.ModalId()).modal("show")});F.append(B);if(p.table_id==0){var L=$('<a class="btn btn-xs btn-outline btn-success"><strong>数据</strong></a>');L.attr("href","#/data/"+O.table_id);F.append(L)}N.append(F);N.data("dbdata",O);return N}function u(){if(c.total!=undefined){k=c.total;f=Math.ceil(k/e.pagecount)}var x=parseInt(c.offset)+1;var w=parseInt(c.offset)+c.list.length;if(w>k){w=k}if(x>w){x=w}j(k,x,w);var z=$("#datalist_table").data("footable");$("#datalist_table tbody").children().each(function(){z.removeRow(this)});for(var y=0;y<c.list.length;y++){z.appendRow(l(y,c.list[y]))}}t=function(z,y,x){var D=z;if(D>f){D=f}if(D<1){D=1}var B=(D-1)*e.pagecount;var A={offset:B,count:e.pagecount,options:e.options,orderby:e.orderby,desc:e.desc,gettotal:(D==1?1:0)};var C=JSON.stringify(A);if(C==a&&x==false){return}r=D;a=C;s++;var w=s;$.ajax({url:"/api/dbmanager/get/"+p.table_id,type:"GET",dataType:"json",data:{offset:B,count:e.pagecount,options:e.options,orderby:e.orderby,desc:e.desc,gettotal:(D==1?1:0)},success:function(E){if(w!=s){return}if((E.errcode!=null||E.errcode!=undefined)&&E.errcode!=0){toastr.error("请求接口错误",E.errmsg);return}c=E;u();if(!y){g(D)}},error:function(G,E,F){toastr.error("请求接口错误",F)}});if(!y){g(D)}};function n(){if(r>=f){return}return t(r+1,false,false)}function v(){if(r==0){return}return t(r-1)}function i(A,w){var x=$("#"+A);x.html("");for(var y=0;y<w.length;y++){var z=$("<option></option>");z.attr("value",w[y].name);z.text(w[y].title);x.append(z)}}function d(){var y=$("#adv_search_field").val();var A=$("#adv_search_field option:selected").text();var C=$("#adv_search_op").val();var x=$("#adv_search_op option:selected").text();var z=$.trim($("#adv_search_value").val());if(A.length==0||x.length==0||z.length==0){return}var B=$("<li></li>");B.append($('<span class="label label-primary"></span>').text(A));B.append($('<span class="label label-warning"></span>').text(x));B.append($('<span class="label"></span>').text(z));var w=$('<button class="btn btn-danger btn-xs">删除</button>');w.click(function(){B.remove()});B.append(w);B.data("filteroption",{name:y,op:C,value:z});$("#adv_search_filters").append(B);$("#adv_search_value").val("")}function h(){var w=[];$("#adv_search_filters li").each(function(){var x=$(this).data("filteroption");if(x){w.push(x)}});e.options=w;e.desc=$("#adv_search_order").val();e.orderby=$("#adv_search_order_field").val()}datatable.Init=function(x){p=x;$("#datalist_search_field").focus(function(){$("#datalist_search_value").addClass("form-control_focus")}).blur(function(){$("#datalist_search_value").removeClass("form-control_focus")});$("#datalist_search_value").focus(function(){$("#datalist_search_field").addClass("form-control_focus")}).blur(function(){$("#datalist_search_field").removeClass("form-control_focus")});$("#datalist_pageno").change(function(){e.pagecount=$("#datalist_pageno").val();t(1,false,false)}).val(e.pagecount);$("#datalist_go_button").click(function(){var y=$("#datalist_go_pageno").val();if(y.match(/^[0-9]+$/)==null){$("#datalist_go_pageno").val("");return}t(y,false,false)});$("#datalist_search_button").click(function(){var A=$("#datalist_search_field").val();var z=$.trim($("#datalist_search_value").val());var B=null;if(A.length!=0&&z.length!=0){for(var y=0;y<x.fields.length;y++){if(x.fields[y].name==A){B="LIKE";break}}}e.options=[];if(B){e.options=[{name:A,op:B,value:z}]}t(1,false,false)});$("#datalist_search_reset").click(function(){e.options=[],e.orderby="",e.desc="",e.pagecount=25;$("#datalist_pageno").val(25);$("#datalist_search_value").val("");t(1,false,false)});i("datalist_search_field",x.fields);i("adv_search_field",x.fields);i("adv_search_order_field",x.fields);$("#adv_search_clear").click(function(){$("#adv_search_value").val("");$("#adv_search_filters").html("");$("#adv_search_order").val("");$("#adv_search_order_field").val("")});$("#adv_search_button").click(function(){h();t(1,false,false);$("#adv_search_close").trigger("click")});$("#adv_search_add").click(function(){d()});$("#adv_search_field").val("");$("#adv_search_op").val("");$("#adv_search_value").val("");o();t(1,false,false);var w=null;$("#datalist_creater").click(function(){if(w==null){if(p.table_id==0){modal=m("tableconfig_new_"+p.table_id)}else{modal=b("tableconfig_new_"+p.table_id,p)}}$("#"+modal.ModalId()).modal("show")})}})();