ws_ff.jsp 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <%@ taglib uri="/ssTag" prefix="ss"%>
  3. <% pageContext.setAttribute(ss.page.PageC.PAGE_objName,"ws");%>
  4. <%pageContext.setAttribute("wdpageinformation","{'hastab':'0'}");%>
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <%@ include file="/page/clip/header.jsp" %>
  9. <meta charset="UTF-8">
  10. <title></title>
  11. <link rel="stylesheet" type="text/css" href="/ss/treeTable/jquery.treetable.css">
  12. <link rel="stylesheet" type="text/css" href="/ss/treeTable/jquery.treetable.theme.default.css">
  13. <script type="text/javascript" src="/ss/js/drag_.js"></script> <%-- 原为 "/wd/js/drag.js",因与 Drag.js 重名,故改名为 drag_.js。Lin --%>
  14. <style type="text/css">
  15. .bac {
  16. width: 41px;
  17. height: 41px;
  18. background-image: url("/ss/window/theme/dhx_blue/image/close.png");
  19. position: absolute;
  20. top: 0;
  21. right: 0;
  22. }
  23. .bac:hover {
  24. background-position: 41px 0;
  25. }
  26. /*.box {
  27. width: 400px;
  28. height: 250px;
  29. background-color: white;
  30. margin: -374px 166px;
  31. position: absolute;
  32. z-index: 10;
  33. display: none;
  34. border: #008B8B 1px solid;
  35. }*/
  36. .bottom-div {
  37. position: absolute;
  38. }
  39. #ryOption .radioItem {
  40. display: none;
  41. }
  42. .nbFrame {
  43. height: 115px;
  44. overflow: auto;
  45. }
  46. [id^="wrapper"] {
  47. display: flex;
  48. align-items: center;
  49. background: transparent !important;
  50. }
  51. .ys_cl {
  52. display: inline-block;
  53. max-width: 56%;
  54. overflow: hidden;
  55. text-overflow: ellipsis;
  56. }
  57. .box2 .ys_cl {
  58. max-width: 95%;
  59. }
  60. </style>
  61. <ss:skin file='main.css'/>
  62. </head>
  63. <body style="padding-top:12px;padding-left:8px;">
  64. <div class="form-container" id="app">
  65. <div class="content-box fit-height-content"><%-- vue样式要套上这两套DIV Ben(20260414) --%>
  66. <form id="myForm" method="post" style="padding-right: 4px">
  67. <input type="hidden" value="" name="nbSelectedId" />
  68. <input type="hidden" value="" name="rySelectedId" />
  69. <%-- 原 <script src="/page/biz/js/ws_dwff_specific.js"></script> 已挪到 #app 外,避免被 Vue 编译为模板时 ignore by xu 20260429 --%>
  70. <input type="hidden" name="ryidList" id="ryidList" value=""/>
  71. <div class="content-div" ssFith='{max:520,min:480,lvl:1}' style="height:480px;">
  72. <div class="longCardList-div" style="width: calc(100% - 4px);box-sizing: border-box;">
  73. <table class="scrollbar" style="max-height: 100%;width: 100%;">
  74. <tbody ssFith='{list:true,rowHeight:66}' style="width: 100%;padding: 0px 4px 0px 11px;box-sizing: border-box;"> <%-- 去掉 id="wdTbody0",好像没用到。Lin --%>
  75. <tr onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='ws_ck' parm='{"wsid":"${wsid}"}' dest='objPlay'/>",title:"查看文书",width:890,height:650,minHeight:109,maxHeight:568,showTitle:"false"});'>
  76. <td class="hLine">
  77. <div class="longCardList-info" style="font-size: 12px;display: inline-block;float: left;">
  78. <span class="longCardList-highlight" style="margin-bottom: 3px;">
  79. <a>文书标题:${ws.bt}</a>
  80. </span>
  81. <div id="cardList-abstract" class="longCardList-dim" style="height: auto;min-height: 20px;max-height: 40px;">
  82. 文书摘要:<ss:txt val='${ws.zy}'/>
  83. </div>
  84. <div id="cardList-category" class="longCardList growHeightDiv">
  85. <span>文书类型:来文</span>
  86. <%-- <span>文书范围:<wd:translate name="wsfw" value='${ws.wsfwm}'/></span> --%>
  87. <span>文书类别:<ss:cbTrans cb='wslb' val='${ws.wslbm}'/></span>
  88. <span>收文时间:<ss:txt val='${ws.swsj}' fmt='yyyy-MM-dd HH:mm'/></span>
  89. </div>
  90. </div>
  91. </td>
  92. </tr>
  93. </tbody>
  94. </table>
  95. </div>
  96. <table class='form' style="table-layout:fixed;">
  97. <tbody>
  98. <tr>
  99. <th width="150px">拟办</th>
  100. <td style="padding-right: 0px;">
  101. <div class="nbFrame scrollbar">
  102. <div id="nbSelected" ssSelClazz="list-checkedIcon" class="scrollbar">
  103. <ss:rpt name='nbList' id='item'>
  104. <div ssObjId='${item.id}' <ss:equal val='${index}' val2='0'>isSq="true"</ss:equal> class='list-background nb-Div' style='overflow:hidden;max-width:780px;'
  105. onClick='if($(window.event.srcElement).is("a,img"))return;
  106. wd.display.showComponent({show:["wdDialog"],url:"<ss:serv parm='{"fjid":"${item.fjid}","ynrid":"${item.ynrid}","sm":"${item.sm}"}' dest='shInfo'/>",title:"审核内容",width:945,height:800,minHeight:54,maxHeight:853});'>
  107. <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;'>
  108. ${item.xm}
  109. </span>
  110. <span class='nbBt list-dim' style='float: left;display:inline-flex;height:41px;line-height:41px;width:calc(100% - 265px);'>
  111. <span style="overflow:hidden;text-overflow:ellipsis;" title="${item.sm}">
  112. ${item.sm}
  113. </span>
  114. <ss:equal val='${empty item.fjid}' val2='false'>
  115. <span>
  116. <input type="button" class="underlineIcon-attachment" style="margin-left: 5px;" />
  117. </span>
  118. </ss:equal>
  119. <%--
  120. <wd:equal leftValue="${empty item.ynrid}" rightValue="false">
  121. <span>
  122. <@input type="button" class="underlineIcon-media" style="margin-left: 5px;" />
  123. </span>
  124. </wd:equal>
  125. --%>
  126. </span>
  127. <div class='sj list-smallDim' style='float: right;margin-right: 10px;font-size: 0px;padding-top:12px;width:80px;'>${item.sj} </div>
  128. </div>
  129. </ss:rpt>
  130. </div>
  131. </div>
  132. </td>
  133. </tr>
  134. <%-- <input name='wdComponentID' type='hidden' value='ws_ff'/></form> 放错位置了,移到后面。Lin
  135. <input name='wdComponentID' type='hidden' value='ws_ff'/></form> --%>
  136. <tr id="ys">
  137. <th>阅示/处理人员</th>
  138. <td style="padding: 0;padding-top: 5px;">
  139. <input name="clfs" type="hidden" value="2"/> <%-- 增加了 闭标签 "/"。Lin --%>
  140. <div style="float: right;margin-right: 8px;margin-bottom: 3px;">
  141. <input class="radioItem" type="button" value="领导" ssVal="1" name="choice"/> <%-- wdValue=。Lin --%>
  142. <ss:notEqual val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  143. <input class="radioItem" type="button" value="部门" ssVal="2" name="choice"/> <%-- wdValue=。Lin --%>
  144. </ss:notEqual>
  145. <ss:equal val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  146. <input class="radioItem" type="button" value="成员" ssVal="2" name="choice"/> <%-- wdValue=。Lin --%>
  147. </ss:equal>
  148. <%-- <input class="radioItem" type="button" value="群组" wdValue="3" name="choice"/> --%>
  149. <script>
  150. ss.dom.formElemConfig.choice={val:'1',type:window.ss.dom.TYPE.ONOFFBTN};
  151. </script>
  152. <%-- 先去掉 nullable="false" onClass="content-onButton" offClass="content-offButton"。Lin --%>
  153. </div>
  154. <div class="dragList-div" id="container" style="width: 100%;margin-bottom:10px;">
  155. <div class="box">
  156. <p class="label">已选<span id="ryDropAll" class="icon-allRight"></span></p>
  157. <div class="list-body" style="overflow-x: hidden;width: 100%;height: 240px;">
  158. <div id="rySelected" ssSelClazz="list-checkedIcon" class="scrollbar" style="height:100%">
  159. </div>
  160. </div>
  161. </div>
  162. <div class="box box2">
  163. <p class="label">可选<span id="ryPickAll" class="icon-allLeft"></span></p>
  164. <div class="list-body" style="overflow-x: hidden;width: 100%;height: 240px;">
  165. <div id="ryOption" ssSelClazz="list-checkedIcon" class="scrollbar" style="height:100%">
  166. <ss:rpt name='leaderList' id='item'>
  167. <div ssObjId="${item.ryid}" ssVal="${item.ryid}" val="1" class="leader list-background" style="min-height: 41px;line-height: 41px;width: 100%;box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"> <%-- wdValue=。Lin --%>
  168. <span class="ys_cl">${item.xm}</span>
  169. <%-- <input class="radioItem" type="button" value="处理" wdValue="${item.ryid}" name="clfs" lx="1"/> --%>
  170. <span style="margin-left:10px;">
  171. <input class="radioItem" type="button" value="阅示" ssVal="2" name="clfs_${item.ryid}" lx="1" ysBtn=""/> <%-- wdValue=。Lin --%>
  172. <input class="radioItem" type="button" value="处理" ssVal="${item.ryid}" name="clfs_${item.ryid}" lx="1" onclick="handleCl('${item.ryid}')" clBtn=""/> <%-- wdValue=。Lin --%>
  173. <script>
  174. ss.dom.formElemConfig.clfs_${item.ryid}={val:'2',type:window.ss.dom.TYPE.ONOFFBTN};
  175. </script>
  176. <%-- 先去掉 onClass="content-onButton" offClass="content-offButton" nullable="false"。Lin --%>
  177. </span>
  178. </div>
  179. </ss:rpt>
  180. <ss:notEqual val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  181. <ss:rpt name='bmList' id='item'>
  182. <div ssObjId="${item.bmid}" ssVal="${item.bmid}" val="2" class="bmList list-background" style="min-height: 41px;line-height: 41px;width: 100%;box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"> <%-- wdValue=。Lin --%>
  183. <span class="ys_cl">${item.mc}</span>
  184. <%-- <input class="radioItem" type="button" value="处理" wdValue="${item.bmid}" name="clfs" lx="2"/> --%>
  185. <span style="margin-left:10px;">
  186. <input class="radioItem" type="button" value="阅示" ssVal="2" name="clfs_${item.bmid}" lx="2" ysBtn=""/> <%-- wdValue=。Lin --%>
  187. <input class="radioItem" type="button" value="处理" ssVal="${item.bmid}" name="clfs_${item.bmid}" lx="2" onclick="handleCl('${item.bmid}')" clBtn=""/> <%-- wdValue=。Lin --%>
  188. <script>
  189. ss.dom.formElemConfig.clfs_${item.bmid}={val:'2',type:window.ss.dom.TYPE.ONOFFBTN};
  190. </script>
  191. <%-- 先去掉 onClass="content-onButton" offClass="content-offButton" nullable="false"。Lin --%>
  192. </span>
  193. </div>
  194. </ss:rpt>
  195. </ss:notEqual>
  196. <ss:equal val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  197. <ss:rpt name='childList' id='item'> <%-- ="topRyList"。Lin --%>
  198. <div ssObjId="${item.ryid}" ssVal="${item.ryid}" val="2" class="bmList list-background" style="min-height: 41px;line-height: 41px;width: 100%;box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"> <%-- wdValue=。Lin --%>
  199. <span class="ys_cl">${item.xm}</span>
  200. <%-- <input class="radioItem" type="button" value="处理" wdValue="${item.ryid}" name="clfs" lx="1"/> --%>
  201. <span style="margin-left:10px;">
  202. <ss-onoff
  203. v-model="clfs_${item.ryid}"
  204. name="clfs_${item.ryid}"
  205. label="阅示"
  206. value="2"
  207. :multiple="false"
  208. :null="false"
  209. placeholder="阅示"
  210. v-model="clfs_${item.ryid}"
  211. :readonly="false"
  212. ></ss-onoff>
  213. <%-- wdValue=。Lin --%>
  214. <ss-onoff
  215. v-model="clfs_${item.ryid}"
  216. name="clfs_${item.ryid}"
  217. label="处理"
  218. value="${item.ryid}"
  219. :multiple="false"
  220. :null="false"
  221. placeholder="处理"
  222. v-model="clfs_${item.ryid}"
  223. :readonly="false"
  224. ></ss-onoff>
  225. <%-- wdValue=。Lin --%>
  226. <script>
  227. ss.dom.formElemConfig.clfs_${item.ryid}={val:'2',type:window.ss.dom.TYPE.ONOFFBTN};
  228. </script>
  229. <%-- 先去掉 onClass="content-onButton" offClass="content-offButton" nullable="false"。Lin --%>
  230. </span>
  231. </div>
  232. </ss:rpt>
  233. </ss:equal>
  234. <ss:rpt name='qzList' id='item'>
  235. <div ssObjId="${item.qzid}" ssVal="${item.qzid}" val="3" class="qzList list-background" style="min-height: 41px;line-height: 41px;width: 100%;box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"> <%-- wdValue=。Lin --%>
  236. <span class="ys_cl">${item.mc}</span>
  237. <span style="margin-left:10px;">
  238. <input class="radioItem" type="button" value="阅示" ssVal="2" name="clfs_${item.qzid}" lx="1" ysBtn=""/> <%-- wdValue=。Lin --%>
  239. <script>
  240. ss.dom.formElemConfig.clfs_${item.qzid}={val:'2',type:window.ss.dom.TYPE.ONOFFBTN};
  241. </script>
  242. <%-- 先去掉 onClass="content-onButton" offClass="content-offButton" nullable="false"。Lin --%>
  243. </span>
  244. </div>
  245. </ss:rpt>
  246. <script>
  247. ss.dom.formElemConfig.clfs={val:'2',type:window.ss.dom.TYPE.ONOFFBTN};
  248. </script>
  249. <%-- 先去掉 onClass="content-onButton" offClass="content-offButton"。Lin --%>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <%-- 去掉,没用到。Lin
  255. <wd:equal leftValue="${ws.wsfwm==25}" rightValue="false">
  256. --%>
  257. <%-- 放开,原被注释掉。Lin --%>
  258. <div class="select-items select-others" style="top:0;margin: 5px 0px 0px 6px;">
  259. <input name="under" type="button" value="及其下人员" style="margin-bottom: 10px;margin-right: 8px;" />
  260. <script>
  261. ss.dom.formElemConfig.under={val:'0',type:window.ss.dom.TYPE.ONOFFBTN};
  262. </script>
  263. <%-- 去掉 onClass="content-onButton" offClass="content-offButton"。Lin --%>
  264. </div>
  265. <%-- 放开,原被注释掉。Lin --%>
  266. <%-- 去掉,没用到。Lin
  267. </wd:equal>
  268. --%>
  269. </td>
  270. </tr>
  271. </tbody>
  272. </table>
  273. </div>
  274. <div class="bottom-down-div border-top">
  275. <input type="button" id="test" value="确认" class="bottom-button"/>
  276. <input type="button" value="关闭" class="bottom-button" onclick="wd.display.closeDialog();"/>
  277. </div>
  278. <%--
  279. <div class='bottom-div'>
  280. <ss-bottom-button
  281. id="saveAndCommit"
  282. text="确认"
  283. onclick='alert("提交表单")'
  284. icon-class="bottom-div-save"
  285. ></ss-bottom-button>
  286. <ss-bottom-button
  287. text="关闭"
  288. onclick='ss.display.closeDialog();'
  289. icon-class="bottom-div-close"
  290. ></ss-bottom-button>
  291. </div>
  292. --%>
  293. <input type="hidden" id="getNbListUrl" value="@service{name:'ws_ff_nb_cx'}@"/>
  294. <%--脚本查询拟办列表--%>
  295. <input type="hidden" id="updateShlbmUrl" value="@service{name:'ws_ff_nbshlbm_bc'}@"/>
  296. <%-- 脚本修改拟办类别为改稿类别 --%>
  297. <input type="hidden" id="XyshiftRyidsUrl" value="@service{name:'ws_ff_xyxgry_cx'}@"/>
  298. <%-- 学员查询 --%>
  299. <input type="hidden" id="toRyidUrl" value="<ss:serv name='ws_wrRyListByBmListByReq'/>"/> <%-- name:'ws_ff_bm2ry'。Lin --%>
  300. <input type="hidden" id="qzToRyidUrl" value="@service{name:'ws_ff_qz2ry'}@"/>
  301. <input type="hidden" id="lyUrl" value='@service{dest:"ws_ly",show:"wdDialog",param:{"id":"ssVal{id}"}}@'/>
  302. <%-- wsfwm大于51的用到 --%>
  303. <input type="hidden" id="queryRyUrl" value="@service{name:'ws_ff_xyxg_cx'}@"/>
  304. <input name='wdComponentID' type='hidden' value='ws_ff'/></form> <%-- 从上面移到这。Lin --%>
  305. </div>
  306. </div>
  307. <%-- 原在 #app 内(line 77)被 Vue 编译时 ignore,挪到 #app 外恢复加载 by xu 20260429 --%>
  308. <script src="/page/biz/js/ws_dwff_specific.js"></script>
  309. <script type="text/javascript" charset="utf-8" src="/ss/js/wdDrag.js"></script>
  310. <script>var isWriteOut=true;var wd=wd||{};wd.drag=wd.drag||{};</script>
  311. <%-- setDrag 必须在 Vue mount 完成后跑,否则会被 mount 替换 DOM 抹掉拖拽事件 by xu 20260429 --%>
  312. <script>document.addEventListener('ssAppMounted',function(){setDrag("nb",true,["editOrder"],{})});</script>
  313. <script type="text/javascript" charset="utf-8" src="/ss/js/wdDrag.js"></script>
  314. <script>var isWriteOut=true;var wd=wd||{};wd.drag=wd.drag||{};</script>
  315. <%-- 同上,延后到 ssAppMounted 后再绑定 by xu 20260429 --%>
  316. <script>document.addEventListener('ssAppMounted',function(){setDrag("ry",true,["editOrder"],{})});</script>
  317. <script type="text/javascript" src="/ss/treeTable/jquery.treetable.js"></script>
  318. <script type="text/javascript" src="/ss/js/title.js"></script>
  319. <script>
  320. window.onload = function() {
  321. $('.list-background').addClass('list');
  322. }
  323. </script>
  324. <script>
  325. //页面初始化的方法
  326. function handleDispense(){
  327. var val = $('input[name="choice"][type="hidden"]').val();
  328. $("#ryOption>div").hide();
  329. $("#ryOption>div[val='"+val+"']").show();
  330. }
  331. // 这两段都依赖 #app 内 DOM,必须等 Vue mount 完成(ssAppMounted)后再绑定,
  332. // 否则 mount 替换 DOM 时会把这里挂的 jQuery 事件全部抹掉 by xu 20260429
  333. document.addEventListener('ssAppMounted', function() {
  334. (function() {
  335. handleDispense();
  336. $('input[name="choice"][type="button"]').click(handleDispense);
  337. })();
  338. // 阅示人员校验
  339. $("#test").click(function() {
  340. if ($('div.nb-Div').length > 0) {
  341. var _length = $("#nbSelected").find("div.list-checkedIcon").length;
  342. if (_length == 0) {
  343. wd.display.alert("您尚未选拟办记录");
  344. return;
  345. }
  346. }
  347. var len = $('#rySelected > div').size();
  348. if (len > 0) {
  349. agree();
  350. } else {
  351. wd.display.alert("至少选择一个人员或部门");
  352. }
  353. });
  354. });
  355. function bmidToRyid(bms,prefix){
  356. var ryids=[];
  357. if(bms&&bms.length>0){
  358. }else{
  359. return ryids;
  360. }
  361. prefix=prefix||"";
  362. var under = $('input[name="under"][type="button"]').attr('class') == 'content-onButton';
  363. var url = document.getElementById("toRyidUrl").value;
  364. $.ajax({
  365. type: "post",
  366. url: url,
  367. async: false,
  368. data: {
  369. "bms": bms,
  370. "under": under
  371. },
  372. dataType: "json",
  373. traditional: true,
  374. success: function(data) {
  375. //console.log(data);
  376. /* 改,统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin
  377. if (data.result) {
  378. */ if (data.ssCode != 0) {
  379. $.each(data.data, function(i, element) {
  380. ryids.push(prefix+element);
  381. });
  382. }
  383. }
  384. });
  385. return ryids;
  386. }
  387. //工作流成功
  388. function agree() {
  389. //var val = $('input[name="clfs"][type="hidden"]').val();
  390. var ryids = new Array();//存动态分支并行的ryid或者blryid(blryid存入ws的jbryid);
  391. var bms = new Array();//用来转换为ryids,同样最后也是放进ryids里面
  392. //var bms2 = new Array();
  393. //存放拟办 勾选的为拟办
  394. var shidNb = new Array();
  395. //存放改稿 没有勾选的为改稿
  396. var shidGg=new Array();
  397. var sqid = "";
  398. var allDiv = $('div[id="nbSelected"]>div');
  399. for (var i = 0; i < allDiv.length; i++) {
  400. var id = $(allDiv[i]).attr("ssObjId"); // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  401. var isSq = $(allDiv[i]).attr("isSq");
  402. if ($(allDiv[i]).hasClass("list-checkedIcon") > 0) {
  403. //勾选 拟办
  404. if (isSq == "true") {
  405. sqid = id;
  406. }else{
  407. shidNb.push(id);
  408. }
  409. } else {
  410. //没有勾选 改稿
  411. if (!isSq) {
  412. shidGg.push(id);
  413. }
  414. }
  415. }
  416. //领导选项卡
  417. $("#rySelected").find("div.leader").each(function(i, element) {
  418. //if (element.getAttribute("wdobjectid") == $('.dragList-div .content-onButton').attr('wdvalue')) {
  419. if (element.getAttribute("ssObjId") == $(element).find("[name^='clfs_']").eq(0).val()) { // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  420. ryids.push("blryid" + element.getAttribute("ssObjId")); // ("wdobjectid"))。是 wdobjectid,不是 wdObjectId。Lin
  421. } else {
  422. ryids.push(element.getAttribute("ssObjId")); // ("wdobjectid"))。是 wdobjectid,不是 wdObjectId。Lin
  423. }
  424. });
  425. //部门选项卡
  426. $("#rySelected").find("div.bmList").each(function(i, element) {
  427. <%-- 不是部门内 --%>
  428. <ss:notEqual val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  429. //if (element.getAttribute("wdobjectid") == $('.dragList-div .content-onButton').attr('wdvalue')) {
  430. if (element.getAttribute("ssObjId") == $(element).find("[name^='clfs_']").eq(0).val()) { // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  431. //ryids.push("blbmid"+element.getAttribute("wdobjectid"));
  432. ryids=ryids.concat(bmidToRyid([element.getAttribute("ssObjId")],"blryid")); // ("wdobjectid")],。是 wdobjectid,不是 wdObjectId。Lin
  433. } else {
  434. bms.push(element.getAttribute("ssObjId")); // ("wdobjectid"))。是 wdobjectid,不是 wdObjectId。Lin
  435. }
  436. </ss:notEqual>
  437. <%-- 是部门内 因为部门内是直接选部门内的成员所以直接存入ryids中就行了 --%>
  438. <ss:equal val='${ws.wsfwm}' val2='25'> <%-- 25 = 部门内。Lin --%>
  439. ryids.push(element.getAttribute("ssObjId")); // ("wdobjectid"))。是 wdobjectid,不是 wdObjectId。Lin
  440. </ss:equal>
  441. });
  442. if (bms.length > 0) {
  443. var under = $('input[name="under"][type="button"]').attr('class') == 'content-onButton';
  444. var url = document.getElementById("toRyidUrl").value;
  445. $.ajax({
  446. type: "post",
  447. url: url,
  448. async: false,
  449. data: {
  450. "bms": bms,
  451. "under": under
  452. },
  453. dataType: "json",
  454. traditional: true,
  455. success: function(data) {
  456. console.log(data);
  457. if (data.result) {
  458. $.each(data.data, function(i, element) {
  459. ryids.push(element);
  460. });
  461. }
  462. }
  463. });
  464. }
  465. //群组选项卡
  466. var qzids=[];
  467. $("#rySelected").find("div.qzList").each(function(i, element) {
  468. qzids.push(element.getAttribute("ssObjId")); // ("wdobjectid"))。是 wdobjectid,不是 wdObjectId。Lin
  469. });
  470. if (qzids.length > 0) {
  471. var url = document.getElementById("qzToRyidUrl").value;
  472. $.ajax({
  473. type: "post",
  474. url: url,
  475. async: false,
  476. data: {
  477. "qzids": qzids.join(",")
  478. },
  479. dataType: "json",
  480. traditional: true,
  481. success: function(result) {
  482. if (result) {
  483. $.each(result, function(i, item) {
  484. ryids.push(item.ryid);
  485. });
  486. }
  487. }
  488. });
  489. }
  490. // 处理人员
  491. /*var clrys = [];
  492. $('[name^="clfs_"]').each(function() {
  493. var _this = $(this)[0]
  494. if(_this.className == "" && _this.value != 2) {
  495. clrys.push(_this.value)
  496. }
  497. })
  498. $('[name="clfs"]').val(clrys.toString().replace(/\,/g, "|"))*/
  499. var ryidList = ryids.toString().replace(/\,/g, "|");
  500. if (ryidList == "") {
  501. wd.display.alert("所选择的区域无适当人选");
  502. } else {
  503. var ryidArr = ryidList.split(",");
  504. var f = document.getElementById("myForm");
  505. /* 改。Lin
  506. * 去掉 sfty:1 和 sm:'单位分发处理',服务 ws_submFf 没用到
  507. var formUrl = "@service{name:'ws_ff_dw_tj',dest:'sys_info',param:{sqid:'ssVal{sqid}',shidNb:'ssVal{shidNb}',shidGg:'ssVal{shidGg}',shid:'${shid}',sfty:1,sm:'单位分发处理'}}@";
  508. */ var formUrl = "<ss:serv name='ws_submFf' dest='info'/>";
  509. f.action = wd.display.replaceDynamicParam(formUrl, {
  510. "shidNb": shidNb,
  511. "shidGg": shidGg,
  512. "sqid": sqid
  513. });
  514. $('#ryidList').val(ryidList);
  515. f.submit();
  516. }
  517. }
  518. //工作流失败
  519. function reject() {
  520. var f = document.getElementById('myForm');
  521. /* 改,再去掉 check("审核"),直接用 "ss.agrTask" 或 "ss.rejTask"
  522. f.action = "@service{name:'check',dest:'sys_info',param:{shid:'${shid}',sfty:0}}@";
  523. */ f.action = "<ss:serv name='rejTask' parm='{"shid":"${shid}"}' dest='info'/>";
  524. f.submit();
  525. }
  526. function handleCl(id) {
  527. //$("[name='clfs_' + id]").val(2)
  528. $('[name^="clfs_"][type="hidden"]').each(function() {
  529. $(this).val(2)
  530. })
  531. //$('[name^="clfs_"][wdvalue="2"]').each(function() {
  532. $('[ysBtn]').each(function() {
  533. $(this).removeClass("content-offButton").addClass("content-onButton")
  534. })
  535. $('[clBtn]').each(function() {
  536. $(this).removeClass("content-onButton").addClass("content-offButton")
  537. })
  538. }
  539. </script>
  540. <%-- 去掉,没用到。Lin
  541. <script type="text/javascript">
  542. var data1 = '${nbList}';
  543. </script>
  544. --%>
  545. <script type="text/javascript">
  546. // 操作 #ryOption(在 #app 内),必须等 Vue mount 完成后再跑,否则操作的是会被替换掉的旧 DOM by xu 20260429
  547. document.addEventListener('ssAppMounted', function() {
  548. //把备选框中的所有子DIV,重新显示出来 Ben(20260428)
  549. const parentDiv = document.getElementById('ryOption');
  550. if (parentDiv) {
  551. // 获取所有直接子DIV元素
  552. const directChildDivs = Array.from(parentDiv.children).filter(child => child.tagName === 'DIV');
  553. // 或者使用querySelector选择器
  554. // const directChildDivs = parentDiv.querySelectorAll(':scope > div');
  555. directChildDivs.forEach(div => {
  556. div.style.display = '';
  557. });
  558. }
  559. });
  560. </script>
  561. <script type="text/javascript">var wdRecordValue='${wdRecordValue}';</script>
  562. <script type="text/javascript" src="/ss/js/wdRecord.js"></script>
  563. <script type="text/javascript">(function(){wdRecord("ws_ff");})();</script>
  564. <script type="text/javascript" src="/ss/js/wdFitHeight.js"></script>
  565. <script type="text/javascript">initWdFitHeight(48)</script>
  566. <script type="text/javascript">initWdFitHeightFunction=function(){initWdFitHeight(48);};</script>
  567. <ss:equal val="${empty resizeComponent}" val2="false">
  568. <script>{var iframe=wd.display.getFrameOfWindow();
  569. if(iframe&&iframe.contentWindow==window)
  570. wd.display.resizeComponent(${resizeComponent.width}, ${resizeComponent.height}, ${empty resizeComponent.minHeight?'null':resizeComponent.minHeight}, ${empty resizeComponent.maxHeight?'null':resizeComponent.maxHeight});}</script>
  571. </ss:equal>
  572. <ss:help/>
  573. </body>
  574. <script type="text/javascript">
  575. try{wd.display.showMsgPopup('${msg}');
  576. }catch(err){console.error(err);}
  577. </script>
  578. <ss:equal val="${empty wdclosewindowparam}" val2="false">
  579. <script type="text/javascript">
  580. try{wd.display.setCloseWindowParam('${wdclosewindowparam}');
  581. }catch(err){console.error(err);}
  582. </script>
  583. </ss:equal>
  584. </html>
  585. <%@ include file="/page/clip/footer.jsp" %>