home.home.jsp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. <%@ page import="ss.WebC" %>
  2. <%@ page import="ss.serv.ServC" %>
  3. <html>
  4. <head>
  5. <%
  6. if(pageContext.getSession().getAttribute("ssUser")==null){
  7. /* 再改,去掉 loginExp.ss.jsp(写死错误信息),改用 relogin.ss.jsp。Lin
  8. request.getRequestDispatcher(WebC.PPATH_loginExp).forward(request,response);
  9. */
  10. request.setAttribute(ServC.REQ_msg, WebC.LOGIN_expMsg);
  11. request.getRequestDispatcher(WebC.PPATH_relogin).forward(request,response);
  12. return;
  13. }
  14. %>
  15. <title>${sessionScope.projectUrlDesc}</title>
  16. <css.ss file="/ss/window/dhtmlxwindows.css"/>
  17. <js.ss file="/ss/window/dhtmlxcommon.js"/>
  18. <js.ss file="/ss/window/dhtmlxwindows.js"/>
  19. <js.ss file="/ss/window/dhtmlxcontainer.js"/>
  20. <js.ss file="/ss/wdDialogInit.js"/>
  21. <skin.ss file="/ss/dlg"/>
  22. <skin.ss file="/ss/menu"/>
  23. </head>
  24. <body bgcolor="ffffff" background=" " style="margin:0px;padding:0px;">
  25. <div style="position:absolute; margin-left:-4px;top:130px; width:100%;PADDING-LEFT: 0px;padding-top:0px; height: 557 px; z-index:0; border: 0px none #000000; ">
  26. <iframe style="border:none; width=100%; height=100%;" ifrType="appWin" name="win2" src="" oriSrc="/initDesktop?"></iframe>
  27. </div>
  28. <script>
  29. wd.base.initApplyIframe("win2");
  30. </script>
  31. <table style="align:center; width:1024px; height:1px;">
  32. <tr>
  33. <td valign="top">
  34. <div class="menu_bg" style="left:0px;top:0px;z-index:1;PADDING-LEFT: nullpx;padding-top:nullpx; width:100%;height:70px;position: absolute;
  35. background-color: rgba(43,54,143,1)!important;">
  36. <js.ss file="/ss/menu/dhtmlxcommon.js"/>
  37. <js.ss file="/ss/menu/dhtmlxmenu.js"/>
  38. <js.ss file="/ss/menu/dhtmlxmenu_ext.js"/>
  39. <js.ss file="/ss/json2.js"/>
  40. <js.ss file="/ss/lhgdialog/lhgcore.min.js"/>
  41. <js.ss file="/ss/lhgdialog/lhgdialog.min.js"/>
  42. <js.ss file="/ss/lhgdialog/lhgdialogUtil.js"/>
  43. <js.ss file="/ss/Geometry.js"/>
  44. <div id='menuGroup' style='position:relative;margin: 0 auto;height:70px;box-sizing:border-box;border-bottom:1px solid transparent; width:1025px;'>
  45. <menu.ss />
  46. </div>
  47. </div>
  48. <%--start start--%>
  49. <div id="iconGroup" style="left:0px;top:0px;PADDING-LEFT: nullpx;padding-top:nullpx;margin-top: 70px; width:100%;height:60px;position: absolute;
  50. background-color: #ffffff !important;border-bottom: 1px solid #d9d9d9;">
  51. <div style="position:relative;margin: 0 auto;padding-top: 15px; width:1024px;"/>
  52. <%-- margin-left:11px 和系统图标对齐 --%>
  53. <div style="float:left;position:relative;display: inline-block;height:37px;margin-left:11px;">
  54. <div style="width:520px;">
  55. <a class="largeIcon-home" href="javascript:;wd.display.home();" style="display: inline-block;width:39px;height:28px;"></a>
  56. <span style="position: absolute; font-size:14px;width:120px;font-family: Microsoft Yahei;margin-left:10px; " id="mbwzbj" >个人首页</span>
  57. <div class="list-div list-search-div" style="float: right;">
  58. <%-- <input name="wdKeyword" type="text" class="home-input" style="width: 162px;" readonly="readonly"
  59. onfocus="this.removeAttribute('readonly');" onblur="this.setAttribute('readonly',true);" autocomplete="off"> --%>
  60. <%-- <input name="wdKeyword" type="text" class="home-input" style="width: 162px;" autocomplete="new-password" > --%>
  61. <%-- <input name="management" type="hidden" value="0">
  62. <input type="button" onclick="go()" id="text" value="搜索" name="wdSeaswh" class="content-button"> --%>
  63. </div>
  64. </div>
  65. </div>
  66. <script>
  67. wd.base.setHomeWidth()
  68. function go() {
  69. var formstr = returnjson();
  70. var json = JSON.parse('{"searchVal":"' + encodeURI(formstr) + '"}');
  71. //json.searchVal = formstr;
  72. var js = '<serv.ss dlg="true" name="toSearch" dest="obj_searchlist" parm="{searchVal:&quot;ssVal{searchVal}&quot;}"/>';
  73. js = wd.display.replaceDynamicParam(js, json);
  74. console.log(js);
  75. eval(js);
  76. }
  77. function returnjson() {
  78. var jsonstr = '{"objectName":"' + 'allObject' + '"';
  79. jsonstr += ',"' + 'ssKeyword' + '":"' + $("[name=ssKeyword]").val() + '"';
  80. jsonstr += ',"' + 'management' + '":"' + $("[name=management]").val() + '"';
  81. jsonstr += '}';
  82. return jsonstr;
  83. }
  84. //允许编辑在线帮助
  85. <%
  86. if (base.SsC.APP_allowAddHelp) {
  87. out.println("wd.topWindow.IS_ALLOW_EDIT_WDHELP=" + base.SsC.APP_allowAddHelp + ";");
  88. }
  89. %>
  90. <auth.ss serv="wdHelp">
  91. <%--edit lv34 help--%>
  92. wd.topWindow.editHelpDialog='<serv.ss dlg="true" name="queryHelpByCode" dest="wdHelp" parm="{helpElementName:&quot;ssVal{helpElementName}&quot;,tokenstring:&quot;ssVal{tokenstring}&quot;}"/>';
  93. <%--edit lv2 and mobile help--%>
  94. wd.topWindow.editHelpEditTab='<serv.ss dlg="true" name="wdHelp" dest="wdHelpEditTab"/>';
  95. </auth.ss>
  96. <%--play lv2 and lv34 help--%>
  97. wd.topWindow.helpDialogUrl='<serv.ss dlg="true" dest="cmsPlay" title="帮助" parm="{dialogid:&quot;ssVal{dialogid}&quot;,ishelp:&quot;true&quot;}"/>';
  98. function a() {
  99. top.location = '/web/loadWebPage.do?4401501_44018904_44015270_3';
  100. }
  101. </script>
  102. <style>
  103. .lock-controll-button-container {
  104. display: flex;
  105. align-items: center;
  106. justify-content: space-between;
  107. }
  108. .iconList li {
  109. float: left;
  110. list-style: none;
  111. margin-left: 25px;
  112. cursor: pointer;
  113. width: 25px;
  114. height: 28px;
  115. display: none;
  116. }
  117. .iconList li a {
  118. display: inline-block;
  119. width: 100%;
  120. height: 100%;
  121. }
  122. .iconList {
  123. overflow: hidden;
  124. width: 380px !important;
  125. display: flex;
  126. position: absolute;
  127. justify-content: flex-end;
  128. border: none;
  129. height: auto;
  130. box-shadow: none;
  131. }
  132. .iconList.grsy li:nth-child(1),
  133. .iconList.grsy li:nth-child(3),
  134. .iconList.grsy li:nth-child(4),
  135. .iconList.grsy li:nth-child(6),
  136. .iconList.grsy li:nth-child(7),
  137. .iconList.grsy li:nth-child(8),
  138. .iconList.grsy li:nth-child(9),
  139. .iconList.yyym li:nth-child(2),
  140. .iconList.yyym li:nth-child(5),
  141. .iconList.yyym li:nth-child(7),
  142. .iconList.yyym li:nth-child(8),
  143. .iconList.yyym li:nth-child(9) {
  144. display: inline-block;
  145. }
  146. </style>
  147. <div style="width: 400px;float:right;">
  148. <ul class="iconList">
  149. <li class="largeIcon-set">
  150. <a onclick="wd.topWindow.gxhymWindow.userEdit('gr');" title="编辑首页"></a>
  151. </li>
  152. <li class="largeIcon-set">
  153. <a id="recorda" class="recorda cursor-click" title="个人选值"></a>
  154. </li>
  155. <li class="largeIcon-download">
  156. <a onclick='<serv.ss dlg="true" name="ty_fhtxz" dest="ty_fhtxz" width="714" height="643"/>'
  157. title="下载">
  158. </a>
  159. </li>
  160. <li class="largeIcon-help">
  161. <a onclick='<serv.ss dlg="true" name="querySYSHelp" dest="cmsPlay" parm="{dialogid:&quot;1&quot;,ishelp:&quot;true&quot;}" title="使用指南" width="852" height="551"/>'
  162. title="使用指南">
  163. </a>
  164. </li>
  165. <li class="largeIcon-help">
  166. <a id="wdhelpicon" onclick='javascript:void(0)' title="帮助"></a>
  167. </li>
  168. <%--郭家辉 编辑帮助按钮--%>
  169. <li class="largeIcon-setHelp" style="display:none;">
  170. <a id='editWdHelp' title="编辑帮助"></a>
  171. </li>
  172. <li class="largeIcon-skin">
  173. <a onclick='<serv.ss dlg="true" name="gxhpf_cx" dest="ty_hf"/>'
  174. title="换肤">
  175. </a>
  176. </li>
  177. <li class="largeIcon-lock">
  178. <a id="lock" onclick="lockScreenFun()"
  179. title="锁定">
  180. </a>
  181. </li>
  182. <li class="largeIcon-exit">
  183. <a onclick='wd.display.exit()' title="退出">
  184. <input type="hidden" id="lockTimeout" name="lockTimeout" value="${sessionScope.autoLockScreenTimeout}">
  185. </a>
  186. </li>
  187. </ul>
  188. </div>
  189. </div>
  190. <js.ss file="/ss/menu/menuFly.js"/>
  191. <js.ss file="/ss/appauthority.js"/>
  192. <js.ss file="/ss/lockscreen.js"/>
  193. <js.ss file="/ss/iconList.js"/>
  194. <script type="text/javascript">
  195. function playClick(nrid) {
  196. var user = ''
  197. var Nrid = 'T-' + nrid;
  198. var str = '&nrid=';
  199. str += Nrid;
  200. str += '&user=';
  201. str += user;
  202. var nrjslbm;
  203. $.ajax({
  204. type: 'POST',
  205. url: '/service?ssServ=getNrjslbm',
  206. data: {
  207. nrid: nrid
  208. },
  209. async: false,
  210. success: function (data) {
  211. nrjslbm = data;
  212. },
  213. });
  214. if (nrjslbm == 150 || nrjslbm == '150') {
  215. var url = '<serv.ss dlg="true" name="regCms" dest="cmsPlay" parm="{nrid:&quot;ssVal{data}&quot;}"/>'; // ="register"。Lin
  216. var json = JSON.parse('{"data":"' + Nrid + '"}');
  217. url = wd.display.replaceDynamicParam(url, json);
  218. eval(url);
  219. } else {
  220. wd.display.showComponent({
  221. show: ['wdDialog'],
  222. hide: [],
  223. /* 再改,规范命名。Lin
  224. * &wdOutputComponent= 改为 ssDest
  225. * =440144453,改为部件名 -- 用到再弄???
  226. * dest: 应该不用改,是 wd.display.showComponent( 的入口参数
  227. * 先去掉 &wdComponentWebsite=,应该没用了 -- "部件ID所在的网站"
  228. url: '/service?wdOutputComponent=440144453&wdtest=false&wdComponentWebsite=4401561' + str + '&nrjslbm=' + nrjslbm,
  229. dest: 'ccmsPlay', // : 'nrxt.yznr_bfq'。Lin
  230. */
  231. url: '/service?ssDest=440144453'+ str +'&nrjslbm='+ nrjslbm,
  232. dest: 'ccmsPlay', // : 'nrxt.yznr_bfq'。Lin
  233. title: '&nbsp;',
  234. width: 1000,
  235. high: 600,
  236. wdDialogId: 44011763,
  237. form: ''
  238. });
  239. }
  240. }
  241. function Play() {
  242. playClick('4401201010029');
  243. }
  244. </script>
  245. <%--锁屏样式--%>
  246. <skin.ss file="/ss/lock"/>
  247. <script>
  248. var body = $(window.top.document.body);
  249. // $(top.document.head).append('');
  250. var funcStr = " if($('#mm').attr('type') == 'password') {$('#mm').attr('type','text')} else {$('#mm').attr('type','password')}";
  251. var defaultPersonalPhoto=wd.common.loadSkinFile('image/default-personalPhoto.png');
  252. <equal.ss val='${empty sessionScope.ssUser.yszwj}' val2='false'> <!-- ["env.ry"][。Lin -->
  253. <%-- 改。Lin
  254. defaultPersonalPhoto="/service?wdService=getData&path=$@{sessionScope['env.ry']['yszwj']}"; --%>
  255. <%-- 再改,增加 type="img"。Lin
  256. defaultPersonalPhoto="/service?wdService=dlByHttp&path=$@{sessionScope['wd.yyh']['yszwj']}"; --%>
  257. defaultPersonalPhoto="/service?ssServ=dlByHttp&type=img&path=${sessionScope.ssOrigUser.yszwj}";
  258. </equal.ss>
  259. body.append('<div class="lock-controll-screen" style="display:none;">'+
  260. '<div id="lock-screen" class="lock-screen login-js-lock-screen" style="background-color: rgb(0, 0, 0);">'+
  261. '<div class="lock-controll-panel login-translucentDiv" style="position:relative;">'+
  262. '<div class="login-sca" ></div>'+
  263. '<div class="login-black icon-replace" title="切换登录" style="width: 22px;height: 22px;margin-right: 5px;margin-top: 5px;cursor:pointer;position:absolute;top:0;right:0;" onclick="wd.display.exit({homepage:1})"></div>'+
  264. '<div class="welcomeWords" style="padding: 4px 24px;border-radius: 20px;text-align: center;"><div class="personalPhoto" style="margin-left: 98px;margin-bottom: 15px;"><img src="'+defaultPersonalPhoto+'" /></div><p class="login-unlockHello">您好,&nbsp;<input id="zh" name="zh" type="hidden" value="${sessionScope.ssUser.xm}"></input>${sessionScope.ssUser.xm}&nbsp;欢迎回来</p><p>&nbsp;</p></div>'+
  265. '<p class="lock-controll-input clearfix" ><input id="mm" name="mm" style="background:none !important;" class="login-header_password_sp login-input login-unlockInput" type="password" /><span class="ksmm icon-eye" onclick="'+funcStr+'"></span><button style="background-size:unset;" id="unlockByPassword" class="lock-controll-button icon-enter content-invertButton"></button><button id="unlockByApp" class="lock-controll-button content-invertButton invertIcon-mobile"></button><span class="icon-countdownButton" style="position: absolute;top: 0px;width: 45px;border-radius: 3px;right: -94px;line-height: 30px;text-align: center;"></span></p>'+
  266. '<p class="lock-controll-hint"><span style="text-align: center;display: block;font-size: 14px;margin-top: 10px;color: #f00;" id="lock-msg"></span></p>'+
  267. '<p class="lock-controll-button-container" style="display: flex;align-items: center;justify-content: space-between;"><button id="unlockByVoice" style="display:none" class="lock-controll-button login-jslock-button login-unlockByVoice">按住说话</button></p>'+
  268. '</div>'+
  269. '</div>'+
  270. '<div class="home-clock desktop-time">12:12</div>'+
  271. '</div>');
  272. //body.append('<div id="background-desktop" class="background-desktop" style="display:none;background-repeat: repeat;background-image: url(http://img.tuku.cn/file_big/201502/d130653bfb884152b8a5ba9e846362d1.jpg)"></div>');
  273. //这里图片的加载影响到页面的加载
  274. body.append('<div id="background-desktop" class="background-desktop" style="display:none;"></div>');
  275. body.append('<ul class="home-tool desktop-time clearfix" style="display:none">' +
  276. '<li id="pl-list"><div class="pl-list-container"><div class="pl-list"></div><div id="pl-page" class="pl-page"></div></div><a href="#" class="icon-forum listIcon"></a></li>' +
  277. '<li id="dz-count"><div class="dz-count" id="dz-count"><div id="dz-count-text" class="login-dz-count-text"></div></div><a href="#" class="icon-like listIcon"></a></li>' +
  278. '<li id="pic-info"><div class="pic-info login-pic-info"><table><tr><th>作者</th><td id="pic-zz-text"></td></tr><tr><th>发布时间</th><td id="pic-fbsj-text"></td></tr><tr><th>名称</th><td id="pic-mc-text"></td></tr></table></div><a href="#" class="icon-info listIcon"></a></li>' +
  279. '</ul>');
  280. /** 锁屏监听处理开始 **/
  281. var lockScreenData = {
  282. url1: '<serv.ss name="wd.lockSession"/>',
  283. url2: '<serv.ss name="wd.checkIsUnlockedByApp"/>',
  284. url3: '<serv.ss name="unlockByPwd"/>',
  285. url4: '<serv.ss name="loadDeskImg"/>',
  286. url5: '<serv.ss name="pl_cxajax"/>',
  287. url6: '<serv.ss dlg="true" name="pl_cx" dest="pl_cx"/>',
  288. url7: '<serv.ss name="nr_dz"/>',
  289. url8: '<serv.ss name="wrLockStat"/>'
  290. };
  291. // 将锁屏需要的东西放进sessionStorage里
  292. sessionStorage.setItem("lockScreenData",JSON.stringify(lockScreenData));
  293. // 获取sessionStorage里用户设置的锁屏时间
  294. var time = sessionStorage.getItem("lockTime");
  295. //var time = 2;
  296. console.log("用户设置的锁屏时间",time)
  297. if(!time){
  298. time = 15;
  299. }
  300. // 实例化锁屏方法,time分钟后锁屏
  301. var lock = new LockScreen($(top.document).find('.lock-controll-screen'),$(top.document).find('#home-background'),$(top.document).find('.home-tool'),time,lockScreenData);
  302. // 键盘按下重新设置锁屏
  303. $(document).keydown(function(event){
  304. // time分钟后重新锁屏
  305. lock.setupAutoLock(time);
  306. });
  307. // 鼠标移动重新设置锁屏
  308. document.onmousemove = function() {
  309. // time分钟后重新锁屏
  310. lock.setupAutoLock(time);
  311. }
  312. /** 锁屏监听处理结束 **/
  313. function lockScreenFun(){
  314. console.log("锁屏点击了");
  315. wd.display.beaconLogin("loginOut");
  316. $(top.document).find('#background-desktop').css('display','block');
  317. $.ajax({
  318. type: 'POST',
  319. url: '/service?ssServ=wrLockStat',
  320. data: {},
  321. async: false,
  322. success: function (data) {
  323. console.log("成功锁屏");
  324. lock.lockSession(time);
  325. },
  326. });
  327. }
  328. wd.topWindow.lockScreen=function(){
  329. $('#lock').trigger("click");
  330. }
  331. var passwordeye = $('.login-eyeIcon');
  332. var showPwd = $(".login-unlockInput");
  333. passwordeye.on('click', function() {
  334. console.log(1111111111111);
  335. if(showPwd.prop('type') == 'text') {
  336. showPwd.prop('type', 'password');
  337. } else {
  338. showPwd.prop('type', 'text');
  339. };
  340. });
  341. var kscs =parseInt('<%=base.SsC.LOGIN_maxNum %>');
  342. var cwcs = 0;
  343. var cs="";
  344. for(let i = 1;i<=kscs;i++){
  345. if(i>cwcs){
  346. cs += '<span class="login-sc login-used login-unused" style="display:none;width: 8px;height: 8px;border-radius: 50%;float: left;margin-right: 5px;" time="'+i+'"></span>';
  347. }else{
  348. cs += '<span class="login-sc login-used login-used" style="display:none;width: 8px;height: 8px;border-radius: 50%;float: left;margin-right: 5px;" time="'+i+'"></span>';
  349. }
  350. }
  351. $(".login-sca").append(cs);
  352. console.log("出去了");
  353. <%-- 改 equal.ss name="${not empty sessionScope.isLockScreen}" val="true"。Lin --%>
  354. <equal.ss val="${empty sessionScope.isLockScreen}" val2="false">
  355. $("#lock").trigger("click");
  356. </equal.ss>
  357. function goToIndex() {
  358. delCookie("userId");
  359. var sbbs = $("input[name='sbbs']").val();
  360. var ysbbs = $("input[name='ysbbs']").val();
  361. window.location.href = "/index?homepage=1&sbbs=" + sbbs+"&ysbbs=" + ysbbs;
  362. }
  363. function getCookie(name){
  364. var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
  365. if(arr=document.cookie.match(reg))
  366. return unescape(arr[2]);
  367. else
  368. return null;
  369. }
  370. function delCookie(name){
  371. var exp = new Date();
  372. exp.setTime(exp.getTime() - 1);
  373. var cval=getCookie(name);
  374. if(cval!=null)
  375. document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  376. }
  377. </script>
  378. <%--iconList end--%>
  379. </td>
  380. </tr>
  381. </table>
  382. </body>
  383. <script>
  384. try{
  385. if(beacon&&beacon.getMacAddress){
  386. $("#unlockByApp").css("display","block")
  387. }else{
  388. $("#unlockByApp").css("display","none")
  389. }
  390. }catch(e){
  391. $("#unlockByApp").css("display","none")
  392. }
  393. try {
  394. <%-- $@{sessionScope["yhsbToken"]} --%>
  395. var yhsbToken='${sessionScope.yhsbToken}';
  396. if(yhsbToken){
  397. beacon.setLocalStorage("loginToken",yhsbToken);
  398. }
  399. } catch(e) {
  400. console.log("SET yhsbToken ERROR! " + e);
  401. }
  402. try{
  403. var beaconLoginTicket = "${sessionScope.beaconLoginTicket}";
  404. beacon.webLoginFlag('true');
  405. }catch(e){
  406. console.log(e);
  407. }
  408. try{
  409. wd.display.beaconLogin();
  410. }catch(e){
  411. console.log(e);
  412. }
  413. try{
  414. beacon.setLoginToken('${sessionScope.yhsbToken}');
  415. }catch(e){
  416. console.log(e);
  417. }
  418. </script>
  419. </html>