20260819173221
This commit is contained in:
1 parent
1ffc8e1ac9
commit
a0a4273f4c
326 files changed
+301646
-2314
No files matched your search
@@ -1,5 +1,5 @@
|
||||
<script setup>
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { computed, ref } from 'vue'
|
||||
import {
|
||||
AudioWaveform,
|
||||
Check,
|
||||
@@ -91,11 +91,6 @@ function toNavItem(node) {
|
||||
|
||||
return item
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// 加载失败时静默:菜单退化为仅"工作台",不影响页面使用
|
||||
permissionStore.load().catch(() => {})
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -54,12 +54,18 @@ let resizeObserver = null
|
||||
|
||||
onMounted(() => {
|
||||
resizeObserver = new ResizeObserver(updateScrollState)
|
||||
if (trackRef.value) resizeObserver.observe(trackRef.value)
|
||||
if (trackRef.value) {
|
||||
resizeObserver.observe(trackRef.value)
|
||||
// wheel 需要 preventDefault 阻止页面跟随滚动,显式声明 passive: false
|
||||
// (隐式注册才会触发 Chrome 的 non-passive wheel 警告)
|
||||
trackRef.value.addEventListener('wheel', handleWheel, { passive: false })
|
||||
}
|
||||
})
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
resizeObserver?.disconnect()
|
||||
resizeObserver = null
|
||||
trackRef.value?.removeEventListener('wheel', handleWheel)
|
||||
})
|
||||
|
||||
function changeTab(key) {
|
||||
@@ -199,7 +205,6 @@ function refreshTab(key) {
|
||||
class="fms-tabs-track"
|
||||
role="tablist"
|
||||
@scroll.passive="updateScrollState"
|
||||
@wheel="handleWheel"
|
||||
>
|
||||
<Dropdown
|
||||
v-for="tab in tabs"
|
||||
|
||||
@@ -41,8 +41,8 @@ function pickColor(color) {
|
||||
}
|
||||
|
||||
const user = computed(() => ({
|
||||
name: authStore.user?.name ?? '用户',
|
||||
account: authStore.user?.account ?? '',
|
||||
name: authStore.loginInfo.user?.name ?? '用户',
|
||||
account: authStore.loginInfo.user?.account ?? '',
|
||||
}))
|
||||
|
||||
async function logout() {
|
||||
@@ -52,7 +52,7 @@ async function logout() {
|
||||
}
|
||||
|
||||
/* 用户下拉菜单:使用组件库标准 items 渲染(图标/危险色/分隔线/键盘导航均由库负责) */
|
||||
const userOrg = computed(() => user.value.account || authStore.orgId || '')
|
||||
const userOrg = computed(() => user.value.account || authStore.userInfo.orgId || '')
|
||||
const userMenuItems = computed(() => [
|
||||
{ key: 'profile', icon: BadgeCheck, label: '账号信息' },
|
||||
{ key: 'billing', icon: CreditCard, label: '账单' },
|
||||
|
||||
Reference in new issue
Block a user