Bläddra i källkod

无菜单问题修改

zhangjie 2 år sedan
förälder
incheckning
538e3070e9
3 ändrade filer med 49 tillägg och 4 borttagningar
  1. 6 0
      src/router.js
  2. 37 0
      src/views/404.vue
  3. 6 4
      src/views/Home.vue

+ 6 - 0
src/router.js

@@ -2,6 +2,7 @@ import Vue from "vue";
 import Router from "vue-router";
 
 import Home from "./views/Home.vue";
+import NotFound from "./views/404.vue";
 import login from "./modules/login/router";
 // module-admin
 import admin from "./modules/admin/router";
@@ -36,6 +37,11 @@ let router = new Router({
       component: Home,
       children: [...admin],
     },
+    {
+      path: "*",
+      name: "404",
+      component: NotFound,
+    },
     // [lazy-loaded] route level code-splitting
     // {
     //   path: "/about",

+ 37 - 0
src/views/404.vue

@@ -0,0 +1,37 @@
+<template>
+  <div class="not-found login-home">
+    <div class="login-box not-found-content">
+      <h1>404</h1>
+      <p>非常抱歉,您访问的页面不存在!</p>
+      <el-button
+        type="primary"
+        icon="el-icon-arrow-left"
+        @click="$router.back()"
+        >返回</el-button
+      >
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "not-found",
+  data() {
+    return {};
+  },
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped>
+.not-found-content {
+  h1 {
+    font-size: 150px;
+    line-height: 1;
+  }
+  p {
+    font-size: 16px;
+    margin-bottom: 10px;
+  }
+}
+</style>

+ 6 - 4
src/views/Home.vue

@@ -117,11 +117,12 @@ export default {
     initData() {
       this.menus = this.getMenu();
       this.privileges = this.getPrivileges();
-      console.log(this.menus);
 
       if (this.$route.name === "Home") {
-        // console.log(this.getMenuFirstRouter());
-        this.$router.replace({ name: this.getMenuFirstRouter() });
+        const nextRouteName = this.getMenuFirstRouter();
+        if (!nextRouteName) return;
+        this.$router.replace({ name: nextRouteName });
+
         return;
       }
 
@@ -141,7 +142,6 @@ export default {
         firstRouteName = menu.url;
         menu = menu.children && menu.children[0];
       }
-
       return firstRouteName;
     },
     getMenu() {
@@ -175,6 +175,8 @@ export default {
       toTree(menus);
 
       this.validRoutes = validRoutes;
+
+      if (menus.length === 1 && !menus[0].children?.length) return [];
       // console.log(JSON.stringify(menus));
       return menus;
     },