| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- <#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}
- *
- * <pre>
- <#if vars.developer?exists>
- * 作者:${vars.developer}
- * 邮箱:${vars.email}
- </#if>
- * 日期:${date?string("yyyy-MM-dd HH:mm:ss")}
- * 版权:${vars.company}
- * </pre>
- */
- $(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>
- <#if reportType?exists && reportType?index_of(",")==-1 && reportType!="">
- this.reportType="${reportType}";
- <#else>
- this.reportType="bar";
- </#if>
- <#if legendBy?exists && legendBy?index_of(",")==-1 && legendBy!="">
- this.legendBy="${legendBy}";
- <#else>
- this.legendBy=null;
- </#if>
- <#if groupCol?exists && groupCol!="">
- this.groupCol="${groupCol}";
- <#else>
- this.groupCol="count_";
- </#if>
- <#if groupBy?exists && groupBy?index_of(",")==-1 && groupBy!="">
- this.groupBy="${groupBy}";
- <#else>
- this.groupBy=null;
- </#if>
- <#if hasSub?exists && hasSub==true><#list subTableList as subTable>
- this.${subTable.variables.class?uncap_first} = new ${subTable.variables.class}();
- </#list></#if>
- 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);
- </#if>
- </#if>
- 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);
- </#if>
- </#if>
- <#list model.columnList as col>
- <#assign colName=func.convertUnderLine(col.columnName)>
- <#if colName != "id">
- <#if groupBy?exists && groupBy!="">
- if(legType!="${col.columnName}"){
- </#if>
- uri.append("&Q__S__EQ__${col.columnName}=").append($("<#noparse>#</#noparse>${colName}Search").val());
- var ${colName}Search="全部";
- if($("<#noparse>#</#noparse>${colName}Search").val()!=""){
- ${colName}Search =$("<#noparse>#</#noparse>${colName}Search").val();
- }
- searchShow.append(" ${col.comment}=").append( ${colName}Search);
- <#if groupBy?exists && groupBy!="">
- }
- </#if>
- </#if>
- </#list>
- $("#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>#</#noparse>${colName}Search").removeAttr("disabled");
- </#if>
- </#list>
- var groupBy=$("#groupBySearch").val();
- <#list model.columnList as col>
- <#assign colName=func.convertUnderLine(col.columnName)>
- <#if colName != "id">
- if(groupBy=="${col.columnName}"){
- $("<#noparse>#</#noparse>${colName}Search").attr("disabled","disabled");
- }
- </#if>
- </#list>
- });
- </#if>
- },
- 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;
- </#if>
- var legTypeStrArr= groupBy.split("_");
- var legTypeStr=legTypeStrArr[0];
- for(var i=1;i<legTypeStrArr.length;i++ ){
- legTypeStr+=legTypeStrArr[i].substring(0, 1).toUpperCase() + legTypeStrArr[i].substring(1);
- }
- <#else>
- <#if legendBy?exists && legendBy!="">
- <#if legendBy?index_of(",")!=-1>
- var legTypeStr=$("#legendBySearch").val();
- <#else>
- var legTypeStr=self.legendBy;
- </#if>
- </#if>
- </#if>
- //报表类型
- <#if reportType?exists && reportType?index_of(",")!=-1>
- var reportType=$("#reportTypeSearch").val();
- <#else>
- var reportType=self.reportType;
- </#if>
- 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 >
- </#if>
- </#list>
- </#list>
- <#else>
- var conNameArr= self.groupCol.split("_");
- var conNameStr=conNameArr[0];
- for(var i=1;i<conNameArr.length;i++ ){
- conNameStr+=conNameArr[i].substring(0, 1).toUpperCase() + conNameArr[i].substring(1);
- }
- series[0]={type:reportType,colName:conNameStr,legendName:"数量"};
- legend[0]="数量";
- </#if>
- 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>#</#noparse>${classVar}GridDiv").empty().html("<table id=\"${classVar}Grid\"></table>");
-
- $.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>,</#if>
- </#if>
- </#list>
- ],
- colModel : [
- <#list model.columnList as col>
- <#assign colName=func.convertUnderLine(col.columnName)>
- <#if colName != "id">
- {name: '${colName}', width: 120}<#if col_has_next>,</#if>
- </#if>
- </#list>
- ],
- hidegrid : false
- });
- }
- }
- ${class}.GRID = "<#noparse>#</#noparse>${classVar}Grid";
|