sysReportShow.jsp 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@include file="/commons/include/get.jsp"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <style type="text/css">
  9. .leftGroup{float:right;}
  10. .group{margin-right:5px !important;}
  11. .exportlinks{cursor: pointer;}
  12. .exportlinks *{width:55px;text-align:right;}
  13. .group a.link{margin-top:-3px !important;border: 0 !important;padding: 0 0 3px !important;}
  14. </style>
  15. <f:link href="form.css" ></f:link>
  16. <script type="text/javascript" src="${ctx}/js/jquery/jquery.PrintArea.js"></script>
  17. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/SysDialog.js"></script>
  18. <script type="text/javascript" src="${ctx}/js/hotent/platform/form/FormUtil.js"></script>
  19. <script type="text/javascript" src="${ctx}/js/hotent/platform/form/SelectorInit.js"></script>
  20. <script type="text/javascript" src="${ctx}/js/hotent/platform/form/CommonDialog.js"></script>
  21. <script type="text/javascript">
  22. $(function() {
  23. $("#print").click(function() {
  24. $("div#printArea").printArea();
  25. });
  26. $('#printArea').hide();
  27. $('select#pageSize').val('${pageSize}');
  28. $('#l-bar-button a').live('click',function(){
  29. if('${paramMap}'){
  30. var href = $('#_nav').attr('href');
  31. $('#_nav').attr('href',href+$('#searchForm').serialize());
  32. }
  33. });
  34. $(':input[id="dialog"]').live('click',function(){
  35. var target = $(this).attr('param');
  36. var dialog = $(this).attr('dialog');
  37. var me = $(this);
  38. CommonDialog(dialog,function(data){
  39. if(Object.prototype.toString.call((data)) == '[object Array]'){
  40. var result = "" ;
  41. for(var i=0,d;d=data[i++];){
  42. result += d[target]+',';
  43. }
  44. me.prev(':input').attr('value',result.substring(0,result.length-1));
  45. }else{
  46. me.prev(':input').attr('value',data[target]);
  47. }
  48. });
  49. });
  50. initSearchForm();
  51. });
  52. function onHideFileChange(obj){
  53. var input = $(obj).closest('li').find(':input');
  54. input.val($(obj).val());
  55. }
  56. function initSearchForm(){
  57. var params = ${params} ;
  58. var paramMap = ${paramMap};
  59. var obj = {} ;
  60. var ul = $('.panel-search').find('ul');
  61. var field,paraCt,defaultType ;
  62. for(var i=0;i<params.length;i++){
  63. var li = $('.panel-search').find('li:first').clone(true);
  64. obj = params[i];
  65. defaultType = obj.defaultType;
  66. field = obj.field ;
  67. paraCt = obj.paraCt ;
  68. $('.label',li).text(obj.comment);
  69. var target = $(':input',li);
  70. target.attr('name',field);
  71. if(defaultType=='0'){//固定值
  72. target.attr('value',obj.defaultValue);
  73. }else if(defaultType=='1'){//控件
  74. target.attr('value',paramMap[field]);
  75. if(paraCt=="-1"){// 日期控件
  76. target.addClass('date');
  77. }else if(paraCt=="0"){//自定义对话框
  78. li.append('<input type="button" value="…" id="dialog" dialog="'+obj.dialog+'" param="'+obj.dialogParam+'"/>');
  79. }else if(paraCt!="1"){//人员选择器
  80. var input = getSelector(target, obj);
  81. li.append(input);
  82. }
  83. li.show();
  84. $('.panel-search').show();
  85. }else if(defaultType=='2'){//脚本
  86. target.val(paramMap[field]);
  87. }
  88. ul.append(li);
  89. }
  90. init(); //初始化控件
  91. //调整控件样式
  92. $('[ctlType="selector"]').closest('div').css('display', 'inline');
  93. }
  94. function save(exportType) {
  95. window.location.href = "${ctx}/platform/system/sysReport/export.ht?reportId=${param.reportId}&t=${totalCount}&exportType="
  96. + exportType+"&"+$('#searchForm').serialize();
  97. }
  98. //覆盖displaytag.js中的方法,添加表单参数
  99. function goPage(n,tableIdCode){
  100. var url = replacecurrentPage($("#_nav"+tableIdCode).attr('href')+"&"+$('#searchForm').serialize(),n,tableIdCode);
  101. url = replagePageSize(url,$("#oldPageSize"+tableIdCode).val(),tableIdCode);
  102. location.href=replageOldPageSize(url,$("#oldPageSize"+tableIdCode).val(),tableIdCode);
  103. }
  104. //覆盖displaytag.js中的方法,添加表单参数
  105. function changePageSize(sel,tableIdCode){
  106. var url = replagePageSize($("#_nav"+tableIdCode).attr('href')+"&"+$('#searchForm').serialize(),sel.value,tableIdCode);
  107. url = replacecurrentPage(url,$("#currentPage"+tableIdCode).val(),tableIdCode);
  108. location.href=replageOldPageSize(url,$("#oldPageSize"+tableIdCode).val(),tableIdCode);
  109. }
  110. function getSelector(obj, paramObj){
  111. var paraCt = paramObj.paraCt;
  112. $(obj).attr("ctlType", "selector");
  113. $(obj).attr("initvalue", paramObj.defaultValue);
  114. $(obj).attr("lablename", paramObj.field);
  115. var str = "";
  116. switch(paraCt){
  117. case "0":
  118. str = "dialog";
  119. break;
  120. case "4"://用户单选
  121. str = "user";
  122. break;
  123. case "17"://角色
  124. str = "role";
  125. break;
  126. case "18"://组织
  127. str = "org";
  128. break;
  129. case "19"://岗位
  130. str = "position";
  131. }
  132. $(obj).removeClass("inputText");
  133. $(obj).addClass(str);
  134. }
  135. </script>
  136. <title>报表展示</title>
  137. </head>
  138. <body>
  139. <div class="panel-top">
  140. <div class="panel-toolbar">
  141. <div class="toolBar area-export">
  142. <div class="group exportlinks" title="导出EXCEL" onclick="save('xls')">
  143. <div class="excel">EXCEL</div>
  144. </div>
  145. <div class="l-bar-separator"></div>
  146. <div class="group exportlinks" title="导出WORD" onclick="save('doc')">
  147. <div class="rtf">WORD</div>
  148. </div>
  149. <div class="l-bar-separator"></div>
  150. <div class="group" title="打印">
  151. <a id='print' class="link print" style="background:url('') !important;"/><span></span>打印</a>
  152. </div>
  153. <div class="l-bar-separator"></div>
  154. <div class="group" title="查询">
  155. <a id="search" class="link search" style="background:url('') !important;"/>
  156. <span style="height:16px"></span>查询
  157. </a>
  158. </div>
  159. <!--右侧布局 -->
  160. <div class="group leftGroup">
  161. <span>
  162. <input type="button" id="btnGo" value="GO" class="btn-go" onclick="jumpTo('')" />
  163. </span>
  164. <input type="hidden" id="currentPage" name="currentPage" value="${pageIndex}"/>
  165. <input type="hidden" id="totalPage" name="totalPage" value="${lastPageIndex}"/>
  166. <input type="hidden" id="oldPageSize" name="oldPageSize" value="${pageSize}"/>
  167. <input type="hidden" id="_nav" href="${ctx}/platform/system/sysReport/show.ht?reportId=${param.reportId}&t=${totalCount}">
  168. </div>
  169. <div class="l-bar-separator leftGroup"></div>
  170. <div class="group leftGroup">
  171. <div class="l-bar-button l-bar-btnnext">
  172. <a href="javascript:;" onclick="next('')" title="下一页"> <span></span>
  173. </a>
  174. </div>
  175. <div class="l-bar-button l-bar-btnlast">
  176. <a href="javascript:;" onclick="last('')" title="尾页">
  177. <span></span>
  178. </a>
  179. </div>
  180. </div>
  181. <div class="l-bar-separator leftGroup"></div>
  182. <div class="group leftGroup">
  183. <span class="pcontrol">
  184. <input size="4" value="${pageIndex}" style="width: 20px; text-align: center" maxlength="3"
  185. class="inputText" type="text" id="navNum" name="navNum" />/ <span>${lastPageIndex}</span>
  186. </span>
  187. </div>
  188. <div class="l-bar-separator leftGroup"></div>
  189. <div class="group leftGroup">
  190. <div class="l-bar-button l-bar-btnfirst">
  191. <a href="javascript:;" onclick="first('')" title="首页"> <span class=""></span>
  192. </a>
  193. </div>
  194. <div class="l-bar-button l-bar-btnprev">
  195. <a href="javascript:;" onclick="previous('')" title="上一页">
  196. <span class=""></span>
  197. </a>
  198. </div>
  199. </div>
  200. <div class="group l-bar-selectpagesize leftGroup">
  201. 每页记录&nbsp;<select id="pageSize" name="pageSize" onchange="changePageSize(this,'');" class="select_short">
  202. <option value="5" >5</option>
  203. <option value="10" >10</option>
  204. <option value="15" >15</option>
  205. <option value="20" >20</option>
  206. <option value="50" >50</option>
  207. <option value="100" >100</option>
  208. </select>
  209. </div>
  210. </div>
  211. </div>
  212. <div class="panel-search" style="display:none;">
  213. <form id="searchForm" method="post" action="show.ht?reportId=${param.reportId}&t=${totalCount}">
  214. <ul class="row">
  215. <li style="display:none"><span class="label"></span><input type="text" class="inputText" value=""/></li>
  216. </ul>
  217. </form>
  218. </div>
  219. </div>
  220. <p>
  221. <div id="previewArea">
  222. <center>${tempPreview}</center>
  223. </div>
  224. <div id="printArea">
  225. <jsp:include page="${sourceHtmlFile}" />
  226. </div>
  227. <div id="template-container" class="hidden">
  228. <div name="custom-div">
  229. <div name="paraValueDiv"></div>
  230. </div>
  231. </div>
  232. <%@include file="/commons/include/nodeRuleTemplate.jsp" %>
  233. </body>
  234. </html>