nodeUserConditionJS.jsp 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <script type="text/javascript">
  3. // 移动行
  4. function move(tableId, direct,obj){
  5. var objTr=$("#"+tableId+">tbody.data>tr");
  6. if(objTr.length==0) return;
  7. var curObj = $(obj).parents('tr:first');
  8. if(direct=='up'){
  9. var prevObj=curObj.prev();
  10. if(prevObj.length>0){
  11. alertConditionSn(curObj,prevObj,direct);
  12. }
  13. }
  14. else{
  15. var nextObj=curObj.next();
  16. if(nextObj.length>0){
  17. alertConditionSn(curObj,nextObj,direct) ;
  18. }
  19. }
  20. };
  21. function delRows(tableId){
  22. var tableObj=$('#'+tableId);
  23. var deletes=$('input[type=checkbox]:checked',tableObj);
  24. if(deletes.length==0){
  25. $.ligerMsg.info('请选择删除的记录!');
  26. return ;
  27. }
  28. $.ligerDialog.confirm('确定要删除吗?','提示', function(rtn) {
  29. if (rtn) {
  30. for(var i=deletes.length-1;i>=0;i--){
  31. var conditionId=$(deletes[i]).next('input[name="conditionId"]').val();
  32. if(conditionId!='' && conditionId!=undefined){
  33. $.post(__ctx+'/platform/bpm/bpmUserCondition/del.ht',{'id':conditionId});
  34. }
  35. $(deletes[i]).parent().parent().fadeOut(500, function() {
  36. $(this).remove();
  37. });
  38. }
  39. }
  40. });
  41. }
  42. function selectScript(){
  43. var objConditionCode=$("#txtScriptData")[0];
  44. ScriptDialog({callback:function(script){
  45. jQuery.insertText(objConditionCode,script);
  46. }});
  47. }
  48. var win;
  49. function showScript(obj){
  50. $("#txtScriptData").val(obj.val());
  51. var divObj=$("#divScriptData");
  52. win= $.ligerDialog.open({ target:divObj , height: 350,width:500, modal :true,
  53. buttons: [ { text: '确定', onclick: function (item, dialog) {
  54. obj.val($("#txtScriptData").val());
  55. dialog.hide();
  56. }
  57. },
  58. { text: '取消', onclick: function (item, dialog) { dialog.hide(); } } ] });
  59. }
  60. function changeVar(obj){
  61. var val=$(obj).val();
  62. var objScript=$("#txtScriptData")[0];
  63. jQuery.insertText(objScript,val);
  64. }
  65. //显示其他节点的对话框
  66. function showOtherNodeDlg(conf){
  67. var winArgs="dialogWidth=650px;dialogHeight=500px;help=0;status=0;scroll=1;center=1";
  68. url=__ctx + "/platform/bpm/bpmDefinition/taskNodes.ht?actDefId=${bpmDefinition.actDefId}&nodeId="+conf.nodeId;
  69. url=url.getNewUrl();
  70. /* var rtn=window.showModalDialog(url,"",winArgs);
  71. if(conf.callback){
  72. if(rtn!=undefined){
  73. conf.callback.call(this,rtn.nodeId,rtn.nodeName);
  74. }
  75. } */
  76. var that = this;
  77. DialogUtil.open({
  78. height:500,
  79. width: 650,
  80. title : '其他节点',
  81. url: url,
  82. //自定义参数
  83. sucCall:function(rtn){
  84. conf.callback.call(that,rtn.nodeId,rtn.nodeName);
  85. }
  86. });
  87. }
  88. function conditionDialog(tableId,edit)
  89. {
  90. var tableObj=$('#'+tableId);
  91. var defId=$('input[type="hidden"][name="defId"]',tableObj).val();
  92. var nodeId=$('input[type="hidden"][name="nodeId"]',tableObj).val();
  93. var parentActDefId=$('#parentActDefId').val();
  94. var conditionId;
  95. if(edit){
  96. conditionId=$('input[type="checkbox"]:checked:first',tableObj).next('input[name="conditionId"]').val();
  97. }
  98. var url;
  99. if(conditionId){
  100. url=__ctx + '/platform/bpm/bpmDefinition/conditionEdit.ht?defId='+defId+'&nodeId='+nodeId+'&conditionId='+conditionId;
  101. }
  102. else if(edit && !conditionId){
  103. $.ligerDialog.warn("请先选择要修改的规则条件!",'提示');
  104. return;
  105. }else{
  106. url=__ctx + '/platform/bpm/bpmDefinition/conditionEdit.ht?defId='+defId+'&nodeId='+nodeId;
  107. }
  108. if(parentActDefId){
  109. url += '&parentActDefId='+parentActDefId;
  110. }
  111. var dialogWidth=1000;
  112. var dialogHeight=640;
  113. var conf={};
  114. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:1,center:1},conf);
  115. /*KILLDIALOG*/
  116. DialogUtil.open({
  117. height:conf.dialogHeight,
  118. width: conf.dialogWidth,
  119. title : '配置节点人员',
  120. url: url,
  121. isResize: true,
  122. //自定义参数
  123. sucCall:function(){
  124. location.href=location.href.getNewUrl();
  125. }
  126. });
  127. }
  128. function changeCheck(obj){
  129. var tableObj=$(obj).closest('table');
  130. var ck=$(obj).attr('checked');
  131. $('input[type="checkbox"]:checked',tableObj).attr('checked',false);
  132. if(ck=="checked"){
  133. $(obj).attr('checked',true);
  134. }
  135. else{
  136. $(obj).attr('checked',false);
  137. }
  138. }
  139. $(function(){
  140. $("div.group > a.link.update").unbind('click');
  141. $("select[name='variableIds']").live("change",function(){
  142. var _this=this;
  143. var assignType=$(_this).parent().parent().find(':input[name="assignType"]').val();
  144. //兼容老版本
  145. if(assignType>=16&&assignType<=19){
  146. $(_this).parent().find('input[name="cmpIds"]').val(_this.value);
  147. $(_this).parent().find('textarea[name="cmpNames"]').val($("option:selected",_this).text());
  148. $(_this).parent().find(':input[name="variableNames"]').val($("option:selected",_this).text());
  149. }else{
  150. $(_this).parent().find(':input[name="variableNames"]').val($("option:selected",_this).text());
  151. }
  152. });
  153. $("a.moveup,a.movedown").unbind("click");
  154. $("a.moveup,a.movedown").click(function(){
  155. sortCondition(this);
  156. });
  157. initConditionShow();
  158. });
  159. //初始化 规则的描述内容
  160. function initConditionShow(){
  161. $("div[name='conditionShow']").each(function(){
  162. var me = $(this),
  163. textarea = me.find("textarea"),
  164. value = textarea.val().trim();
  165. if(value=="")return true;
  166. value = eval("("+value+")");
  167. var text = [];
  168. compileConDesc(value,text)
  169. textarea.before(text.join(' '));
  170. });
  171. };
  172. //组装规则描述
  173. function compileConDesc(json,text){
  174. for(var i=0,c;c=json[i++];){
  175. if(c.compType){
  176. text.push(c.compType=='or'?' 或者 ':' 并且 ');
  177. }
  178. if(c.branch){
  179. var branchDesc = ['('];
  180. compileConDesc(c.sub,branchDesc);
  181. branchDesc.push(')');
  182. text.push(branchDesc.join(''));
  183. }
  184. else{
  185. if(c.judgeCon2){
  186. text.push('(');
  187. text.push(c.conDesc);
  188. text.push(')');
  189. }
  190. else{
  191. text.push(c.conDesc);
  192. }
  193. }
  194. }
  195. };
  196. function updSn(tbodyObj){
  197. var conditionObjs=$("input[name='conditionId']",tbodyObj);
  198. if(conditionObjs.length<2)return;
  199. var aryCondition=[];
  200. conditionObjs.each(function(){
  201. aryCondition.push(this.value);
  202. });
  203. var conditionIds=aryCondition.join(",");
  204. $.post('${ctx}/platform/bpm/bpmUserCondition/updateSn.ht',{"conditionIds":conditionIds},function(data){
  205. var resultData=eval('('+data+')');
  206. if(resultData.result==1){
  207. }else{
  208. $.ligerDialog.warn(resultData.message,'提示');
  209. }
  210. });
  211. }
  212. function sortCondition(btnObj){
  213. var obj=$(btnObj);
  214. var direct=obj.hasClass("moveup")?1:0;
  215. var curObj = obj.closest('tr');
  216. var tbodyObj = obj.closest('tbody');
  217. if(direct==1){
  218. var prevObj=curObj.prev();
  219. if(prevObj!=null){
  220. curObj.insertBefore(prevObj);
  221. }
  222. }
  223. else{
  224. var nextObj=curObj.next();
  225. if(nextObj!=null){
  226. curObj.insertAfter(nextObj);
  227. }
  228. }
  229. updSn(tbodyObj);
  230. }
  231. </script>