diff --git a/frontend/src/components/echarts/line/index.vue b/frontend/src/components/echarts/line/index.vue
index f58827a..d884214 100644
--- a/frontend/src/components/echarts/line/index.vue
+++ b/frontend/src/components/echarts/line/index.vue
@@ -130,6 +130,7 @@ const initChart = () => {
chart.resize()
}, 0)
}
+const getChartInstance = () => chart
const handlerBar = (options: any) => {
if (Array.isArray(options.series)) {
options.series.forEach((item: any) => {
@@ -253,7 +254,7 @@ onMounted(() => {
initChart()
resizeObserver.observe(chartRef.value!)
})
-defineExpose({ initChart })
+defineExpose({ initChart, getChartInstance })
onBeforeUnmount(() => {
resizeObserver.unobserve(chartRef.value!)
chart?.dispose()
diff --git a/frontend/src/config/index.ts b/frontend/src/config/index.ts
index c269a4c..30c73b7 100644
--- a/frontend/src/config/index.ts
+++ b/frontend/src/config/index.ts
@@ -1,7 +1,7 @@
// ? 全局默认配置项
// 首页地址(默认)
-export const HOME_URL: string = "/home/index";
+export const HOME_URL: string = "/machine/freqConverter";
// export const HOME_URL: string = "/machine/controlSource";
diff --git a/frontend/src/layouts/components/Footer/index.vue b/frontend/src/layouts/components/Footer/index.vue
index dd146e5..badeb68 100644
--- a/frontend/src/layouts/components/Footer/index.vue
+++ b/frontend/src/layouts/components/Footer/index.vue
@@ -26,6 +26,7 @@
diff --git a/frontend/src/layouts/components/Tabs/index.vue b/frontend/src/layouts/components/Tabs/index.vue
index 181b5a9..e417b30 100644
--- a/frontend/src/layouts/components/Tabs/index.vue
+++ b/frontend/src/layouts/components/Tabs/index.vue
@@ -29,6 +29,7 @@ import { useRoute, useRouter } from 'vue-router'
import { useGlobalStore } from '@/stores/modules/global'
import { useTabsStore } from '@/stores/modules/tabs'
import { useAuthStore } from '@/stores/modules/auth'
+import { HOME_URL } from '@/config'
import { TabPaneName, TabsPaneContext } from 'element-plus'
import MoreButton from './components/MoreButton.vue'
@@ -73,13 +74,13 @@ watch(
// 初始化需要固定的 tabs
const initTabs = () => {
authStore.flatMenuListGet.forEach(item => {
- if (item.meta.isAffix && !item.meta.isHide && !item.meta.isFull) {
+ if (item.path === HOME_URL && !item.meta.isHide && !item.meta.isFull) {
const tabsParams = {
icon: item.meta.icon,
title: item.meta.title,
path: item.path,
name: item.name,
- close: !item.meta.isAffix,
+ close: false,
isKeepAlive: item.meta.isKeepAlive,
unshift: true
}
diff --git a/frontend/src/stores/modules/auth.ts b/frontend/src/stores/modules/auth.ts
index 5e99f51..15c596a 100644
--- a/frontend/src/stores/modules/auth.ts
+++ b/frontend/src/stores/modules/auth.ts
@@ -3,6 +3,7 @@ import { type AuthState } from '@/stores/interface'
import { getAuthButtonListApi, getAuthMenuListApi } from '@/api/user/login'
import { getAllBreadcrumbList, getFlatMenuList, getShowMenuList } from '@/utils'
import { AUTH_STORE_KEY } from '@/stores/constant'
+import { HOME_URL } from '@/config'
import { useModeStore } from '@/stores/modules/mode'
import { getLicense } from '@/api/activate'
import type { Activate } from '@/api/activate/interface'
@@ -52,7 +53,7 @@ export const useAuthStore = defineStore(AUTH_STORE_KEY, {
? filterMenuByExcludedNames(menuData, ['testSource', 'testScript', 'controlSource'])
: filterMenuByExcludedNames(menuData, ['standardDevice'])
- this.authMenuList = filteredMenu
+ this.authMenuList = normalizeHomeAffix(filteredMenu)
},
// Set RouteName
async setRouteName(name: string) {
@@ -112,3 +113,22 @@ function filterMenuByExcludedNames(menuList: any[], excludedNames: string[]): an
return !excludedNames.includes(menu.name)
})
}
+
+function normalizeHomeAffix(menuList: any[]): any[] {
+ return menuList.map(menu => {
+ const nextMenu = { ...menu }
+
+ if (nextMenu.meta) {
+ nextMenu.meta = {
+ ...nextMenu.meta,
+ isAffix: nextMenu.path === HOME_URL
+ }
+ }
+
+ if (Array.isArray(nextMenu.children) && nextMenu.children.length > 0) {
+ nextMenu.children = normalizeHomeAffix(nextMenu.children)
+ }
+
+ return nextMenu
+ })
+}
diff --git a/frontend/src/views/login/components/LoginForm.vue b/frontend/src/views/login/components/LoginForm.vue
index 8b36cd7..0eac07f 100644
--- a/frontend/src/views/login/components/LoginForm.vue
+++ b/frontend/src/views/login/components/LoginForm.vue
@@ -120,7 +120,7 @@ const login = (formEl: FormInstance | undefined) => {
await tabsStore.setTabs([])
await keepAliveStore.setKeepAliveName([])
// 登录默认不显示菜单和导航栏
- await authStore.resetAuthStore()
+ await authStore.setShowMenu()
// 跳转到首页
await router.push(HOME_URL)
} finally {
diff --git a/frontend/src/views/machine/freqConverter/components/freqConverterDipChart.vue b/frontend/src/views/machine/freqConverter/components/freqConverterDipChart.vue
index ca2e8f0..ff52d72 100644
--- a/frontend/src/views/machine/freqConverter/components/freqConverterDipChart.vue
+++ b/frontend/src/views/machine/freqConverter/components/freqConverterDipChart.vue
@@ -1,4 +1,4 @@
-
+
-
+
-
+
-
@@ -574,6 +715,14 @@ watch(
gap: 12px;
}
+.header-actions {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ gap: 8px;
+ flex-wrap: wrap;
+}
+
.card-header-main {
min-width: 0;
}