diff --git a/package.json b/package.json
index 8648708..1b04b77 100644
--- a/package.json
+++ b/package.json
@@ -17,8 +17,10 @@
},
"dependencies": {
"@ant-design/icons-vue": "^7.0.1",
+ "@types/nprogress": "^0.2.3",
"ant-design-vue": "^4.2.6",
"echarts": "^5.6.0",
+ "nprogress": "^0.2.0",
"pinia": "^3.0.1",
"vue": "^3.5.13",
"vue-router": "^4.5.0"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0e55110..77c5e5f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,12 +11,18 @@ importers:
'@ant-design/icons-vue':
specifier: ^7.0.1
version: 7.0.1(vue@3.5.16(typescript@5.8.3))
+ '@types/nprogress':
+ specifier: ^0.2.3
+ version: 0.2.3
ant-design-vue:
specifier: ^4.2.6
version: 4.2.6(vue@3.5.16(typescript@5.8.3))
echarts:
specifier: ^5.6.0
version: 5.6.0
+ nprogress:
+ specifier: ^0.2.0
+ version: 0.2.0
pinia:
specifier: ^3.0.1
version: 3.0.3(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3))
@@ -750,6 +756,9 @@ packages:
'@types/node@22.15.31':
resolution: {integrity: sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==}
+ '@types/nprogress@0.2.3':
+ resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==}
+
'@types/tough-cookie@4.0.5':
resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
@@ -1743,6 +1752,9 @@ packages:
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
engines: {node: '>=18'}
+ nprogress@0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
+
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@@ -2945,6 +2957,8 @@ snapshots:
dependencies:
undici-types: 6.21.0
+ '@types/nprogress@0.2.3': {}
+
'@types/tough-cookie@4.0.5': {}
'@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)':
@@ -4042,6 +4056,8 @@ snapshots:
path-key: 4.0.0
unicorn-magic: 0.3.0
+ nprogress@0.2.0: {}
+
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
diff --git a/src/components.d.ts b/src/components.d.ts
index 8160ece..faa543c 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -18,6 +18,7 @@ declare module 'vue' {
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SideMenu: typeof import('./components/layout/SideMenu.vue')['default']
+ TabsBar: typeof import('./components/layout/TabsBar.vue')['default']
YourComponent: typeof import('./components/YourComponent.vue')['default']
}
}
diff --git a/src/components/layout/AdminLayout.vue b/src/components/layout/AdminLayout.vue
index eb24920..bd2469e 100644
--- a/src/components/layout/AdminLayout.vue
+++ b/src/components/layout/AdminLayout.vue
@@ -1,363 +1,50 @@
-
-
-

-
Admin System
-
-
-
-
-
-
-
-
-
- {{ menu.title }}
-
-
- navigateTo(child.path)"
- >
-
- {{ child.title }}
-
-
-
-
-
- navigateTo(menu.path)">
-
- {{ menu.title }}
-
-
-
-
-
+
-
-
+
+
-
+
-
-
-
-
-
-
-
- handleTabAction(key, tab)">
- 关闭当前标签
- 关闭其它标签
- 关闭左侧标签
- 关闭右侧标签
- 关闭所有标签
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
diff --git a/src/components/layout/FooterBar.vue b/src/components/layout/FooterBar.vue
index 658fce8..e225ef1 100644
--- a/src/components/layout/FooterBar.vue
+++ b/src/components/layout/FooterBar.vue
@@ -2,7 +2,7 @@