agentSettingEdit.jsp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  1. <%--
  2. time:2013-04-29 11:15:10
  3. desc:edit the 代理设定
  4. --%>
  5. <%@page language="java" pageEncoding="UTF-8"%>
  6. <%@include file="/commons/include/html_doctype.html"%>
  7. <html>
  8. <head>
  9. <%@include file="/commons/include/form.jsp" %>
  10. <title>编辑代理设定</title>
  11. <script type="text/javascript" src="${ctx}/js/hotent/CustomValid.js"></script>
  12. <script type="text/javascript" src="${ctx}/js/hotent/formdata.js"></script>
  13. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/SysDialog.js"></script>
  14. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/BpmDefinitionDialog.js"></script>
  15. <script type="text/javascript">
  16. $(function() {
  17. var options={};
  18. if(showResponse){
  19. options.success=showResponse;
  20. }
  21. var frm=$('#agentSettingForm').form();
  22. $("a.save").click(function() {
  23. frm.setData();
  24. frm.ajaxForm(options);
  25. if(frm.valid()){
  26. var rtn = customValidate();
  27. if(rtn.status){
  28. if(rtn.msg){
  29. $.ligerDialog.tipDialog("提示信息","代理设置有问题!",rtn.msg);
  30. }
  31. return;
  32. }
  33. form.submit();
  34. }
  35. });
  36. $("input[name='authtype']").click(handAgentType);
  37. });
  38. /**
  39. * 自定义验证
  40. * 1、如果是部分代理,必须选择一个以上的流程
  41. * 2、如是是部分代理,一个流程不能被重复代理
  42. */
  43. function customValidate(){
  44. var rtn = {
  45. status:0,
  46. msg:""
  47. };
  48. var authtype = $("input[name='authtype']:checked").val();
  49. switch(authtype){
  50. case '0':
  51. var agentId = $("#agentid").val();
  52. if(!agentId){
  53. rtn.status=-1;
  54. rtn.msg="代理人不能为空!";
  55. return rtn;
  56. }
  57. var agentSettingStatus = $("input[name='enabled']:checked").val();
  58. if(agentSettingStatus==1){
  59. rtn = validateSettingComplictAgainstAll();
  60. if(rtn.status){
  61. return rtn;
  62. }
  63. }
  64. break;
  65. case '1':
  66. var agentId = $("#agentid").val();
  67. if(!agentId){
  68. rtn.status=-1;
  69. rtn.msg="代理人不能为空!";
  70. return rtn;
  71. }
  72. var flows = $('#bpmAgentItem [name="flowkey"]');
  73. if(!flows || flows.length<1){
  74. rtn.status = -1;
  75. rtn.msg="部分代理必须选择要代理的流程!" ;
  76. return rtn;
  77. }
  78. var agentSettingStatus = $("input[name='enabled']:checked").val();
  79. if(agentSettingStatus==1){
  80. rtn = validateComplictAgainstGeneral();
  81. if(rtn.status){
  82. return rtn;
  83. }
  84. rtn = validateComplictByFlowKey();
  85. if(rtn.status){
  86. return rtn;
  87. }
  88. }
  89. break;
  90. case '2':
  91. var flowkey = $("#flowkey").val();
  92. if(!flowkey){
  93. rtn.status=-1;
  94. rtn.msg ="请选择代理流程";
  95. return rtn;
  96. }
  97. var conditions = $("#agentCondition tr[type='subdata']");
  98. if(conditions.length<1){
  99. rtn.status=-1;
  100. rtn.msg ="请设置代理条件!";
  101. return rtn;
  102. }
  103. var agentSettingStatus = $("input[name='enabled']:checked").val();
  104. if(agentSettingStatus==1){
  105. rtn = validateComplictAgainstGeneral();
  106. if(rtn.status){
  107. return rtn;
  108. }
  109. rtn = validateComplictByFlowKey();
  110. if(rtn.status){
  111. return rtn;
  112. }
  113. }
  114. break;
  115. }
  116. return rtn;
  117. };
  118. /**
  119. * 验证流程是否已经有了有效的代理设置
  120. */
  121. function validateComplictByFlowKey(){
  122. var rtn = {
  123. status:0,
  124. msg:""
  125. };
  126. var authtype = $("input[name='authtype']:checked").val();
  127. var flowKeys = [];
  128. var flowNames= [];
  129. switch(authtype){
  130. case "1":
  131. var flows = $('#bpmAgentItem [name="flowkey"]');
  132. $(flows).each(function(){
  133. var flow=$(this);
  134. var flowKey = flow.val();
  135. var flowName = flow.parent().find("input[name='flowname']").val();
  136. flowKeys.push(flowKey);
  137. flowNames.push(flowName);
  138. });
  139. break;
  140. case "2":
  141. var flowKey = $("#flowkey").val();
  142. var flowName = $("#flowname").val();
  143. flowKeys.push(flowKey);
  144. flowNames.push(flowName);
  145. break;
  146. }
  147. var agentSettingId = $("#id").val();
  148. if(!agentSettingId){
  149. agentSettingId=0;
  150. }
  151. var startDate = $("#startdate").val();
  152. var endDate = $("#enddate").val();
  153. var params = {
  154. flowKeys:flowKeys.join(","),
  155. agentSettingId:agentSettingId,
  156. startDate:startDate,
  157. endDate:endDate
  158. };
  159. var url=__ctx+"/platform/bpm/agentSetting/validateSettingComplictByFlow.ht";
  160. $.ajax({
  161. url:url,
  162. data:params,
  163. async:false
  164. }).done(function(data){
  165. if(data.status){
  166. rtn.status = -1;
  167. for(var k in data.msgMap){
  168. var index = $.inArray(k,flowKeys);
  169. var flowName = flowNames[index];
  170. rtn.msg += flowName +" : " + data.msgMap[k]+"<br/>";
  171. }
  172. }
  173. }).fail(function(){
  174. rtn.status = -1;
  175. rtn.msg="后台出错!";
  176. });
  177. return rtn;
  178. }
  179. /**
  180. * 验证是否与全权代理冲突
  181. */
  182. function validateComplictAgainstGeneral(){
  183. var rtn = {
  184. status:0,
  185. msg:""
  186. };
  187. var agentSettingId = $("#id").val();
  188. if(!agentSettingId){
  189. agentSettingId=0;
  190. }
  191. var startDate = $("#startdate").val();
  192. var endDate = $("#enddate").val();
  193. var params = {
  194. agentSettingId:agentSettingId,
  195. startDate:startDate,
  196. endDate:endDate
  197. };
  198. var url=__ctx+"/platform/bpm/agentSetting/validateSettingComplictAgainstGeneral.ht";
  199. $.ajax({
  200. url:url,
  201. data:params,
  202. async:false
  203. }).done(function(data){
  204. if(data.status){
  205. rtn.status = -1;
  206. rtn.msg = data.msg;
  207. }
  208. }).fail(function(){
  209. rtn.status = -1;
  210. rtn.msg='后台出错!';
  211. });
  212. return rtn;
  213. }
  214. /**
  215. * 验证是否与其它代理冲突
  216. */
  217. function validateSettingComplictAgainstAll(){
  218. var rtn = {
  219. status:0,
  220. msg:""
  221. };
  222. var agentSettingId = $("#id").val();
  223. if(!agentSettingId){
  224. agentSettingId=0;
  225. }
  226. var startDate = $("#startdate").val();
  227. var endDate = $("#enddate").val();
  228. var params = {
  229. agentSettingId:agentSettingId,
  230. startDate:startDate,
  231. endDate:endDate
  232. };
  233. var url=__ctx+"/platform/bpm/agentSetting/validateSettingComplictAgainstAll.ht";
  234. $.ajax({
  235. url:url,
  236. data:params,
  237. async:false
  238. }).done(function(data){
  239. if(data.status){
  240. rtn.status = -1;
  241. rtn.msg = data.msg;
  242. }
  243. }).fail(function(){
  244. rtn.status = -1;
  245. rtn.msg='后台出错!';
  246. });
  247. return rtn;
  248. }
  249. function showResponse(responseText) {
  250. var obj = new com.hotent.form.ResultMessage(responseText);
  251. if (obj.isSuccess()) {
  252. $.ligerDialog.success(obj.getMessage(),'提示',function(){
  253. var agentType = $("#agentType").val();
  254. if(agentType==1){ //管理入口
  255. window.location.href = "${ctx}/platform/bpm/agentSetting/manageList.ht";
  256. }else{
  257. window.location.href = "${ctx}/platform/bpm/agentSetting/list.ht";
  258. }
  259. });
  260. } else {
  261. $.ligerDialog.err("提示信息","代理设定保存失败!",obj.getMessage());
  262. }
  263. }
  264. /**
  265. * 流程类型变更处理
  266. */
  267. function handAgentType(){
  268. var val=parseInt( $(this).val());
  269. switch(val){
  270. case 0:
  271. $("#trDefinition,#bpmAgent,#linkAgentCondition").hide();
  272. $("#trAgent").show();
  273. break;
  274. case 1:
  275. $("#trDefinition,#linkAgentCondition").hide();
  276. $("#trAgent,#bpmAgent").show();
  277. break;
  278. case 2:
  279. $("#trDefinition,#linkAgentCondition").show();
  280. $("#trAgent,#bpmAgent").hide();
  281. break;
  282. }
  283. }
  284. /**
  285. * 选择流程代理人
  286. */
  287. function selectAgent(){
  288. UserDialog({isSingle:true,
  289. callback:function(userIds, fullnames){
  290. $("#agentid").val(userIds);
  291. $("#agent").val(fullnames);
  292. }
  293. });
  294. };
  295. /**
  296. * 选择流程受权人
  297. */
  298. function selectAuth(){
  299. UserDialog({isSingle:true,
  300. callback:function(userIds, fullnames){
  301. $("#authid").val(userIds);
  302. $("#authname").val(fullnames);
  303. }
  304. });
  305. };
  306. /**
  307. * 选择流程
  308. */
  309. function selectFlow(){
  310. BpmDefinitionDialog({isSingle:true,showAll:1,validStatus:2,callback:dlgCallBack,returnDefKey:true});
  311. };
  312. /**
  313. * 选择流程的回调处理
  314. */
  315. function dlgCallBack(defIds,subjects,defKeys){
  316. if(subjects==null || subjects =="") return;
  317. $("#flowkey").val(defKeys);
  318. $("#flowname").val(subjects);
  319. };
  320. /**
  321. * 部分代理 添加流程
  322. */
  323. function addFlow(){
  324. BpmDefinitionDialog({isSingle:false,showAll:1,returnDefKey:true,validStatus:2,callback:function(defIds,subjects,defKeys){
  325. if(!subjects) return ;
  326. $('#firstRow').remove();
  327. var newSubjects=subjects.split(",");
  328. var newDefKeys=defKeys.split(",");
  329. for(var i=0,len=newDefKeys.length;i<len;i++){
  330. var defKey=newDefKeys[i];
  331. var subject=newSubjects[i];
  332. var row=$("#def_" + defKey);
  333. if(row.length>0) continue;
  334. var tr=getRow(defKey,subject);
  335. $("#bpmAgentItem").append(tr);
  336. }
  337. }});
  338. }
  339. /**
  340. * 部分代理 构造一行流程(用于添加到表中)
  341. */
  342. function getRow(defKey,subject){
  343. var template=$("#tableRowTemplate").val();
  344. return template.replaceAll("#defKey",defKey).replaceAll("#subject",subject);
  345. }
  346. /**
  347. * 删除一行
  348. */
  349. function singleDel(obj){
  350. var tr=$(obj).closest('tr');
  351. $(tr).remove();
  352. };
  353. /**
  354. * 设置代理流程的条件
  355. */
  356. function setCondition(){
  357. var flowkey=$("#flowkey").val();
  358. if(flowkey=="") {
  359. $.ligerDialog.warn("请先选择流程!" ,"提示信息");
  360. return;
  361. }
  362. var url="${ctx}/platform/bpm/agentCondition/edit.ht?flowKey=" +flowkey ;
  363. var winArgs="dialogWidth:980px;dialogHeight:600px;help:0;status:1;scroll:1;center:1";
  364. var conditions= getAgentConditions();
  365. var params={
  366. conditions:conditions
  367. };
  368. url=url.getNewUrl();
  369. /*KILLDIALOG*/
  370. //var rtn=window.showModalDialog(url,params,winArgs);
  371. /* if(rtn && rtn.status && rtn.status==1){
  372. setAgentConditions(rtn.conditions);
  373. } */
  374. DialogUtil.open({
  375. height:600,
  376. width: 980,
  377. title : '编辑条件代理的配置',
  378. url: url,
  379. isResize: true,
  380. //自定义参数
  381. params: params,
  382. sucCall:function(rtn){
  383. if(rtn && rtn.status && rtn.status==1){
  384. setAgentConditions(rtn.conditions);
  385. }
  386. }
  387. });
  388. }
  389. /**
  390. * 获取条件代理
  391. */
  392. function getAgentConditions(){
  393. var conditions = [];
  394. $("#agentCondition tr").each(function(){
  395. var tr = $(this);
  396. var conditionStr = $("[name='condition']",tr).val();
  397. condition = [];
  398. if(conditionStr){
  399. condition = $.parseJSON(conditionStr);
  400. }
  401. var memo = $("[name='memo']",tr).val();
  402. var agentid = $("[name='agentid']",tr).val();
  403. var agent = $("[name='agent']",tr).val();
  404. var item = {
  405. condition:condition,
  406. memo:memo,
  407. agentid:agentid,
  408. agent:agent
  409. };
  410. conditions.push(item);
  411. });
  412. return conditions;
  413. }
  414. /**
  415. * 设置条件代理
  416. */
  417. function setAgentConditions(conditions){
  418. var table = $("#agentCondition");
  419. table.empty();
  420. for(var i=0;i<conditions.length;i++){
  421. var cond = conditions[i];
  422. var tr = getConditionRow(cond);
  423. table.append(tr);
  424. }
  425. }
  426. /**
  427. * 条件代理 构造一行条件(用于添加到表中)
  428. */
  429. function getConditionRow(cond){
  430. var condition = cond.condition;
  431. var conditionStr = JSON2.stringify(condition);
  432. var memo = cond.memo;
  433. var agentid = cond.agentid;
  434. var agent = cond.agent;
  435. var template=$("#agentConditionTableRowTemplate").val();
  436. var html = template.replaceAll("#memo",memo).replaceAll("#agentid",agentid).replaceAll("#agent",agent);
  437. var item = $(html);
  438. $("[name='condition']",item).val(conditionStr);
  439. return item;
  440. }
  441. </script>
  442. </head>
  443. <body>
  444. <div class="panel">
  445. <div class="panel-top">
  446. <div class="tbar-title">
  447. <c:choose>
  448. <c:when test="${agentSetting.id !=null}">
  449. <span class="tbar-label">更新代理设定</span>
  450. </c:when>
  451. <c:otherwise>
  452. <span class="tbar-label">添加代理设定</span>
  453. </c:otherwise>
  454. </c:choose>
  455. </div>
  456. <div class="panel-toolbar">
  457. <div class="toolBar">
  458. <div class="group"><a class="link save" id="dataFormSave" href="javascript:;"><span></span>保存</a></div>
  459. <div class="l-bar-separator"></div>
  460. <div class="group"><a class="link back" href="javascript:history.back(-1);"><span></span>返回</a></div>
  461. </div>
  462. </div>
  463. </div>
  464. <form id="agentSettingForm" method="post" action="save.ht">
  465. <div class="panel-body">
  466. <input type="hidden" id="agentType" name="agentType" value="${agentType}"> <!-- 入口标记 1为管理入口 0为普通入口 -->
  467. <table class="table-detail" cellpadding="0" cellspacing="0" border="0" type="main">
  468. <c:if test="${agentType==1}"> <!-- 管理入口时 -->
  469. <tr>
  470. <th width="20%">受权人: </th>
  471. <td colspan="3">
  472. <input type="hidden" id="authid" name="authid" value="${agentSetting.authid}" class="inputText" validate="{required:false,maxlength:100}" />
  473. <input type="text" id="authname" style="float:left;" name="authname" readonly="readonly" value="${agentSetting.authname}" class="inputText" validate="{required:false,maxlength:100}" />
  474. <a href="javascript:;" class="current" onclick="selectAuth();"><span>选择受权人</span></a>
  475. </td>
  476. </tr>
  477. </c:if>
  478. <tr>
  479. <th width="20%">代理类型: </th>
  480. <td colspan="3">
  481. <c:choose>
  482. <c:when test="${agentSetting.id!=null && agentSetting.id!=0 }">
  483. <c:choose>
  484. <c:when test="${agentSetting.authtype==0}">
  485. 全权代理
  486. </c:when>
  487. <c:when test="${agentSetting.authtype==2 }">
  488. 条件代理
  489. </c:when>
  490. <c:otherwise>
  491. 部分代理
  492. </c:otherwise>
  493. </c:choose>
  494. <input type="radio" name="authtype" value="${agentSetting.authtype}" checked="checked" style="display: none"/>
  495. </c:when>
  496. <c:otherwise>
  497. <label><input type="radio" value="0" name="authtype" <c:if test="${agentSetting.authtype==0}">checked="checked"</c:if> >全权代理</label>
  498. <label><input type="radio" value="1" name="authtype" <c:if test="${agentSetting==null or agentSetting.authtype==1}">checked="checked"</c:if> >部分代理</label>
  499. <label><input type="radio" value="2" name="authtype" <c:if test="${agentSetting.authtype==2}">checked="checked"</c:if> >条件代理</label>
  500. </c:otherwise>
  501. </c:choose>
  502. </td>
  503. </tr>
  504. <tr>
  505. <th width="20%">开始时间: </th>
  506. <td><input type="text" id="startdate" name="startdate" value="<fmt:formatDate value='${agentSetting.startdate}' pattern='yyyy-MM-dd'/>" class="inputText datePicker" datetype="1" validate="{required:true,date:true}" /></td>
  507. <th width="20%">结束时间: </th>
  508. <td><input type="text" id="enddate" name="enddate" value="<fmt:formatDate value='${agentSetting.enddate}' pattern='yyyy-MM-dd'/>" class="inputText datePicker" datetype="2" validate="{required:true,date:true}" /></td>
  509. </tr>
  510. <tr id="trAgent" <c:if test="${agentSetting.authtype==2}"> style="display: none"</c:if> >
  511. <th width="20%">代理人: </th>
  512. <td colspan="3">
  513. <input type="hidden" id="agentid" name="agentid" value="${agentSetting.agentid}" class="inputText" validate="{required:false,maxlength:100}" />
  514. <input type="text" id="agent" style="float:left;" name="agent" readonly="readonly" value="${agentSetting.agent}" class="inputText" validate="{required:false,maxlength:100}" />
  515. <a href="javascript:;" class="current" onclick="selectAgent();"><span>选择代理人</span></a>
  516. </td>
  517. </tr>
  518. <tr>
  519. <th>是否有效:</th>
  520. <td colspan="3">
  521. <input id="enabled_y" name="enabled" value="0" type="radio" <c:if test="${agentSetting.enabled!=1}" >checked="checked" </c:if> /> <label for="enabled_y">禁止</label>
  522. <input id="enabled_n" name="enabled" value="1" type="radio" <c:if test="${agentSetting==null or agentSetting.enabled==1}" >checked="checked" </c:if> /> <label for="enabled_n">启用</label>
  523. </td>
  524. </tr>
  525. <tr id="trDefinition" <c:if test="${ agentSetting.authtype !=2 }">style="display:none;" </c:if> >
  526. <th width="20%">流程名称: </th>
  527. <td colspan="3">
  528. <input type="hidden" id="flowkey" name="flowkey" value="${agentSetting.flowkey}" class="inputText" validate="{required:false,maxlength:200}" />
  529. <input type="text" style="width:350px;float:left;" id="flowname" name="flowname"
  530. value="${agentSetting.flowname}" class="inputText" validate="{required:false,maxlength:200}" readonly="readonly" />
  531. <a href="javascript:;" class="current" onclick="selectFlow();"><span>选择流程</span></a>
  532. <a href="javascript:;" class="current" id="linkAgentCondition" onclick="setCondition();"><span>设置代理条件</span></a>
  533. </td>
  534. </tr>
  535. </table>
  536. </div>
  537. <div id="bpmAgent" <c:if test="${agentSetting.authtype==0 or agentSetting.authtype==2}"> style="display: none"</c:if> >
  538. <div class="panel-top">
  539. <div class="tbar-title">
  540. <span class="tbar-label">授权流程</span>
  541. </div>
  542. <div class="panel-toolbar">
  543. <div class="toolBar">
  544. <div class="group">
  545. <a class="link add" href="javascript:;" onclick="addFlow();"><span></span>添加流程定义</a>
  546. </div>
  547. </div>
  548. </div>
  549. </div>
  550. <div class="panel-body" >
  551. <table class="table-grid table-list" Id = "agentDef" cellpadding="1" cellspacing="1" style="width:100%" type="subtable">
  552. <thead>
  553. <tr>
  554. <th>流程名称</th>
  555. <th width="150px">管理</th>
  556. </tr>
  557. </thead>
  558. <tbody id="bpmAgentItem">
  559. <c:choose>
  560. <c:when test="${fn:length(agentSetting.agentDefList)>0}">
  561. <c:forEach items="${agentSetting.agentDefList}" var="bpmAgentItem">
  562. <tr id="def_${bpmAgentItem.flowkey}" type="subdata">
  563. <td>
  564. <input type="hidden" name="flowkey" value="${bpmAgentItem.flowkey}" />
  565. <input type="hidden" name="flowname" value="${bpmAgentItem.flowname}">
  566. <a href="${ctx}/platform/bpm/bpmDefinition/get.ht?defKey=${bpmAgentItem.flowkey}" target="_blank">${bpmAgentItem.flowname}</a>
  567. </td>
  568. <td>
  569. <a href="javascript:;" class="link del" onclick="singleDel(this);" class="link del">删除</a>
  570. </td>
  571. </tr>
  572. </c:forEach>
  573. </c:when>
  574. <c:otherwise>
  575. <tr id="firstRow">
  576. <td colspan="2" align="center">
  577. <font color='red'>还未选择流程</font>
  578. </td>
  579. </tr>
  580. </c:otherwise>
  581. </c:choose>
  582. </tbody>
  583. </table>
  584. </div>
  585. </div>
  586. <div id="agentConditionDiv" style="display: none">
  587. <table id="agentCondition" type="subtable">
  588. <c:forEach items="${agentSetting.agentConditionList}" var="conditionItem">
  589. <tr type="subdata">
  590. <input type="hidden" name="condition" value="${fn:escapeXml(conditionItem.condition)}">
  591. <input type="hidden" name="memo" value="${conditionItem.memo}">
  592. <input type="hidden" name="agentid" value="${conditionItem.agentid}">
  593. <input type="hidden" name="agent" value="${conditionItem.agent}">
  594. </tr>
  595. </c:forEach>
  596. </table>
  597. </div>
  598. <input type="hidden" id="id" name="id" value="${agentSetting.id}" />
  599. <input type="hidden" name="createtime" value="<fmt:formatDate value='${agentSetting.createtime}' pattern='yyyy-MM-dd'/>"/>
  600. </form>
  601. </div>
  602. <textarea id="tableRowTemplate" style="display: none;">
  603. <tr id="def_#defKey"}" type="subdata">
  604. <td>
  605. <input type="hidden" name="flowkey" value="#defKey">
  606. <input type="hidden" name="flowname" value="#subject">
  607. <a href="${ctx}/platform/bpm/bpmDefinition/get.ht?defKey=#defKey" target="_blank">#subject</a>
  608. </td>
  609. <td>
  610. <a href="javascript:;" class="link del" onclick="singleDel(this);">删除</a>
  611. </td>
  612. </tr>
  613. </textarea>
  614. <textarea id="agentConditionTableRowTemplate" style="display: none;">
  615. <tr type="subdata">
  616. <td>
  617. <input type="hidden" name="condition" value="#condition" >
  618. <input type="hidden" name="memo" value="#memo">
  619. <input type="hidden" name="agentid" value="#agentid">
  620. <input type="hidden" name="agent" value="#agent">
  621. </td>
  622. </tr>
  623. </textarea>
  624. </body>
  625. </html>