From cf3b8ec8d0b8bb89ea0da38ad91ca7d6f26ff3bf Mon Sep 17 00:00:00 2001 From: tys Date: Sat, 27 Jun 2020 22:19:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=A1=B6=E9=83=A8tab?= =?UTF-8?q?=E9=A1=B5=E6=97=B6=EF=BC=8C=E5=B7=A6=E4=BE=A7=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E5=88=B0=E5=BD=93=E5=89=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/static/ruoyi/index.js | 73 +++++++++++-------- .../src/main/resources/templates/index.html | 21 ++---- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/ruoyi-admin/src/main/resources/static/ruoyi/index.js b/ruoyi-admin/src/main/resources/static/ruoyi/index.js index e7fad173..84b744bb 100644 --- a/ruoyi-admin/src/main/resources/static/ruoyi/index.js +++ b/ruoyi-admin/src/main/resources/static/ruoyi/index.js @@ -30,12 +30,12 @@ $(function() { } SmoothlyMenu(); }); - + $('#side-menu>li').click(function() { if ($('body').hasClass('canvas-menu mini-navbar')) { NavToggle(); } - + }); $('#side-menu>li li a:not(:has(span))').click(function() { if ($(window).width() < 769) { @@ -71,7 +71,16 @@ $(window).bind("load resize", function() { } } }); - +function syncMenuTab(dataId) { + var $dataObj = $('a[href$="' + decodeURI(dataId) + '"]'); + if (!$dataObj.hasClass("noactive")) { + $('.nav ul').removeClass("in"); + $dataObj.parents("ul").addClass("in") + $dataObj.parents("li").addClass("active").siblings().removeClass("active").find('li').removeClass("active"); + $dataObj.parents("ul").css('height', 'auto').height(); + $dataObj.click(); + } +} function NavToggle() { $('.navbar-minimalize').trigger('click'); } @@ -114,7 +123,7 @@ $(function() { }); return width; } - + // 激活指定选项卡 function setActiveTab(element) { if (!$(element).hasClass('active')) { @@ -239,7 +248,7 @@ $(function() { dataIndex = $(this).data('index'), menuName = $.trim($(this).text()), flag = true; - + if (!$('a[href$="' + dataUrl + '"]').hasClass("noactive")) { $(".nav ul li, .nav li").removeClass("selected"); $(this).parent("li").addClass("selected"); @@ -273,20 +282,20 @@ $(function() { // 添加选项卡对应的iframe var str1 = ''; $('.mainContent').find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1); - + $.modal.loading("数据加载中,请稍后..."); - + $('.mainContent iframe:visible').load(function () { $.modal.closeLoading(); }); - + // 添加选项卡 $('.menuTabs .page-tabs-content').append(str); scrollToTab($('.menuTab.active')); } return false; } - + function menuBlank() { // 新窗口打开外网以http://开头,如http://ruoyi.vip var dataUrl = $(this).attr('href'); @@ -295,7 +304,7 @@ $(function() { } $('.menuItem').on('click', menuItem); - + $('.menuBlank').on('click', menuBlank); // 关闭选项卡菜单 @@ -360,7 +369,7 @@ $(function() { return false; } }); - + if($.common.isNotEmpty(panelUrl)){ $('.menuTab[data-id="' + panelUrl + '"]').addClass('active').siblings('.menuTab').removeClass('active'); $('.mainContent .RuoYi_iframe').each(function() { @@ -387,9 +396,11 @@ $(function() { } scrollToTab($('.menuTab.active')); setIframeUrl($('.page-tabs-content').find('.active').attr('data-id')); + + syncMenuTab($('.page-tabs-content').find('.active').attr('data-id')); return false; } - + $('.menuTabs').on('click', '.menuTab i', closeTab); //滚动到已激活的选项卡 @@ -424,19 +435,19 @@ $(function() { var url = target.attr('src'); target.attr('src', url).ready(); } - + // 页签全屏 function fullScreenTab() { var currentId = $('.page-tabs-content').find('.active').attr('data-id'); var target = $('.RuoYi_iframe[data-id="' + currentId + '"]'); target.fullScreen(true); } - + // 关闭当前选项卡 function tabCloseCurrent() { $('.page-tabs-content').find('.active i').trigger("click"); } - + //关闭其他选项卡 function tabCloseOther() { $('.page-tabs-content').children("[data-id]").not(":first").not(".active").each(function() { @@ -446,7 +457,7 @@ $(function() { $('.page-tabs-content').css("margin-left", "0"); setIframeUrl($('.page-tabs-content').find('.active').attr('data-id')); } - + // 关闭全部选项卡 function tabCloseAll() { $('.page-tabs-content').children("[data-id]").not(":first").each(function() { @@ -460,16 +471,16 @@ $(function() { $('.page-tabs-content').css("margin-left", "0"); setIframeUrl($('.page-tabs-content').find('.active').attr('data-id')); } - - + + // 全屏显示 $('#fullScreen').on('click', function () { $(document).toggleFullScreen(); }); - + // 页签刷新按钮 $('.tabReload').on('click', refreshTab); - + // 页签全屏按钮 $('.tabFullScreen').on('click', fullScreenTab); @@ -481,33 +492,33 @@ $(function() { // 右移按扭 $('.tabRight').on('click', scrollTabRight); - + // 关闭当前 $('.tabCloseCurrent').on('click', tabCloseCurrent); - + // 关闭其他 $('.tabCloseOther').on('click', tabCloseOther); // 关闭全部 $('.tabCloseAll').on('click', tabCloseAll); - + // tab全屏显示 $('.tabMaxCurrent').on('click', function () { $('.page-tabs-content').find('.active').trigger("dblclick"); }); - + // 关闭全屏 $('#ax_close_max').click(function(){ $('#content-main').toggleClass('max'); $('#ax_close_max').hide(); }) - + // 双击选项卡全屏显示 function activeTabMax() { $('#content-main').toggleClass('max'); $('#ax_close_max').show(); } - + // 设置锚点 function setIframeUrl(href) { if($.common.equals("history", mode)) { @@ -518,20 +529,20 @@ $(function() { window.location.href = newUrl + "#" + href; } } - + $(window).keydown(function(event) { if (event.keyCode == 27) { $('#content-main').removeClass('max'); $('#ax_close_max').hide(); } }); - + window.onhashchange = function() { var hash = location.hash; var url = hash.substring(1, hash.length); $('a[href$="' + url + '"]').click(); }; - + // 右键菜单实现 $.contextMenu({ selector: ".menuTab", @@ -551,6 +562,7 @@ $(function() { callback: function(key, opt) { setActiveTab(this); tabCloseOther(); + syncMenuTab($('.page-tabs-content').find('.active').attr('data-id')); } }, "close_left": { @@ -566,6 +578,7 @@ $(function() { $(this).remove(); }); $('.page-tabs-content').css("margin-left", "0"); + syncMenuTab($('.page-tabs-content').find('.active').attr('data-id')); } }, "close_right": { @@ -577,6 +590,7 @@ $(function() { $('.menuTab[data-id="' + $(this).data('id') + '"]').remove(); $(this).remove(); }); + syncMenuTab($('.page-tabs-content').find('.active').attr('data-id')); } }, "close_all": { @@ -584,6 +598,7 @@ $(function() { icon: "fa-window-close", callback: function(key, opt) { tabCloseAll(); + syncMenuTab($('.page-tabs-content').find('.active').attr('data-id')); } }, "step": "---------", diff --git a/ruoyi-admin/src/main/resources/templates/index.html b/ruoyi-admin/src/main/resources/templates/index.html index 1fd896a7..d47f1445 100644 --- a/ruoyi-admin/src/main/resources/templates/index.html +++ b/ruoyi-admin/src/main/resources/templates/index.html @@ -26,14 +26,14 @@ - +
@@ -225,9 +225,9 @@ 刷新
- + - +
@@ -310,14 +310,7 @@ $(function() { if(isLinkage) { $(".menuTabs").on("click", ".menuTab", function() { var dataId = $(this).attr("data-id"); - var $dataObj = $('a[href$="' + decodeURI(dataId) + '"]'); - if (!$dataObj.hasClass("noactive")) { - $('.nav ul').removeClass("in"); - $dataObj.parents("ul").addClass("in") - $dataObj.parents("li").addClass("active").siblings().removeClass("active").find('li').removeClass("active"); - $dataObj.parents("ul").css('height', 'auto').height(); - $dataObj.click(); - } + syncMenuTab(dataId); }) } });