XiuCai.index.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. 
  2. window.onload = function(){
  3. $('#loading-mask').fadeOut();
  4. }
  5. var onlyOpenTitle="欢迎使用";//不允许关闭的标签的标题
  6. $(function(){
  7. InitLeftMenu();
  8. tabClose();
  9. tabCloseEven();
  10. /* 选择TAB时刷新内容
  11. $('#tabs').tabs({
  12. onSelect: function (title) {
  13. var currTab = $('#tabs').tabs('getTab', title);
  14. var iframe = $(currTab.panel('options').content);
  15. var src = iframe.attr('src');
  16. if(src)
  17. $('#tabs').tabs('update', { tab: currTab, options: { content: createFrame(src)} });
  18. }
  19. });
  20. */
  21. })
  22. //初始化左侧
  23. function InitLeftMenu() {
  24. $("#nav").accordion({animate:false,fit:true,border:false});
  25. var selectedPanelname = '';
  26. $.each(_menus.menus, function(i, n) {
  27. var menulist ='';
  28. menulist +='<ul class="navlist">';
  29. $.each(n.menus, function(j, o) {
  30. menulist += '<li><div ><a ref="'+o.menuid+'" href="javascript:void(0);" rel="' + o.url + '" ><span class="icon '+o.icon+'" >&nbsp;</span><span class="nav">' + o.menuname + '</span></a></div> ';
  31. if(o.child && o.child.length>0)
  32. {
  33. //li.find('div').addClass('icon-arrow');
  34. menulist += '<ul class="third_ul">';
  35. $.each(o.child,function(k,p){
  36. menulist += '<li><div><a ref="'+p.menuid+'" href="javascript:void(0);" rel="' + p.url + '" ><span class="icon '+p.icon+'" >&nbsp;</span><span class="nav">' + p.menuname + '</span></a></div> </li>'
  37. });
  38. menulist += '</ul>';
  39. }
  40. menulist+='</li>';
  41. })
  42. menulist += '</ul>';
  43. $('#nav').accordion('add', {
  44. title: n.menuname,
  45. content: menulist,
  46. border:false,
  47. iconCls: 'icon ' + n.icon
  48. });
  49. if(i==0)
  50. selectedPanelname =n.menuname;
  51. });
  52. $('#nav').accordion('select',selectedPanelname);
  53. $('.navlist li a').click(function(){
  54. var tabTitle = $(this).children('.nav').text();
  55. var url = $(this).attr("rel");
  56. var menuid = $(this).attr("ref");
  57. var icon = $(this).find('.icon').attr('class');
  58. var third = find(menuid);
  59. if(third && third.child && third.child.length>0)
  60. {
  61. $('.third_ul').slideUp();
  62. var ul =$(this).parent().next();
  63. if(ul.is(":hidden"))
  64. ul.slideDown();
  65. else
  66. ul.slideUp();
  67. }
  68. else{
  69. addTab(tabTitle,url,icon);
  70. $('.navlist li div').removeClass("selected");
  71. $(this).parent().addClass("selected");
  72. }
  73. }).hover(function(){
  74. $(this).parent().addClass("hover");
  75. },function(){
  76. $(this).parent().removeClass("hover");
  77. });
  78. //选中第一个
  79. //var panels = $('#nav').accordion('panels');
  80. //var t = panels[0].panel('options').title;
  81. //$('#nav').accordion('select', t);
  82. }
  83. //获取左侧导航的图标
  84. function getIcon(menuid){
  85. var icon = 'icon ';
  86. $.each(_menus.menus, function(i, n) {
  87. $.each(n.menus, function(j, o) {
  88. if(o.menuid==menuid){
  89. icon += o.icon;
  90. }
  91. })
  92. })
  93. return icon;
  94. }
  95. function find(menuid){
  96. var obj=null;
  97. $.each(_menus.menus, function(i, n) {
  98. $.each(n.menus, function(j, o) {
  99. if(o.menuid==menuid){
  100. obj = o;
  101. }
  102. });
  103. });
  104. return obj;
  105. }
  106. function addTab(subtitle,url,icon){
  107. if(!$('#tabs').tabs('exists',subtitle)){
  108. $('#tabs').tabs('add',{
  109. title:subtitle,
  110. content:createFrame(url),
  111. closable:true,
  112. icon:icon
  113. });
  114. }else{
  115. $('#tabs').tabs('select',subtitle);
  116. $('#mm-tabupdate').click();
  117. }
  118. tabClose();
  119. }
  120. function createFrame(url)
  121. {
  122. var s = '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>';
  123. return s;
  124. }
  125. function tabClose()
  126. {
  127. /*双击关闭TAB选项卡*/
  128. $(".tabs-inner").dblclick(function(){
  129. var subtitle = $(this).children(".tabs-closable").text();
  130. $('#tabs').tabs('close',subtitle);
  131. })
  132. /*为选项卡绑定右键*/
  133. $(".tabs-inner").bind('contextmenu',function(e){
  134. $('#mm').menu('show', {
  135. left: e.pageX,
  136. top: e.pageY
  137. });
  138. var subtitle =$(this).children(".tabs-closable").text();
  139. $('#mm').data("currtab",subtitle);
  140. $('#tabs').tabs('select',subtitle);
  141. return false;
  142. });
  143. }
  144. //绑定右键菜单事件
  145. function tabCloseEven() {
  146. $('#mm').menu({
  147. onClick: function (item) {
  148. closeTab(item.id);
  149. }
  150. });
  151. return false;
  152. }
  153. function closeTab(action)
  154. {
  155. var alltabs = $('#tabs').tabs('tabs');
  156. var currentTab =$('#tabs').tabs('getSelected');
  157. var allTabtitle = [];
  158. $.each(alltabs,function(i,n){
  159. allTabtitle.push($(n).panel('options').title);
  160. })
  161. switch (action) {
  162. case "refresh":
  163. var iframe = $(currentTab.panel('options').content);
  164. var src = iframe.attr('src');
  165. $('#tabs').tabs('update', {
  166. tab: currentTab,
  167. options: {
  168. content: createFrame(src)
  169. }
  170. })
  171. break;
  172. case "close":
  173. var currtab_title = currentTab.panel('options').title;
  174. $('#tabs').tabs('close', currtab_title);
  175. break;
  176. case "closeall":
  177. $.each(allTabtitle, function (i, n) {
  178. if (n != onlyOpenTitle){
  179. $('#tabs').tabs('close', n);
  180. }
  181. });
  182. break;
  183. case "closeother":
  184. var currtab_title = currentTab.panel('options').title;
  185. $.each(allTabtitle, function (i, n) {
  186. if (n != currtab_title && n != onlyOpenTitle)
  187. {
  188. $('#tabs').tabs('close', n);
  189. }
  190. });
  191. break;
  192. case "closeright":
  193. var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
  194. if (tabIndex == alltabs.length - 1){
  195. alert('亲,后边没有啦 ^@^!!');
  196. return false;
  197. }
  198. $.each(allTabtitle, function (i, n) {
  199. if (i > tabIndex) {
  200. if (n != onlyOpenTitle){
  201. $('#tabs').tabs('close', n);
  202. }
  203. }
  204. });
  205. break;
  206. case "closeleft":
  207. var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
  208. if (tabIndex == 1) {
  209. alert('亲,前边那个上头有人,咱惹不起哦。 ^@^!!');
  210. return false;
  211. }
  212. $.each(allTabtitle, function (i, n) {
  213. if (i < tabIndex) {
  214. if (n != onlyOpenTitle){
  215. $('#tabs').tabs('close', n);
  216. }
  217. }
  218. });
  219. break;
  220. case "exit":
  221. $('#closeMenu').menu('hide');
  222. break;
  223. }
  224. }
  225. //弹出信息窗口 title:标题 msgString:提示信息 msgType:信息类型 [error,info,question,warning]
  226. function msgShow(title, msgString, msgType) {
  227. $.messager.alert(title, msgString, msgType);
  228. }