<template> 
 | 
  <div :class="{ 'has-logo': showLogo }"> 
 | 
    <logo v-if="showLogo" :collapse="isCollapse" /> 
 | 
    <!-- <div class="logo" style="display:flex;background: #0f4567;"> 
 | 
      <img 
 | 
        style="width: 20px; height: 30px;margin: 8px 0 11px 18px" 
 | 
        :src="logo" 
 | 
      > 
 | 
      <p v-show="this.$store.state.logoDisplay" style="font-size: 15px;color: #eee;padding-left:5px">七星瓢虫环境科技</p> 
 | 
    </div> --> 
 | 
    <el-scrollbar wrap-class="scrollbar-wrapper"> 
 | 
      <el-menu 
 | 
        :default-active="activeMenu" 
 | 
        :collapse="isCollapse" 
 | 
        :background-color="variables.menuBg" 
 | 
        :text-color="variables.menuText" 
 | 
        :unique-opened="false" 
 | 
        :active-text-color="variables.menuActiveText" 
 | 
        :collapse-transition="false" 
 | 
        mode="vertical" 
 | 
      > 
 | 
        <sidebar-item 
 | 
          v-for="route in routes" 
 | 
          :key="route.path" 
 | 
          :item="route" 
 | 
          :base-path="route.path" 
 | 
        /> 
 | 
      </el-menu> 
 | 
    </el-scrollbar> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import { mapGetters } from 'vuex' 
 | 
import Logo from './Logo' 
 | 
import SidebarItem from './SidebarItem' 
 | 
import variables from '@/styles/variables.scss' 
 | 
  
 | 
export default { 
 | 
  components: { SidebarItem, Logo }, 
 | 
  data() { 
 | 
    return { 
 | 
      logo: require('@/assets/images/LOGO.png'), 
 | 
      logoDisplay: this.$store.state.logoDisplay 
 | 
    } 
 | 
  }, 
 | 
  computed: { 
 | 
    ...mapGetters([ 
 | 
      'sidebar' 
 | 
    ]), 
 | 
    sidebar() { 
 | 
      return this.$store.state.app.sidebar 
 | 
    }, 
 | 
    routes() { 
 | 
      // console.log(this.$router.options.routes) 
 | 
      return this.$router.options.routes 
 | 
    }, 
 | 
    activeMenu() { 
 | 
      const route = this.$route 
 | 
      const { meta, path } = route 
 | 
      // if set path, the sidebar will highlight the path you set 
 | 
      if (meta.activeMenu) { 
 | 
        return meta.activeMenu 
 | 
      } 
 | 
      return path 
 | 
    }, 
 | 
    showLogo() { 
 | 
      return !this.$store.state.settings.sidebarLogo 
 | 
    }, 
 | 
    variables() { 
 | 
      return variables 
 | 
    }, 
 | 
    isCollapse() { 
 | 
      return !this.sidebar.opened 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 |