|
|
@@ -22,10 +22,7 @@
|
|
|
@contextmenu.prevent="(e: MouseEvent) => showMenu(e, item.path)"
|
|
|
>
|
|
|
{{ item.customTitle || formatMenuTitle(item.title) }}
|
|
|
- <el-icon
|
|
|
- v-if="list.length > 1 && !item.fixedTab"
|
|
|
- @click.stop="closeWorktab('current', item.path)"
|
|
|
- >
|
|
|
+ <el-icon v-if="list.length > 1 && !item.fixedTab" @click.stop="closeWorktab('current', item.path)">
|
|
|
<Close />
|
|
|
</el-icon>
|
|
|
<div class="line"></div>
|
|
|
@@ -34,21 +31,12 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="right">
|
|
|
- <el-icon
|
|
|
- class="btn console-box art-custom-card"
|
|
|
- @click="(e: MouseEvent) => showMenu(e, activeTab)"
|
|
|
- >
|
|
|
+ <el-icon class="btn console-box art-custom-card" @click="(e: MouseEvent) => showMenu(e, activeTab)">
|
|
|
<ArrowDown />
|
|
|
</el-icon>
|
|
|
</div>
|
|
|
|
|
|
- <ArtMenuRight
|
|
|
- ref="menuRef"
|
|
|
- :menu-items="menuItems"
|
|
|
- :menu-width="140"
|
|
|
- :border-radius="10"
|
|
|
- @select="handleSelect"
|
|
|
- />
|
|
|
+ <ArtMenuRight ref="menuRef" :menu-items="menuItems" :menu-width="140" :border-radius="10" @select="handleSelect" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -235,10 +223,7 @@
|
|
|
|
|
|
const { scrollWidth, ulWidth, offsetLeft, curTabRight, targetLeft } = positions
|
|
|
|
|
|
- if (
|
|
|
- (offsetLeft > Math.abs(scrollState.value.translateX) && curTabRight <= scrollWidth) ||
|
|
|
- (scrollState.value.translateX < targetLeft && targetLeft < 0)
|
|
|
- ) {
|
|
|
+ if ((offsetLeft > Math.abs(scrollState.value.translateX) && curTabRight <= scrollWidth) || (scrollState.value.translateX < targetLeft && targetLeft < 0)) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -285,10 +270,7 @@
|
|
|
const xMin = scrollRef.value.offsetWidth - tabsRef.value.offsetWidth
|
|
|
const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY
|
|
|
|
|
|
- scrollState.value.translateX = Math.min(
|
|
|
- Math.max(scrollState.value.translateX - delta, xMin),
|
|
|
- xMax
|
|
|
- )
|
|
|
+ scrollState.value.translateX = Math.min(Math.max(scrollState.value.translateX - delta, xMin), xMax)
|
|
|
}
|
|
|
|
|
|
const handleTouchStart = (event: TouchEvent) => {
|
|
|
@@ -302,10 +284,7 @@
|
|
|
const deltaX = touchState.value.currentX - touchState.value.startX
|
|
|
const xMin = scrollRef.value.offsetWidth - tabsRef.value.offsetWidth
|
|
|
|
|
|
- scrollState.value.translateX = Math.min(
|
|
|
- Math.max(scrollState.value.translateX + deltaX, xMin),
|
|
|
- 0
|
|
|
- )
|
|
|
+ scrollState.value.translateX = Math.min(Math.max(scrollState.value.translateX + deltaX, xMin), 0)
|
|
|
touchState.value.startX = touchState.value.currentX
|
|
|
}
|
|
|
|
|
|
@@ -414,10 +393,8 @@
|
|
|
// 组合所有逻辑
|
|
|
const { menuItems } = useContextMenu()
|
|
|
const { setTransition, autoPositionTab } = useScrolling()
|
|
|
- const { setupEventListeners, cleanupEventListeners, adjustPositionAfterClose } =
|
|
|
- useEventHandlers()
|
|
|
- const { clickTab, closeWorktab, showMenu, handleSelect } =
|
|
|
- useTabOperations(adjustPositionAfterClose)
|
|
|
+ const { setupEventListeners, cleanupEventListeners, adjustPositionAfterClose } = useEventHandlers()
|
|
|
+ const { clickTab, closeWorktab, showMenu, handleSelect } = useTabOperations(adjustPositionAfterClose)
|
|
|
|
|
|
// 生命周期
|
|
|
onMounted(() => {
|