sysCodegenDetail.jsp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <title>代码生成</title>
  7. <%@include file="/commons/include/form.jsp" %>
  8. <script type="text/javascript" src="${ctx}/js/hotent/foldBox.js" ></script>
  9. <script type="text/javascript" src="${ctx}/js/hotent/absoulteInTop.js" ></script>
  10. <script type="text/javascript" src="${ctx}/js/hotent/displaytag.js" ></script>
  11. <script type="text/javascript" src="${ctx}/js/hotent/CustomValid.js"></script>
  12. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerLayout.js"></script>
  13. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/BpmDefinitionDialog.js"></script>
  14. <script type="text/javascript">
  15. var form;
  16. $(function() {
  17. var options={};
  18. if(showResponse){
  19. options.success=showResponse;
  20. }
  21. form=$("#codeForm").form();
  22. form.ajaxForm(options);
  23. $("#codeDetail").ligerLayout({
  24. topHeight:40,
  25. leftWidth: '25%',
  26. height: '95%',
  27. InWindow: false,
  28. allowLeftCollapse:true,
  29. rightWidth:'73%',
  30. centerWidth:'2%',
  31. allowRightResize:false,
  32. allowRightCollapse:false
  33. });
  34. initTable();
  35. $("#dataFormSave").click(codegen);
  36. });
  37. function codegen(){
  38. var formDefIds=$("#formDefIds").val();
  39. var hasTemp=$('[name="templateId"]:checked').length;
  40. var hasTable=$("#codeForm").find('[name="tableId"]').length;
  41. var isZip=$("#isZip").attr("checked");
  42. if(formDefIds==''){
  43. $.ligerDialog.error('还未选择任何自定义表单','提示信息');
  44. return ;
  45. }
  46. if(!hasTable){
  47. $.ligerDialog.error('还未选择任何自定义表','提示信息');
  48. return;
  49. }
  50. if(hasTemp==0){
  51. $.ligerDialog.error('还未选择任何模版','提示信息');
  52. return;
  53. }
  54. if(isZip){
  55. var path=$("#folderPath").val();
  56. if(path==''){
  57. $.ligerDialog.error('请填写打包文件存放的路径!','提示信息');
  58. return;
  59. }
  60. }
  61. if(form.valid()){
  62. $("tr[type='append']").remove();
  63. $("#codeForm").submit();
  64. }
  65. }
  66. function showResponse(responseText) {
  67. var obj = new com.hotent.form.ResultMessage(responseText);
  68. if (obj.isSuccess()) {
  69. $.ligerDialog.success(obj.getMessage(),"成功", function() {
  70. window.close();
  71. $("#codeForm").resetForm();
  72. });
  73. } else {
  74. $.ligerDialog.err("提示信息","代码生成失败!",obj.getMessage());
  75. }
  76. }
  77. function initTable(){
  78. var tree=window.parent.tableTree;
  79. var formDefIds=[];
  80. try{
  81. var nodes=tree.getCheckedNodes(true);
  82. for(var i=0;i<nodes.length;i++){
  83. var node=nodes[i];
  84. var formDefId=node.formDefId;
  85. formDefIds[i]=formDefId;
  86. $.post("${ctx}/platform/form/bpmFormDef/getTableInfo.ht?formDefId="+formDefId,function(data){
  87. for(var i= 0,c;c=data[i++];){
  88. var className=$.getFirstUpper(c.tableName);
  89. var classVar=$.getFirstLower(c.tableName);
  90. var row=$("tr[type='append']").clone();
  91. row.removeAttr("type").removeAttr("style");
  92. row.find("td[name='tableDesc']").text(c.tableDesc);
  93. row.find("input[name='tableId']").val(c.tableId);
  94. row.find('input[name="className"]').val(className);
  95. row.find('input[name="classVar"]').val(classVar);
  96. $("#tableVarSet").append(row);
  97. }
  98. })
  99. }
  100. $("#formDefIds").val(formDefIds.toString());
  101. }catch(e){}
  102. }
  103. function selectFlow(){
  104. BpmDefinitionDialog({isSingle:true,showAll:1,returnDefKey:true,callback:function(defIds,subjects,defKeys){
  105. $("#flowName").val(subjects);
  106. $("#defKey").val(defKeys);
  107. $("#defId").val(defIds);
  108. }});
  109. }
  110. </script>
  111. <style type="text/css">
  112. html {height: 100%}
  113. body {padding: 0px;margin: 0;overflow-y: hidden;overflow-x: hidden;}
  114. #codeDetail {width: 100%;margin: 0;padding: 0;}
  115. .l-layout-top {
  116. border-style: none none solid none;
  117. }
  118. .shortLi { min-width:150px!important;}
  119. .row li { min-width:350px;}
  120. .inputText { width:180px;}
  121. .label { width:93px;}
  122. .h100{height: 100%;}
  123. .l-layout-left{
  124. overflow-y:scroll;
  125. }
  126. </style>
  127. </head>
  128. <body>
  129. <div class="panel h100">
  130. <div class="panel-top ">
  131. <div class="panel-toolbar">
  132. <div class="toolBar">
  133. <div class="group"><a class="link run" id="dataFormSave" href="javascript:;"><span></span>生成</a></div>
  134. <div class="group"><a class="link download" href="downLoadZip.ht" target="_blank"><span></span>下载</a></div>
  135. </div>
  136. </div>
  137. </div>
  138. <div class="panel-body h100">
  139. <form method="post" id="codeForm" action="codegenZip.ht" class="h100" >
  140. <div id="codeDetail" style="bottom: 1px; top: 1px;display:inline-block;overflow-y:scroll;" class="h100">
  141. <div position="top">
  142. <ul class="row">
  143. <li><!-- <span class="label">是否覆盖原有文件:</span><input type="checkbox" name="override" value="1" /> -->
  144. <span class="label">流程定义:</span>
  145. <input type="text" id="flowName" name="flowName" readonly="readonly" class="inputText" value="${flowName }" />
  146. <input type="button" value="..." onclick="selectFlow()"/>
  147. <input type="hidden" name="defKey" id="defKey" value="${defKey }"/>
  148. <input type="hidden" name="defId" id="defId" value="${defId }"/>
  149. <%-- <span class="label">项目路径:</span><input type="text" class="inputText" id="baseDir" name="baseDir" value="${baseDir }" validate="{required:true}"/> --%>
  150. <span class="label">模块名称:</span><input type="text" class="inputText" id="system" name="system" value="${system }" validate="{required:true}" />
  151. </li>
  152. <!--<li class="shortLi"> <span class="label">是否打包生成文件:</span><input type="checkbox" id="isZip" name="isZip" value="1" />
  153. <span class="label">打包文件存放路径:</span><input type="text" class="inputText" id="folderPath" name="folderPath" value="" />
  154. </li>-->
  155. </ul>
  156. </div>
  157. <div position="left" title="代码生成器模版" id="tempalteManage" style="top: 45 ;overflow-y:auto;">
  158. <table cellpadding="1" class="table-grid table-list" cellspacing="1" id="templates">
  159. <tr >
  160. <th><input type="checkbox" id="chkall"/></th>
  161. <th>模版名称</th>
  162. <th>别名</th>
  163. </tr>
  164. <c:forEach var="template" items="${templateList}" varStatus="status">
  165. <tr>
  166. <td>
  167. <input type="checkbox" name="templateId" class="pk" value="${template.id}" id="templateId" >
  168. </td>
  169. <td>
  170. ${template.templateName}
  171. </td>
  172. <td>
  173. ${template.templateAlias}
  174. </td>
  175. <input type="hidden" name="templateName" value="${template.templateName}"/>
  176. </tr>
  177. </c:forEach>
  178. </table>
  179. </div>
  180. <div position="center"></div>
  181. <div position="right" title="代码信息" id="tableManage" style="top: 45">
  182. <table id="tableVarSet" cellpadding="1" class="table-grid table-list" cellspacing="1">
  183. <tr>
  184. <th>
  185. 自定义表
  186. </th>
  187. <th>
  188. 包名(package)
  189. </th>
  190. <th>
  191. 类名(class)
  192. </th>
  193. <th>
  194. 变量名(classVar)
  195. </th>
  196. </tr>
  197. <tr type="append" style="display:none">
  198. <td name="tableDesc">
  199. </td>
  200. <td>
  201. <input type="text" class="inputText" name="packageName" value="" validate="{required:true}"/>
  202. </td>
  203. <td>
  204. <input type="text" class="inputText" name="className" value="" validate="{required:true}"/>
  205. </td>
  206. <td>
  207. <input type="text" class="inputText" name="classVar" value="" validate="{required:true}"/>
  208. </td>
  209. <input type="hidden" name="tableId" value=""/>
  210. </tr>
  211. </table>
  212. </div>
  213. </div>
  214. <input type="hidden" id="formDefIds" name="formDefIds" value=""/>
  215. </form>
  216. </div>
  217. </div>
  218. </body>
  219. </html>