editByTab.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. <#import "function.ftl" as func>
  2. <#assign class=model.variables.class>
  3. <#assign tabcomment=model.tabComment>
  4. <#assign classVar=model.variables.classVar>
  5. <#assign system=vars.system>
  6. <#assign package=model.variables.package>
  7. <#assign commonList=model.commonList>
  8. <#assign pk=func.getPk(model) >
  9. <#assign pkVar=func.convertUnderLine(pk) >
  10. <#assign subtables=model.subTableList>
  11. <#assign flowRunId="">
  12. <#if model.variables.flowDefKey?exists>
  13. <#assign flowRunId=func.convertUnderLine(model.variables.flowRunId)>
  14. </#if>
  15. <%--
  16. time:${date?string("yyyy-MM-dd HH:mm:ss")}
  17. desc:edit the ${tabcomment}
  18. --%>
  19. <%@page language="java" pageEncoding="UTF-8"%>
  20. <%@include file="/commons/include/html_doctype.html"%>
  21. <html>
  22. <head>
  23. <title>编辑 ${tabcomment}</title>
  24. <%@include file="/commons/include/form.jsp" %>
  25. <script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/CustomValid.js"></script>
  26. <script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/formdata.js"></script>
  27. <#if model.variables.flowDefKey?exists>
  28. <script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/platform/bpm/TaskImageUserDialog.js"></script>
  29. </#if>
  30. <#if subtables?exists && subtables?size!=0>
  31. <script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/subform.js"></script>
  32. </#if>
  33. <script type="text/javascript">
  34. $(function() {
  35. $("#formInfo").ligerTab();
  36. $("a.save").click(function() {
  37. $("#${classVar}Form").attr("action","save.ht");
  38. submitForm();
  39. });
  40. });
  41. //提交表单
  42. function submitForm(){
  43. var options={};
  44. if(showResponse){
  45. options.success=showResponse;
  46. }
  47. var frm=$('#${classVar}Form').form();
  48. frm.setData();
  49. frm.ajaxForm(options);
  50. if(frm.valid()){
  51. form.submit();
  52. }
  53. }
  54. function showResponse(responseText) {
  55. var obj = new com.hotent.form.ResultMessage(responseText);
  56. if(!obj.isSuccess()){
  57. $.ligerDialog.err("提示信息"," ${tabcomment}保存失败!",obj.getMessage());
  58. return;
  59. }
  60. $.ligerDialog.success(obj.getMessage(),"提示信息", function(rtn) {
  61. if(rtn){
  62. if(window.opener){
  63. window.opener.location.reload();
  64. }else{
  65. window.location.href="list.ht";
  66. }
  67. window.close();
  68. }
  69. });
  70. }
  71. <#if model.variables.flowDefKey?exists >
  72. var taskId="<#noparse>${</#noparse>taskId}";
  73. //启动流程
  74. function startFlow(){
  75. $("#${classVar}Form").attr("action","startFlow.ht");
  76. submitForm();
  77. }
  78. //办理任务
  79. function complete(voteAgree){
  80. $("#voteAgree").val(voteAgree);
  81. $("#${classVar}Form").attr("action","complete.ht");
  82. submitForm();
  83. }
  84. //显示流程图
  85. function showTaskUserDlg(){
  86. TaskImageUserDialog({taskId:taskId});
  87. }
  88. //显示审批历史
  89. function showTaskOpinions(){
  90. var winArgs="dialogWidth=800px;dialogHeight=600px;help=1;status=1;scroll=1;center=1;resizable:1";
  91. var url='<#noparse>${</#noparse>ctx}/platform/bpm/taskOpinion/list.ht?taskId='+taskId+"&isOpenDialog=1";
  92. url=url.getNewUrl();
  93. window.showModalDialog(url,"",winArgs);
  94. }
  95. </#if>
  96. </script>
  97. </head>
  98. <body>
  99. <div class="panel">
  100. <div class="panel-top">
  101. <div class="tbar-title">
  102. <c:choose>
  103. <c:when test="<#noparse>${</#noparse>${classVar}.${pkVar} !=null}">
  104. <span class="tbar-label">编辑${tabcomment}</span>
  105. </c:when>
  106. <c:otherwise>
  107. <span class="tbar-label">添加${tabcomment}</span>
  108. </c:otherwise>
  109. </c:choose>
  110. </div>
  111. <div class="panel-toolbar">
  112. <div class="toolBar">
  113. <#if model.variables.flowDefKey?exists>
  114. <c:choose>
  115. <c:when test="<#noparse>${</#noparse>empty taskId}">
  116. <div class="group"><a class="link save" id="dataFormSave" href="#">保存</a></div>
  117. <div class="l-bar-separator"></div>
  118. <div class="group"><a class="link run" id="dataFormStart" onclick="startFlow()">启动</a></div>
  119. <div class="l-bar-separator"></div>
  120. <div class="group"><a class="link back" href="list.ht">返回</a></div>
  121. </c:when>
  122. <c:otherwise>
  123. <div class="group"><a id="btnAgree" class="link agree" onclick="complete(1)">提交</a></div>
  124. <div class="l-bar-separator"></div>
  125. <c:if test="<#noparse>${</#noparse>isAllowBack}">
  126. <div class="l-bar-separator"></div>
  127. <div class="group"><a id="btnReject" class="link reject" onclick="complete(3)" >驳回</a></div>
  128. <div class="l-bar-separator"></div>
  129. <div class="group"><a id="btnRejectToStart" class="link rejectToStart" onclick="complete(4)">驳回到发起人</a></div>
  130. </c:if>
  131. <c:if test="<#noparse>${</#noparse>isSignTask}">
  132. <div class="l-bar-separator"></div>
  133. <div class="group"><a id="btnNotAgree" class="link notAgree" onclick="complete(2)" >反对</a></div>
  134. <div class="l-bar-separator"></div>
  135. <div class="group"><a id="btnAbandon" class="link abandon" onclick="complete(0)" >弃权</a></div>
  136. </c:if>
  137. <div class="l-bar-separator"></div>
  138. <div class="group"><a class="link setting" onclick="showTaskUserDlg()">流程执行示意图</a></div>
  139. <div class="l-bar-separator"></div>
  140. <div class="group"><a class="link search" onclick="showTaskOpinions()">审批历史</a></div>
  141. </c:otherwise>
  142. </c:choose>
  143. <#else>
  144. <div class="group"><a class="link save" id="dataFormSave" href="#">保存</a></div>
  145. <div class="l-bar-separator"></div>
  146. <div class="group"><a class="link back" href="list.ht">返回</a></div>
  147. </#if>
  148. </div>
  149. </div>
  150. </div>
  151. <div class="panel-body" type="custform">
  152. <form id="${classVar}Form" method="post" action="save.ht">
  153. <div id="formInfo" >
  154. <div title="${tabcomment}主表明细">
  155. <table class="table-detail" cellpadding="0" cellspacing="0" border="0" type="main">
  156. <input type="hidden" name="${pkVar}" value="<#noparse>${</#noparse>${classVar}.${pkVar}<#noparse>}</#noparse>" /> <!-- id放到主表TABLE里面,生成的内容才能获取主表提交的数据的ID ??? -->
  157. <#list commonList as col>
  158. <#assign colName=func.convertUnderLine(col.columnName)>
  159. <#if colName!=flowRunId>
  160. <#if (col.colType=="java.util.Date") >
  161. <tr>
  162. <th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
  163. <td><input type="text" id="${colName}" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${classVar}.${colName}}' pattern='yyyy-MM-dd'/>" class="inputText date" validate="{date:true<#if col.isNotNull>,required:true</#if>}" /></td>
  164. </tr>
  165. <#else>
  166. <tr>
  167. <th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
  168. <td><input type="text" id="${colName}" name="${colName}" value="<#noparse>${</#noparse>${classVar}.${colName}}" class="inputText" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String'&& col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}" /></td>
  169. </tr>
  170. </#if>
  171. </#if>
  172. </#list>
  173. </table>
  174. </div>
  175. <#if subtables?exists && subtables?size != 0>
  176. <#list subtables as table>
  177. <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
  178. <div title="${table.tabComment }子表明细">
  179. <table class="table-grid table-list" cellpadding="1" cellspacing="1" id="${table.variables.classVar}" formType="window" type="sub">
  180. <tr>
  181. <td colspan="${table.columnList?size}">
  182. <div class="group" align="left">
  183. <a id="btnAdd" class="link add">添加</a>
  184. </div>
  185. <div align="center">
  186. ${table.tableName } : ${table.tabComment }
  187. </div>
  188. </td>
  189. </tr>
  190. <tr>
  191. <th><input id="chkall" type="checkbox" /></th>
  192. <#list table.columnList as col>
  193. <#assign colName=func.convertUnderLine(col.columnName?lower_case)>
  194. <#if !(col.isPK)&& colName?lower_case!=(foreignKey)?lower_case>
  195. <th>${col.comment}</th>
  196. </#if>
  197. </#list>
  198. <th>操作</th>
  199. </tr>
  200. <c:forEach items="<#noparse>${</#noparse>${table.variables.classVar}List}" var="${table.variables.classVar}Item" varStatus="status">
  201. <tr type="subdata">
  202. <td style="text-align: center" name="pkName"><input id="pkName" type="checkbox" class="pk"/></td>
  203. <#list table.columnList as col>
  204. <#assign colName=func.convertUnderLine(col.columnName)>
  205. <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
  206. <#if (col.colType=="java.util.Date")>
  207. <td style="text-align: center" name="${colName}"><fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}' pattern='yyyy-MM-dd'/></td>
  208. <#else >
  209. <td style="text-align: center" name="${colName}"><#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}</td>
  210. </#if>
  211. </#if>
  212. </#list>
  213. <td style="text-align: center">
  214. <a href="#" class="link del">删除</a>
  215. <a href="#" class="link edit">编辑</a>
  216. </td>
  217. <#list table.columnList as col>
  218. <#assign colName=func.convertUnderLine(col.columnName)>
  219. <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
  220. <#if (col.colType=="java.util.Date")>
  221. <input type="hidden" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}' pattern='yyyy-MM-dd'/>" class="inputText date"/>
  222. <#else >
  223. <input type="hidden" name="${colName}" value="<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}"/>
  224. </#if>
  225. </#if>
  226. </#list>
  227. </tr>
  228. </c:forEach>
  229. <tr type="append">
  230. <td style="text-align: center" name="pkName"><input id="pkName" type="checkbox" class="pk"/></td>
  231. <#list table.columnList as col>
  232. <#assign colName=func.convertUnderLine(col.columnName)>
  233. <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
  234. <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
  235. <#if (col.colType=="java.util.Date")>
  236. <td style="text-align: center" name="${colName}"></td>
  237. <#else >
  238. <td style="text-align: center" name="${colName}"></td>
  239. </#if>
  240. </#if>
  241. </#list>
  242. <td style="text-align: center">
  243. <a href="#" class="link del">删除</a>
  244. <a href="#" class="link edit">编辑</a>
  245. </td>
  246. <#list table.columnList as col>
  247. <#assign colName=func.convertUnderLine(col.columnName)>
  248. <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
  249. <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
  250. <#if (col.colType=="java.util.Date")>
  251. <input type="hidden" name="${colName}" value="" class="inputText date"/>
  252. <#else >
  253. <input type="hidden" name="${colName}" value=""/>
  254. </#if>
  255. </#if>
  256. </#list>
  257. </tr>
  258. </table>
  259. </div>
  260. </#list>
  261. </#if>
  262. <#if model.variables.flowDefKey?exists>
  263. <#assign flowRunId=func.convertUnderLine(model.variables.flowRunId)>
  264. <input type="hidden" name="${flowRunId}" value="<#noparse>${</#noparse>${classVar}.${flowRunId}}"
  265. <input type="hidden" name="formData" id="formData" />
  266. <input type="hidden" id="voteAgree" name="voteAgree" value="1"/>
  267. <input type="hidden" id="taskId" name="taskId" value="<#noparse>${</#noparse>taskId}"/>
  268. </#if>
  269. </div>
  270. </form>
  271. </div>
  272. <#if subtables?exists && subtables?size != 0>
  273. <#list subtables as table>
  274. <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
  275. <form id="${table.variables.classVar}Form" style="display:none">
  276. <table class="table-detail" cellpadding="0" cellspacing="0" border="0">
  277. <#list table.columnList as col>
  278. <#assign colName=func.convertUnderLine(col.columnName)>
  279. <#if !col.isPK && colName?lower_case!=foreignKey?lower_case>
  280. <#if (col.colType=="java.util.Date")>
  281. <tr>
  282. <th width="20%">${col.comment}: <#if col.isNotNull> <span class="required">*</span></#if></th>
  283. <td><input type="text" name="${colName}" value="" class="inputText date" validate="{date:true<#if col.isNotNull>,required:true</#if>}"/></td>
  284. </tr>
  285. <#else>
  286. <tr>
  287. <th width="20%">${col.comment}: <#if col.isNotNull> <span class="required">*</span></#if></th>
  288. <td><input type="text" name="${colName}" value="" class="inputText" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String' && col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}"/></td>
  289. </tr>
  290. </#if>
  291. </#if>
  292. </#list>
  293. </table>
  294. </form>
  295. </#list>
  296. </#if>
  297. </div>
  298. </body>
  299. </html>