bpmFormQueryGet.jsp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <%--
  2. time:2012-11-27 10:37:13
  3. --%>
  4. <%@page language="java" pageEncoding="UTF-8"%>
  5. <%@include file="/commons/include/html_doctype.html"%>
  6. <html>
  7. <head>
  8. <title>通用表单查询构建界面</title>
  9. <%@include file="/commons/include/getById.jsp"%>
  10. <script type="text/javascript" src="${ctx}/js/hotent/platform/form/CommonDialog.js"></script>
  11. <script type="text/javascript" src="${ctx}/js/util/json2.js"></script>
  12. <script type="text/javascript">
  13. var condition = ${bpmFormQuery.conditionfield};
  14. var alias = "${bpmFormQuery.alias}";
  15. $(function(){
  16. initUI();
  17. //查询
  18. $("#btnSearch").click(search);
  19. //帮助
  20. $("a.detail").click(help);
  21. });
  22. function initUI(){
  23. var table = $("#queryCondition"),
  24. columnNum = 2,
  25. html = [];
  26. for(var i=0,c;c=condition[i++];){
  27. if(c.defaultType == 5 && !c.field) continue;
  28. var columnRes = i % columnNum;
  29. if(columnRes == 1)
  30. html = ['<tr>'];
  31. html.push('<th>');
  32. html.push(c.comment);
  33. html.push('</th><td>');
  34. html.push('<input type="input" class="inputText" name="');
  35. html.push(c.field);
  36. html.push('"');
  37. if(c.defaultType == 2 || c.defaultType == 3){
  38. html.push(' disabled="disabled"');
  39. html.push(' value="');
  40. html.push(c.defaultValue);
  41. html.push('"');
  42. }
  43. html.push(' /></td>');
  44. if(columnRes == 0){
  45. html.push('</tr>');
  46. table.append(html.join(''));
  47. html = [];
  48. }
  49. }
  50. html.push('</tr>');
  51. table.append(html.join(''));
  52. }
  53. //查询
  54. function search (){
  55. var div = $("#resultDiv");
  56. div.html('<span class="brown">正在进行查询...</span>');
  57. var data = getQueryData();
  58. var condition = {alias:alias,page:1,pagesize:10,querydata:data};
  59. DoQuery(condition,function(data){
  60. div.html('');
  61. if(data.errors)
  62. div.html('<span class="red">'+data.errors+'</span>');
  63. else{
  64. var html = JSON2.stringify(data.list);
  65. div.html(html);
  66. }
  67. });
  68. }
  69. function getQueryData(){
  70. var data = [];
  71. $("#queryCondition td").each(function(){
  72. var tr = $(this);
  73. $("input",tr).each(function(){
  74. var input = $(this);
  75. if(!input.attr("disabled")){
  76. var item ='"' + input.attr("name") + '":"' + input.val() + '"';
  77. data.push(item);
  78. }
  79. });
  80. });
  81. data = '{' + data.join(',') + '}';
  82. return data;
  83. };
  84. //帮助
  85. function help(){
  86. var html = ['<br /><table class="table-detail" cellpadding="0" cellspacing="0" border="0">'];
  87. html.push('<tr><th width="90">POST参数:</th><td>');
  88. html.push('var <span class="brown">querydata</span> = \'');
  89. html.push(getQueryData());
  90. html.push('\',<br /> <span class="brown">condition</span> = {alias:"');
  91. html.push(alias);
  92. html.push('",page:1,pagesize:10,querydata:<span class="brown">querydata</span>};<br/><span class="brown">isSync</span>:是否同步,isSync=true,表示为同步,可以省略,省略为异步。</td></tr>');
  93. html.push('<tr><th>调用的方法:</th><td>');
  94. html.push('DoQuery(<span class="brown">condition</span>');
  95. html.push(',function(<span class="brown">data</span>){},isSync);<br />该方法定义在<span class="green">${ctx}/js/hotent/platform/form/CommonDialog.js</span>中');
  96. html.push('</td></tr>');
  97. html.push('<tr><th>回调方法:</th><td>');
  98. html.push('查询的返回值<span class="brown">data</span>是<span class="green">QueryResult</span>类的一个实例');
  99. html.push('</td></tr>');
  100. html.push('<tr><th>其他说明:</th><td>1、POST的参数中<span class="brown">page</span>是页码、<span class="brown">pagesize</span>是每页条数,分页查询时需要传递这2个参数,不传表示不进行分页查询;<br />');
  101. html.push('2、<span class="brown">alias</span>是通用表单查询别名,<span class="brown">querydata</span>是用作查询的字段名、字段值;<br />');
  102. html.push('3、返回值data中,<span class="brown">data.errors</span>存放错误信息,没有出错则为空白,<span class="brown">data.list</span>存放了查询的结果,<span class="brown">data.isPage</span>表示是否分页(0:不分页,1:分页),<span class="brown">data.totalCount</span>和<span class="brown">data.totalPage</span>分别记录了查询结果的总数和分页的总页数。<br />');
  103. html.push('</td></tr>');
  104. $("#resultDiv").html(html.join(''));
  105. }
  106. </script>
  107. </head>
  108. <body>
  109. <div class="panel">
  110. <div class="panel-toolbar">
  111. <div class="toolBar">
  112. <div class="group">
  113. <a class="link search" id="btnSearch"><span></span>查询</a>
  114. <div class="l-bar-separator"></div>
  115. <a class="link detail"><span></span>使用帮助</a>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="panel-body">
  120. <table class="table-detail" id="queryCondition" cellpadding="0" cellspacing="0" border="0"></table>
  121. </div>
  122. <div id="resultDiv">
  123. </div>
  124. </div>
  125. </body>
  126. </html>