urgeHomep_curTask.ss.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <%@ page import="ss.bpm.BpmC" %>
  2. <%@ page import="ss.AppC" %>
  3. <html>
  4. <head>
  5. <style>
  6. .icon-unchecked,.icon-checked{
  7. margin-top: 9px;
  8. }
  9. .longCardList-highlight{
  10. width: 765px !important;
  11. white-space: nowrap;
  12. text-overflow: ellipsis;
  13. overflow: hidden;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="content-div" ssFith="true" style="height:600px;">
  19. <div class="longCardList-div" style="width: calc(100% - 4px);box-sizing: border-box;">
  20. <table class="scrollbar" style="max-height: 100%;width: 100%;">
  21. <tbody ssFith='{list:true,rowHeight:66}' style="width: 100%;padding: 0px 4px 0px 11px;box-sizing: border-box;">
  22. <%-- 去掉闭标签 />,与下面的 </tr> 不配对。Lin
  23. 再改为 WebC.REQ_objName、WebC.REQ_objId,避免与数据表里的 对象名、对象ID 字段重名
  24. <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}});'/> --%>
  25. <tr onclick='<varServ.ss dlg="true" name="${button.service}" dest="${button.dest}" parm="{ssObjName:&quot;${ssObjName}&quot;,ssObjId:&quot;${ssObjId}&quot;,&quot;${objectId}&quot;:&quot;${ssObjId}&quot;,dataType:&quot;play&quot;}" title="${button.title}" width="${button.width}" height="${button.height}" minHeight="${button.minHeight}" maxHeight="${button.maxHeight}" playTitle="${button.showTitle}"/>'>
  26. <td class="hLine">
  27. <div class="longCardList-info" style="font-size: 0px;display: inline-block;float: left;">
  28. <span class="longCardList-highlight" style="margin-bottom: 3px;">
  29. <a>
  30. <%-- 去掉,去掉 objectName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  31. <wd:equal leftValue="${empty objectName.codebook}" rightValue="true">
  32. --%>
  33. <txt.ss val="${objectName.value}"/>
  34. <input id="atext" type="hidden" value="${objectName.value}"/>
  35. <%-- 去掉,去掉 objectName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  36. </wd:equal>
  37. <wd:equal leftValue="${empty objectName.codebook}" rightValue="false">
  38. <codebook:translate name="${objectName.codebook}" value="${objectName.value}" />
  39. <input id="atext" type="hidden" value="<codebook:translate name="${objectName.codebook}" value="${objectName.value}" />"/>
  40. </wd:equal>
  41. --%>
  42. </a>
  43. </span>
  44. <equal.ss val="${empty abstractName.value}" val2="false">
  45. <div id="cardList-abstract" class="longCardList-dim" style="height: auto;min-height: 20px;max-height: 40px;">
  46. <%-- 去掉,去掉 abstractName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  47. <wd:equal leftValue="${empty abstractName.codebook}" rightValue="true">
  48. --%>
  49. <txt.ss val="${abstractName.value}"/>
  50. <%-- 去掉,去掉 abstractName.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  51. </wd:equal>
  52. <wd:equal leftValue="${empty abstractName.codebook}" rightValue="false">
  53. <codebook:translate name="${abstractName.codebook}" value="${abstractName.value}" />
  54. </wd:equal>
  55. --%>
  56. </div>
  57. </equal.ss>
  58. <equal.ss val="${empty categoryNoList}" val2="false">
  59. <div class="longCardList">
  60. <rpt.ss name='categoryNoList' id='item'>
  61. <span>
  62. <txt.ss val="${item.dest}"/>
  63. <equal.ss val="${empty item.dest}" val2="false">
  64. </equal.ss>
  65. <%-- 去掉,去掉 categoryNoList.item.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  66. <wd:equal leftValue="${empty item.codebook}" rightValue="true">
  67. --%>
  68. <txt.ss val="${item.value}"/>
  69. <%-- 去掉,去掉 categoryNoList.item.codebook。ObjU.toPlayDescByFieldVal( 已经翻译为 playDesc 了。Lin
  70. </wd:equal>
  71. <wd:equal leftValue="${empty item.codebook}" rightValue="false">
  72. <codebook:translate name="${item.codebook}" value="${item.value}" />
  73. </wd:equal>
  74. --%>
  75. </span>
  76. </rpt.ss>
  77. </div>
  78. </equal.ss>
  79. </div>
  80. </td>
  81. </tr>
  82. </tbody>
  83. </table>
  84. </div>
  85. <div class="nbFrame">
  86. <div id="nbSelected" ssSelClazz="list-checkedIcon" class="scrollbar">
  87. <rpt.ss name="shList" id="sh">
  88. <div ssObjId='${sh.shryid}' shid="${sh.shid}" isSq="true" class='list nb-Div' style='overflow:hidden;'>
  89. <div class='nbLeft'>
  90. <span class="icon-unchecked" style="float: left;margin-right: 6px"></span>
  91. <span class="indenter cursor icon-doc" style="padding-left: 0px;"></span>
  92. <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;'>
  93. <%-- 再改,直接用 ${sh.shryxm}。已在 UrgeHomepServ.searchTask() 翻译好了。Lin
  94. <cbTrans.ss cb="ry" val="${sh.shryid}"/> --%>
  95. ${sh.shryxm}
  96. </span>
  97. <div class='sj list-smallDim cursor' style='float: right;display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 0 10px;'>
  98. <span class="cursor">
  99. <txt.ss val="${sh.fssj}" fmt="HH:mm " miniDate="false"/>
  100. </span>
  101. <span class="cursor">
  102. <txt.ss val="${sh.fssj}" fmt="MM-dd " miniDate="false" />
  103. </span>
  104. </div>
  105. <div class="vLine-dashed" style="float:right;display:inline-block;width:1px;height:30px;margin-top:5px;">
  106. </div>
  107. </div>
  108. </div>
  109. </rpt.ss>
  110. </div>
  111. </div>
  112. </div>
  113. <form id="sendMsgDialog" method="post">
  114. <input type="hidden" id="shidList" name="shidList" value=""/>
  115. <%-- 再增加 shryidList,收回等同于审核人的退回。Lin
  116. 原,在 BpmServ.forceRejTask() 里,使用当前登录用户作为审核人,导致 "当前操作人不是改当前审核节点的审核人或者代理人" --%>
  117. <input type="hidden" id="shryidList" name="shryidList" value=""/>
  118. <div class="bottom-div">
  119. <div class="bottom-up-div">
  120. <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;">
  121. 说明
  122. </div>
  123. <div class="bottom-up-div-left-right" style="width: 84%;display: inline-block;float: right;height: 100%;">
  124. <input name="title" id="title" type="hidden" value="${sq.mc}" />
  125. <div id="sm" width="73%" height="63px" style="margin-top: 20px;border: 1px solid #e1e1e1;"></div>
  126. <growh.ss name="sm" mode="edit"/>
  127. </div>
  128. </div>
  129. <div class="bottom-down-div" >
  130. <input type="button" name="button" onclick='sendMsg();' value="催促" class="bottom-button"/>
  131. <input type="button" name="button" onclick='dq();' value="代签" class="bottom-button"/>
  132. <input type="button" name="button" onclick='ch()' value="收回" class="bottom-button"/>
  133. <input type="button" name="button" onclick='forceClBpm()' value="终止整个流程" class="bottom-button" /> <%-- 增加。Lin --%>
  134. <%-- 补发start 补发可能有多个,但系只显最新第一个--%>
  135. <%-- 改。Lin
  136. <wd:equal leftValue="${not empty bbList}" rightValue="true"> --%>
  137. <equal.ss val="${empty bbList}" val2="false">
  138. <rpt.ss name="${bbList}" id="bb">
  139. <equal.ss val="${index}" val2="0">
  140. <input type="button" name="bb" value="补发" class="bottom-button"
  141. onclick='<varServ.ss dlg="true" name="${bb.service}" dest="${bb.dest}" parm="${bb.param}" title="${bb.title}" maxHeight="${empty bb.maxHeight? &quot;null&quot; : bb.maxHeight}" minHeight="${empty bb.minHeight? &quot;null&quot; : bb.minHeight}" width="${bb.width}" height="${bb.height}"/>;
  142. event.stopPropagation();'
  143. />
  144. </equal.ss>
  145. </rpt.ss>
  146. </equal.ss>
  147. <%-- 补发end--%>
  148. <input type="button" name="button" onClick="wd.display.closeDialog();" value="关闭" class="bottom-button" />
  149. </div>
  150. </div>
  151. </form>
  152. </body>
  153. <script>
  154. $(function(){
  155. var _div = $(".nb-Div");
  156. console.log(_div);
  157. _div.each(function(index){
  158. $(this).on("click",function(){
  159. if($(this).hasClass("list-checkedIcon")){
  160. $(this).find('.icon-checked').addClass('icon-unchecked').removeClass('icon-checked');
  161. $(this).removeClass("list-checkedIcon");
  162. }else{
  163. $(this).addClass("list-checkedIcon");
  164. $(this).find('.icon-unchecked').addClass('icon-checked').removeClass('icon-unchecked');
  165. }
  166. var shidList="";//已选中shidList
  167. $(".list-checkedIcon").each(function(){
  168. if($(this).attr("shid"))
  169. shidList+=$(this).attr("shid")+ <%=AppC.SEP_abbrJson%>; // +"|"。改为 ","。Lin
  170. })
  171. $("#shidList").val(shidList);
  172. /// 再增加 shryidList,收回等同于审核人的退回。Lin
  173. // 原,在 BpmServ.forceRejTask() 里,使用当前登录用户作为审核人,导致 "当前操作人不是改当前审核节点的审核人或者代理人"
  174. var shryidList="";//已选中shryidList
  175. $(".list-checkedIcon").each(function(){
  176. if($(this).attr("shid"))
  177. shryidList += $(this).attr("ssObjId") +<%=AppC.SEP_abbrJson%>; // ("wdObjectId") +"|"。改为 ","。Lin
  178. })
  179. $("#shryidList").val(shryidList);
  180. ///
  181. })
  182. })
  183. })
  184. function sendMsg() {
  185. console.log("------");
  186. var arr = new Array();
  187. var shid_arr = new Array();
  188. var _divs = $(".list-checkedIcon");
  189. if(_divs.length>0){
  190. _divs.each(function(index){
  191. arr.push($(this).attr("ssObjId")); // ("wdObjectId"))。Lin
  192. shid_arr.push($(this).attr("shid"));
  193. });
  194. }
  195. if(arr.length < 1) {
  196. wd.display.alert("请选择一个消息接收用户");
  197. return;
  198. }
  199. var atext =$("#atext").val();
  200. var title =$("#title").val();
  201. var content=$("textarea[name='sm']").val();
  202. var sqid = "${sqid}";
  203. console.log("??-"+content);
  204. if(!content||content==null||content==''){
  205. wd.display.alert("请选择填写催促内容");
  206. return;
  207. }
  208. //发送消息弹窗
  209. var json = JSON.parse('{"title":"'+encodeURIComponent(title)+'","shid":"'+encodeURIComponent(shid_arr)+'","atext":"'+encodeURIComponent(atext)+'","content":"'+encodeURIComponent(content)+'","shryid":"'+arr+'","sqid":"'+encodeURIComponent(sqid)+'"}');
  210. 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}"}}@';
  211. url = wd.display.replaceDynamicParam(url, json);
  212. $('#sendMsgDialog').attr('action',url);
  213. $('#sendMsgDialog').submit();
  214. }
  215. // "越过"。Lin
  216. function yg() {
  217. if($("#shidList").val()) {
  218. $('#sendMsgDialog').attr('action', '@service{name:"yg",dest:"sys_info",param:{sqid:"${sqid}",isClose:"true"}}@').submit();
  219. } else {
  220. wd.display.alert("请选人")
  221. }
  222. }
  223. // "代签"。Lin
  224. function dq(){
  225. var checkAll=$(".list-checkedIcon");
  226. if(checkAll.length<1){
  227. wd.display.alert("请选人")
  228. return;
  229. }
  230. var shryid=$(checkAll[0]).attr("wdObjId"); // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  231. var shid=$(checkAll[0]).attr("shid");
  232. var json={};
  233. json["ryid"]=shryid;
  234. json["shid"]=shid;
  235. /* 改。pp = 代签。Lin
  236. var url='@service{name:"dq_cx",dest:"dcry_input",show:"wdDialog",param:{shid:"wdVal{shid}",ryid:"wdVal{ryid}"}}@'; */
  237. /* 再改,去掉 initPp,去掉 "代签人" 字段的默认值 "$@{sh.dlryid}" -- 就算原来有代理人员,也不会用了。Lin
  238. 先不实现 <serv po="ShPo",用到再弄
  239. var url='<serv.ss dlg="true" name="initPp" dest="urgeHomep_ppSure" parm="{shid:&quot;wdVal{shid}&quot;,ryid:&quot;wdVal{ryid}&quot;}"/>'; */
  240. var url='<serv.ss dlg="true" dest="urgeHomep_ppSure" parm="{shid:&quot;ssVal{shid}&quot;,ryid:&quot;ssVal{ryid}&quot;}"/>';
  241. url=wd.display.replaceDynamicParam(url,json);
  242. eval(url);
  243. }
  244. // "撤回"。Lin
  245. function ch() {
  246. var shidStr = $("#shidList").val();
  247. var shListData = ${shListData};
  248. if (shidStr) {
  249. // 增加确认过程,增加选择信息。Lin
  250. var taskMsg = "";
  251. var shidList = shidStr.split(<%=AppC.SEP_abbrJson%>); // ("|")。改为 ","。Lin
  252. shidList.forEach(function(item) {
  253. if (item) {
  254. var idx; // 在 ${shListData} 中的。Lin
  255. for(var i = 0; i < shListData.length; i++) {
  256. if (item == shListData[i].shid) {
  257. idx = i;
  258. break;
  259. }
  260. }
  261. if (!taskMsg)
  262. taskMsg += "当前节点:"+ shListData[idx].jdmc +"<br>要收回的审核人:";
  263. taskMsg += shListData[idx].shryid +"("+ shListData[idx].shbm +") "
  264. }
  265. });
  266. wd.display.confirm("收回", taskMsg +"<br><br>没有上下级的部门内审,只能选择一个审核人<br>等同于审核人的退回,并根据流程图退回,确定吗?", function() { // 增加确认过程。Lin
  267. <%-- 改。Lin
  268. $('#sendMsgDialog').attr('action', '@service{name:"ch",dest:"sys_info",param:{sqid:"${sqid}"}}@').submit(); --%>
  269. $('#sendMsgDialog').attr('action', "<serv.ss name='ss.forceRejTask' dest='info' parm='{sqid:"${sqid}"}'/>").submit();
  270. }) // 增加确认过程。Lin
  271. } else {
  272. wd.display.alert("请选人")
  273. }
  274. }
  275. // 增加,终止整个流程。Lin
  276. // cl = 终止
  277. function forceClBpm() {
  278. var shListData = ${shListData};
  279. var shidList = ""; // 所有的 shidList
  280. var taskMsg = "";
  281. shListData.forEach(function(item) {
  282. shidList += item.shid +<%=AppC.SEP_abbrJson%>; // +"|"。改为 ","。Lin
  283. if (!taskMsg)
  284. taskMsg += "当前节点:"+ item.jdmc +"<br>审核人:";
  285. taskMsg += item.shryid +"("+ item.shbm +") "
  286. })
  287. if (shidList) {
  288. wd.display.confirm("终止整个流程", taskMsg +"<br><br>整个流程将被终止,确定吗?", function(){
  289. $('#sendMsgDialog').attr('action', "<serv.ss name='ss.forceClBpm' dest='info' parm='{sqid:"${sqid}"}'/>").submit();
  290. })
  291. } else {
  292. wd.display.alert("没有审核人")
  293. }
  294. }
  295. </script>
  296. </html>