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