sysIndex.jsp 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/webpage/include/taglib.jsp"%>
  3. <%
  4. String path = request.getContextPath();
  5. %>
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta charset="utf-8">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="renderer" content="webkit">
  12. <title>首页列表</title>
  13. <%@ include file="/webpage/include/head.jsp"%>
  14. <script src="${ctxStatic}/common/inspinia.js?v=3.2.0"></script>
  15. <script src="${ctxStatic}/common/contabs.js"></script>
  16. <meta name="keywords" content="JeePlus快速开发平台">
  17. <meta name="description" content="JeePlus,采用spring mvc+mybatis+shiro+bootstrap,集成代码生成器的快速开发平台">
  18. <script type="text/javascript">
  19. $(document).ready(function() {
  20. if('${fns:getDictLabel(cookie.theme.value,'theme','默认主题')}' == '天蓝主题'){
  21. // 蓝色主题
  22. $("body").removeClass("skin-2");
  23. $("body").removeClass("skin-3");
  24. $("body").addClass("skin-1");
  25. }else if('${fns:getDictLabel(cookie.theme.value,'theme','默认主题')}' == '橙色主题'){
  26. // 黄色主题
  27. $("body").removeClass("skin-1");
  28. $("body").removeClass("skin-2");
  29. $("body").addClass("skin-3");
  30. }else {
  31. // 默认主题
  32. $("body").removeClass("skin-2");
  33. $("body").removeClass("skin-3");
  34. $("body").removeClass("skin-1");
  35. };
  36. //ajax废弃
  37. startRequest();
  38. });
  39. setInterval("requesting()",10000);
  40. function startRequest(){
  41. var url = "${ctx}/workprojectnotify/workProjectNotify/notify";
  42. var data = {};
  43. $.ajax({
  44. type : "get",
  45. async : true, //同步请求
  46. url : url,
  47. data : data,
  48. success:function(datas){
  49. //$("#mainContent").html(dates);//要刷新的div
  50. $("#totalCount").text((datas.notifyCount+datas.count+datas.notifyShowCount)>9?"10+":(datas.notifyCount+datas.count+datas.notifyShowCount));
  51. $("#count").text(datas.count>9?datas.count+"+":datas.count);
  52. $("#noReadCount").text(datas.noReadCount>9?datas.noReadCount+"+":datas.noReadCount);
  53. $("#notifyCount").text(datas.notifyCount>9?datas.notifyCount+"+":datas.notifyCount);
  54. $("#notifyShowCount").text(datas.notifyShowCount>9?datas.notifyShowCount+"+":datas.notifyShowCount);
  55. },
  56. error: function() {
  57. <!--parent.layer.msg('获取通知失败,请稍后再试!',{icon:2}) -->
  58. }
  59. });
  60. }
  61. function requesting(){
  62. if (index.indexOf("审批信息")!=-1 || index.indexOf("公告消息")!=-1 || index == 'sys_me' || index.indexOf("未读邮件")!=-1){
  63. refreshTabIndex();
  64. startRequest();
  65. index = "";
  66. }
  67. }
  68. function refreshTabIndex() {
  69. var target = $('.J_iframe[data-id="/a/home"]');
  70. var url = target.attr('src');
  71. //显示loading提示
  72. var loading = layer.load();
  73. target.attr('src', url).load(function () {
  74. //关闭loading提示
  75. layer.close(loading);
  76. });
  77. }
  78. function changePwd() {
  79. if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
  80. width='auto';
  81. height='auto';
  82. }else{//如果是PC端,根据用户设置的width和height显示。
  83. width='500px';
  84. height='350px';
  85. }
  86. top.layer.open({
  87. type: 2,
  88. area: [width, height],
  89. closeBtn: 0,
  90. title:"修改密码",
  91. content: "${ctx}/sys/user/modifyPwd?home=home" ,
  92. skin:"two-btns",
  93. btn: ['确定'],
  94. yes: function(index, layero){
  95. var body = top.layer.getChildFrame('body', index);
  96. var inputForm = $(body).find('#inputForm');
  97. var btn = body.find('#btnSubmit');
  98. var top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
  99. inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
  100. inputForm.validate({
  101. rules: {
  102. },
  103. messages: {
  104. confirmNewPassword: {equalTo: "输入与上面相同的密码"}
  105. },
  106. submitHandler: function(form){
  107. loading('正在提交,请稍等...');
  108. form.submit();
  109. },
  110. errorContainer: "#messageBox",
  111. errorPlacement: function(error, element) {
  112. $("#messageBox").text("输入有误,请先更正。");
  113. if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
  114. error.appendTo(element.parent().parent());
  115. } else {
  116. error.insertAfter(element);
  117. }
  118. }
  119. });
  120. if(inputForm.valid()){
  121. loading("正在提交,请稍等...");
  122. inputForm.submit();
  123. top.layer.close(index);//关闭对话框。
  124. }else{
  125. return;
  126. }
  127. },
  128. cancel: function(index){
  129. }
  130. });
  131. }
  132. </script>
  133. </head>
  134. <body class="fixed-sidebar full-height-layout" style="min-width:1366px;overflow-x: auto; ">
  135. <a class="navbar-minimalize minimalize-styl-2 l-nav-div l-nav-div-offsetl" href="javascript:void(0)">
  136. <img id="l-nav-img" src="${ctxStatic}/common/img/l-nav-open.png" width="36px" ></img>
  137. </a>
  138. <div id="wrapper">
  139. <!--左侧导航开始-->
  140. <nav class="navbar-default navbar-static-side" role="navigation">
  141. <div class="nav-close"><i class="fa fa-times-circle"></i>
  142. </div>
  143. <div class="sidebar-collapse">
  144. <ul class="nav" id="side-menu">
  145. <li class="nav-header" id="nav-header" style="border-bottom:solid 2px #0f92fb;">
  146. <div class="dropdown profile-element">
  147. <span><img alt="image" class="img-circle profile" style="height:90px;width:90px;" src="${fns:getUser().photo }" /></span>
  148. <%--<a data-toggle="dropdown" class="dropdown-toggle" href="javascript:void(0)">--%>
  149. <span class="clear">
  150. <span class="block m-t-xs" style="font-size: 14px;cursor:default">${fns:getUser().name}</span>
  151. <%--<span class="text-muted text-xs block m-t-xs" style="font-size: 12px;">${companyName}<b class="caret"></b></span>--%>
  152. <span class="text-muted text-xs block m-t-xs" style="font-size: 12px;margin-top:8px;cursor:default">${companyName}</span>
  153. </span>
  154. <%--</a>--%>
  155. <ul class="dropdown-menu animated fadeInRight m-t-xs" style="display:none;">
  156. <li><a href="javascript:void(0);" class="J_menuItem">盛世瑞华(北京)技术有限公司</a>
  157. </li>
  158. <li><a href="javascript:void(0);" class="J_menuItem">中竟发</a>
  159. </li>
  160. <li><a href="javascript:void(0);" class="J_menuItem">瑞华总公司</a>
  161. </li>
  162. <%--<li><a class="J_menuItem" href="${ctx}/sys/user/imageEdit">修改头像</a>--%>
  163. <%--</li>--%>
  164. <%--<li><a class="J_menuItem" href="${ctx }/sys/user/info">个人资料</a>--%>
  165. <%--</li>--%>
  166. <%--<li><a class="J_menuItem" href="${ctx }/iim/contact/index">我的通讯录</a>--%>
  167. <%--</li>--%>
  168. <%--<li><a class="J_menuItem" href="${ctx }/iim/mailBox/list">信箱</a>--%>
  169. <%--</li>--%>
  170. <%--<li class="divider"></li>--%>
  171. <%--<li><a href="${ctx}/logout">安全退出</a>--%>
  172. <%--</li>--%>
  173. </ul>
  174. </div>
  175. <div class="logo-element">
  176. <span><img alt="image" class="img-circle profile" style="height:50px;width:50px;" src="${fns:getUser().photo }" /></span>
  177. <span class="block m-t-xs" style="font-size: 12px;">${fns:getUser().name}</span>
  178. </div>
  179. </li>
  180. <t:menu menu="${fns:getTopMenu()}"></t:menu>
  181. </ul>
  182. </div>
  183. </nav>
  184. <!--左侧导航结束-->
  185. <!--右侧部分开始-->
  186. <div id="page-wrapper" class="gray-bg dashbard-1">
  187. <div class="row border-bottom">
  188. <nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
  189. <%--<div class="navbar-header">--%>
  190. <%--<a class="navbar-minimalize minimalize-styl-2" href="javascript:void(0)" style="z-index: 9999;">--%>
  191. <%--<img src="${ctxStatic}/common/img/l-nav-open.png" width="32px" height="32px"></img>--%>
  192. <%--</a>--%>
  193. <%--<form role="search" class="navbar-form-custom" method="post" action="search_results.html">--%>
  194. <%--<div class="form-group">
  195. <input type="text" placeholder="请输入您需要查找的内容 …" class="form-control" name="top-search" id="top-search">
  196. </div>--%>
  197. <%--</form>--%>
  198. <%--</div>--%>
  199. <div class="nav-logo">
  200. <%--<img src="${ctxStatic}/common/img/logo.png"/>--%>
  201. <div style="font-size: 16px;line-height: 55px;font-size: 20px;font-weight: bold;">兴光项目管理有限公司</div>
  202. </div>
  203. <div class="newsShell">
  204. <div id="newsDiv">
  205. </div>
  206. </div>
  207. <script>
  208. var marqueeContent=new Array(); //滚动新闻
  209. marqueeContent[0]='<a class="news" href="javascript:void(0);">兴光项目全过程审计系统</a><br>';
  210. marqueeContent[1]='<a class="news" href="javascript:void(0);">兴光项目全过程审计系统</a><br>';
  211. // marqueeContent[2]='<a class="news" href="javascript:void(0);">匞匞办公平台正式发布</a><br>';
  212. // marqueeContent[3]='<a class="news" href="javascript:void(0);">匞匞办公平台正式发布</a><br>';
  213. var marqueeInterval=new Array(); //定义一些常用而且要经常用到的变量
  214. var marqueeId=0;
  215. var marqueeDelay=3000;
  216. var marqueeHeight=24;
  217. //接下来的是定义一些要使用到的函数
  218. function initMarquee() {
  219. var str=marqueeContent[0];
  220. //var document.createElement("div");
  221. var div = document.getElementById("newsDiv");
  222. div.innerHTML = '<div id=marqueeBox style="overflow:hidden;height:'+marqueeHeight+'px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\'startMarquee()\',marqueeDelay)"><div class="news-format">'+str+'</div></div>';
  223. marqueeId++;
  224. marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
  225. }
  226. function startMarquee() {
  227. var str=marqueeContent[marqueeId];
  228. marqueeId++;
  229. if(marqueeId>=marqueeContent.length) marqueeId=0;
  230. if(marqueeBox.childNodes.length==1) {
  231. var nextLine=document.createElement('div');
  232. nextLine.classList="news-format";
  233. // nextLine.classList = "news";
  234. nextLine.innerHTML=str;
  235. marqueeBox.appendChild(nextLine);
  236. }
  237. else {
  238. marqueeBox.childNodes[0].innerHTML=str;
  239. // marqueeBox.childNodes[0].classList = "news";
  240. marqueeBox.appendChild(marqueeBox.childNodes[0]);
  241. marqueeBox.scrollTop=0;
  242. }
  243. clearInterval(marqueeInterval[1]);
  244. marqueeInterval[1]=setInterval("scrollMarquee()",24);
  245. }
  246. function scrollMarquee() {
  247. marqueeBox.scrollTop++;
  248. if(marqueeBox.scrollTop%marqueeHeight==(marqueeHeight-1)){
  249. clearInterval(marqueeInterval[1]);
  250. }
  251. }
  252. initMarquee();
  253. </script>
  254. <ul class="nav navbar-top-links navbar-right" style="float: right;margin-right: 10px;">
  255. <li class="dropdown">
  256. <%-- <a class="dropdown-toggle count-info" data-toggle="dropdown" href="javascript:void(0)" onclick='top.openTab("${ctx}/iim/mailBox/list?orderBy=sendtime desc","邮件列表", false)'>
  257. <i class="fa fa-envelope"></i>
  258. <span class="label label-danger labelInfo" id="noReadCount">0</span>&nbsp;收件箱
  259. </a>--%>
  260. <%--<ul class="dropdown-menu dropdown-messages">--%>
  261. <%--<li class="m-t-xs" id="mailPage">--%>
  262. <%--&lt;%&ndash;<c:forEach items="${mailPage.list}" var="mailBox">--%>
  263. <%--<div class="dropdown-messages-box">--%>
  264. <%--<a href="javascript:void(0)" onclick='top.openTab("${ctx}/iim/contact/index?name=${mailBox.sender.name }","通讯录", false)' class="pull-left">--%>
  265. <%--<img alt="image" class="img-circle" src="${mailBox.sender.photo }">--%>
  266. <%--</a>--%>
  267. <%--<div class="media-body">--%>
  268. <%--<small class="pull-right">${fns:getTime(mailBox.sendtime)}前</small>--%>
  269. <%--<strong>${mailBox.sender.name }</strong>--%>
  270. <%--<a class="J_menuItem" href="${ctx}/iim/mailBox/detail?id=${mailBox.id}"> ${fns:abbr(mailBox.mail.title,50)}</a>--%>
  271. <%--<br>--%>
  272. <%--<a class="J_menuItem" href="${ctx}/iim/mailBox/detail?id=${mailBox.id}">--%>
  273. <%--${mailBox.mail.overview}--%>
  274. <%--</a>--%>
  275. <%--<br>--%>
  276. <%--<small class="text-muted">--%>
  277. <%--<fmt:formatDate value="${mailBox.sendtime}" pattern="yyyy-MM-dd HH:mm:ss"/></small>--%>
  278. <%--</div>--%>
  279. <%--</div>--%>
  280. <%--</c:forEach>&ndash;%&gt;--%>
  281. <%--</li>--%>
  282. <%--<li class="divider"></li>--%>
  283. <%--<li>--%>
  284. <%--<div class="text-center link-block">--%>
  285. <%--&lt;%&ndash;<a href="javascript:void(0)" onclick="openDialogView('查看所有邮件', '${ctx}/iim/mailBox/list?orderBy=sendtime desc','80%','80%')" ><i class="fa fa-envelope"></i><strong>查看所有邮件 </strong></a>&ndash;%&gt;--%>
  286. <%--<a href="javascript:void(0)" onclick='top.openTab("${ctx}/iim/mailBox/list?orderBy=sendtime desc","邮件列表", false)' >--%>
  287. <%--<i class="fa fa-envelope"></i><strong>查看所有 </strong><i class="fa fa-angle-right"></i></a>--%>
  288. <%--</div>--%>
  289. <%--</li>--%>
  290. <%--</ul>--%>
  291. </li>
  292. <li class="dropdown">
  293. <a class="dropdown-toggle count-info" data-toggle="dropdown" href="javascript:void(0)">
  294. <%--<i class="fa fa-bell"></i>--%>
  295. <i class="fa fa-list-ul"></i>
  296. <span class="label label-danger labelInfo" id="totalCount">0</span>&nbsp;待办事宜
  297. </a>
  298. <ul class="dropdown-menu dropdown-alerts">
  299. <li>
  300. <div class="info link-block">
  301. 您有<span class="label label-primary" id="notifyCount">0</span>条未处理待办任务
  302. <%--<a href="javascript:void(0)" onclick="openDialogView('查看所有', '${ctx }/workprojectnotify/workProjectNotify/list','80%','80%')" >
  303. <strong>查看所有 </strong><i class="fa fa-angle-right"></i>
  304. </a>--%>
  305. <a class="more-info" href="javascript:void(0)" onclick='top.openTab("${ctx }/workprojectnotify/workProjectNotify/list","待办任务列表", false)' >
  306. <strong>查看所有 </strong><i class="fa fa-angle-right"></i></a>
  307. </div>
  308. </li>
  309. <%--<li id="notifyPage">--%>
  310. <%--<c:forEach items="${notifyPage.list}" var="notify" varStatus="index">
  311. <div>
  312. <a href="javascript:void(0)" onclick="openDialogView('${fns:abbr(notify.title,50)}', '${ctx}/workprojectnotify/workProjectNotify/form?id=${notify.id}&type=${notify.type}','80%','80%')" >
  313. <i class="fa fa-envelope fa-fw"></i> <span id="notifyTitle${index.index}">${fns:abbr(notify.title,50)}</span>
  314. </a>
  315. <span class="pull-right text-muted small">${fns:getTime(notify.updateDate)}前</span>
  316. </div>
  317. </c:forEach>--%>
  318. <%--</li>--%>
  319. <%--<li class="divider"></li>--%>
  320. <li>
  321. <div class="info link-block">
  322. 您有<span class="label label-primary" id="notifyShowCount">0</span>条未读通知消息
  323. <%--<a href="javascript:void(0)" onclick="openDialogView('查看所有', '${ctx }/workprojectnotify/workProjectNotify/list','80%','80%')" >
  324. <strong>查看所有 </strong><i class="fa fa-angle-right"></i>
  325. </a>--%>
  326. <a class="more-info" href="javascript:void(0)" onclick='top.openTab("${ctx }/workprojectnotify/workProjectNotify/listShow","通知消息列表", false)' >
  327. <strong>查看所有 </strong><i class="fa fa-angle-right"></i></a>
  328. </div>
  329. </li>
  330. <%--<li id="notifyShowPage">--%>
  331. <%--<c:forEach items="${notifyPage.list}" var="notify" varStatus="index">
  332. <div>
  333. <a href="javascript:void(0)" onclick="openDialogView('${fns:abbr(notify.title,50)}', '${ctx}/workprojectnotify/workProjectNotify/form?id=${notify.id}&type=${notify.type}','80%','80%')" >
  334. <i class="fa fa-envelope fa-fw"></i> <span id="notifyTitle${index.index}">${fns:abbr(notify.title,50)}</span>
  335. </a>
  336. <span class="pull-right text-muted small">${fns:getTime(notify.updateDate)}前</span>
  337. </div>
  338. </c:forEach>--%>
  339. <%--</li>--%>
  340. <%--<li class="divider"></li>--%>
  341. <li>
  342. <div class="info link-block">
  343. 您有<span class="label label-primary" id="count">0</span>条未读公告消息
  344. <%--<a href="javascript:void(0)" onclick="openDialogView('查看所有', '${ctx }/oa/oaNotify/self','80%','80%')" ><strong>查看所有 </strong></a>
  345. <i class="fa fa-angle-right"></i>--%>
  346. <a class="more-info" href="javascript:void(0)" onclick='top.openTab("${ctx }/oa/oaNotify/self","公告列表", false)' >
  347. <strong>查看所有 </strong><i class="fa fa-angle-right"></i></a>
  348. </div>
  349. </li>
  350. <%--<li id="page">--%>
  351. <%--<c:forEach items="${page.list}" var="oaNotify">
  352. <div>
  353. <a href="javascript:void(0)" onclick="openDialogView('${fns:abbr(notify.title,50)}', '${ctx}/oa/oaNotify/view?id=${oaNotify.id}&','80%','80%')" >
  354. <i class="fa fa-envelope fa-fw"></i> ${fns:abbr(notify.title,50)}
  355. </a>
  356. <span class="pull-right text-muted small">${fns:getTime(oaNotify.updateDate)}前</span>
  357. </div>
  358. </c:forEach>--%>
  359. <%--</li>--%>
  360. </ul>
  361. </li>
  362. <%--<li >--%>
  363. <%--<a href="javascript:void(0);" class="roll-nav roll-right J_tabExit hide"><i class="fa fa fa-cog"></i>&nbsp;&nbsp;设置</a>--%>
  364. <%--</li>--%>
  365. <li>
  366. <a href="${ctx}/logout" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i>&nbsp;退出</a>
  367. </li>
  368. <!-- 国际化功能预留接口 -->
  369. <%-- <li class="dropdown">
  370. <a id="lang-switch" class="lang-selector dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown" aria-expanded="true">
  371. <span class="lang-selected">
  372. <img class="lang-flag" src="${ctxStatic}/common/img/china.png" alt="中国">
  373. <span class="lang-id">中国</span>
  374. <span class="lang-name">中文</span>
  375. </span>
  376. </a>
  377. <!--Language selector menu-->
  378. <ul class="head-list dropdown-menu with-arrow">
  379. <li>
  380. <!--English-->
  381. <a class="lang-select">
  382. <img class="lang-flag" src="${ctxStatic}/common/img/china.png" alt="中国">
  383. <span class="lang-id">中国</span>
  384. <span class="lang-name">中文</span>
  385. </a>
  386. </li>
  387. <li>
  388. <!--English-->
  389. <a class="lang-select">
  390. <img class="lang-flag" src="${ctxStatic}/common/img/united-kingdom.png" alt="English">
  391. <span class="lang-id">EN</span>
  392. <span class="lang-name">English</span>
  393. </a>
  394. </li>
  395. <li>
  396. <!--France-->
  397. <a class="lang-select">
  398. <img class="lang-flag" src="${ctxStatic}/common/img/france.png" alt="France">
  399. <span class="lang-id">FR</span>
  400. <span class="lang-name">Français</span>
  401. </a>
  402. </li>
  403. <li>
  404. <!--Germany-->
  405. <a class="lang-select">
  406. <img class="lang-flag" src="${ctxStatic}/common/img/germany.png" alt="Germany">
  407. <span class="lang-id">DE</span>
  408. <span class="lang-name">Deutsch</span>
  409. </a>
  410. </li>
  411. <li>
  412. <!--Italy-->
  413. <a class="lang-select">
  414. <img class="lang-flag" src="${ctxStatic}/common/img/italy.png" alt="Italy">
  415. <span class="lang-id">IT</span>
  416. <span class="lang-name">Italiano</span>
  417. </a>
  418. </li>
  419. <li>
  420. <!--Spain-->
  421. <a class="lang-select">
  422. <img class="lang-flag" src="${ctxStatic}/common/img/spain.png" alt="Spain">
  423. <span class="lang-id">ES</span>
  424. <span class="lang-name">Español</span>
  425. </a>
  426. </li>
  427. </ul>
  428. </li>--%>
  429. </ul>
  430. </nav>
  431. </div>
  432. <div class="row content-tabs">
  433. <button class="roll-nav roll-left J_tabLeft"><i class="fa fa-backward"></i>
  434. </button>
  435. <nav class="page-tabs J_menuTabs">
  436. <div class="page-tabs-content">
  437. <a href="javascript:;" class="active J_menuTab" data-id="${ctx}/home">首页</a>
  438. </div>
  439. </nav>
  440. <button class="roll-nav roll-right J_tabRight"><i class="fa fa-forward"></i>
  441. </button>
  442. <div class="btn-group roll-nav roll-right">
  443. <button class="dropdown J_tabClose" data-toggle="dropdown">关闭操作<span class="caret"></span>
  444. </button>
  445. <ul role="menu" class="dropdown-menu dropdown-menu-right">
  446. <li class="J_tabShowActive"><a>定位当前选项卡</a>
  447. </li>
  448. <li class="divider"></li>
  449. <li class="J_tabCloseAll"><a>关闭全部选项卡</a>
  450. </li>
  451. <li class="J_tabCloseOther"><a>关闭其他选项卡</a>
  452. </li>
  453. </ul>
  454. </div>
  455. <%--<a href="${ctx}/logout" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a>--%>
  456. </div>
  457. <div class="row J_mainContent" id="content-main">
  458. <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="${ctx}/home" frameborder="0" data-id="${ctx}/home" seamless></iframe>
  459. </div>
  460. <%--<div class="footer">
  461. <div class="pull-left"><a href="http://www.jeeplus.org">http://www.jeeplus.org</a> &copy; 2015-2025</div>
  462. </div>--%>
  463. </div>
  464. <!--右侧部分结束-->
  465. </div>
  466. </body>
  467. <!-- 语言切换插件,为国际化功能预留插件 -->
  468. <script type="text/javascript">
  469. var index = "";
  470. $(document).ready(function(){
  471. $("a.lang-select").click(function(){
  472. $(".lang-selected").find(".lang-flag").attr("src",$(this).find(".lang-flag").attr("src"));
  473. $(".lang-selected").find(".lang-flag").attr("alt",$(this).find(".lang-flag").attr("alt"));
  474. $(".lang-selected").find(".lang-id").text($(this).find(".lang-id").text());
  475. $(".lang-selected").find(".lang-name").text($(this).find(".lang-name").text());
  476. });
  477. });
  478. function changeStyle(){
  479. $.get('${pageContext.request.contextPath}/theme/ace?url='+window.top.location.href,function(result){ window.location.reload();});
  480. }
  481. </script>
  482. <!-- 即时聊天插件 开始-->
  483. <link href="${ctxStatic}/layer-v2.3/layim/layui/css/layui.css" type="text/css" rel="stylesheet"/>
  484. <script type="text/javascript">
  485. var currentId = '${fns:getUser().id}';
  486. var currentName = '${fns:getUser().name}';
  487. var currentFace ='${fns:getUser().photo}';
  488. var url="${ctx}";
  489. var static_url="${ctxStatic}";
  490. var JSESSIONID="${JSESSIONID}";
  491. //var wsServer = 'ws://'+window.document.domain+':8670';
  492. var BOSH_SERVICE = 'http://'+window.document.domain+':7070/http-bind';
  493. var jid = '${fns:getUser().id}'+'@'+window.document.domain+'/web';
  494. var jidpasswd = '${fns:getUser().passwordRemake}';
  495. </script>
  496. <!--webscoket接口 -->
  497. <script src="${ctxStatic}/layer-v2.3/layim/layui/layui.js"></script>
  498. <script src="${ctxStatic}/layer-v2.3/layim/layim.js"></script>
  499. <script src="${ctxStatic}/layer-v2.3/layim/strophe.js"></script>
  500. <!-- 即时聊天插件 结束 -->
  501. <style>
  502. /*签名样式*/
  503. .layim-sign-box{
  504. width:80%
  505. }
  506. .layim-sign-hide{
  507. background:transparent;border:0;
  508. }
  509. </style>
  510. <script type="text/javascript">
  511. /*$(function () {
  512. var userId = '${fns:getUser().id}';
  513. var roleId = '${fns:getUser().roleIds}';
  514. var companyId = '${fns:getUser().company.id}';
  515. var officeId ='${fns:getUser().office.id}';
  516. var type ='1';
  517. var socket;
  518. if(typeof(WebSocket) == "undefined") {
  519. top.layer.alert("您的浏览器不支持WebSocket");
  520. return;
  521. }
  522. socket = new WebSocket("ws://"+window.document.domain+":8670");
  523. //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
  524. window.onbeforeunload = function(){
  525. socket.close();
  526. };
  527. //发生了错误事件
  528. socket.onerror = function(event) {
  529. //top.layer.alert("发生了错误");
  530. // console.log("websocket发生了错误");
  531. };
  532. //关闭事件
  533. socket.onclose = function(event) {
  534. //top.layer.alert("WebSocket已关闭");
  535. // console.log("websocket已关闭");
  536. };
  537. //发送消息事件
  538. socket.onmessage = function(event) {
  539. //top.layer.alert("onMessage:服务器返回的数据!");
  540. var resultData = event.data;
  541. //console.log(resultData);
  542. var message = $.parseJSON(resultData);
  543. var resultState = message['resultState'];
  544. //console.log(resultState);
  545. if(resultState!="success"){
  546. console.info("false");
  547. return;
  548. }
  549. var noReadCount=message['noReadCount'],
  550. count=message['count'],
  551. notifyCount=message['notifyCount'],
  552. notifyShowCount=message['notifyShowCount'];
  553. // console.log(noReadCount);
  554. // console.log(mailPage);
  555. // console.log(count);
  556. // console.log(page);
  557. // console.log(notifyCount);
  558. // console.log(notifyPage);
  559. // console.log(notifyShowCount);
  560. // console.log(notifyShowPage);
  561. var regExp = /'/g;
  562. if(noReadCount.length<1){
  563. noReadCount="0";
  564. }
  565. if(count.length<1){
  566. count="0";
  567. }
  568. if(notifyCount.length<1){
  569. notifyCount="0";
  570. }
  571. if(notifyShowCount.length<1){
  572. notifyShowCount="0";
  573. }
  574. $("#totalCount").text((parseInt(notifyCount)+parseInt(count)+parseInt(notifyShowCount))>9?"10+":(parseInt(notifyCount)+parseInt(count)+parseInt(notifyShowCount)));
  575. $("#count").text(parseInt(count)>9?"10+":parseInt(count));
  576. $("#noReadCount").text(parseInt(noReadCount)>9?"10+":parseInt(noReadCount));
  577. $("#notifyCount").text(parseInt(notifyCount)>9?"10+":parseInt(notifyCount));
  578. $("#notifyShowCount").text(parseInt(notifyShowCount)>9?"10+":parseInt(notifyShowCount));
  579. };
  580. //打开连接事件
  581. socket.onopen = function() {
  582. //top.layer.alert("WebSocket 已打开");
  583. // console.log("websocket已打开");
  584. //登录成功首次刷新
  585. socket.send("{\"userId\":\""+userId+"\",\"companyId\":\""+companyId+"\",\"officeId\":\""+officeId+"\",\"roleId\":\""+roleId+"\",\"type\":\""+type+"\",\"messageType\":\"_user_notify_\"}");
  586. //以后每隔30秒 服务端向浏览器 推送消息
  587. setInterval(exeMessage,30000);
  588. };
  589. function exeMessage()
  590. {
  591. socket.send("{\"userId\":\""+userId+"\",\"companyId\":\""+companyId+"\",\"officeId\":\""+officeId+"\",\"roleId\":\""+roleId+"\",\"type\":\""+type+"\",\"messageType\":\"_user_notify_\"}");
  592. }
  593. });*/
  594. </script>
  595. <script>
  596. $(function () {
  597. var firstFlag = '${firstFlag}';
  598. if(firstFlag=='true'){
  599. setTimeout("changePwd()",2000)
  600. }
  601. })
  602. function resizeWindow()
  603. {
  604. var winW = $(window).width();
  605. if(winW > 1224)
  606. $(".newsShell").css('width','400px');
  607. else
  608. $(".newsShell").css('width','200px');
  609. }
  610. resizeWindow();
  611. $(window).resize(function(){
  612. resizeWindow();
  613. });
  614. // $(function(){
  615. // var hei = $(document).height();
  616. // console.log(hei);
  617. // if($('.nav-header').width()==200){
  618. // $('.nav-header').css({'position':'fixed','width':'200px','height':'200px','left':0,'top':0,'z-index':999,'background':'#ffffff'});
  619. // var navlis = $('.nav-header').siblings();
  620. // var lisbox = document.createElement('div');
  621. // $(lisbox).append(navlis);
  622. // $(lisbox).css({'position':'fixed','width':'200px','height':'100%','left':0,','top':0,z-index':999,'background':'#ffffff'});
  623. // }
  624. // $('#side-menu').on('click',$('#side-menu li'),function (e) {
  625. // var menuHeight = $(this).height();
  626. // var offtop = $(e.target).height().top * 0.3 ;
  627. // if(menuHeight>hei){
  628. // var difference = menuHeight - hei;
  629. // $(this).css("margin-top",-difference+ 'px');
  630. // }else if(menuHeight<=hei){
  631. // $(this).stop().animate({marginTop:'0px'},"slow");
  632. // }
  633. //
  634. // });
  635. //
  636. // })
  637. // $(function(){
  638. // // $('#side-menu').bind('mousewheel', function(event, delta) { return false; });
  639. // var hei = $(document).height();
  640. // console.log('hei:'+ hei);
  641. // if(hei>=760){
  642. // $('#side-menu').mouseover(function () {
  643. // var menuHeight = $('#side-menu').height();
  644. // if(menuHeight>hei){
  645. // if(menuHeight>1500){
  646. // var difference = menuHeight - hei - 200;
  647. // $(this).css("margin-top",-difference+ 'px');
  648. // }else{
  649. // var difference = menuHeight - hei;
  650. // $(this).css("margin-top",-difference+ 'px');
  651. // }
  652. //
  653. // }else if(menuHeight<=hei){
  654. // $(this).css("margin-top",'0px');
  655. // }
  656. // });
  657. // }else if(hei<760){
  658. // $('#side-menu').mouseover(function () {
  659. // var menuHeight = $('#side-menu').height();
  660. // var initHei = 760 - hei;
  661. // if(menuHeight>hei){
  662. // var difference = menuHeight - hei - initHei;
  663. // $(this).css("margin-top",-difference+ 'px');
  664. // }else if(menuHeight<=hei){
  665. // $(this).css("margin-top",'0px');
  666. // }
  667. // });
  668. // }
  669. //
  670. // })
  671. </script>
  672. </html>