123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433 |
- <#--显示字段-->
- <#assign fields=sysQueryView.fieldSettings>
- <#--字段Map-->
- <#assign metaMap=sysQueryView.fieldMap>
- <#assign factFieldMap=sysQueryView.factFieldMap>
- <#--是否显示行号-->
- <#assign showRowsNum="false">
- <#--是否初始化查询-->
- <#assign initQuery="false">
- <#--是否初始化查询-->
- <#assign pageSize=sysQueryView.pageSize>
- <#--是否分组-->
- <#assign supportGroup="false">
- <#if (sysQueryView.supportGroup==1)>
- <#assign supportGroup="true">
- </#if>
- <#if (sysQueryView.showRowsNum==1)>
- <#assign showRowsNum="true">
- </#if>
- <#if (sysQueryView.initQuery==1)>
- <#assign initQuery="true">
- </#if>
- <#--生成colModel对象-->
- <#function getField field>
- <#assign meta=field.metaField>
- <#assign sort="false" >
- <#assign frozen="false" >
- <#assign align=field.align >
- <#assign alarmSetting=meta.alarmSetting >
- <#assign formater=meta.formater>
- <#assign url=meta.url >
-
- <#if (field.sortAble==1)>
- <#assign sort="true" >
- </#if>
- <#if (field.frozen==1)>
- <#assign frozen="true" >
- </#if>
- <#if ( align?exists && align=="" )>
- <#assign align="center" >
- </#if>
- <#assign rtn>{label:"${meta.fieldDesc}",name:"${meta.name}",index:'${meta.fieldName}',
- sortable:${sort},frozen:${frozen},align:"${align}"
- <#if (field.summaryType?exists && field.summaryType?trim!="") >
- ,summaryType:"${field.summaryType}"
- </#if>
- <#if (field.summaryTemplate?exists && field.summaryTemplate?trim!="") >
- ,summaryTemplate:"${field.summaryTemplate}"
- </#if>
- <#if (field.width?exists && field.width != 0) >
- ,width:${field.width}
- </#if>
- <#if (formater?exists && formater?trim!="" )>
- ,formatter:${meta.name}_Formater
- <#elseif (alarmSetting?exists && alarmSetting?trim!="" )>
- ,formatter:${meta.name}_AlarmFormater
- <#elseif ( url?exists && url?trim!="" )>
- ,formatter:${meta.name}_UrlFormater
- </#if>
- }</#assign>
- <#return rtn>
- </#function>
- <#--获取条件-->
- <#function getCondition condition>
- <#assign rtn="">
- <#list condition as con>
- <#assign operate=con.op >
- <#if (operate=="=") >
- <#assign operate="==" >
- </#if>
- <#if con_index==0>
- <#assign rtn="cellvalue" + operate + con.val >
- <#else>
- <#assign rtn=rtn + " && cellvalue" + operate + con.val >
- </#if>
- </#list>
- <#return rtn>
- </#function>
- <#--生成格式化函数-->
- <#macro genFormaterFunction>
- <#list fields as field>
- <#assign meta=field.metaField>
- <#assign alarmSetting=meta.alarmSetting >
- <#assign formater=meta.formater>
- <#assign url=meta.url >
- <#if (formater?exists && formater?trim!="") >
- function ${meta.name}_Formater(cellvalue, options, rowObject){
- ${formater};
- }
- <#elseif (alarmSetting?exists && alarmSetting?trim!="") >
- <#assign alarm=alarmSetting?eval >
- function ${meta.name}_AlarmFormater(cellvalue, options, rowObject){
- if(options.rowId=="" || options.rowId.indexOf("gridList")>-1){
- return cellvalue;
- }
- <#list alarm as item>
- if(${getCondition(item.condition)}){
- return "<span style='color:${item.color};font-weight:bold;'>" + cellvalue +"</span>";
- }
- </#list>
- return cellvalue;
- }
- <#elseif (url?exists && url?trim!="") >
- function ${meta.name}_UrlFormater(cellvalue, options, rowObject){
- var url=__ctx + "${url}";
- //url=url.replace("{${meta.name}}",cellvalue);
- url=replaceUrl(url,rowObject);
- return "<a href='"+url+"' target='_blank'>"+cellvalue+"</a>";
- }
- </#if>
- </#list>
- </#macro>
- <#--生成查询控件-->
- <#macro getController field>
- <#assign fieldName=field.fieldName>
- <#assign dataType=field.dataType>
- <#assign content=field.controlContent>
-
- <#switch field.controlType>
- <#case "1">
- <#if (dataType=="varchar")>
- <input type="text" name="Q_${fieldName}" class="inputText" />
- <#elseif (dataType=="number")>
- <input type="text" name="Q_${fieldName}" class="inputText" validate="{number:true}" />
- </#if>
- <#break>
- <#case "3">
- <input lablename="${fieldName}" class="dicComboTree" nodekey="${content}" validate="{empty:false}" name="${fieldName}" height="150" width="125" />
- <#break>
-
- <#case "4"><#--用户单选选择器 -->
- <input type="hidden" name="Q_${fieldName}" class="inputText">
- <input type="text" readonly="readonly" class="inputText" name="${fieldName}" >
- <input type="button" onclick="__Selector__.selectUser({self:this});" value="...">
- <#break>
- <#case "5"><#--角色多选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" style="width: 250px" readonly="readonly" class="inputText">
- <input type="button" onclick="__Selector__.selectRole({self:this,isSingle:false});" value="...">
- <#break>
- <#case "6"><#--组织多选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" style="width: 250px" readonly="readonly" class="inputText" name="${fieldName}" >
- <input type="button" onclick="__Selector__.selectOrg({self:this,isSingle:false});" value="...">
- <#break>
- <#case "7"><#--岗位多选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" style="width: 250px" readonly="readonly" class="inputText" name="${fieldName}">
- <input type="button" onclick="__Selector__.selectPos({self:this,isSingle:false});" value="...">
- <#break>
- <#case "8"><#--人员多选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" style="width: 250px" readonly="readonly" class="inputText" name="${fieldName}" >
- <input type="button" onclick="__Selector__.selectUser({self:this,isSingle:false});" value="...">
- <#break>
- <#case "17"><#--角色单选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" readonly="readonly" class="inputText" name="Q_${fieldName}" >
- <input type="button" onclick="__Selector__.selectRole({self:this});" value="...">
- <#break>
- <#case "18"><#--组织单选选择器 -->
- <input type="hidden" name="Q_${fieldName}">
- <input type="text" readonly="readonly" class="inputText" name="${fieldName}">
- <input type="button" onclick="__Selector__.selectOrg({self:this});" value="...">
- <#break>
- <#case "19"><#--岗位单选选择器 -->
- <input type="hidden" name="Q_${fieldName}" >
- <input type="text" readonly="readonly" class="inputText" name="${fieldName}" >
- <input type="button" onclick="__Selector__.selectPos({self:this});" value="...">
- <#break>
-
- <#case "11"><#--下拉列表框 -->
- <#assign options=content?eval>
- <select name="Q_${fieldName}" >
- <option value="">全部</option>
- <#list options as opt>
- <option value="${opt.optionKey}">${opt.optionValue}</option>
- </#list>
- </select>
- <#break>
-
- <#case "12"><#-- 自定对话框 -->
- <#assign dg=content?eval>
- <input type="text" id="Q_${fieldName}" name="Q_${fieldName}" class="inputText" />
- <input type="button" onclick="showCustomDialog('${dg.dialog}','${dg.resultField}','Q_${fieldName}')" value="..." dialog="">
- <#break>
-
- </#switch>
- </#macro>
- <#--日期条件查询框-->
- <#macro genDate con>
- <#assign fieldName=con.name>
- <#assign operate=con.operate>
- <#if (operate==7)>
- 从:
- <input type="text" name="Q_begin${fieldName}" readonly="readonly" class="wdateTime inputText" />
- </li><li>到:
- <input type="text" name="Q_end${fieldName}" readonly="readonly" class="wdateTime inputText" />
- <#else>
- <input type="text" name="Q_${fieldName}" readonly="readonly" class="wdateTime inputText" />
- </#if>
- </#macro>
- <#--数字条件查询框-->
- <#macro genNumber con>
- <#assign fieldName=con.name>
- <#assign operate=con.operate>
- <#assign field=factFieldMap[fieldName]>
- <#assign controlType=field.controlType>
-
- <#if (operate==7)>
- 从:
- <input type="text" name="Q_begin${fieldName}" class="inputText" validate="{number:true}" />
- </li><li>到:
- <input type="text" name="Q_end${fieldName}" class="inputText" validate="{number:true}" />
- <#else>
- <@getController field />
- </#if>
-
- </#macro>
- <#macro genCondition con>
- <#assign fieldName=con.name>
- <#assign operate=con.operate>
-
- <#assign field=factFieldMap[fieldName]>
- <#assign controlType=field.controlType>
- <#assign dataType=field.dataType>
- <li>
- <span class="label">${field.fieldDesc}:</span>
- <#switch dataType>
- <#case "varchar"><#--字符串-->
- <#case "text">
- <@getController field />
- <#break>
- <#--数字-->
- <#case "number">
- <@genNumber con/>
- <#break>
- <#--日期-->
- <#case "date">
- <@genDate con/>
- <#break>
- </#switch>
- </li>
- </#macro>
- <#macro addCtx url><#if (!url?contains('http://') && !url?contains('https://') ) ><#noparse>${ctx}</#noparse></#if>${url}</#macro>
- <script type="text/javascript">
- <#--调用生成格式化函数体-->
- <@genFormaterFunction/>
- $(function () {
-
- $("#gridList").jqGrid({
- url:__ctx + '/platform/system/sysQueryView/data_${sysQueryView.sqlAlias}/${sysQueryView.alias}.ht',
- datatype: "json",
- mtype:"POST",//提交方式
- height: '100%',
- postData:postData,
- autowidth:true,
- jsonReader:{
- root: "rows",// json中代表实际模型数据的入口
- total: "total", // json中代表总页数的数据
- page: "page", // json中代表当前页码的数据
- records: "records",// json中代表数据行总数的数据
- repeatitems : false// 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。
- },
- colModel:[
- <#assign idx=0>
- <#list fields as field>
- <#--隐藏列不显示-->
- <#if (field.hidden==0)>
- <#if (idx >0) >,</#if>
- ${getField(field)}
- <#assign idx=idx +1>
- </#if>
- </#list>
-
- <#if (rowButtons?exists && rowButtons?size>0) >
- ,{label:"管理", align:"center",formatter:managerFormatter}
- </#if>
- ],
- //行号
- rownumbers:${showRowsNum},
- <#if (sortField?exists && sortField?trim!="") >
- sortname:"${sortField}",
- sortorder:"${sortSeq}",
- </#if>
- rownumWidth:20,
- viewrecords:true,
- //初始是否查询
- search:${initQuery},
- //上分页条
- //toppager :"#pagerNav",
- <#if (sysQueryView.needPage==1)>
- rowNum: ${pageSize},
- rowList: [5,10,20,30],
- recordtext:"总记录数:{2}",
- pager: "#pagerNav",
- prmNames:{page:"page",rows:"pageSize",sort:"sortField",order:"orderSeq",search:"initSearch"},
- <#else>
- prmNames:{sort:"sortField",order:"orderSeq",search:"initSearch"},
- rowNum: 10000,
- </#if>
- //列排序
- //direction : "rtl",
- /*
- grouping:true,
- groupingView : {
- groupField : ['category','amount'],
- //是否显示到列表
- groupColumnShow :[ true,true],
- groupText : ['<b> 国家: {0} {1} </b>','<b> 人品: {0} </b>'],
- groupSummary : [false,true],
- groupOrder:['asc','desc']
- },*/
- <#if (supportGroup?exists && supportGroup=="true" )>
- grouping:${supportGroup},
- groupingView : ${sysQueryView.groupSetting},
- </#if>
- caption: "${sysQueryView.name}"
- });
- $("#gridList").jqGrid('setFrozenColumns');
-
- doResize();
-
- $("#btnSearch").click(function(){
- search();
- });
-
- });
- <#--管理列-->
- <#if ( rowButtons?size>0) >
- function managerFormatter(cellvalue, options, rowObject){
- <#--输出JSON数组-->
- <#assign idx=0>
- var aryJson=[<#list rowButtons as btn>
- <#if (btn.inRow) >
- <#if (idx==0)>
- {url:'${btn.urlPath}',name:"${btn.name}",triggerType:"${btn.triggerType}"}
- <#else>
- ,{url:"${btn.urlPath}",name:"${btn.name}",triggerType:"${btn.triggerType}"}
- </#if>
- <#assign idx=idx+1>
- </#if>
- </#list>];
- var sb="";
- for(var i=0;i<aryJson.length;i++){
- var obj=aryJson[i];
- var url=obj.url;
- var name=obj.name;
-
-
- if(obj.triggerType=="onclick"){
- sb+= "<a href='#' onclick='"+url+"' >"+name+"</a>";
- }
- else{
- url=replaceUrl(url,rowObject);
- if(!url.startWith("http")){
- url =__ctx + url;
- }
- sb+= "<a href='"+url+"' target='_blank'>"+name+"</a>";
- }
-
- }
- return sb;
- }
- </#if>
- </script>
- <div class="hide-panel" id="panelTop">
- <div class="panel-top">
- <div class="tbar-title">
- <span class="tbar-label">${sysQueryView.name}</span>
- </div>
- <div class="panel-toolbar">
- <div class="toolBar">
- <div class="group"><a class="link search" id="btnSearch"><span></span>查询</a></div>
- <div class="l-bar-separator"></div>
- <#--导航栏工具条-->
- <#if (navButtons?exists && navButtons?size>0) >
- <#list navButtons as btn>
- <div class="group"><a class="link ok" <#if btn.triggerType=="href">href="${btn.urlPath}"</#if> <#if btn.triggerType=="onclick">onclick="${btn.urlPath}"</#if> ><span></span>${btn.name}</a></div>
- <div class="l-bar-separator"></div>
- </#list>
- </#if>
- <div class="group"><a class="link reset" onclick="$.clearQueryForm()"><span></span>重置</a></div>
- </div>
- </div>
- <#--条件工具条-->
- <#if (conditions?size > 0)>
- <div class="panel-search">
- <form id="searchForm" method="post" >
- <ul class="row">
- <#list conditions as con >
- <@genCondition con/>
- </#list>
- </ul>
- </form>
- </div>
- </#if>
- </div>
- </div>
- <div class="panel-body">
- <table id="gridList" style="width:600px"></table>
- <#if (sysQueryView.needPage==1)>
- <div id="pagerNav"></div>
- </#if>
- </div>
|