<#import "../function.ftl" as func> <#assign comment=model.tabComment> <#assign class=model.variables.class> <#assign classVar=class?uncap_first> <#assign sys=model.variables.sys> <#assign module=model.variables.module> <#assign commonList=model.commonList> <#assign pkModel=model.pkModel> <#assign pk=func.getPk(model) > <#assign pkVar=func.convertUnderLine(pk) > <#assign subTableList=model.subTableList> <#assign hasSub=model.hasSub> <#assign hasTab=model.variables.hasTab> <#assign groupBy=model.variables.groupBy> <#assign groupCol=model.variables.groupCol> <#assign legendBy=model.variables.legendBy> <#assign reportType=model.variables.reportType> <#assign isBaseModule=model.variables.isBaseModule> /** * ${comment} * *
 <#if vars.developer?exists>
 * 作者:${vars.developer}
 * 邮箱:${vars.email}
 
 * 日期:${date?string("yyyy-MM-dd HH:mm:ss")}
 * 版权:${vars.company}
 * 
*/ $(function(){ var ${classVar} = new ${class}(); ${classVar}.init(); }); function ${class}(){ this.hadInit = false; this.isEdit = false; <#if isBaseModule = 'true'> this.baseUrl = ctx + "/${sys}/${module}/${classVar}/listData.htm"; <#else> this.baseUrl = ctx + "/${sys}/${classVar}/listData.htm"; <#if reportType?exists && reportType?index_of(",")==-1 && reportType!=""> this.reportType="${reportType}"; <#else> this.reportType="bar"; <#if legendBy?exists && legendBy?index_of(",")==-1 && legendBy!=""> this.legendBy="${legendBy}"; <#else> this.legendBy=null; <#if groupCol?exists && groupCol!=""> this.groupCol="${groupCol}"; <#else> this.groupCol="count_"; <#if groupBy?exists && groupBy?index_of(",")==-1 && groupBy!=""> this.groupBy="${groupBy}"; <#else> this.groupBy=null; <#if hasSub?exists && hasSub==true><#list subTableList as subTable> this.${subTable.variables.class?uncap_first} = new ${subTable.variables.class}(); this.jtjqgrid = null; } ${class}.prototype = { init : function(params){ var self = this; if(!self.hadInit){ self.hadInit = true; self._bindEventHander(); var uri=new StringBuffer(); uri.append(self.baseUrl); <#if groupBy?exists> <#if groupBy?index_of(",")!=-1> uri.append("?G__group_by_=").append($("#groupBySearch").val()).append("&G__group_col_=").append(self.groupCol); <#elseif groupBy!=""> uri.append("?G__group_by_=").append(self.groupBy).append("&G__group_col_=").append(self.groupCol); self.getData(uri, self); } }, _bindEventHander : function(){ var self = this; $(document).on("click","#searchBtn",function(){ var uri=new StringBuffer(); var searchShow=new StringBuffer(); searchShow.append(" 查询条件: "); uri.append(self.baseUrl); <#if groupBy?exists> <#if groupBy?index_of(",")!=-1> var legType=$("#groupBySearch").val(); uri.append("?G__group_by_=").append(legType).append("&G__group_col_=").append(self.groupCol); <#elseif groupBy!=""> var legType=self.groupBy; uri.append("?G__group_by_=").append(legType).append("&G__group_col_=").append(self.groupCol); <#list model.columnList as col> <#assign colName=func.convertUnderLine(col.columnName)> <#if colName != "id"> <#if groupBy?exists && groupBy!=""> if(legType!="${col.columnName}"){ uri.append("&Q__S__EQ__${col.columnName}=").append($("<#noparse>#${colName}Search").val()); var ${colName}Search="全部"; if($("<#noparse>#${colName}Search").val()!=""){ ${colName}Search =$("<#noparse>#${colName}Search").val(); } searchShow.append(" ${col.comment}=").append( ${colName}Search); <#if groupBy?exists && groupBy!=""> } $("#searchShow").text(""+searchShow); self.getData(uri,self); return false; }); <#if groupBy?exists && groupBy?index_of(",")!=-1> $(document).on("change","#groupBySearch",function(){ <#list model.columnList as col> <#assign colName=func.convertUnderLine(col.columnName)> <#if colName != "id"> $("<#noparse>#${colName}Search").removeAttr("disabled"); var groupBy=$("#groupBySearch").val(); <#list model.columnList as col> <#assign colName=func.convertUnderLine(col.columnName)> <#if colName != "id"> if(groupBy=="${col.columnName}"){ $("<#noparse>#${colName}Search").attr("disabled","disabled"); } }); }, getData : function(uri,self){ $.ajax({ type : "GET", url : uri, contentType : "application/json", dataType : "json", success : function(data) { self.createReport(data,self); }, error : function(msg) { alert(msg); } }); }, createReport : function(data,self){ <#if groupBy?exists && groupBy!=""> <#if groupBy?index_of(",")!=-1> var groupBy=$("#groupBySearch").val(); <#else> var groupBy=self.groupBy; var legTypeStrArr= groupBy.split("_"); var legTypeStr=legTypeStrArr[0]; for(var i=1;i <#if legendBy?exists && legendBy!=""> <#if legendBy?index_of(",")!=-1> var legTypeStr=$("#legendBySearch").val(); <#else> var legTypeStr=self.legendBy; //报表类型 <#if reportType?exists && reportType?index_of(",")!=-1> var reportType=$("#reportTypeSearch").val(); <#else> var reportType=self.reportType; var series=[]; var legend=[]; <#if groupCol?exists && groupCol?index_of(",")!=-1> <#assign intVar=0> <#list groupCol?split(",") as groupColVar> <#list model.columnList as col> <#if col.columnName==groupColVar> <#assign groupColVarAss=func.convertUnderLine(groupColVar)> series[${intVar}]={type:reportType,colName:"${groupColVarAss}",legendName:"${col.comment}"}; legend[${intVar}]="${col.comment}"; <#assign intVar=intVar+1 > <#else> var conNameArr= self.groupCol.split("_"); var conNameStr=conNameArr[0]; for(var i=1;i var report=new Report(); report.data=data; report.setLegend(true,legend); report.initSeries(series,legTypeStr); report._initChart("${classVar}Chart","${comment}"); self._initJqgrid(data,self); }, _initJqgrid : function(data,self){ var legType=$("#reportTypeSearch").val(); $("<#noparse>#${classVar}GridDiv").empty().html("
"); $.jgrid.defaults.styleUI = 'Bootstrap'; $(${class}.GRID).jqGrid({ datatype : "jsonstring", datastr : data, height : 200, autowidth : true, shrinkToFit : true, rowNum : 20, viewrecords: true, multiselect : false, rowList : [ 10, 20, 30 ], colNames : [ <#list model.columnList as col> <#assign colName=func.convertUnderLine(col.columnName)> <#if colName != "id"> "${col.comment}"<#if col_has_next>, ], colModel : [ <#list model.columnList as col> <#assign colName=func.convertUnderLine(col.columnName)> <#if colName != "id"> {name: '${colName}', width: 120}<#if col_has_next>, ], hidegrid : false }); } } ${class}.GRID = "<#noparse>#${classVar}Grid";