lxl
2022-10-26 0da6ffc479eceef01478c6aaf6621fe293e3f7c3
src/components/navMenu.vue
@@ -37,7 +37,7 @@
import { logout } from "@/api/api";
import { removeToken, getToken } from "@/utils/auth";
import customElMenu from "../components/customElMenu.vue";
import { queryMenuTree, updateMenuTree, queryMaxId } from "../api/api";
import { queryMenuTree, getPerms } from "../api/api";
export default {
  name: "navMenu",
@@ -66,8 +66,22 @@
  },
  mounted() {
    this.getMenuTree();
    this.getUserPerms();
  },
  computed: {},
  computed: {
    // 我们使用计算属性来获取到当前点击的菜单的路由路径,然后设置default-active中的值
    // 使得菜单在载入时就能对应高亮
    // activeIndex() {
    //   const route = this.$route;
    //   const { meta, path } = route;
    //   // if set path, the sidebar will highlight the path you set
    //   // 可以在路由配置文件中设置自定义的路由路径到meta.activeMenu属性中,来控制菜单自定义高亮显示
    //   if (meta.activeMenu) {
    //     return meta.activeMenu;
    //   }
    //   return path;
    // },
  },
  methods: {
    getMenuTree() {
      //获取目录树最大ID,新建节点使用
@@ -150,6 +164,14 @@
      }
    },
    handleselect(index, indexPath) {
      if (Window.ws != null) {
        Window.ws.close();
        Window.ws.onclose = () => {
          console.log("服务器关闭");
        };
        Window.ws = null;
      }
      if (index.indexOf("http") != -1) {
        this.$router.push("/databaseMonitoring");
        this.$store.commit("getIframe", index);
@@ -157,12 +179,26 @@
        this.$router.push(index);
      }
    },
    getUserPerms() {
      getPerms().then((res) => {
        this.$commit("getPermsEntity", res.result);
      });
    },
  },
  watch: {
    $route() {
      this.activeIndex = this.$route.path;
      let str = this.$route.path;
      if (str[0] == "/") {
        this.activeIndex = str.slice(1);
      }
    },
  },
  created() {
    let str = this.$route.path;
    if (str[0] == "/") {
      this.activeIndex = str.slice(1);
    }
  },
};
</script>
<style lang="less" scoped>