Skip to content

Commit 044ed7c

Browse files
committed
refactor(tab): 优化标签页管理和首页加载逻辑
- 移除首页菜单的关闭按钮,防止意外关闭首页标签 - 重构标签页创建流程,分离iframe和标签的添加逻辑 - 调整标签页激活后的滚动定位时机 - 清理模板中的多余注释和无用代码 - 统一国际化字符串,移除中文硬编码 - 简化首页iframe的初始渲染逻辑
1 parent 6d1fc0a commit 044ed7c

2 files changed

Lines changed: 18 additions & 19 deletions

File tree

xxl-job-admin/src/main/resources/static/biz/common/admin.tab.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@
120120
let $firstMenuItem = $(".J_menuItem:first");
121121
if ($firstMenuItem.length > 0) {
122122
$firstMenuItem.click();
123+
// 首页菜单特殊逻辑,不允许关闭
124+
$('.J_menuTab[data-id="' + $firstMenuItem.attr('href') + '"] i').remove();
123125
}
124126

125127
// 2、URL匹配到菜单,初始化
@@ -188,14 +190,20 @@
188190
return false;
189191
}
190192

191-
// 3、Tab不存在,创新新Tab
193+
// 3、Tab不存在,初始化新Tab + IFrame
192194
// build Tab (other tab no-active)
193195
$('.J_menuTab').removeClass('active');
194196
var tabStr = '<a href="javascript:;" class="active J_menuTab" data-id="' + tabSrc + '" title="'+ tabName +'" >' + tabNameShow + ' <i class="fa fa-times-circle"></i></a>';
195197

196198
// build IFrame (other ifame hide)
197199
var iframeStr = '<iframe class="J_iframe" width="100%" height="100%" src="' + tabSrc + '" frameborder="0" data-id="' + tabSrc + '" seamless></iframe>';
198-
$('.J_mainContent').find('iframe.J_iframe').hide().parents('.J_mainContent').append(iframeStr);
200+
201+
// 4、添加Tab + IFrame
202+
// append iframe
203+
$('.J_mainContent').find('iframe.J_iframe').hide();
204+
$('.J_mainContent').append(iframeStr);
205+
// append tab
206+
$('.J_menuTabs .page-tabs-content').append(tabStr);
199207

200208
// 添加遮罩层
201209
NProgress.inc(0.2);
@@ -216,8 +224,7 @@
216224
console.error('iframe load error, src = ' + $(this).attr('src'));
217225
});
218226

219-
// 添加Tab,切换Tab
220-
$('.J_menuTabs .page-tabs-content').append(tabStr);
227+
// 5、滚动到已激活的Tab
221228
scrollToTab($('.J_menuTab.active'));
222229
return false;
223230
}

xxl-job-admin/src/main/resources/templates/base/index.ftl

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
<a href="javascript:" style="height: 30px;padding: 3px 25px;color: #777;" ><i class="fa fa-sign-out"></i> ${I18n.logout_btn}</a>
5050
</li>
5151
</ul>
52-
</li>
5352

53+
</li>
5454
</ul>
5555
</div>
5656

@@ -72,7 +72,7 @@
7272
<#macro renderMenu resourceList >
7373
<#list resourceList as resource>
7474
<#if resource.type ==0>
75-
<#-- catalog -->
75+
<#-- catalog -->
7676
<li class="treeview" style="height: auto;" >
7777
<a href="javascript:void(0);">
7878
<i class="fa ${resource.icon}"></i>
@@ -88,13 +88,7 @@
8888
</ul>
8989
</li>
9090
<#elseif resource.type ==1>
91-
<#-- mainMenu -->
92-
<#if !(mainMenu?exists) >
93-
<#assign mainMenu = resource />
94-
<#elseif resource.order lt mainMenu.order >
95-
<#assign mainMenu = resource />
96-
</#if>
97-
<#-- menu -->
91+
<#-- menu -->
9892
<li class="nav-click">
9993
<#-- url -->
10094
<#assign resourceUrl = request.contextPath + resource.url />
@@ -125,10 +119,8 @@
125119
<!-- Tab -->
126120
<nav class="page-tabs J_menuTabs">
127121
<div class="page-tabs-content">
128-
<#-- mainPage -->
129-
<#if mainMenu?exists >
130-
<a href="javascript:;" class="active J_menuTab noactive" data-id="${request.contextPath}${mainMenu.url}">${mainMenu.name}</a>
131-
</#if>
122+
<#-- Tab content -->
123+
<#-- <a href="javascript:;" class="active J_menuTab" data-id="' + tabSrc + '" title="'+ tabName +'" >' + tabNameShow + ' <i class="fa fa-times-circle"></i></a> -->
132124
</div>
133125
</nav>
134126

@@ -150,8 +142,8 @@
150142
</div>
151143
<!-- Iframe Content -->
152144
<div class="J_mainContent" id="content-main" >
153-
<!-- Iframe -->
154-
<iframe class="J_iframe" width="100%" height="100%" src="${request.contextPath}${mainMenu.url}" frameborder="0" data-id="${request.contextPath}${mainMenu.url}" seamless></iframe>
145+
<!-- Iframe content -->
146+
<#-- <iframe class="J_iframe" width="100%" height="100%" src="' + tabSrc + '" frameborder="0" data-id="' + tabSrc + '" seamless></iframe> -->
155147
</div>
156148

157149
</div>

0 commit comments

Comments
 (0)