shList.ss.jsp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. <html>
  2. <head>
  3. <%--<!–[if IE]>
  4. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  5. <![endif]–>--%>
  6. <js.ss file="/ss/treeTable/jquery.treetable.js"/>
  7. <style>
  8. .list-smallDim{
  9. width: 80px;
  10. }
  11. .list-smallDim span{
  12. display: inline-block;
  13. width: 46%;
  14. height: 16px;
  15. line-height: 16px;
  16. text-align: center;
  17. }
  18. .smallButton-i{
  19. margin-top: -4px;
  20. }
  21. .smc{
  22. overflow: hidden;
  23. text-overflow: ellipsis;
  24. -o-text-overflow: ellipsis;
  25. white-space:nowrap;
  26. }
  27. .sh-num-0{
  28. max-width: calc(100% - 351px);
  29. }
  30. .sh-num-1{
  31. max-width: calc(100% - 381px);
  32. }
  33. .sh-num-2{
  34. max-width: calc(100% - 429px);
  35. }
  36. html{
  37. overflow: hidden;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <script type="text/javascript">
  43. /*$(function() {
  44. $(".ry_info_div").mouseover(function() {
  45. $(this).siblings(".personalPhoto-small").css("opacity", "1");
  46. });
  47. $(".ry_info_div").mouseleave(function() {
  48. $(this).siblings(".personalPhoto-small").css("opacity", "0");
  49. });
  50. });*/
  51. var initJs10086062 = function() {
  52. var f = $(".shList").find(".file");
  53. var trClass="";
  54. var indenterClass="icon-folder icon-openFolder icon-point icon-doc";
  55. var hLineClass="hLine";
  56. var hLine = "hLine-highlight";
  57. var titleClass="list-highlight list-highlight list2";
  58. $('#shList table').treetable({
  59. expandable: true,
  60. indent:"",
  61. stringCollapse:"点击关闭",
  62. stringExpand:"点击展开",
  63. onNodeCollapse:function(a){//关闭
  64. console.log(this);
  65. var trEle=$(this.treeCell).parent();
  66. var titleEle=trEle.find(".title").removeClass(titleClass);
  67. var indenter=$(this.indenter).removeClass(indenterClass);//图标
  68. // $(this.children[this.children.length-1].treeCell).parent().removeClass(hLine);
  69. indenter.addClass("icon-folder")
  70. titleEle.addClass("list-highlight");
  71. trEle.addClass(hLineClass);
  72. // trEle.addClass(hLine);
  73. setLine();
  74. },onNodeExpand:function(a){//展开
  75. var trEle=$(this.treeCell).parent();
  76. var titleEle=trEle.find(".title").removeClass(titleClass);
  77. // trEle.removeClass(hLine);
  78. var indenter=$(this.indenter).removeClass(indenterClass);
  79. indenter.addClass("icon-openFolder");
  80. titleEle.addClass("list-highlight")
  81. trEle.removeClass(hLineClass);
  82. $(this.children[this.children.length-1].treeCell).parent().addClass(hLineClass);
  83. setLine();
  84. },onNodeInitialized:function(){
  85. console.log(this);
  86. console.log(111111)
  87. var trEle=$(this.treeCell).parent().removeClass(hLineClass);
  88. var titleEle=trEle.find(".title").removeClass(titleClass);
  89. var indenter=$(this.indenter).removeClass(indenterClass);
  90. if(!this.parentId&&this.children.length==0){
  91. indenter.addClass("icon-doc")
  92. // trEle.removeClass(hLineClass);
  93. }else if(this.children.length>0){
  94. indenter.addClass("icon-folder")
  95. }else{
  96. indenter.addClass("icon-point")
  97. }
  98. if(this.children.length>0||!this.parentId){
  99. trEle.addClass(hLineClass);
  100. }
  101. if(this.children.length>0){
  102. titleEle.addClass("list-highlight");
  103. }else {
  104. titleEle.addClass("list2");
  105. }
  106. }
  107. });
  108. $.each(f, function() {
  109. var itm = $(this);
  110. if (typeof(itm.parent().parent().attr("data-tt-parent-id")) != "undefined") {
  111. itm.css("margin-left", "2em");
  112. }
  113. });
  114. //获取整体宽度
  115. var bjW = $('.home-list-div').width() - 180;
  116. var ztW = $('.treetable').width();
  117. //动态给左边赋宽度值
  118. var tdW = ztW - 95;
  119. $(".tdBt").width(tdW);
  120. var leftW = $(".tdBt").width();
  121. var aW = leftW - 100;
  122. //动态给收起来的标题赋宽度值
  123. $(".bb").css({
  124. "max-width": aW + 'px'
  125. })
  126. //动态给放出来的标题赋宽度值
  127. $(".btA").css({
  128. "max-width": bjW + 'px'
  129. })
  130. console.log('被拖动了')
  131. //$(".tdSj").click(function(){$(this).prev(".tdBt").children(".indenter").children("a").trigger("click")});
  132. $("[taskCount]").each(function() {
  133. $(this).find(".indenter a").html($(this).attr("taskCount"));
  134. })
  135. function setLine(){
  136. if ($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-doc')) {
  137. $(".shyjlist tr").eq(0).removeClass('hLine').addClass('hLine-highlight');
  138. }else if($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-folder')){
  139. $(".shyjlist tr").eq(0).removeClass('hLine').addClass('hLine-highlight');
  140. }else if($(".shyjlist tr").eq(0).find('.indenter').hasClass('icon-openFolder')){
  141. $(".shyjlist tr").eq(0).removeClass('hLine hLine-highlight');
  142. var ttId = $(".shyjlist tr").eq(0).attr("data-tt-id");
  143. var ttNum = 0;
  144. $(".shyjlist tr").each(function(){
  145. if($(this).attr("data-tt-parent-id") != undefined && $(this).attr("data-tt-parent-id") == ttId){
  146. ttNum++
  147. }
  148. });
  149. $(".shyjlist tr").eq(0).removeClass('hLine');
  150. $(".shyjlist tr").eq(ttNum).removeClass('hLine').addClass('hLine-highlight');
  151. }
  152. }
  153. setLine();
  154. }
  155. </script>
  156. <div id="sybj" style="background-color: #fff">
  157. <div class="home-component-div">
  158. <div idxxx="sybjBody" class="scrollbar" style="margin-top: 5px;height: 100%;overflow: auto;">
  159. <div xxxid="sybjBodyInner" style="padding-right: 4px;padding-left: 7px;box-sizing: border-box;">
  160. <div class="home-list-div" id="shList" style="overflow: hidden;height: auto;">
  161. <table style="border:none!important;border-collapse: collapse;width: 100%;display: block;" class="shyjlist">
  162. <tbody style="display: block;width: 100%;">
  163. <rpt.ss name="shList" id="item">
  164. <rpt.ss name="${item.ryList}" id="ry">
  165. <equal.ss val="${index}" val2="0"> <%-- 改 equal:val1="${index == 0}" val2="true"。Lin --%>
  166. <tr data-num="1111" onClick='if($(window.event.srcElement).is("a,img"))return;
  167. <serv.ss dlg="true" dest="shInfo" parm="{sm:&quot;${ry.sm}&quot;,fjid:&quot;${ry.fjid}&quot;,ynrid:&quot;${ry.ynrid}&quot;}"/>'
  168. 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}">
  169. <td style="width:100%;padding-left: 15px;box-sizing: border-box;display: block;font-size: 14px" taskCount="${item.count}">
  170. <span class="folder"></span>
  171. <equal.ss val="${empty ry.dlryid}" val2="true">
  172. <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">
  173. ${ry.xm}
  174. </span>
  175. </equal.ss>
  176. <equal.ss val="${empty ry.dlryid}" val2="false">
  177. <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">
  178. ${ry.xm}
  179. </span>
  180. <span class="icon-proxy dHover" data-ysz="${empty ry.dlryyszwj?ry.dlryyszwj:ry.dlryzjzwj}" default-img="false" data-xm="${ry.dlryxm}" data-type="2">
  181. </span>
  182. </equal.ss>
  183. <div style="float: left;" class="list-dim">
  184. <equal.ss val="${ry.rylbm}" val2="1100"> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="true"。Lin --%>
  185. <cbTrans.ss cb="xyJoinBj" val="${ry.ryid}" filter='{ryid:"${ry.ryid}"}'/>
  186. </equal.ss>
  187. <notEqual.ss val="${ry.rylbm}" val2="1100"> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="false"。Lin --%>
  188. ${ry.bmmc}
  189. </notEqual.ss>
  190. </div>
  191. <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':''}">
  192. <div style="height: 25px;line-height: 25px;" class="list2 smc">
  193. <txt.ss val="${ry.sm}"/>
  194. </div>
  195. </div>
  196. <equal.ss val="${empty ry.fjid}" val2="false">
  197. <div style="float: left;">
  198. <input type="button" class="underlineIcon-attachment" style="float: left;margin-left: 5px;"/>
  199. </div>
  200. </equal.ss>
  201. <equal.ss val="${empty ry.ynrid}" val2="false">
  202. <div style="float: left;">
  203. <input type="button" class="underlineIcon-media"/>
  204. </div>
  205. </equal.ss>
  206. <div class="list-smallDim" style="float: right;margin-right: 10px;line-height: 53px;">
  207. <span style="font-size: 12px">
  208. <txt.ss val="${ry.shsj}" fmt="HH:mm"/>
  209. </span>
  210. <span style="font-size: 12px;">
  211. <txt.ss val="${ry.shsj}" fmt="MM/dd"/>
  212. </span>
  213. </div>
  214. </td>
  215. <%--<wd:equal leftValue="${ry.sfbx==1}" rightValue="true">
  216. <td> (会签)</td>
  217. </wd:equal>--%>
  218. </tr>
  219. </equal.ss>
  220. <equal.ss val="${index &gt; 0}" val2="true">
  221. <tr onClick='if($(window.event.srcElement).is("a,img"))return;
  222. <serv.ss dlg="true" dest="shInfo" parm="{sm:&quot;${ry.sm}&quot;,fjid:&quot;${ry.fjid}&quot;,ynrid:&quot;${ry.ynrid}&quot;}"/>'
  223. 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}">
  224. <td style="padding-left: 15px;width: 100%;box-sizing: border-box;display: block;">
  225. <span class="file"></span>
  226. <equal.ss val="${empty ry.dlryid}" val2="false">
  227. <span style="display: block;float: left;width: 50px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
  228. data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false"
  229. data-xm="${ry.xm}" data-type = "1" class="title dHover ry_info_div">
  230. ${ry.xm}
  231. </span>
  232. <span class="icon-proxy dHover dai" data-ysz="${ry.dlryyszwj}" data-zjz="${ry.dlryzjzwj}"
  233. default-img="false" data-xm="${ry.dlryxm}" data-type="2">
  234. </span>
  235. </equal.ss>
  236. <equal.ss val="${empty ry.dlryid}" val2="true">
  237. <span style="display: block;float: left;width: 85px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
  238. data-ysz="${ry.yszwj}" data-zjz="${ry.zjzwj}" default-img="false" data-xm="${ry.xm}" data-type = "1" class="title dHover ry_info_div">
  239. ${ry.xm}
  240. </span>
  241. </equal.ss>
  242. <div style="float: left;" class="list-dim">
  243. <equal.ss val="${ry.rylbm}" val2="1100"> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="true"。Lin --%>
  244. <cbTrans.ss cb="xyJoinBj" val="${ry.ryid}" filter='{ryid:"${ry.ryid}"}'/>
  245. </equal.ss>
  246. <notEqual.ss val="${ry.rylbm}" val2="1100"> <%-- 改 equal:val1="${ry.rylbm == 1100}" val2="false"。Lin --%>
  247. ${ry.bmmc}
  248. </notEqual.ss>
  249. </div>
  250. <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':''}" >
  251. <div style="height: 25px;line-height: 25px;" class="list2 smc" height='24px'>
  252. <txt.ss val="${ry.sm}"/>
  253. </div>
  254. </div>
  255. <equal.ss val="${empty ry.fjid}" val2="false">
  256. <div style="float: left;">
  257. <input type="button" class="underlineIcon-attachment" style="float: left;margin-left: 5px;"/>
  258. </div>
  259. </equal.ss>
  260. <equal.ss val="${empty ry.ynrid}" val2="false">
  261. <div style="float: left;">
  262. <input type="button" class="underlineIcon-media" style="float: left;margin-left: 5px;"/>
  263. </div>
  264. </equal.ss>
  265. <div class="list-smallDim" style="float: right;margin-right: 10px;line-height: 53px;">
  266. <span style="font-size: 12px">
  267. <txt.ss val="${ry.shsj}" fmt="HH:mm" />
  268. </span>
  269. <span style="font-size: 12px">
  270. <txt.ss val="${ry.shsj}" fmt="MM/dd" />
  271. </span>
  272. </div>
  273. </td>
  274. <%--<wd:equal leftValue="${ry.sfbx==1}" rightValue="true">
  275. <td> (会签)</td>
  276. </wd:equal>--%>
  277. </tr>
  278. </equal.ss>
  279. </rpt.ss>
  280. </rpt.ss>
  281. </tbody>
  282. </table>
  283. </div>
  284. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=" onload="initJs10086062()"/>
  285. </div>
  286. </div>
  287. </div>
  288. </div>
  289. <script type="text/javascript">
  290. var data = '${shList}';
  291. </script>
  292. <script>
  293. $(".dHover").hover(function() {
  294. tips($(this));
  295. });
  296. $(".dHover").mouseout(function() {
  297. tipsHidden();
  298. });
  299. var topWin = (function(p, c) {
  300. while (p != c) {
  301. c = p
  302. p = p.parent
  303. }
  304. return c
  305. })(window.parent, window);
  306. function tips(obj) {
  307. var bounding = $(obj)[0].getBoundingClientRect();
  308. var xy = this.recursionIframe();
  309. var left = bounding.left + xy.left;
  310. var top = bounding.top + bounding.height + xy.top;
  311. var tipHtml = "";
  312. /* 改。Lin
  313. var src1 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=getData&path=" + encodeURIComponent($(obj).attr('data-ysz'))
  314. var src2 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=getData&path=" + encodeURIComponent($(obj).attr('data-zjz'))
  315. */
  316. /* 再改,增加 type="img"。Lin
  317. var src1 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=dlByHttp&path=" + encodeURIComponent($(obj).attr('data-ysz'))
  318. var src2 = "/service?wdApplication=$@{sessionScope['XMMC']}&wdService=dlByHttp&path=" + encodeURIComponent($(obj).attr('data-zjz'))
  319. */
  320. var src1 = "/service?ssServ=dlByHttp&type=img&path="+ encodeURIComponent($(obj).attr('data-ysz'))
  321. var src2 = "/service?ssServ=dlByHttp&type=img&path="+ encodeURIComponent($(obj).attr('data-zjz'))
  322. if($(obj).attr("data-ysz") == '' && $(obj).attr("data-zjz") == '') {
  323. return;
  324. }
  325. if ($(obj).attr("data-ysz") == '') {
  326. var src
  327. if($(obj).attr("default-img")){
  328. }
  329. tipHtml = '<div class="personalPhoto-small tips zjz"' +
  330. 'style="position: absolute; left: ' + (left-5)+ 'px; top: ' + (top - 100) +
  331. 'px; z-index: 999999999999999; border: none; border-radius:0;background: none;"><img src="'+src2+'" /></div>';
  332. }
  333. else {
  334. tipHtml = '<div class="personalPhoto-small tips ysz" style="position: absolute; width:60px; left: ' + (left-5) + 'px; top: ' + (top - 100) +
  335. 'px; z-index: 999999999999999;"><img src="'+src1+'" /></div>';
  336. }
  337. topWin.$("body").append(tipHtml);
  338. }
  339. function tipsHidden() {
  340. topWin.$(".tips").remove();
  341. }
  342. this.recursionIframe = function(win) {
  343. if (!win) {
  344. win = window;
  345. }
  346. function getTop(e) {
  347. var offset = e.offsetTop;
  348. if (e.offsetParent != null) offset += getTop(e.offsetParent);
  349. return offset;
  350. }
  351. function getLeft(e) {
  352. var offset = e.offsetLeft;
  353. if (e.offsetParent != null) offset += getLeft(e.offsetParent);
  354. return offset;
  355. }
  356. if (win.parent == top && win.parent == win) {
  357. return {
  358. "left": 0,
  359. "top": 0
  360. };
  361. }
  362. var winPar = win.parent; // .opener
  363. var iframeArr = winPar.document.getElementsByTagName('IFRAME');
  364. var targetIframe;
  365. var iframeArr1 = win.document.getElementsByTagName('IFRAME');
  366. for (var i = 0; i < iframeArr1.length; i++) {
  367. var iframeElem = iframeArr1[i];
  368. if (iframeElem.contentWindow == win) {
  369. targetIframe = iframeElem;
  370. break;
  371. }
  372. }
  373. for (var i = 0; i < iframeArr.length; i++) {
  374. var iframeElem = iframeArr[i];
  375. if (iframeElem.contentWindow == win) {
  376. targetIframe = iframeElem;
  377. break;
  378. }
  379. }
  380. var xy = {
  381. left: getLeft(targetIframe),
  382. top: getTop(targetIframe)
  383. }
  384. if (winPar.parent != winPar) {
  385. var xy2 = this.recursionIframe(winPar);
  386. xy.left += xy2.left;
  387. xy.top += xy2.top;
  388. }
  389. return xy
  390. }
  391. </script>
  392. </body>
  393. </html>