shList.jsp 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <%@ taglib uri="/ssTag" prefix="ss"%>
  3. <%pageContext.setAttribute("wdpageinformation","{'hastab':'0'}");%>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta http-equiv="pragma" content="no-cache">
  8. <meta http-equiv="cache-control" content="no-cache">
  9. <meta http-equiv="expires" content="0">
  10. <script>window.loginStatus="${empty sessionScope['ssUser']?'0':'1'}"</script>
  11. <ss:skin file='main.css'/>
  12. <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
  13. <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
  14. <script type="text/javascript" src="/ss/js/base.js"></script>
  15. <script> if(!window.wd) var wd={}; if(!wd.display) wd.display={}; wd.display.wdDialogId="shList"; if(!wd.app) wd.app={}; wd.app.name='pms';</script>
  16. <script type="text/javascript" src="/ss/js/masklayer.js"></script>
  17. <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
  18. <script type="text/javascript" src="/ss/js/common.js"></script>
  19. <script type="text/javascript" src="/ss/js/display.js"></script>
  20. <script type="text/javascript" src="/ss/js/edit.js"></script>
  21. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
  22. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
  23. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
  24. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
  25. <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
  26. <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
  27. <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
  28. <script type="text/javascript" src="/ss/js/common.js"></script>
  29. <script type="text/javascript" src="/ss/js/display.js"></script>
  30. <%-- 新UI引入的JS --%>
  31. <script src="/js/load.js"></script> <%-- ="/newUI/ss/js/base.js"。Lin(新UI) --%>
  32. <%--<!–[if IE]>
  33. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  34. <![endif]–>--%>
  35. <script type="text/javascript" src="/ss/treeTable/jquery.treetable.js"></script>
  36. <style>
  37. .list-smallDim{
  38. width: 80px;
  39. }
  40. .list-smallDim span{
  41. display: inline-block;
  42. width: 46%;
  43. height: 16px;
  44. line-height: 16px;
  45. text-align: center;
  46. }
  47. .smallButton-i{
  48. margin-top: -4px;
  49. }
  50. .smc{
  51. overflow: hidden;
  52. text-overflow: ellipsis;
  53. -o-text-overflow: ellipsis;
  54. white-space:nowrap;
  55. }
  56. .sh-num-0{
  57. max-width: calc(100% - 351px);
  58. }
  59. .sh-num-1{
  60. max-width: calc(100% - 381px);
  61. }
  62. .sh-num-2{
  63. max-width: calc(100% - 429px);
  64. }
  65. html{
  66. overflow: hidden;
  67. }
  68. </style>
  69. </head>
  70. <body>
  71. <script type="text/javascript">
  72. /*$(function() {
  73. $(".ry_info_div").mouseover(function() {
  74. $(this).siblings(".personalPhoto-small").css("opacity", "1");
  75. });
  76. $(".ry_info_div").mouseleave(function() {
  77. $(this).siblings(".personalPhoto-small").css("opacity", "0");
  78. });
  79. });*/
  80. var initJs10086062 = function() {
  81. var f = $(".shList").find(".file");
  82. var trClass="";
  83. var indenterClass="icon-folder icon-openFolder icon-point icon-doc";
  84. var hLineClass="hLine";
  85. var hLine = "hLine-highlight";
  86. var titleClass="list-highlight list-highlight list2";
  87. $('#shList table').treetable({
  88. expandable: true,
  89. indent:"",
  90. stringCollapse:"点击关闭",
  91. stringExpand:"点击展开",
  92. onNodeCollapse:function(a){//关闭
  93. console.log(this);
  94. var trEle=$(this.treeCell).parent();
  95. var titleEle=trEle.find(".title").removeClass(titleClass);
  96. var indenter=$(this.indenter).removeClass(indenterClass);//图标
  97. // $(this.children[this.children.length-1].treeCell).parent().removeClass(hLine);
  98. indenter.addClass("icon-folder")
  99. titleEle.addClass("list-highlight");
  100. trEle.addClass(hLineClass);
  101. // trEle.addClass(hLine);
  102. setLine();
  103. },onNodeExpand:function(a){//展开
  104. var trEle=$(this.treeCell).parent();
  105. var titleEle=trEle.find(".title").removeClass(titleClass);
  106. // trEle.removeClass(hLine);
  107. var indenter=$(this.indenter).removeClass(indenterClass);
  108. indenter.addClass("icon-openFolder");
  109. titleEle.addClass("list-highlight")
  110. trEle.removeClass(hLineClass);
  111. $(this.children[this.children.length-1].treeCell).parent().addClass(hLineClass);
  112. setLine();
  113. },onNodeInitialized:function(){
  114. console.log(this);
  115. console.log(111111)
  116. var trEle=$(this.treeCell).parent().removeClass(hLineClass);
  117. var titleEle=trEle.find(".title").removeClass(titleClass);
  118. var indenter=$(this.indenter).removeClass(indenterClass);
  119. if(!this.parentId&&this.children.length==0){
  120. indenter.addClass("icon-doc")
  121. // trEle.removeClass(hLineClass);
  122. }else if(this.children.length>0){
  123. indenter.addClass("icon-folder")
  124. }else{
  125. indenter.addClass("icon-point")
  126. }
  127. if(this.children.length>0||!this.parentId){
  128. trEle.addClass(hLineClass);
  129. }
  130. if(this.children.length>0){
  131. titleEle.addClass("list-highlight");
  132. }else {
  133. titleEle.addClass("list2");
  134. }
  135. }
  136. });
  137. $.each(f, function() {
  138. var itm = $(this);
  139. if (typeof(itm.parent().parent().attr("data-tt-parent-id")) != "undefined") {
  140. itm.css("margin-left", "2em");
  141. }
  142. });
  143. //获取整体宽度
  144. var bjW = $('.home-list-div').width() - 180;
  145. var ztW = $('.treetable').width();
  146. //动态给左边赋宽度值
  147. var tdW = ztW - 95;
  148. $(".tdBt").width(tdW);
  149. var leftW = $(".tdBt").width();
  150. var aW = leftW - 100;
  151. //动态给收起来的标题赋宽度值
  152. $(".bb").css({
  153. "max-width": aW + 'px'
  154. })
  155. //动态给放出来的标题赋宽度值
  156. $(".btA").css({
  157. "max-width": bjW + 'px'
  158. })
  159. console.log('被拖动了')
  160. //$(".tdSj").click(function(){$(this).prev(".tdBt").children(".indenter").children("a").trigger("click")});
  161. $("[taskCount]").each(function() {
  162. $(this).find(".indenter a").html($(this).attr("taskCount"));
  163. })
  164. function setLine(){
  165. if ($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-doc')) {
  166. $(".shyjlist tr").eq(0).removeClass('hLine').addClass('hLine-highlight');
  167. }else if($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-folder')){
  168. $(".shyjlist tr").eq(0).removeClass('hLine').addClass('hLine-highlight');
  169. }else if($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-openFolder')){
  170. $(".shyjlist tr").eq(0).removeClass('hLine hLine-highlight');
  171. var ttId = $(".shyjlist tr").eq(0).attr("data-tt-id");
  172. var ttNum = 0;
  173. $(".shyjlist tr").each(function(){
  174. if($(this).attr("data-tt-parent-id") != undefined && $(this).attr("data-tt-parent-id") == ttId){
  175. ttNum++
  176. }
  177. });
  178. $(".shyjlist tr").eq(0).removeClass('hLine');
  179. $(".shyjlist tr").eq(ttNum).removeClass('hLine').addClass('hLine-highlight');
  180. }
  181. }
  182. setLine();
  183. }
  184. </script>
  185. <!-- <div id="sybj" style="background-color: #fff">
  186. <div class="home-component-div">
  187. <div idxxx="sybjBody" class="scrollbar" style="margin-top: 5px;height: 100%;overflow: auto;">
  188. <div xxxid="sybjBodyInner" style="padding-right: 4px;padding-left: 7px;box-sizing: border-box;">
  189. <div class="home-list-div" id="shList" style="overflow: hidden;height: auto;">
  190. <table style="border:none!important;border-collapse: collapse;width: 100%;display: block;" class="shyjlist">
  191. <tbody style="display: block;width: 100%;">
  192. <ss:rpt name='shList' id='item'>
  193. <ss:rpt name='${item.ryList}' id='ry'>
  194. <ss:equal val='${index}' val2='0'> <%-- 改 equal:val1="${index == 0}" val2="true"。Lin --%>
  195. <tr data-num="1111" onClick='if($(window.event.srcElement).is("a,img"))return;
  196. wd.display.showComponent({show:["wdDialog"],url:"<ss:serv parm='{"fjid":"${ry.fjid}","wdConfirmationCaptchaService":"0","ynrid":"${ry.ynrid}","sm":"${ry.sm}"}' dest='shInfo'/>",title:"审核内容",width:945,height:800,minHeight:54,maxHeight:853});'
  197. class="trtable folder1 list" style="height: 41px;line-height: 41px;width: 100%;position: relative;font-size: 14px;display: block;" data-tt-id="${item.type}${index}${ry.ryid}">
  198. <td style="width:100%;padding-left: 15px;box-sizing: border-box;display: block;font-size: 14px" taskCount="${item.count}">
  199. <span class="folder"></span>
  200. <ss:equal val='${empty ry.dlryid}' val2='true'>
  201. <span style="display: block;float: left;width: 85px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false" data-xm="${ry.xm}" data-type="1" class="title dHover ry_info_div">
  202. ${ry.xm}
  203. </span>
  204. </ss:equal>
  205. <ss:equal val='${empty ry.dlryid}' val2='false'>
  206. <span style="display: block;float: left;width: 50px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false" data-xm="${ry.xm}" class="title dHover ry_info_div">
  207. ${ry.xm}
  208. </span>
  209. <span class="icon-proxy dHover" data-ysz="${empty ry.dlryyszwj?ry.dlryyszwj:ry.dlryzjzwj}" default-img="false" data-xm="${ry.dlryxm}" data-type="2">
  210. </span>
  211. </ss:equal>
  212. <div style="float: left;" class="list-dim">
  213. <ss:equal val='${ry.rylbm}' val2='1100'> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="true"。Lin --%>
  214. <ss:cbTrans cb='xybj' val='${ry.ryid}' filter='{xyid:${ry.ryid}}'/>
  215. </ss:equal>
  216. <ss:notEqual val='${ry.rylbm}' val2='1100'> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="false"。Lin --%>
  217. ${ry.bmmc}
  218. </ss:notEqual>
  219. </div>
  220. <div style="float: left;margin-top: 9px;" class="sh-num-${empty ry.fjid&&empty ry.ynrid?'0':''}${not empty ry.fjid&&empty ry.ynrid?'1':''}${empty ry.fjid&&not empty ry.ynrid?'1':''}">
  221. <div style="height: 25px;line-height: 25px;" class="list2 smc">
  222. <ss:txt val='${ry.sm}'/>
  223. </div>
  224. </div>
  225. <ss:equal val='${empty ry.fjid}' val2='false'>
  226. <div style="float: left;">
  227. <input type="button" class="underlineIcon-attachment" style="float: left;margin-left: 5px;"/>
  228. </div>
  229. </ss:equal>
  230. <ss:equal val='${empty ry.ynrid}' val2='false'>
  231. <div style="float: left;">
  232. <input type="button" class="underlineIcon-media"/>
  233. </div>
  234. </ss:equal>
  235. <div class="list-smallDim" style="float: right;margin-right: 10px;line-height: 53px;">
  236. <span style="font-size: 12px">
  237. <ss:txt val='${ry.shsj}' fmt='HH:mm'/>
  238. </span>
  239. <span style="font-size: 12px;">
  240. <ss:txt val='${ry.shsj}' fmt='MM/dd'/>
  241. </span>
  242. </div>
  243. </td>
  244. <%--<wd:equal leftValue="${ry.sfbx==1}" rightValue="true">
  245. <td> (会签)</td>
  246. </wd:equal>--%>
  247. </tr>
  248. </ss:equal>
  249. <ss:equal val='${index > 0}' val2='true'>
  250. <tr onClick='if($(window.event.srcElement).is("a,img"))return;
  251. wd.display.showComponent({show:["wdDialog"],url:"<ss:serv parm='{"fjid":"${ry.fjid}","wdConfirmationCaptchaService":"0","ynrid":"${ry.ynrid}","sm":"${ry.sm}"}' dest='shInfo'/>",title:"审核内容",width:945,height:800,minHeight:54,maxHeight:853});'
  252. class="file2 list" style="height: 41px;line-height: 41px;width: 100%;position: relative;font-size: 14px;display: block;" data-tt-id="${item.type}${index}${ry.ryid}" data-tt-parent-id="${item.type}0${item.groupId}">
  253. <td style="padding-left: 15px;width: 100%;box-sizing: border-box;display: block;">
  254. <span class="file"></span>
  255. <ss:equal val='${empty ry.dlryid}' val2='false'>
  256. <span style="display: block;float: left;width: 50px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
  257. data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false"
  258. data-xm="${ry.xm}" data-type = "1" class="title dHover ry_info_div">
  259. ${ry.xm}
  260. </span>
  261. <span class="icon-proxy dHover dai" data-ysz="${ry.dlryyszwj}" data-zjz="${ry.dlryzjzwj}"
  262. default-img="false" data-xm="${ry.dlryxm}" data-type="2">
  263. </span>
  264. </ss:equal>
  265. <ss:equal val='${empty ry.dlryid}' val2='true'>
  266. <span style="display: block;float: left;width: 85px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
  267. data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false" data-xm="${ry.xm}" data-type = "1" class="title dHover ry_info_div">
  268. ${ry.xm}
  269. </span>
  270. </ss:equal>
  271. <div style="float: left;" class="list-dim">
  272. <ss:equal val='${ry.rylbm}' val2='1100'> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="true"。Lin --%>
  273. <ss:cbTrans cb='xybj' val='${ry.ryid}' filter='{xyid:${ry.ryid}}'/>
  274. </ss:equal>
  275. <ss:notEqual val='${ry.rylbm}' val2='1100'> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="false"。Lin --%>
  276. ${ry.bmmc}
  277. </ss:notEqual>
  278. </div>
  279. <div style="float: left;margin-top: 9px;" class="sh-num-${empty ry.fjid&&empty ry.ynrid?'0':''}${not empty ry.fjid&&empty ry.ynrid?'1':''}${empty ry.fjid&&not empty ry.ynrid?'1':''}" >
  280. <div style="height: 25px;line-height: 25px;" class="list2 smc" height='24px'>
  281. <ss:txt val='${ry.sm}'/>
  282. </div>
  283. </div>
  284. <ss:equal val='${empty ry.fjid}' val2='false'>
  285. <div style="float: left;">
  286. <input type="button" class="underlineIcon-attachment" style="float: left;margin-left: 5px;"/>
  287. </div>
  288. </ss:equal>
  289. <ss:equal val='${empty ry.ynrid}' val2='false'>
  290. <div style="float: left;">
  291. <input type="button" class="underlineIcon-media" style="float: left;margin-left: 5px;"/>
  292. </div>
  293. </ss:equal>
  294. <div class="list-smallDim" style="float: right;margin-right: 10px;line-height: 53px;">
  295. <span style="font-size: 12px">
  296. <ss:txt val='${ry.shsj}' fmt='HH:mm'/>
  297. </span>
  298. <span style="font-size: 12px">
  299. <ss:txt val='${ry.shsj}' fmt='MM/dd'/>
  300. </span>
  301. </div>
  302. </td>
  303. <%--<wd:equal leftValue="${ry.sfbx==1}" rightValue="true">
  304. <td> (会签)</td>
  305. </wd:equal>--%>
  306. </tr>
  307. </ss:equal>
  308. </ss:rpt>
  309. </ss:rpt>
  310. </tbody>
  311. </table>
  312. </div>
  313. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=" onload="initJs10086062()"/>
  314. </div>
  315. </div>
  316. </div>
  317. </div> -->
  318. <div id="app">
  319. <div class="verify-container">
  320. <div class="right-side-div">
  321. <div class="header">
  322. <ss-verify-node class="header-node" :item="rightHeader" />
  323. </div>
  324. <!-- 审批链条 -->
  325. <ss-verify :verify-list="rightGroupList" class="fit-height-content" />
  326. </div>
  327. </div>
  328. </div>
  329. <script type="text/javascript">
  330. var data = `${shList}`;<%-- 这个data对象,好像后面的程序都没用到 --%>
  331. </script>
  332. <script>
  333. $(".dHover").hover(function() {
  334. tips($(this));
  335. });
  336. $(".dHover").mouseout(function() {
  337. tipsHidden();
  338. });
  339. var topWin = (function(p, c) {
  340. while (p != c) {
  341. c = p
  342. p = p.parent
  343. }
  344. return c
  345. })(window.parent, window);
  346. function tips(obj) {
  347. var bounding = $(obj)[0].getBoundingClientRect();
  348. var xy = this.recursionIframe();
  349. var left = bounding.left + xy.left;
  350. var top = bounding.top + bounding.height + xy.top;
  351. var tipHtml = "";
  352. /* 改。Lin
  353. var src1 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=getData&path=" + encodeURIComponent($(obj).attr('data-ysz'))
  354. var src2 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=getData&path=" + encodeURIComponent($(obj).attr('data-zjz'))
  355. */
  356. /* 再改,增加 type="img"。Lin
  357. var src1 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=dlByHttp&path=" + encodeURIComponent($(obj).attr('data-ysz'))
  358. var src2 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=dlByHttp&path=" + encodeURIComponent($(obj).attr('data-zjz'))
  359. */
  360. var src1 = "/service?ssServ=dlByHttp&type=img&path="+ encodeURIComponent($(obj).attr('data-ysz'))
  361. var src2 = "/service?ssServ=dlByHttp&type=img&path="+ encodeURIComponent($(obj).attr('data-zjz'))
  362. if($(obj).attr("data-ysz") == '' && $(obj).attr("data-zjz") == '') {
  363. return;
  364. }
  365. if ($(obj).attr("data-ysz") == '') {
  366. var src
  367. if($(obj).attr("default-img")){
  368. }
  369. tipHtml = '<div class="personalPhoto-small tips zjz"' +
  370. 'style="position: absolute; left: ' + (left-5)+ 'px; top: ' + (top - 100) +
  371. 'px; z-index: 999999999999999; border: none; border-radius:0;background: none;"><img src="'+src2+'" /></div>';
  372. }
  373. else {
  374. tipHtml = '<div class="personalPhoto-small tips ysz" style="position: absolute; width:60px; left: ' + (left-5) + 'px; top: ' + (top - 100) +
  375. 'px; z-index: 999999999999999;"><img src="'+src1+'" /></div>';
  376. }
  377. topWin.$("body").append(tipHtml);
  378. }
  379. function tipsHidden() {
  380. topWin.$(".tips").remove();
  381. }
  382. this.recursionIframe = function(win) {
  383. if (!win) {
  384. win = window;
  385. }
  386. function getTop(e) {
  387. var offset = e.offsetTop;
  388. if (e.offsetParent != null) offset += getTop(e.offsetParent);
  389. return offset;
  390. }
  391. function getLeft(e) {
  392. var offset = e.offsetLeft;
  393. if (e.offsetParent != null) offset += getLeft(e.offsetParent);
  394. return offset;
  395. }
  396. if (win.parent == top && win.parent == win) {
  397. return {
  398. "left": 0,
  399. "top": 0
  400. };
  401. }
  402. var winPar = win.parent; // .opener
  403. var iframeArr = winPar.document.getElementsByTagName('IFRAME');
  404. var targetIframe;
  405. var iframeArr1 = win.document.getElementsByTagName('IFRAME');
  406. for (var i = 0; i < iframeArr1.length; i++) {
  407. var iframeElem = iframeArr1[i];
  408. if (iframeElem.contentWindow == win) {
  409. targetIframe = iframeElem;
  410. break;
  411. }
  412. }
  413. for (var i = 0; i < iframeArr.length; i++) {
  414. var iframeElem = iframeArr[i];
  415. if (iframeElem.contentWindow == win) {
  416. targetIframe = iframeElem;
  417. break;
  418. }
  419. }
  420. var xy = {
  421. left: getLeft(targetIframe),
  422. top: getTop(targetIframe)
  423. }
  424. if (winPar.parent != winPar) {
  425. var xy2 = this.recursionIframe(winPar);
  426. xy.left += xy2.left;
  427. xy.top += xy2.top;
  428. }
  429. return xy
  430. }
  431. </script>
  432. <script type="text/javascript">var wdRecordValue='${wdRecordValue}';</script>
  433. <script type="text/javascript" src="/ss/js/wdRecord.js"></script>
  434. <script type="text/javascript">(function(){wdRecord("shList");})();</script>
  435. <ss:equal val="${empty resizeComponent}" val2="false">
  436. <script>{var iframe=wd.display.getFrameOfWindow();
  437. if(iframe&&iframe.contentWindow==window)
  438. wd.display.resizeComponent(${resizeComponent.width}, ${resizeComponent.height}, ${empty resizeComponent.minHeight?'null':resizeComponent.minHeight}, ${empty resizeComponent.maxHeight?'null':resizeComponent.maxHeight});}</script>
  439. </ss:equal>
  440. <ss:help/>
  441. </body>
  442. <script type="text/javascript">
  443. try{wd.display.showMsgPopup('${msg}');
  444. }catch(err){console.error(err);}
  445. </script>
  446. <ss:equal val="${empty wdclosewindowparam}" val2="false">
  447. <script type="text/javascript">
  448. try{wd.display.setCloseWindowParam('${wdclosewindowparam}');
  449. }catch(err){console.error(err);}
  450. </script>
  451. </ss:equal>
  452. </html>
  453. <script type="text/javascript">
  454. <%-- 新UI start Ben--%>
  455. window.SS.dom.listConfig = window.SS.dom.listConfig || {};
  456. window.SS.dom.listConfig.shList = [];<%-- 审核列表--%>
  457. <ss:rpt name='shList' id='item'>
  458. <ss:rpt name='${item.ryList}' id='ry'>
  459. {<%-- 循环一次,生成一条审核记录 --%>
  460. let item = {};
  461. window.SS.dom.listConfig.shList.push(item);
  462. if(window.SS.dom.listConfig.shList.length===1){
  463. item.isSqry=true;<%-- 第一个是申请人(如果不是申请人,就是审核人) --%>
  464. }else{
  465. item.isSqry=false;<%-- 不是申请人(如果不是申请人,就是审核人) --%>
  466. }
  467. <%-- <ss:equal val='${index}' val2='0'>--%>
  468. <%-- item.isSqry=true;&lt;%&ndash; 是申请人(如果不是申请人,就是审核人) &ndash;%&gt;--%>
  469. <%-- </ss:equal>--%>
  470. item.onclick = function (){
  471. wd.display.showComponent({show:["wdDialog"],url:"<ss:serv parm='{"fjid":"${ry.fjid}","wdConfirmationCaptchaService":"0","ynrid":"${ry.ynrid}","sm":"${ry.sm}"}' dest='shInfo'/>",title:"审核内容",width:945,height:800,minHeight:54,maxHeight:853});
  472. }
  473. item.xm="${ry.xm}";<%-- 审核人员姓名 --%>
  474. <%--item.ysz="${ry.yszwj}";&lt;%&ndash; 审核人员艺术照文件 &ndash;%&gt;--%>
  475. item.zjz="${ry.zjzwj}";<%-- 审核人员证件照文件 --%>
  476. <%-- 是否代理人员 --%>
  477. <ss:equal val='${empty ry.dlryid}' val2='true'>
  478. item.sfdlry=true;<%-- 是代理人员 --%>
  479. </ss:equal>
  480. <ss:equal val='${empty ry.dlryid}' val2='false'>
  481. item.sfdlry=false;<%-- 不是代理人员 --%>
  482. </ss:equal>
  483. <%-- 审核人如果是学员,显示学员班级名称--%>
  484. <ss:equal val='${ry.rylbm}' val2='1100'>
  485. item.sfxy=true;<%-- 是学员--%>
  486. item.bmmc="<ss:cbTrans cb='xybj' val='${ry.ryid}' filter='{xyid:${ry.ryid}}'/>";<%-- 班级名称--%>
  487. </ss:equal>
  488. <%-- 审核人如果不是学员,显示部门名 --%>
  489. <ss:notEqual val='${ry.rylbm}' val2='1100'> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="false"。Lin --%>
  490. item.sfxy=false;<%-- 不是学员--%>
  491. item.bmmc="${ry.bmmc}";<%-- 部门名 --%>
  492. </ss:notEqual>
  493. item.shsm=`<ss:txt val='${ry.sm}'/>`;<%-- 审核说明(里面会含换行符)--%>
  494. <ss:equal val='${empty ry.fjid}' val2='false'>
  495. item.fjid="${ry.fjid}";<%-- 附件ID--%>
  496. </ss:equal>
  497. <ss:equal val='${empty ry.ynrid}' val2='false'>
  498. item.ynrid="${empty ry.ynrid}";<%-- 原内容ID,忘了这个是在哪里用,这是某种特殊的审核才用的,先忽略吧--%>
  499. </ss:equal>
  500. item.shsj_time="<ss:txt val='${ry.shsj}' fmt='HH:mm'/>";<%-- 审核时间 时:分 --%>
  501. item.shsj_day="<ss:txt val='${ry.shsj}' fmt='MM/dd'/>";<%-- 审核时间 月/日 --%>
  502. }
  503. </ss:rpt>
  504. </ss:rpt>
  505. <%-- 新UI end Ben--%>
  506. tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList:"<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});
  507. </script>
  508. <script type="module">
  509. console.log("sh")
  510. console.log('listConfig:'+JSON.stringify(window.SS.dom.listConfig));
  511. const sqry = window.SS.dom.listConfig.shList.filter(function(item) {
  512. return item.isSqry;
  513. })[0] || {};
  514. SS.ready(function() {
  515. // 调用组件中的初始化方法
  516. window.SS.dom.initializeFormApp({
  517. el: '#app',
  518. data() {
  519. return {
  520. listConfig: window.SS.dom.listConfig,
  521. // 右侧数据
  522. rightHeader: {
  523. thumb: "skin/easy/image/default-personalPhoto.png",
  524. name: sqry.xm || '',
  525. role: sqry.bmmc || '',
  526. description: sqry.shsm || '发起审核',
  527. time: sqry.shsj_time && sqry.shsj_day ? sqry.shsj_time + ' ' + sqry.shsj_day : '',
  528. link: false,
  529. },
  530. rightGroupList: Object.values(
  531. window.SS.dom.listConfig.shList.reduce((groups, item) => {
  532. // 使用部门名称作为分组key
  533. const groupKey = item.bmmc;
  534. if (!groups[groupKey]) {
  535. groups[groupKey] = {
  536. groupName: groupKey,
  537. open: true,
  538. children: []
  539. };
  540. }
  541. groups[groupKey].children.push({
  542. thumb: "skin/easy/image/default-personalPhoto.png",
  543. name: item.xm,
  544. role: item.bmmc,
  545. description: item.shsm || '同意',
  546. time: item.shsj_time +' '+ item.shsj_day,
  547. link: false
  548. });
  549. return groups;
  550. }, {})
  551. ),
  552. };
  553. }
  554. });
  555. });
  556. </script>