bpmDefinitionSetCondition_ie6.jsp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <%--
  2. time:2011-11-28 22:02:01
  3. --%>
  4. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  5. <%@include file="/commons/include/html_doctype.html"%>
  6. <html>
  7. <head>
  8. <%@include file="/commons/include/form.jsp"%>
  9. <title>设置分支条件</title>
  10. <script type="text/javascript"src="${ctx}/js/hotent/platform/bpm/FlowVarWindow.js"></script>
  11. <script type="text/javascript"src="${ctx}/js/hotent/platform/system/ScriptDialog.js"></script>
  12. <script type="text/javascript" src="${ctx}/js/javacode/codemirror.js"></script>
  13. <style type="text/css">
  14. body{
  15. overflow-x:hidden;
  16. overflow-y:auto;
  17. }
  18. </style>
  19. <script type="text/javascript">
  20. var nodeId = "${nodeId}";
  21. var deployId = "${deployId}";
  22. var defId = "${defId}";
  23. var currentTextArea=null;
  24. $(function() {
  25. $("a[name='btnVars']").click(selectVar);
  26. $("#btnScript").click(selectScript);
  27. $("a[name='signResult']").click(function() {
  28. addToTextarea($(this).attr("result"));
  29. });
  30. $("a.save").click(saveCondition);
  31. $('textarea').click(function(){
  32. currentTextArea=this;
  33. });
  34. });
  35. var flowVarWindow;
  36. //选择变量
  37. function selectVar() {
  38. FlowVarWindow({
  39. deployId : deployId,
  40. nodeId : nodeId,
  41. callback : function(vars) {
  42. addToTextarea(vars);
  43. }
  44. });
  45. };
  46. //将条件表达式追加到脚本输入框内
  47. function addToTextarea(str){
  48. $(currentTextArea).text(str);
  49. };
  50. function selectScript() {
  51. ScriptDialog({
  52. callback : function(script) {
  53. addToTextarea(script);
  54. }
  55. });
  56. };
  57. function handFlowVars(obj) {
  58. addToTextarea($(obj).val());
  59. };
  60. function saveCondition() {
  61. var tasks = [];
  62. var conditions = [];
  63. $("tr.taskTr > td").each(function(){
  64. var condition=$("[name='condition']", $(this)).val();
  65. var task=$("[name='task']", $(this)).val();
  66. tasks.push(task);
  67. conditions.push(condition);
  68. });
  69. var url = __ctx + "/platform/bpm/bpmDefinition/saveCondition.ht";
  70. var paras = {
  71. "defId" : defId,
  72. "nodeId" : nodeId,
  73. "tasks" : tasks.join('#split#'),
  74. "conditions" : conditions.join('#split#')
  75. };
  76. $.post(url, paras, function(data) {
  77. var resultObj = new com.hotent.form.ResultMessage(data);
  78. if (resultObj.isSuccess()) {
  79. $.ligerDialog.success("编辑规则成功!","提示信息", function() {
  80. window.close();
  81. });
  82. } else {
  83. $.ligerDialog.warn("编辑规则失败,请检查条件表达式是否正确!","提示信息");
  84. }
  85. });
  86. };
  87. </script>
  88. </head>
  89. <body>
  90. <div class="panel" >
  91. <div class="panel-top">
  92. <div class="tbar-title">
  93. <span class="tbar-label">条件分支设置</span>
  94. </div>
  95. <div class="panel-toolbar">
  96. <div class="toolBar">
  97. <div class="group">
  98. <a class="link save" id="btnSearch"><span></span>保存</a>
  99. </div>
  100. <div class="l-bar-separator"></div>
  101. <div class="group">
  102. <a class="link del" onclick="javasrcipt:window.close()"><span></span>关闭</a>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. <div class="panel-body">
  108. <form id="bpmNodeRuleForm" method="post" action="save.ht">
  109. <table class="table-detail" cellpadding="0" cellspacing="0" border="0" >
  110. <tr>
  111. <th>条件表达式</th>
  112. <td>
  113. <div style="margin: 8px 0; ">
  114. <a href="javascript:;" id="btnScript" class="link var" title="常用脚本">常用脚本</a>
  115. &nbsp;&nbsp;表单变量:
  116. <f:flowVar defId="${defId}" change="handFlowVars(this)"></f:flowVar>
  117. </div>
  118. <c:forEach items="${incomeNodes}" var="inNode">
  119. <div style="padding: 4px;">
  120. <c:choose>
  121. <c:when test="${inNode.isMultiple==true}">
  122. <a href="javascript:;" name="signResult"
  123. result='signResult_${inNode.nodeId}=="pass"'>[${inNode.nodeName}]投票通过</a>
  124. &nbsp;
  125. <a href="javascript:;" name="signResult"
  126. result='signResult_${inNode.nodeId}=="refuse"'>[${inNode.nodeName}]投票不通过</a>
  127. </c:when>
  128. <c:otherwise>
  129. <a href="javascript:;" name="signResult"
  130. result="approvalStatus_${inNode.nodeId}==1">[${inNode.nodeName}]-通过</a>
  131. &nbsp;
  132. <a href="javascript:;" name="signResult"
  133. result="approvalStatus_${inNode.nodeId}==2">[${inNode.nodeName}]-反对</a>
  134. </c:otherwise>
  135. </c:choose>
  136. <ul>
  137. <li>1.先选中下方的脚本输入框,然后再插入条件表达式。</li>
  138. <li>2.表达式中不能有分号或return语句。</li>
  139. </ul>
  140. </div>
  141. </c:forEach>
  142. </td>
  143. </tr>
  144. <c:forEach items="${outcomeNodes}" var="outNode">
  145. <tr class="taskTr">
  146. <th width="20%">
  147. ${outNode.nodeName }
  148. </th>
  149. <td>
  150. <input type="hidden" name="task" value="${outNode.nodeId}" />
  151. <textarea id="${outNode.nodeId}" name="condition" rows="3" cols="50" class="inputText">${outNode.condition}</textarea>
  152. </td>
  153. </tr>
  154. </c:forEach>
  155. </table>
  156. </form>
  157. </div>
  158. </div>
  159. </body>
  160. </html>