综述: 优化账号权限分配页面的菜单项点击功能
- 移除了权限编辑和市场经营者创建菜单项的扩展状态类名 - 为标签页激活函数添加标题参数,用于更新面包屑导航 - 实现了点击菜单项时更新面包屑导航的功能 - 在关闭标签页时,确保返回首页并正确更新面包屑显示
This commit is contained in:
		
							parent
							
								
									a5cc68b228
								
							
						
					
					
						commit
						78f19b3194
					
				|  | @ -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); | ||||
|                 } | ||||
|             }); | ||||
|         }); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue