综述: 优化账号权限分配页面的菜单项点击功能
- 移除了权限编辑和市场经营者创建菜单项的扩展状态类名 - 为标签页激活函数添加标题参数,用于更新面包屑导航 - 实现了点击菜单项时更新面包屑导航的功能 - 在关闭标签页时,确保返回首页并正确更新面包屑显示
This commit is contained in:
parent
a5cc68b228
commit
78f19b3194
|
|
@ -433,7 +433,7 @@
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-item expanded">
|
<li class="menu-item">
|
||||||
<button class="menu-item-link" onclick="toggleSubmenu(this)">
|
<button class="menu-item-link" onclick="toggleSubmenu(this)">
|
||||||
<span class="menu-icon">
|
<span class="menu-icon">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
|
||||||
|
|
@ -448,7 +448,7 @@
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<div class="submenu">
|
<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>
|
<a href="#/permission/manager" class="submenu-item" onclick="openTab(this, '市场经营者创建')">市场经营者创建</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
@ -603,14 +603,6 @@
|
||||||
<div class="tab-item active" data-tab="home">
|
<div class="tab-item active" data-tab="home">
|
||||||
<span class="tab-title">首页</span>
|
<span class="tab-title">首页</span>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
|
|
||||||
<!-- 内容区域 -->
|
<!-- 内容区域 -->
|
||||||
|
|
@ -620,14 +612,6 @@
|
||||||
<h2>欢迎使用管理后台</h2>
|
<h2>欢迎使用管理后台</h2>
|
||||||
<p>这是首页内容区域,点击左侧菜单可以在此区域显示对应的页面内容。</p>
|
<p>这是首页内容区域,点击左侧菜单可以在此区域显示对应的页面内容。</p>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
@ -654,7 +638,7 @@
|
||||||
const existingTab = document.querySelector(`[data-tab="${tabId}"]`);
|
const existingTab = document.querySelector(`[data-tab="${tabId}"]`);
|
||||||
if (existingTab) {
|
if (existingTab) {
|
||||||
// 激活已存在的标签页
|
// 激活已存在的标签页
|
||||||
setActiveTab(tabId);
|
setActiveTab(tabId, title);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -667,7 +651,7 @@
|
||||||
<span class="tab-title">${title}</span>
|
<span class="tab-title">${title}</span>
|
||||||
<span class="tab-close" onclick="closeTab(this)">×</span>
|
<span class="tab-close" onclick="closeTab(this)">×</span>
|
||||||
`;
|
`;
|
||||||
newTab.onclick = () => setActiveTab(tabId);
|
newTab.onclick = () => setActiveTab(tabId, title);
|
||||||
tabsContainer.appendChild(newTab);
|
tabsContainer.appendChild(newTab);
|
||||||
|
|
||||||
// 创建新内容区域
|
// 创建新内容区域
|
||||||
|
|
@ -683,11 +667,11 @@
|
||||||
contentArea.appendChild(newContent);
|
contentArea.appendChild(newContent);
|
||||||
|
|
||||||
// 激活新标签页
|
// 激活新标签页
|
||||||
setActiveTab(tabId);
|
setActiveTab(tabId, title);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置活动标签页
|
// 设置活动标签页
|
||||||
function setActiveTab(tabId) {
|
function setActiveTab(tabId, title) {
|
||||||
// 移除所有标签页的活动状态
|
// 移除所有标签页的活动状态
|
||||||
document.querySelectorAll('.tab-item').forEach(tab => {
|
document.querySelectorAll('.tab-item').forEach(tab => {
|
||||||
tab.classList.remove('active');
|
tab.classList.remove('active');
|
||||||
|
|
@ -703,6 +687,9 @@
|
||||||
if (activeTab && activeContent) {
|
if (activeTab && activeContent) {
|
||||||
activeTab.classList.add('active');
|
activeTab.classList.add('active');
|
||||||
activeContent.style.display = 'block';
|
activeContent.style.display = 'block';
|
||||||
|
|
||||||
|
// 更新面包屑导航
|
||||||
|
updateBreadcrumb(title);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -727,7 +714,7 @@
|
||||||
|
|
||||||
// 如果关闭的是活动标签页,则激活首页
|
// 如果关闭的是活动标签页,则激活首页
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
setActiveTab('home');
|
setActiveTab('home', '首页');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -735,10 +722,20 @@
|
||||||
document.querySelectorAll('.tab-item').forEach(tab => {
|
document.querySelectorAll('.tab-item').forEach(tab => {
|
||||||
tab.onclick = () => {
|
tab.onclick = () => {
|
||||||
const tabId = tab.getAttribute('data-tab');
|
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 => {
|
document.querySelectorAll('.submenu-item').forEach(item => {
|
||||||
item.addEventListener('click', function(e) {
|
item.addEventListener('click', function(e) {
|
||||||
|
|
@ -754,7 +751,10 @@
|
||||||
|
|
||||||
// 如果有onclick属性,执行它
|
// 如果有onclick属性,执行它
|
||||||
if (this.onclick) {
|
if (this.onclick) {
|
||||||
|
const title = this.textContent;
|
||||||
this.onclick.call(this);
|
this.onclick.call(this);
|
||||||
|
// 更新面包屑导航
|
||||||
|
updateBreadcrumb(title);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue