新增isScrollToTop页签切换滚动到顶部

pull/475/head
RuoYi 2023-09-27 19:29:13 +08:00
parent ff6845f5ce
commit 52b9f43ea0
4 changed files with 46 additions and 14 deletions

View File

@ -72,8 +72,16 @@ $(window).bind("load resize", function() {
}
});
function openToCurrentTab(obj) {
if (isScrollToTop) {
$(obj).show().siblings('.RuoYi_iframe').hide();
} else {
$(obj).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
}
}
function syncMenuTab(dataId) {
if(isLinkage) {
if (isLinkage) {
var $dataObj = $('a[href$="' + decodeURI(dataId) + '"]');
if ($dataObj.attr("class") != null && !$dataObj.hasClass("noactive")) {
$('.tab-pane li').removeClass("active");
@ -157,7 +165,7 @@ $(function() {
// 显示tab对应的内容区
$('.RuoYi_iframe').each(function() {
if ($(this).data('id') == currentId) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
}
});
$(element).addClass('active').siblings('.menuTab').removeClass('active');
@ -289,7 +297,7 @@ $(function() {
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == dataUrl) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
@ -308,8 +316,12 @@ $(function() {
// 添加选项卡对应的iframe
var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" data-refresh="' + isRefresh + '" seamless></iframe>';
$('.mainContent').find('iframe.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"}).parents('.mainContent').append(str1);
if (isScrollToTop) {
$('.mainContent').find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
} else {
$('.mainContent').find('iframe.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"}).parents('.mainContent').append(str1);
}
$.modal.loading("数据加载中,请稍候...");
$('.mainContent iframe:visible').on('load', function() {
@ -351,7 +363,7 @@ $(function() {
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == activeId) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
@ -379,7 +391,7 @@ $(function() {
$(this).parents('.menuTab').prev('.menuTab:last').addClass('active');
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == activeId) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
@ -399,7 +411,7 @@ $(function() {
$('.menuTab[data-id="' + panelUrl + '"]').addClass('active').siblings('.menuTab').removeClass('active');
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == panelUrl) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
@ -441,7 +453,7 @@ $(function() {
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == currentId) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
isRefresh = $.common.nullToDefault($(this).data('refresh'), false);
return false;
}
@ -493,7 +505,11 @@ $(function() {
$(this).remove();
});
$('.page-tabs-content').children("[data-id]:first").each(function() {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').css({"visibility": "visible", "position": "static"});
if (isScrollToTop) {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').show();
} else {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').css({"visibility": "visible", "position": "static"});
}
$(this).addClass("active");
});
$('.page-tabs-content').css("margin-left", "0");

View File

@ -245,7 +245,7 @@ var closeItem = function(dataId){
$('.menuTab[data-id="' + panelUrl + '"]', topWindow).addClass('active').siblings('.menuTab').removeClass('active');
$('.mainContent .RuoYi_iframe', topWindow).each(function() {
if ($(this).data('id') == panelUrl) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
@ -269,13 +269,13 @@ function createMenuItem(dataUrl, menuName, isRefresh) {
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe', topWindow).each(function() {
if ($(this).data('id') == dataUrl) {
$(this).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
openToCurrentTab(this);
return false;
}
});
}
if (isRefresh) {
refreshTab();
refreshTab();
}
flag = false;
return false;
@ -288,7 +288,11 @@ function createMenuItem(dataUrl, menuName, isRefresh) {
// 添加选项卡对应的iframe
var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" data-panel="' + panelUrl + '" seamless></iframe>';
$('.mainContent', topWindow).find('iframe.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"}).parents('.mainContent').append(str1);
if (parent.isScrollToTop) {
$('.mainContent', topWindow).find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
} else {
$('.mainContent', topWindow).find('iframe.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"}).parents('.mainContent').append(str1);
}
window.parent.$.modal.loading("数据加载中,请稍候...");
$('.mainContent iframe:visible', topWindow).on('load', function() {
@ -358,6 +362,14 @@ function activeWindow() {
return $('.RuoYi_iframe[data-id="' + currentId + '"]', topWindow)[0].contentWindow;
}
function openToCurrentTab(obj) {
if (parent.isScrollToTop) {
$(obj).show().siblings('.RuoYi_iframe').hide();
} else {
$(obj).css({"visibility": "visible", "position": "static"}).siblings('.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"});
}
}
/** 密码规则范围验证 */
function checkpwd(chrtype, password) {
if (chrtype == 1) {

View File

@ -336,6 +336,8 @@ var mode = "history";
var historyPath = storage.get("historyPath");
// 是否页签与菜单联动
var isLinkage = true;
//是否页签切换滚动到顶部
var isScrollToTop = true;
// 本地主题优先,未设置取系统配置
if($.common.isNotEmpty(skin)){

View File

@ -281,6 +281,8 @@ var mode = "history";
var historyPath = storage.get("historyPath");
// 是否页签与菜单联动
var isLinkage = true;
// 是否页签切换滚动到顶部
var isScrollToTop = true;
// 本地主题优先,未设置取系统配置
if($.common.isNotEmpty(skin)){