main.jsp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. <%@page import="com.hotent.core.api.util.PropertyUtil"%>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"
  4. import="com.hotent.platform.model.system.Resources,
  5. com.hotent.core.util.AppUtil,
  6. java.util.Properties"%>
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  10. <%@taglib prefix="f" uri="http://www.jee-soft.cn/functions" %>
  11. <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  12. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  13. <%@ taglib prefix="display" uri="http://displaytag.sf.net" %>
  14. <c:set var="ctx" value="${pageContext.request.contextPath}" />
  15. <c:set var="skinStyle" value="${skinStyle}" />
  16. <%
  17. //String appName=PropertyUtil.getByAlias("appName");
  18. String appName="长春首佳科技有限公司-协同办公管理系统";
  19. %>
  20. <head>
  21. <title><%=appName%></title>
  22. <link rel="shortcut icon" href="${ctx}/favicon.ico" type="image/x-icon" />
  23. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  24. <f:link href="Aqua/css/ligerui-all.css"></f:link>
  25. <f:link href="index.css"></f:link>
  26. <f:link href="select.css"></f:link>
  27. <f:link href="tree/zTreeStyle.css"></f:link>
  28. <f:js pre="js/lang/common" ></f:js>
  29. <f:js pre="js/lang/js" ></f:js>
  30. <script type="text/javascript" src="${ctx}/js/dynamic.jsp"></script>
  31. <script type="text/javascript" src="${ctx}/js/jquery/jquery.js"></script>
  32. <script type="text/javascript" src="${ctx}/js/util/util.js"></script>
  33. <script type="text/javascript" src="${ctx}/js/util/form.js"></script>
  34. <script type="text/javascript" src="${ctx}/js/lg/base.js" ></script>
  35. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerDialog.js" ></script>
  36. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerDrag.js" ></script>
  37. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerLayout.js" ></script>
  38. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerMenu.js"></script>
  39. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerTab.js" ></script>
  40. <script type="text/javascript" src="${ctx}/js/lg/plugins/ligerAccordion.js" ></script>
  41. <script type="text/javascript" src="${ctx}/js/tree/jquery.ztree.js" ></script>
  42. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/sysPopupRemind/SysPopupRemindUtil.js"></script>
  43. <script type="text/javascript">
  44. if(top!=this){//当这个窗口出现在iframe里,表示其目前已经timeout,需要把外面的框架窗口也重定向登录页面
  45. top.location='<%=request.getContextPath()%>/platform/console/main.ht';
  46. }
  47. var mian_layout_;
  48. var tab = null;
  49. var tree = null;
  50. var ctxPath=__ctx;
  51. var accordion = null;
  52. var currTabId='home';
  53. var setting = {
  54. view: {showLine: true,nameIsHTML: true},
  55. data: {
  56. key : {name: "resName"},
  57. simpleData: {enable: true,idKey: "resId",pIdKey: "parentId"}
  58. },
  59. callback: {onClick: zTreeOnClick}
  60. };
  61. $(function (){
  62. //布局
  63. mian_layout_ =$("#layoutMain").ligerLayout({
  64. topHeight :80,
  65. leftWidth: 240,
  66. height: '100%',
  67. onHeightChanged: heightChanged });
  68. //取得layout的高度
  69. var height = $(".l-layout-center").height();
  70. $("#leftTree").height("100%");
  71. $("div.l-layout-collapse-left,div.l-layout-left").css("margin","2px 0 0 0");
  72. //Tab
  73. $("#framecenter").ligerTab({ height: height,onBeforeSelectTabItem:function(tabid){ currTabId=tabid; }});
  74. //面板
  75. $("#accordion1").ligerAccordion({ height: height, speed: null });
  76. //获取tab的引用
  77. tab = $("#framecenter").ligerGetTabManager();
  78. accordion = $("#accordion1").ligerGetAccordionManager();
  79. //加载菜单
  80. loadMenu();
  81. //隐藏加载对话框
  82. $("#pageloading").hide();
  83. $("#menuPanel").delegate("a.menuItem", "click", function(){
  84. var id=$(this).attr("id");
  85. loadTree(id,false);
  86. $(this).siblings().removeClass("menuItem_hover").end().addClass("menuItem_hover");
  87. jQuery.setCookie("selectTab",id);
  88. });
  89. $("#dropdown-a").delegate("a.dropItem", "click", function(){
  90. hideList($(this));
  91. var id=$(this).attr("id");
  92. loadTree(id,false);
  93. $(this).siblings().removeClass("menuItem_hover").end().addClass("menuItem_hover");
  94. jQuery.setCookie("selectTab",id);
  95. });
  96. //用户名后下拉箭头覆盖事件
  97. /*
  98. var button = $('#loginButton');
  99. var box = $('#loginBox');
  100. var shade=$('#shadeEm');
  101. button.mouseover(function(login) {
  102. box.toggle();
  103. shade.toggle();
  104. button.toggleClass('active');
  105. t= setTimeout(function(){button_mouseout();},2000);
  106. });
  107. $(this).mouseup(function(login) {
  108. if ($(login.target).hasClass("more")){
  109. var prehref=$(login.target).attr('prehref');
  110. if(prehref)
  111. addToTab(prehref,$(login.target).text(),$(login.target).attr('resid'));
  112. button.removeClass('active');
  113. box.hide();
  114. shade.hide();
  115. }
  116. });
  117. var button_mouseout=function(){
  118. box.hide();
  119. shade.hide();
  120. button.removeClass('active');
  121. }
  122. box.mouseenter(function(){
  123. clearTimeout(t);
  124. });
  125. box.mouseleave(function(){
  126. box.hide();
  127. shade.hide();
  128. button.removeClass('active');
  129. });*/
  130. /*
  131. button.mouseout(function(){
  132. setTimeout(function(){
  133. box.hide();
  134. shade.hide();
  135. button.removeClass('active');
  136. },200);
  137. });*/
  138. window.onresize = function(){initRollButton()};
  139. //右下角提醒框
  140. SysPopupRemindUtil.show("",null,"300");
  141. });
  142. //布局大小改变的时候通知tab,面板改变大小
  143. function heightChanged(options){
  144. $("iframe").each(function(){
  145. var tabName=$(this).attr("name");
  146. if(tabName!=undefined){
  147. $(this).height(options.middleHeight-35);
  148. }
  149. if(tabName=="home"){
  150. $(this).attr('src', $(this).attr('src'));
  151. }
  152. });
  153. $("#leftTree").height(options.middleHeight-40);
  154. if (tab){
  155. var tabContent =$(".l-tab-content"),
  156. h =tabContent.height();
  157. tabContent.height(h+options.diff+15);
  158. }
  159. // tab.addHeight(options.diff);
  160. if (accordion && options.middleHeight - 25 > 0)
  161. accordion.setHeight(options.middleHeight - 25);
  162. }
  163. var aryTreeData=null;
  164. //返回根节点
  165. function getRootNodes(){
  166. var nodes=new Array();
  167. for(var i=0;i<aryTreeData.length;i++){
  168. var node=aryTreeData[i];
  169. if(node.parentId==0){
  170. nodes.push(node);
  171. }
  172. }
  173. return nodes;
  174. };
  175. //初始化菜单滚动按钮
  176. function initRollButton(){
  177. // 滚动 按钮宽度 = 窗体宽度 - 320 - div.welcome
  178. var welcomeWidth = 430;
  179. $("div.menuParent").width( parseInt($(window).width())-welcomeWidth-370);
  180. var pWidth = $("div.menuParent").width(),sWidth = $("div.menuPanel").width();
  181. if(sWidth<=0)return;
  182. var left = pWidth - sWidth;
  183. if (left <= 0) {
  184. $(".nav_left").show();
  185. $(".nav_right").show();
  186. }else{
  187. $(".nav_left").hide();
  188. $(".nav_right").hide();
  189. }
  190. $("div.menuPanel").css("left",0);
  191. };
  192. //加载菜单面板
  193. function loadMenu(){
  194. $("#leftTree").empty();
  195. //一次性加载
  196. $.post("${ctx}/platform/console/getSysRolResTreeData.ht",
  197. function(result){
  198. aryTreeData=result;
  199. for(var i=0;i<result.length;i++){
  200. var node=result[i];
  201. }
  202. //获取根节点,加载顶部按钮菜单。
  203. var headers=getRootNodes();
  204. var len=headers.length;
  205. var menuContainer=$("#menuPanel");
  206. for(var i=0;i<len;i++){
  207. var head=headers[i];
  208. var menuItemHtml=getMenuItem(head);
  209. menuContainer.append($(menuItemHtml));
  210. }
  211. //加载顶部下拉选菜单
  212. var dropdown=$("#dropdown-a");
  213. if(len>=6){//只有菜单数量>=6个的时候才显示
  214. for(var i=0;i<len;i++){
  215. var head=headers[i];
  216. var menuItemHtml=getDropMenuItem(head);
  217. dropdown.append($(menuItemHtml));
  218. }
  219. }else{
  220. // $(".dropbtn").prop("disable",true);
  221. $(".dropbtn").attr('onclick','').unbind('click')
  222. }
  223. initRollButton();
  224. if(len>0){
  225. var selectTab=jQuery.getCookie("selectTab");
  226. var obj= $("#" +selectTab);
  227. if(selectTab && obj.length>0){
  228. $("#" +selectTab).addClass("menuItem_hover");
  229. loadTree(selectTab,true);
  230. }
  231. else{
  232. var head=headers[0];
  233. var resId=head.resId;
  234. $("#" +resId).addClass("menuItem_hover");
  235. loadTree(resId,true);
  236. }
  237. }
  238. });
  239. }
  240. //加载资源树
  241. function loadTree(resId,flag){
  242. var targetRes=$("#"+resId);
  243. var defaultUrl = targetRes.attr("url");
  244. if(defaultUrl && defaultUrl.length>8){
  245. if(!defaultUrl.startWith("http",false)) defaultUrl=ctxPath +defaultUrl;
  246. addToTab(defaultUrl,targetRes.text().trim(),resId,targetRes.attr("icon"));
  247. }
  248. var nodes=new Array();
  249. getChildByParentId(resId,nodes);
  250. var zTreeObj =$.fn.zTree.init($("#leftTree"), setting, nodes);
  251. mian_layout_.setLeftCollapse(flag);
  252. //根据配置的是否展开
  253. // if(nodes.length>0){
  254. // mian_layout_.setLeftCollapse(true);
  255. // for(var idx=0;idx<nodes.length;idx++){
  256. // zTreeObj.expandNode(nodes[idx],nodes[idx].isOpen==0?true:false,false);
  257. // }
  258. // }else{
  259. // mian_layout_.setLeftCollapse(false);
  260. // }
  261. }
  262. //加载菜单项
  263. function getMenuItem(node){
  264. var url = node.defaultUrl? node.defaultUrl:"";
  265. var str='<a class="menuItem" id="'+node.resId+'" url="'+url+'" icon="'+node.icon+'">';
  266. if(node.icon!="null" && node.icon!=""){
  267. str+='<img src="'+node.icon+'" />';
  268. str+='';
  269. }
  270. str+='<span >'+node.resName+'</span></a>';
  271. return str;
  272. }
  273. //加载拉下菜单项
  274. function getDropMenuItem(node){
  275. var url = node.defaultUrl? node.defaultUrl:"";
  276. var str='<a class="dropItem" id="'+node.resId+'" url="'+url+'" icon="'+node.icon+'">';
  277. if(node.icon!="null" && node.icon!=""){
  278. str+='<img src="'+node.icon+'" />';
  279. str+='';
  280. }
  281. str+='<span >'+node.resName+'</span></a><hr style="height:1px;border:none;border-top:1px ridge white;" />';
  282. return str;
  283. }
  284. function getChildByParentId(parentId,nodes){
  285. for(var i=0;i<aryTreeData.length;i++){
  286. var node=aryTreeData[i];
  287. if(node.parentId==parentId){
  288. nodes.push(node);
  289. getChildByParentId(node.resId,nodes);
  290. }
  291. }
  292. };
  293. //处理点击事件
  294. function zTreeOnClick(event, treeId, treeNode) {
  295. var url= treeNode.defaultUrl;
  296. if(url!=null && url!='' && url!='null'){
  297. if(!url.startWith("http",false)) url=ctxPath +url;
  298. if(treeNode.newOpen=="true"){
  299. $.openFullWindow(url);
  300. }
  301. else{
  302. //扩展了tab方法。
  303. addToTab(url,treeNode.resName,treeNode.resId,treeNode.icon);
  304. }
  305. }
  306. };
  307. //添加到tab或者刷新
  308. function addToTab(url,txt,id,icon){
  309. if(tab.isTabItemExist(id)){
  310. tab.selectTabItem(id);
  311. tab.reload(id);
  312. }
  313. else{
  314. tab.addTabItem({ tabid:id,text:txt,url:url,icon:icon});
  315. }
  316. };
  317. //切换系统
  318. function saveCurrentSys(){
  319. var systemId=$("#setSubSystem").val();
  320. var form=new com.hotent.form.Form();
  321. form.creatForm("form", "${ctx}/platform/console/saveCurrSys.ht");
  322. form.addFormEl("systemId", systemId);
  323. form.submit();
  324. }
  325. // firefox下切换tab的高度处置
  326. // mian_layout_.leftCollapse.toggle.click(function ()
  327. // {
  328. // mian_layout_.setLeftCollapse(false);
  329. // alert(11);
  330. // });
  331. </script>
  332. <style type="text/css">
  333. body,html{height:100%;}
  334. body{ padding:0px; margin:0; overflow:hidden;}
  335. #pageloading{position:absolute; left:0px; top:0px; background:white url('${ctx}/styles/${skinStyle}/images/loading.gif') no-repeat center; width:100%; height:100%; height:700px; z-index:99999;}
  336. #top{color:White;height: 80px;}
  337. #top a{color:white;}
  338. </style>
  339. </head>
  340. <body style="padding:0px;">
  341. <div id="pageloading"></div>
  342. <%@include file="main_top.jspf" %>
  343. <div id="layoutMain" style="margin:0px 0px 0px 0px;">
  344. <div position="left" id="accordion1" title=" ${currentSystem.sysName }">
  345. <ul id='leftTree' class='ztree' style="overflow:auto;height: 100%" ></ul>
  346. </div>
  347. <div position="center" id="framecenter" >
  348. <div tabid="home" title="我的工作台" style="position: absolute;">
  349. <iframe frameborder="0" name="home" width="100%" height="100%" scrolling="yes" src="${ctx}/platform/console/toHome.ht"></iframe>
  350. </div>
  351. </div>
  352. </div>
  353. </body>
  354. </html>