flowProperties.jsp 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <script type="text/javascript">
  4. //流程对象
  5. var line = workflow.getLine(nodeid);
  6. //author:zhangdaihao date:20140802 for:去掉空格
  7. if(line.condition!=null&&line.condition!=""){
  8. line.condition = line.condition.replace(/(^\s*)|(\s*$)/g,"");
  9. }
  10. //属性表格定义
  11. rows = [
  12. { "name": "ID", "group": "节点属性", "value": line.lineId,"field": "id", "editor": "text" },
  13. { "name": "Lable", "group": "节点属性", "value": line.lineName, "field": "name", "editor": "text" },
  14. { "name": "表达式", "group": "分支条件", "value": line.condition, "field": "condition", "editor": "text" }
  15. ];
  16. //保存属性
  17. function saveFlowProperties(){
  18. line.lineId=rows[0].value;
  19. line.lineName=rows[1].value;
  20. line.condition=rows[2].value;
  21. line.setLabel(rows[1].value);
  22. }
  23. //构建属性表格数据
  24. function populateFlowProperites(){
  25. rows[0].value=line.lineId;
  26. rows[1].value=line.lineName;
  27. rows[2].value=line.condition;
  28. flowpropertygrid();
  29. }
  30. //加载属性表格数据
  31. function flowpropertygrid(){
  32. $('#flow-properties').propertygrid('loadData', rows);
  33. }
  34. $(function(){
  35. //创建属性表格
  36. $('#flow-properties').propertygrid({
  37. width: 'auto',
  38. height: 'auto',
  39. showGroup: true,
  40. scrollbarSize: 0,
  41. border:0,
  42. columns: [[
  43. { field: 'name', title: '属性名', width: 30, resizable: false },
  44. { field: 'value', title: '属性值', width: 100, resizable: false }
  45. ]],
  46. onAfterEdit:function(){
  47. saveFlowProperties();//自动保存
  48. }
  49. });
  50. flowpropertygrid();
  51. });
  52. </script>
  53. <div id="flow-properties-layout" class="easyui-layout" fit="true">
  54. <div id="flow-properties-panel" region="center" border="true">
  55. <div id="flow-properties-accordion" class="easyui-accordion" fit="true" border="false">
  56. <div id="flow" style="padding:0px;border:0px" title="流程属性面板" class="properties-menu">
  57. <table id="flow-properties">
  58. </table>
  59. </div>
  60. <div id="flowlisteners" title="执行监听器" style="overflow: hidden; padding: 1px;">
  61. <t:datagrid name="flowlistenerList" actionUrl="processController.do?getNodelisteners&type=1&processNode=${id}&processId=${processId}" idField="id" pagination="false">
  62. <t:dgCol title="id" hidden="true" field="id"></t:dgCol>
  63. <t:dgCol title="名称" field="TPListerer_listenername" width="40"></t:dgCol>
  64. <t:dgCol title="状态" field="status" replace="已启用_1,已禁用_0" width="40"></t:dgCol>
  65. <t:dgCol title="事件" hidden="true" field="TPListerer_listenereven" width="40"></t:dgCol>
  66. <t:dgCol title="类型" field="TPListerer_listenertype" width="40"></t:dgCol>
  67. <t:dgCol title="值" hidden="true" field="TPListerer_listenervalue" width="40"></t:dgCol>
  68. <t:dgCol title="操作" field="opt"></t:dgCol>
  69. <t:dgFunOpt exp="status#eq#0" funname="setFlowListener()" title="启用" />
  70. <t:dgFunOpt exp="status#eq#1" funname="setFlowListener()" title="禁用" />
  71. <t:dgDelOpt exp="status#eq#0" url="processController.do?delProcesListeren&id={id}" title="删除"></t:dgDelOpt>
  72. </t:datagrid>
  73. <div id="flowlistenerListtb" style="padding: 3px; height: 25px">
  74. <div style="float: left;">
  75. <div class="form">
  76. <input name="listenerid" type="hidden" value="${listenerid}" id="listenerid">
  77. <t:choose hiddenName="listenerid" hiddenid="id" fun="saveFlowListener" url="processController.do?chooseListener&typeid=1" name="listenerList" icon="icon-add" title="执行监听器"></t:choose>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <script type="text/javascript">
  86. //保存监听
  87. function saveFlowListener() {
  88. var listenerid = $('#listenerid').val();
  89. $.ajax({
  90. url : "processController.do?saveProcessListener",
  91. type : 'POST',
  92. data : {
  93. type:1,
  94. processNode : '${id}',
  95. processkey : '${processId}',
  96. listenerid : listenerid
  97. },
  98. dataType : 'json',
  99. success : function(data) {
  100. if (data.success) {
  101. $('#flowlistenerList').datagrid('reload');
  102. }
  103. }
  104. });
  105. }
  106. function setFlowListener(index)
  107. {
  108. var row = $('#flowlistenerList').datagrid('getRows')[index];
  109. $.ajax({
  110. url : "processController.do?setProcessListener",
  111. type : 'POST',
  112. data : {
  113. id :row.id
  114. },
  115. dataType : 'json',
  116. success : function(data) {
  117. if (data.success) {
  118. var listener = new draw2d.DecoratedConnection.Listener();
  119. listener.id=row.id;
  120. listener.serviceType = row.TPListerer_listenertype;
  121. if(row.TPListerer_listenertype=="javaClass")
  122. {
  123. listener.serviceClass= row.TPListerer_listenervalue;
  124. }
  125. else
  126. {
  127. listener.serviceExpression=row.TPListerer_listenervalue;
  128. }
  129. line.listeners.add(listener);
  130. }
  131. else
  132. {
  133. line.deleteListener(row.id);
  134. }
  135. reloadflowlistenerList();
  136. }
  137. });
  138. }
  139. </script>