修改 客户标签样式 个人信息添加邮箱 修复关闭全部页面404

This commit is contained in:
浅念
2025-07-31 17:26:36 +08:00
parent ea1dbb7af4
commit b50f650565
3 changed files with 70 additions and 29 deletions
+9 -8
View File
@@ -4,7 +4,7 @@ import { HOME_PAGE } from '@/router/routesAlias'
import { router } from '@/router'
import { LocationQueryRaw, Router } from 'vue-router'
import { WorkTab } from '@/types'
import { useUserStore } from '@/store/modules/user'
interface WorktabState {
current: Partial<WorkTab>
opened: WorkTab[]
@@ -144,6 +144,7 @@ export const useWorktabStore = defineStore(
* 关闭指定的选项卡
*/
const removeTab = (path: string): void => {
const { home_page } = useUserStore()
const targetTab = getTab(path)
const targetIndex = findTabIndex(path)
@@ -167,9 +168,9 @@ export const useWorktabStore = defineStore(
// 如果关闭后无标签页,跳转首页
if (!hasOpenedTabs.value) {
if (path !== HOME_PAGE) {
if (path !== home_page) {
current.value = {}
safeRouterPush({ path: HOME_PAGE })
safeRouterPush({ path: home_page })
}
return
}
@@ -287,12 +288,12 @@ export const useWorktabStore = defineStore(
*/
const removeAll = (): void => {
const hasFixedTabs = opened.value.some((tab) => tab.fixedTab)
const { home_page } = useUserStore()
// 获取可关闭的标签页
const closableTabs = opened.value.filter((tab) => {
if (!isTabClosable(tab)) return false
// 如果有固定标签,则所有可关闭的都可以关闭;否则保留首页
return hasFixedTabs || tab.path !== HOME_PAGE
return hasFixedTabs || tab.path !== home_page
})
if (closableTabs.length === 0) {
@@ -305,18 +306,18 @@ export const useWorktabStore = defineStore(
// 保留不可关闭的标签页和首页(当没有固定标签时)
opened.value = opened.value.filter((tab) => {
return !isTabClosable(tab) || (!hasFixedTabs && tab.path === HOME_PAGE)
return !isTabClosable(tab) || (!hasFixedTabs && tab.path === home_page)
})
// 处理激活状态
if (!hasOpenedTabs.value) {
current.value = {}
safeRouterPush({ path: HOME_PAGE })
safeRouterPush({ path: home_page })
return
}
// 选择激活的标签页:优先首页,其次第一个可用标签
const homeTab = opened.value.find((tab) => tab.path === HOME_PAGE)
const homeTab = opened.value.find((tab) => tab.path === home_page)
const targetTab = homeTab || opened.value[0]
current.value = targetTab