Browse Source

优化globalTabs组件

tongshangming 8 months ago
parent
commit
8a5bd41fd9
4 changed files with 15 additions and 16 deletions
  1. 1 1
      package.json
  2. 7 7
      pnpm-lock.yaml
  3. 5 6
      src/components/core/GlobalTabs.vue
  4. 2 2
      src/views/system/Configure.vue

+ 1 - 1
package.json

@@ -16,7 +16,7 @@
   "dependencies": {
     "@amap/amap-jsapi-loader": "^1.0.1",
     "@element-plus/icons-vue": "^2.3.1",
-    "@fskj-admin/core": "^1.3.10",
+    "@fskj-admin/core": "^1.3.11",
     "@fskj-admin/micro": "^0.1.0",
     "@icon-park/vue-next": "^1.4.2",
     "@sentry/vue": "^8.9.2",

+ 7 - 7
pnpm-lock.yaml

@@ -12,8 +12,8 @@ dependencies:
     specifier: ^2.3.1
     version: 2.3.1(vue@3.4.29)
   '@fskj-admin/core':
-    specifier: ^1.3.10
-    version: 1.3.10
+    specifier: ^1.3.11
+    version: 1.3.11
   '@fskj-admin/micro':
     specifier: ^0.1.0
     version: 0.1.0
@@ -879,8 +879,8 @@ packages:
     resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
     dev: false
 
-  /@fskj-admin/core@1.3.10:
-    resolution: {integrity: sha512-PaJf3CEyDbNqtBiVADDCm3wSnSZV4t8apYPRXQTUb3SiLsnzsB3+nSWnDMHtsJC+9Nsh/3IEHPCCUpI+FONR2w==}
+  /@fskj-admin/core@1.3.11:
+    resolution: {integrity: sha512-Wjzw0FN1Sjj6RM+x8Vh1k7o2+5s849ehqD7y+YNrIhhWHWX8ZbVAPeYIhQ1vqi4XjDK79ltmdbR+KrxmJwI9jA==}
     dev: false
 
   /@fskj-admin/micro@0.1.0:
@@ -4343,7 +4343,7 @@ packages:
       source-map: 0.6.1
       wordwrap: 1.0.0
     optionalDependencies:
-      uglify-js: 3.19.0
+      uglify-js: 3.19.1
     dev: true
 
   /has-ansi@2.0.0:
@@ -7117,8 +7117,8 @@ packages:
     resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
     dev: true
 
-  /uglify-js@3.19.0:
-    resolution: {integrity: sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q==}
+  /uglify-js@3.19.1:
+    resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==}
     engines: {node: '>=0.8.0'}
     hasBin: true
     requiresBuild: true

+ 5 - 6
src/components/core/GlobalTabs.vue

@@ -38,10 +38,7 @@ const findActiveIndex = (fullPath: string | number) => {
 }
 
 const setTab = (tab: Tab) => {
-  activeValue.value = tab.fullPath
-  activeIndex.value = findActiveIndex(tab.fullPath)
-
-  if (tab.name === 'login' || tabs.value.find(item => item.fullPath === tab.fullPath)) {
+  if (tab.name === 'login' || tabs.value.find(item => item.name === tab.name)) {
     return
   }
   tabs.value.push(tab)
@@ -92,9 +89,11 @@ const removeTab = (name: TabPaneName) => {
 }
 
 watch(
-  () => route.name,
+  () => route,
   to => {
-    setTab(routeToTab(router.getRoutes()?.find(item => item.name === to)))
+    setTab(routeToTab(to))
+    activeValue.value = to.fullPath
+    activeIndex.value = findActiveIndex(to.fullPath)
   },
   {
     deep: true

+ 2 - 2
src/views/system/Configure.vue

@@ -121,8 +121,8 @@ const handleSaveEmail = () => {
             </div>
             <div>
               <el-radio-group v-model="singleLoginType" :disabled="!isSingleLogin">
-                <el-radio label="1" size="large">后登录踢出先登录</el-radio>
-                <el-radio label="2" size="large">已登录禁止再登录</el-radio>
+                <el-radio value="1" size="large">后登录踢出先登录</el-radio>
+                <el-radio value="2" size="large">已登录禁止再登录</el-radio>
               </el-radio-group>
             </div>
             <div class="btn">