综述: 优化账号权限分配页面的菜单项点击功能

- 移除了权限编辑和市场经营者创建菜单项的扩展状态类名
- 为标签页激活函数添加标题参数,用于更新面包屑导航
- 实现了点击菜单项时更新面包屑导航的功能
- 在关闭标签页时,确保返回首页并正确更新面包屑显示
This commit is contained in:
linbin 2025-09-07 18:03:05 +08:00
parent a5cc68b228
commit 78f19b3194
1 changed files with 24 additions and 24 deletions

View File

@ -433,7 +433,7 @@
</span>
</button>
</li>
<li class="menu-item expanded">
<li class="menu-item">
<button class="menu-item-link" onclick="toggleSubmenu(this)">
<span class="menu-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
@ -448,7 +448,7 @@
</span>
</button>
<div class="submenu">
<a href="#/permission/list" class="submenu-item active" onclick="openTab(this, '权限编辑')">权限编辑</a>
<a href="#/permission/list" class="submenu-item" onclick="openTab(this, '权限编辑')">权限编辑</a>
<a href="#/permission/manager" class="submenu-item" onclick="openTab(this, '市场经营者创建')">市场经营者创建</a>
</div>
</li>
@ -603,14 +603,6 @@
<div class="tab-item active" data-tab="home">
<span class="tab-title">首页</span>
</div>
<div class="tab-item" data-tab="permission">
<span class="tab-title">权限编辑</span>
<span class="tab-close" onclick="closeTab(this)">×</span>
</div>
<div class="tab-item" data-tab="manager">
<span class="tab-title">市场经营者创建</span>
<span class="tab-close" onclick="closeTab(this)">×</span>
</div>
</div>
<!-- 内容区域 -->
@ -620,14 +612,6 @@
<h2>欢迎使用管理后台</h2>
<p>这是首页内容区域,点击左侧菜单可以在此区域显示对应的页面内容。</p>
</div>
<div id="tab-content-permission" class="tab-content" style="display: none;">
<h2>权限编辑</h2>
<p>这里是权限编辑页面的内容...</p>
</div>
<div id="tab-content-manager" class="tab-content" style="display: none;">
<h2>市场经营者创建</h2>
<p>这里是市场经营者创建页面的内容...</p>
</div>
</div>
</div>
</main>
@ -654,7 +638,7 @@
const existingTab = document.querySelector(`[data-tab="${tabId}"]`);
if (existingTab) {
// 激活已存在的标签页
setActiveTab(tabId);
setActiveTab(tabId, title);
return;
}
@ -667,7 +651,7 @@
<span class="tab-title">${title}</span>
<span class="tab-close" onclick="closeTab(this)">×</span>
`;
newTab.onclick = () => setActiveTab(tabId);
newTab.onclick = () => setActiveTab(tabId, title);
tabsContainer.appendChild(newTab);
// 创建新内容区域
@ -683,11 +667,11 @@
contentArea.appendChild(newContent);
// 激活新标签页
setActiveTab(tabId);
setActiveTab(tabId, title);
}
// 设置活动标签页
function setActiveTab(tabId) {
function setActiveTab(tabId, title) {
// 移除所有标签页的活动状态
document.querySelectorAll('.tab-item').forEach(tab => {
tab.classList.remove('active');
@ -703,6 +687,9 @@
if (activeTab && activeContent) {
activeTab.classList.add('active');
activeContent.style.display = 'block';
// 更新面包屑导航
updateBreadcrumb(title);
}
}
@ -727,7 +714,7 @@
// 如果关闭的是活动标签页,则激活首页
if (isActive) {
setActiveTab('home');
setActiveTab('home', '首页');
}
}
@ -735,10 +722,20 @@
document.querySelectorAll('.tab-item').forEach(tab => {
tab.onclick = () => {
const tabId = tab.getAttribute('data-tab');
setActiveTab(tabId);
// 获取标签标题用于更新面包屑
const title = tab.querySelector('.tab-title').textContent;
setActiveTab(tabId, title);
};
});
// 更新面包屑导航
function updateBreadcrumb(title) {
const breadcrumbItems = document.querySelectorAll('.breadcrumb-item');
if (breadcrumbItems.length >= 3) {
breadcrumbItems[2].textContent = title;
}
}
// 菜单项点击事件处理
document.querySelectorAll('.submenu-item').forEach(item => {
item.addEventListener('click', function(e) {
@ -754,7 +751,10 @@
// 如果有onclick属性执行它
if (this.onclick) {
const title = this.textContent;
this.onclick.call(this);
// 更新面包屑导航
updateBreadcrumb(title);
}
});
});