1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import useTabsStore from '@/stores/modules/multipleTabs'
- import useSettingStore from '@/stores/modules/setting'
- export default function useMultipleTabs() {
- const router = useRouter()
- const route = useRoute()
- const tabsStore = useTabsStore()
- const settingStore = useSettingStore()
- const tabsLists = computed(() => {
- return tabsStore.getTabList
- })
- const currentTab = computed(() => {
- return route.fullPath
- })
- const addTab = () => {
- if (!settingStore.openMultipleTabs) return
- tabsStore.addTab(router)
- }
- const removeTab = (fullPath?: any) => {
- if (!settingStore.openMultipleTabs) return
- fullPath = fullPath ?? route.fullPath
- tabsStore.removeTab(fullPath, router)
- }
- const removeOtherTab = () => {
- if (!settingStore.openMultipleTabs) return
- tabsStore.removeOtherTab(route)
- }
- const removeAllTab = () => {
- if (!settingStore.openMultipleTabs) return
- tabsStore.removeAllTab(router)
- }
- return {
- tabsLists,
- currentTab,
- addTab,
- removeTab,
- removeOtherTab,
- removeAllTab
- }
- }
|