nav.vue 2.92 KB
<template>
  <el-container id="nav">
    <el-aside width="10%">
      <el-menu :default-active="$route.path" class="el-menu-vertical-demo" router :collapse="false" text-color="white" background-color="black" active-text-color="#ffd04b">
        <div style="height:20%;text-align:center">
          <img src="../assets/logo.png" alt="" style="width:100%;height:26%">
        </div>

        <el-menu-item index="/nav/search">
          <i class="icon i-search"></i>
          <span slot="title">检索合同</span>
        </el-menu-item>
        <el-menu-item index="/nav/contract/0" @click="contract" v-if="contract_show">
          <i class="icon i-file"></i>
          <span slot="title">合同信息</span>
        </el-menu-item>
        <el-menu-item index="/nav/manage" v-show="management">
          <i class="icon i-setting"></i>
          <span slot="title">后台管理</span>
        </el-menu-item>
        <el-menu-item index="/nav/user">
          <i class="icon i-user"></i>
          <span slot="title">个人管理</span>
        </el-menu-item>
        <el-menu-item index="" @click="exit">
          <i class="icon i-login"></i>
          <span slot="title">退出</span>
        </el-menu-item>
      </el-menu>
    </el-aside>

    <el-main>
      <keep-alive include="search">
        <router-view></router-view>
      </keep-alive>
    </el-main>
  </el-container>

</template>

<script>
export default {
  name: "HelloWorld",
  data() {
    return {
      management: false,
      username: "",
      department: "",
      collapse: true,
      contract_show: true,
    };
  },

  methods: {
    contract() {
      if (sessionStorage.getItem("modify")) {
        sessionStorage.removeItem("modify");
      }
    },
    exit() {
      this.$confirm("确认退出?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          sessionStorage.clear();
          this.$router.push({ path: "/" });
        })
        .catch(() => {});
    }
  },
  beforeCreate() {
    if (!sessionStorage.getItem("login_check")) {
      alert("请登录");
      this.$router.push({ path: "/" });
    }
  },
  created() {
    if (sessionStorage.getItem("user_roles") != "null" && sessionStorage.getItem("user_roles")) {
      var roles = JSON.parse(sessionStorage.getItem("user_roles"));
      for (let i = 0; i < roles.length; i++) {
        const e = roles[i];
        if (e.role_unid == "91d5185d47e3bad099e17570b0dd0ed2") {
          this.management = true;
        }
      }
    }else{
      this.contract_show = false;
    }
    if (sessionStorage.getItem("manager")) {
      this.management = true;
      this.contract_show = true;
    }
  }
};
</script>

<style>
.el-container > .el-main {
  text-align: center;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0px;
  overflow-y: scroll;
}
.el-container,
.el-aside {
  height: 100%;
}
.el-aside > .el-menu {
  height: 100%;
}

</style>