Browse Source

feat: 支持后端传component组件路径

xiaoxian521 3 years ago
parent
commit
5828ad55a1

+ 2 - 1
src/layout/components/setting/index.vue

@@ -266,6 +266,7 @@ function setLayoutThemeColor(theme: string) {
 
 // 设置ep主题色
 const setEpThemeColor = (color: string) => {
+  // @ts-expect-error
   writeNewStyle(createNewStyle(color));
   useEpThemeStoreHook().setEpThemeColor(color);
   body.style.setProperty("--el-color-primary-active", shadeBgColor(color));
@@ -298,7 +299,7 @@ nextTick(() => {
   settings.weakVal &&
     document.querySelector("html")?.setAttribute("class", "html-weakness");
   settings.tabsVal && tagsChange();
-
+  // @ts-expect-error
   writeNewStyle(createNewStyle(epThemeColor.value));
   dataThemeChange();
 });

+ 0 - 7
src/layout/components/sidebar/horizontal.vue

@@ -46,13 +46,6 @@ watch(
   }
 );
 
-watch(
-  () => route.path,
-  () => {
-    menuSelect(route.path, routers);
-  }
-);
-
 function translationCh() {
   instance.locale = { locale: "zh" };
   locale.value = "zh";

+ 0 - 1
src/layout/components/sidebar/vertical.vue

@@ -51,7 +51,6 @@ watch(
   () => route.path,
   () => {
     getSubMenuData(route.path);
-    menuSelect(route.path, routers);
   }
 );
 </script>

+ 5 - 1
src/router/utils.ts

@@ -234,7 +234,11 @@ function addAsyncRoutes(arrRoutes: Array<RouteRecordRaw>) {
     } else if (v.meta?.frameSrc) {
       v.component = IFrame;
     } else {
-      const index = modulesRoutesKeys.findIndex(ev => ev.includes(v.path));
+      // 对后端传component组件路径和不传做兼容(如果后端传component组件路径,那么path可以随便写,如果不传,component组件路径会根path保持一致)
+      const index = v?.component
+        ? // @ts-expect-error
+          modulesRoutesKeys.findIndex(ev => ev.includes(v.component))
+        : modulesRoutesKeys.findIndex(ev => ev.includes(v.path));
       v.component = modulesRoutes[modulesRoutesKeys[index]];
     }
     if (v.children) {