urgeHomep_curTask.jsp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. <%@ page import="ss.bpm.BpmC" %>
  2. <%@ page import="ss.AppC" %>
  3. <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
  4. <%@ taglib uri="/ssTag" prefix="ss"%>
  5. <% pageContext.setAttribute(ss.page.PageC.PAGE_objName,"sh");%>
  6. <%pageContext.setAttribute("wdpageinformation","{'hastab':'0'}");%>
  7. <!DOCTYPE html>
  8. <html>
  9. <head>
  10. <meta http-equiv="pragma" content="no-cache">
  11. <meta http-equiv="cache-control" content="no-cache">
  12. <meta http-equiv="expires" content="0">
  13. <script>window.loginStatus="${empty sessionScope['ssUser']?'0':'1'}"</script>
  14. <ss:skin file='main.css'/>
  15. <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
  16. <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
  17. <script type="text/javascript" src="/ss/js/base.js"></script>
  18. <script> if(!window.wd) var wd={}; if(!wd.display) wd.display={}; wd.display.wdDialogId="urgeHomep_curTask"; if(!wd.app) wd.app={}; wd.app.name='pms';</script>
  19. <script type="text/javascript" src="/ss/js/masklayer.js"></script>
  20. <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
  21. <script type="text/javascript" src="/ss/js/common.js"></script>
  22. <script type="text/javascript" src="/ss/js/display.js"></script>
  23. <script type="text/javascript" src="/ss/js/edit.js"></script>
  24. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
  25. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
  26. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
  27. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
  28. <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
  29. <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
  30. <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
  31. <script type="text/javascript" src="/ss/js/common.js"></script>
  32. <script type="text/javascript" src="/ss/js/display.js"></script>
  33. <script type="text/javascript" src="/ss/datePicker/WdatePicker.js"></script>
  34. <script type="text/javascript" src="/ss/js/edit.js"></script>
  35. <script src="/js/load.js"></script> <%-- ="/newUI/ss/js/base.js"。Lin(新UI) --%>
  36. <script type="text/javascript" src="/js/pageC.js"></script> <%-- 对象变动、修改、查看页,左则选项卡宽度 在里面定义 Ben(20251213) --%>
  37. <style>
  38. .icon-unchecked,.icon-checked{
  39. margin-top: 9px;
  40. }
  41. .longCardList-highlight{
  42. width: 765px !important;
  43. white-space: nowrap;
  44. text-overflow: ellipsis;
  45. overflow: hidden;
  46. }
  47. #sm{
  48. border: 1px solid #e1e1e1;
  49. }
  50. .input-div{
  51. width:95% !important;
  52. box-sizing: border-box;
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div id="app">
  58. <div class="content-div" ssFith="true" style="height:600px;">
  59. <div class="longCardList-div" style="width: calc(100% - 4px);box-sizing: border-box;">
  60. <table class="scrollbar" style="max-height: 100%;width: 100%;">
  61. <tbody ssFith='{list:true,rowHeight:66}' style="width: 100%;padding: 0px 4px 0px 11px;box-sizing: border-box;">
  62. <%-- 去掉闭标签 />,与下面的 </tr> 不配对。Lin
  63. 再改为 WebC.REQ_objName、WebC.REQ_objId,避免与数据表里的 对象名、对象ID 字段重名
  64. <tr onclick='wd.display.showComponent({show:["wdDialog"],hide:[],url:"<wd:token service='${button.service}' dest='${button.dest}' param='"dxm":"${dxm}","dxid":"${dxid}","${objectId}":"${dxid}","dataType":"play"' test='false' />",title:"${button.title}",width:${button.width},height:${button.height},minHeight:${button.minHeight},maxHeight:${button.maxHeight},showTitle:${button.showTitle}});'/> --%>
  65. <tr onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='${button.service}' dest='${button.dest}' parm='{ssObjName:"${ssObjName}",ssObjId:"${ssObjId}","${objectId}":"${ssObjId}",dataType:"play"}'/>",title:"${button.title}",width:((${button.width}+DOM_SIZE_objInfoTabWidth)+""),height:"${button.height}",minHeight:"${button.minHeight}",maxHeight:"${button.maxHeight}",showTitle:"${button.showTitle}"});'>
  66. <td class="hLine">
  67. <div class="longCardList-info" style="font-size: 0px;display: inline-block;float: left;">
  68. <span class="longCardList-highlight" style="margin-bottom: 3px;">
  69. <a>
  70. <%-- 去掉,去掉 objectName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  71. <wd:equal leftValue="${empty objectName.codebook}" rightValue="true">
  72. --%>
  73. <ss:txt val='${objectName.value}'/>
  74. <input id="atext" type="hidden" value="${objectName.value}"/>
  75. <%-- 去掉,去掉 objectName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  76. </wd:equal>
  77. <wd:equal leftValue="${empty objectName.codebook}" rightValue="false">
  78. <codebook:translate name="${objectName.codebook}" value="${objectName.value}" />
  79. <input id="atext" type="hidden" value="<codebook:translate name="${objectName.codebook}" value="${objectName.value}" />"/>
  80. </wd:equal>
  81. --%>
  82. </a>
  83. </span>
  84. <ss:equal val='${empty abstractName.value}' val2='false'>
  85. <div id="cardList-abstract" class="longCardList-dim" style="height: auto;min-height: 20px;max-height: 40px;">
  86. <%-- 去掉,去掉 abstractName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  87. <wd:equal leftValue="${empty abstractName.codebook}" rightValue="true">
  88. --%>
  89. <ss:txt val='${abstractName.value}'/>
  90. <%-- 去掉,去掉 abstractName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  91. </wd:equal>
  92. <wd:equal leftValue="${empty abstractName.codebook}" rightValue="false">
  93. <codebook:translate name="${abstractName.codebook}" value="${abstractName.value}" />
  94. </wd:equal>
  95. --%>
  96. </div>
  97. </ss:equal>
  98. <ss:equal val='${empty categoryNoList}' val2='false'>
  99. <div class="longCardList">
  100. <ss:rpt name='categoryNoList' id='item'>
  101. <span>
  102. <ss:txt val='${item.dest}'/>
  103. <ss:equal val='${empty item.dest}' val2='false'>
  104. </ss:equal>
  105. <%-- 去掉,去掉 categoryNoList.item.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  106. <wd:equal leftValue="${empty item.codebook}" rightValue="true">
  107. --%>
  108. <ss:txt val='${item.value}'/>
  109. <%-- 去掉,去掉 categoryNoList.item.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  110. </wd:equal>
  111. <wd:equal leftValue="${empty item.codebook}" rightValue="false">
  112. <codebook:translate name="${item.codebook}" value="${item.value}" />
  113. </wd:equal>
  114. --%>
  115. </span>
  116. </ss:rpt>
  117. </div>
  118. </ss:equal>
  119. </div>
  120. </td>
  121. </tr>
  122. </tbody>
  123. </table>
  124. </div>
  125. <div class="nbFrame">
  126. <div id="nbSelected" ssSelClazz="list-checkedIcon" class="scrollbar">
  127. <ss:rpt name='shList' id='sh'>
  128. <div ssObjId='${sh.shryid}' shid="${sh.shid}" isSq="true" class='list nb-Div' style='overflow:hidden;'>
  129. <div class='nbLeft'>
  130. <span class="icon-unchecked" style="float: left;margin-right: 6px"></span>
  131. <span class="indenter cursor icon-doc" style="padding-left: 0px;"></span>
  132. <span class='nbName list-dim' style='display: inline-block;float: left;width: 85px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;height:41px;line-height:41px;'>
  133. <%-- 再改,直接用 ${sh.shryxm}。已在 UrgeHomepServ.searchTask() 翻译好了。Lin
  134. <ss:cbTrans cb='ry' val='${sh.shryid}'/> --%>
  135. ${sh.shryxm}
  136. </span>
  137. <div class='sj list-smallDim cursor' style='float: right;display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 0 10px;'>
  138. <span class="cursor">
  139. <ss:txt val='${sh.fssj}' fmt='HH:mm ' miniDate='false'/>
  140. </span>
  141. <span class="cursor">
  142. <ss:txt val='${sh.fssj}' fmt='MM-dd ' miniDate='false'/>
  143. </span>
  144. </div>
  145. <div class="vLine-dashed" style="float:right;display:inline-block;width:1px;height:30px;margin-top:5px;">
  146. </div>
  147. </div>
  148. </div>
  149. </ss:rpt>
  150. </div>
  151. </div>
  152. </div>
  153. <form id="sendMsgDialog" method="post">
  154. <input type="hidden" id="shidList" name="shidList" value=""/>
  155. <%-- 再增加 shryidList,收回等同于审核人的退回。Lin
  156. 原,在 BpmServ.forceRejTask() 里,使用当前登录用户作为审核人,导致 "当前操作人不是改当前审核节点的审核人或者代理人" --%>
  157. <input type="hidden" id="shryidList" name="shryidList" value=""/>
  158. <div class="" style="width: 100%;height:65px;border-top: 1px solid rgb(210, 210, 210);">
  159. <input name="title" id="title" type="hidden" value="${sq.mc}" />
  160. <div id="sm" width="73%" height="63px" style="margin: 20px;width: 100%;"></div>
  161. <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>
  162. <script type="text/javascript" charset="utf-8" src="/ss/js/edit.js"></script>
  163. <script type="text/javascript" charset="utf-8" >
  164. wd.edit.initGrowHigh('sm','null',{},null,false);
  165. </script>
  166. </div>
  167. <div class="bottom-div" style="border: none; display:flex;flex-direction: column;position: absolute;">
  168. <div class="bottom-div-button" style="width: 100%;display:flex;justify-content: flex-end; gap:10px;padding-bottom: 10px;padding-top: 10px;">
  169. <ss-bottom-button
  170. text="催促"
  171. onclick="sendMsg();"
  172. ></ss-bottom-button>
  173. <ss-bottom-button
  174. text="代签"
  175. onclick="dq();"
  176. ></ss-bottom-button>
  177. <ss-bottom-button
  178. text="收回"
  179. onclick="ch();"
  180. ></ss-bottom-button>
  181. <ss-bottom-button
  182. text="终止整个流程"
  183. onclick="forceClBpm();"
  184. ></ss-bottom-button>
  185. <%-- 补发start 补发可能有多个,但系只显最新第一个--%>
  186. <%-- 改。Lin
  187. <wd:equal leftValue="${not empty bbList}" rightValue="true"> --%>
  188. <ss:equal val='${empty bbList}' val2='false'>
  189. <ss:rpt name='${bbList}' id='bb'>
  190. <ss:equal val='${index}' val2='0'>
  191. <ss-bottom-button
  192. text="补发"
  193. onclick="wd.display.showComponent({show:['wdDialog'],url:'<ss:serv name='${bb.service}' dest='${bb.dest}' parm='${bb.param}'/>',title:'${bb.title}',width:'${bb.width}',height:'${bb.height}',minHeight:'${empty bb.minHeight? 'null' : bb.minHeight}',maxHeight:'${empty bb.maxHeight? 'null' : bb.maxHeight}'});;
  194. event.stopPropagation();')"
  195. ></ss-bottom-button>
  196. </ss:equal>
  197. </ss:rpt>
  198. </ss:equal>
  199. <%-- 补发end--%>
  200. <ss-bottom-button
  201. text="关闭"
  202. onclick="wd.display.closeDialog();"
  203. ></ss-bottom-button>
  204. </div>
  205. </div>
  206. <div class="bottom-div" style="display: none;">
  207. <div class="bottom-up-div">
  208. <%-- <div class="bottom-up-div-left" style="width: 16%;display: inline-block;height: 100%;line-height: 99px;font-size: 16px;text-align: right;padding-right: 16px;box-sizing: border-box;">
  209. 说明
  210. </div> --%>
  211. <%-- <div class="bottom-up-div-left-right" style="width: 84%;display: inline-block;float: right;height: 100%;"> --%>
  212. <%-- <input name="title" id="title" type="hidden" value="${sq.mc}" />
  213. <div id="sm" width="73%" height="63px" style="margin-top: 20px;border: 1px solid #e1e1e1;"></div>
  214. <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>
  215. <script type="text/javascript" charset="utf-8" src="/ss/js/edit.js"></script>
  216. <script type="text/javascript" charset="utf-8" >
  217. wd.edit.initGrowHigh('sm','null',{},null,false);
  218. </script> --%>
  219. <%-- </div> --%>
  220. </div>
  221. <div class="bottom-down-div" >
  222. <input type="button" name="button" onclick='sendMsg();' value="催促" class="bottom-button"/>
  223. <input type="button" name="button" onclick='dq();' value="代签" class="bottom-button"/>
  224. <input type="button" name="button" onclick='ch()' value="收回" class="bottom-button"/>
  225. <input type="button" name="button" onclick='forceClBpm()' value="终止整个流程" class="bottom-button" /> <%-- 增加。Lin --%>
  226. <%-- 补发start 补发可能有多个,但系只显最新第一个--%>
  227. <%-- 改。Lin
  228. <wd:equal leftValue="${not empty bbList}" rightValue="true"> --%>
  229. <ss:equal val='${empty bbList}' val2='false'>
  230. <ss:rpt name='${bbList}' id='bb'>
  231. <ss:equal val='${index}' val2='0'>
  232. <input type="button" name="bb" value="补发" class="bottom-button"
  233. onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='${bb.service}' dest='${bb.dest}' parm='${bb.param}'/>",title:"${bb.title}",width:"${bb.width}",height:"${bb.height}",minHeight:"${empty bb.minHeight? "null" : bb.minHeight}",maxHeight:"${empty bb.maxHeight? "null" : bb.maxHeight}"});;
  234. event.stopPropagation();'
  235. />
  236. </ss:equal>
  237. </ss:rpt>
  238. </ss:equal>
  239. <%-- 补发end--%>
  240. <input type="button" name="button" onClick="wd.display.closeDialog();" value="关闭" class="bottom-button" />
  241. </div>
  242. </div>
  243. </div>
  244. <input name='wdComponentID' type='hidden' value='urgeHomep_curTask'/></form>
  245. <script type="text/javascript">var wdRecordValue='${wdRecordValue}';</script>
  246. <script type="text/javascript" src="/ss/js/wdRecord.js"></script>
  247. <script type="text/javascript">(function(){wdRecord("urgeHomep_curTask");})();</script>
  248. <script type="text/javascript" src="/ss/js/wdFitHeight.js"></script>
  249. <script type="text/javascript">initWdFitHeight(150)</script>
  250. <script type="text/javascript">initWdFitHeightFunction=function(){initWdFitHeight(150);};</script>
  251. <ss:equal val="${empty resizeComponent}" val2="false">
  252. <script>{var iframe=wd.display.getFrameOfWindow();
  253. if(iframe&&iframe.contentWindow==window)
  254. wd.display.resizeComponent(${resizeComponent.width}, ${resizeComponent.height}, ${empty resizeComponent.minHeight?'null':resizeComponent.minHeight}, ${empty resizeComponent.maxHeight?'null':resizeComponent.maxHeight});}</script>
  255. </ss:equal>
  256. <ss:help/>
  257. </body>
  258. <script type="text/javascript">
  259. try{wd.display.showMsgPopup('${msg}');
  260. }catch(err){console.error(err);}
  261. </script>
  262. <ss:equal val="${empty wdclosewindowparam}" val2="false">
  263. <script type="text/javascript">
  264. try{wd.display.setCloseWindowParam('${wdclosewindowparam}');
  265. }catch(err){console.error(err);}
  266. </script>
  267. </ss:equal>
  268. <script>
  269. $(function(){
  270. var _div = $(".nb-Div");
  271. console.log(_div);
  272. _div.each(function(index){
  273. $(this).on("click",function(){
  274. if($(this).hasClass("list-checkedIcon")){
  275. $(this).find('.icon-checked').addClass('icon-unchecked').removeClass('icon-checked');
  276. $(this).removeClass("list-checkedIcon");
  277. }else{
  278. $(this).addClass("list-checkedIcon");
  279. $(this).find('.icon-unchecked').addClass('icon-checked').removeClass('icon-unchecked');
  280. }
  281. var shidList="";//已选中shidList
  282. $(".list-checkedIcon").each(function(){
  283. if($(this).attr("shid"))
  284. shidList+=$(this).attr("shid")+ '<%=AppC.SEP_abbrJson%>'; // +"|"。改为 ","。Lin
  285. })
  286. $("#shidList").val(shidList);
  287. /// 再增加 shryidList,收回等同于审核人的退回。Lin
  288. // 原,在 BpmServ.forceRejTask() 里,使用当前登录用户作为审核人,导致 "当前操作人不是改当前审核节点的审核人或者代理人"
  289. var shryidList="";//已选中shryidList
  290. $(".list-checkedIcon").each(function(){
  291. if($(this).attr("shid"))
  292. shryidList += $(this).attr("ssObjId") + '<%=AppC.SEP_abbrJson%>'; // ("wdObjectId") +"|"。改为 ","。Lin
  293. })
  294. $("#shryidList").val(shryidList);
  295. ///
  296. })
  297. })
  298. })
  299. function sendMsg() {
  300. console.log("------");
  301. var arr = new Array();
  302. var shid_arr = new Array();
  303. var _divs = $(".list-checkedIcon");
  304. if(_divs.length>0){
  305. _divs.each(function(index){
  306. arr.push($(this).attr("ssObjId")); // ("wdObjectId"))。Lin
  307. shid_arr.push($(this).attr("shid"));
  308. });
  309. }
  310. if(arr.length < 1) {
  311. wd.display.alert("请选择一个消息接收用户");
  312. return;
  313. }
  314. var atext =$("#atext").val();
  315. var title =$("#title").val();
  316. var content=$("textarea[name='sm']").val();
  317. var sqid = "${sqid}";
  318. console.log("??-"+content);
  319. if(!content||content==null||content==''){
  320. wd.display.alert("请选择填写催促内容");
  321. return;
  322. }
  323. //发送消息弹窗
  324. var json = JSON.parse('{"title":"'+encodeURIComponent(title)+'","shid":"'+encodeURIComponent(shid_arr)+'","atext":"'+encodeURIComponent(atext)+'","content":"'+encodeURIComponent(content)+'","shryid":"'+arr+'","sqid":"'+encodeURIComponent(sqid)+'"}');
  325. var url = '@service{name:"sendMsg",dest:"sys_info",param:{"title":"ssVal{title}","shid":"ssVal{shid}","atext":"ssVal{atext}","content":"ssVal{content}","shryid":"ssVal{shryid}","sqid":"ssVal{sqid}"}}@';
  326. url = wd.display.replaceDynamicParam(url, json);
  327. $('#sendMsgDialog').attr('action',url);
  328. $('#sendMsgDialog').submit();
  329. }
  330. // "越过"。Lin
  331. function yg() {
  332. if($("#shidList").val()) {
  333. $('#sendMsgDialog').attr('action', '@service{name:"yg",dest:"sys_info",param:{sqid:"${sqid}",isClose:"true"}}@').submit();
  334. } else {
  335. wd.display.alert("请选人")
  336. }
  337. }
  338. // "代签"。Lin
  339. function dq(){
  340. var checkAll=$(".list-checkedIcon");
  341. if(checkAll.length<1){
  342. wd.display.alert("请选人")
  343. return;
  344. }
  345. var shryid=$(checkAll[0]).attr("wdObjId"); // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  346. var shid=$(checkAll[0]).attr("shid");
  347. var json={};
  348. json["ryid"]=shryid;
  349. json["shid"]=shid;
  350. /* 改。pp = 代签。Lin
  351. var url='@service{name:"dq_cx",dest:"dcry_input",show:"wdDialog",param:{shid:"wdVal{shid}",ryid:"wdVal{ryid}"}}@'; */
  352. /* 再改,去掉 initPp,去掉 "代签人" 字段的默认值 "$@{sh.dlryid}" -- 就算原来有代理人员,也不会用了。Lin
  353. 先不实现 <serv po="ShPo",用到再弄
  354. var url='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='initPp' parm='{"wdConfirmationCaptchaService":"0","shid":"wdVal{shid}","ryid":"wdVal{ryid}"}' dest='urgeHomep_ppSure'/>",title:"代签确认",width:500,height:300});'; */
  355. var url='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv parm='{"wdConfirmationCaptchaService":"0","shid":"ssVal{shid}","ryid":"ssVal{ryid}"}' dest='urgeHomep_ppSure'/>",title:"代签确认",width:500,height:300});';
  356. url=wd.display.replaceDynamicParam(url,json);
  357. eval(url);
  358. }
  359. // "撤回"。Lin
  360. function ch() {
  361. var shidStr = $("#shidList").val();
  362. var shListData = ${shListData};
  363. if (shidStr) {
  364. // 增加确认过程,增加选择信息。Lin
  365. var taskMsg = "";
  366. var shidList = shidStr.split('<%=AppC.SEP_abbrJson%>'); // ("|")。改为 ","。Lin
  367. shidList.forEach(function(item) {
  368. if (item) {
  369. var idx; // 在 ${shListData} 中的。Lin
  370. for(var i = 0; i < shListData.length; i++) {
  371. if (item == shListData[i].shid) {
  372. idx = i;
  373. break;
  374. }
  375. }
  376. if (!taskMsg)
  377. taskMsg += "当前节点:"+ shListData[idx].jdmc +"<br>要收回的审核人:";
  378. taskMsg += shListData[idx].shryid +"("+ shListData[idx].shbm +") "
  379. }
  380. });
  381. wd.display.confirm("收回", taskMsg +"<br><br>没有上下级的部门内审,只能选择一个审核人<br>等同于审核人的退回,并根据流程图退回,确定吗?", function() { // 增加确认过程。Lin
  382. <%-- 改。Lin
  383. $('#sendMsgDialog').attr('action', '@service{name:"ch",dest:"sys_info",param:{sqid:"${sqid}"}}@').submit(); --%>
  384. $('#sendMsgDialog').attr('action', "<ss:serv name='ss.forceRejTask' parm='{"wdConfirmationCaptchaService":"0","sqid":"${sqid}"}' dest='info'/>").submit();
  385. }) // 增加确认过程。Lin
  386. } else {
  387. wd.display.alert("请选人")
  388. }
  389. }
  390. // 增加,终止整个流程。Lin
  391. // cl = 终止
  392. function forceClBpm() {
  393. var shListData = ${shListData};
  394. var shidList = ""; // 所有的 shidList
  395. var taskMsg = "";
  396. shListData.forEach(function(item) {
  397. shidList += item.shid + '<%=AppC.SEP_abbrJson%>'; // +"|"。改为 ","。Lin
  398. if (!taskMsg)
  399. taskMsg += "当前节点:"+ item.jdmc +"<br>审核人:";
  400. taskMsg += item.shryid +"("+ item.shbm +") "
  401. })
  402. if (shidList) {
  403. wd.display.confirm("终止整个流程", taskMsg +"<br><br>整个流程将被终止,确定吗?", function(){
  404. $('#sendMsgDialog').attr('action', "<ss:serv name='ss.forceClBpm' parm='{"wdConfirmationCaptchaService":"0","sqid":"${sqid}"}' dest='info'/>").submit();
  405. })
  406. } else {
  407. wd.display.alert("没有审核人")
  408. }
  409. }
  410. </script>
  411. </html>
  412. <script type="text/javascript">
  413. tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList:"<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});
  414. </script>
  415. <script type="module">
  416. SS.ready(function() {
  417. window.SS.dom.initializeFormApp({
  418. el: '#app',
  419. data() {
  420. return{
  421. }
  422. },
  423. methods: {
  424. onDialogClose() {
  425. wd.display.closeDialog();
  426. },
  427. }
  428. });
  429. });
  430. </script>