From d4f427bf7c0ff1cf0ed1ac420bba8a063f9ef840 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 02 七月 2024 17:25:39 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/views/IndexView.vue |   57 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/zy-asrs-admin/src/views/IndexView.vue b/zy-asrs-admin/src/views/IndexView.vue
index 73729c8..e5aa0ae 100644
--- a/zy-asrs-admin/src/views/IndexView.vue
+++ b/zy-asrs-admin/src/views/IndexView.vue
@@ -21,7 +21,7 @@
 const collapsed = ref(false);
 const router = useRouter();
 let routerCache = ref([]);
-let routerCacheMap = ref(new Map());
+let routerCacheList = ref([]);
 let currentCache = ref(null);
 let isRouterAlive = ref(true);
 const menuCache = ref([]);
@@ -38,40 +38,57 @@
 }
 
 function menuSelect(item) {
-  console.log(item.key);
   router.push({
     path: item.key
   })
 
   let name = item.item.name;
   currentCache.value = name;
-  // console.log(routerCache.value);
 
   if (name != undefined && routerCache.value.indexOf(name) == -1) {
     routerCache.value.push(item.item.name)
-    routerCacheMap.value.set(name, item.key)
+    routerCacheList.value.push({
+      key: item.key,
+      languageId: item.item.languageId,
+      name: item.item.name,
+    })
   }
 }
 
-function closeTabs(name) {
+function closeTabs(param) {
+  let name = param.name;
   let tmp = []
+  let tmpList = [];
   routerCache.value.forEach((item) => {
     if (item != name) {
       tmp.push(item);
     }
   })
 
+  routerCacheList.value.forEach((item) => {
+    if (item.name != name) {
+      tmpList.push(item);
+    }
+  })
+
+  console.log(tmpList);
+
   if (tmp == 0) {
     router.push({
       path: '/'
     })
     routerCache.value.push('home')
-    routerCacheMap.value.set('home', '/')
+    routerCacheList.value.push({
+      key: '/',
+      languageId: 'common.home',
+      name: '涓婚〉',
+    })
     selectedKeys.value = ['/']
   } else {
-    switchTabs(tmp[0]);
+    switchTabs(tmpList[0]);
   }
   routerCache.value = tmp;
+  routerCacheList.value = tmpList;
 }
 
 function reloadTabs() {
@@ -89,23 +106,19 @@
   }
 }
 
-function switchTabs(name) {
+function switchTabs(item) {
   router.push({
-    path: routerCacheMap.value.get(name)
+    path: item.key
   })
 
-  currentCache.value = name;
-  selectedKeys.value = [routerCacheMap.value.get(name)]
-
-  // console.log(routerCacheMap, name, routerCacheMap.value.get(name));
-
+  currentCache.value = item.name;
+  selectedKeys.value = [item.key]
 }
 
 const switchLocale = (locale) => {
   globalState.locale = locale;
   localStorage.setItem('locale', locale)
   reloadTabs()
-  console.log(locale);
 }
 
 </script>
@@ -126,12 +139,12 @@
           <template #title>
             <span>
               <component :is="components[ref(item.icon).value]" />
-              {{ item.name }}
+              {{ formatMessage(item.languageId, item.name) }}
             </span>
           </template>
           <div v-for="(child, idx) in item.children">
-            <a-menu-item v-if="child.status == 1" :key="child.route" :name="child.name">
-              {{ child.name }}
+            <a-menu-item v-if="child.status == 1" :key="child.route" :name="child.name" :languageId="child.languageId">
+              {{ formatMessage(child.languageId, child.name) }}
             </a-menu-item>
           </div>
         </a-sub-menu>
@@ -177,12 +190,12 @@
       </a-layout-header>
       <a-layout-content class="content-view">
         <div class="tabs-fixed">
-          <div v-for="(item, index) in routerCache" :key="index" @click="switchTabs(item)" class="tabs-item"
-            :class="currentCache == item ? 'tabs-item-active' : ''">
-            <div :class="currentCache == item ? '' : 'tabs-item-reload-none'" @click="reloadTabs" @click.stop>
+          <div v-for="(item, index) in routerCacheList" :key="index" @click="switchTabs(item)" class="tabs-item"
+            :class="currentCache == item.name ? 'tabs-item-active' : ''">
+            <div :class="currentCache == item.name ? '' : 'tabs-item-reload-none'" @click="reloadTabs" @click.stop>
               <RedoOutlined />
             </div>
-            <div>{{ item }}</div>
+            <div>{{ formatMessage(item.languageId, item.name) }}</div>
             <div @click="closeTabs(item)" @click.stop>
               <CloseOutlined />
             </div>

--
Gitblit v1.9.1