<template>
  <div class="sidebar">
    <el-menu
      :default-active="activeIndex"
      class="sidebar-el-menu"
      mode="horizontal"
      router
    >
      <template v-for="item in items">
        <template v-if="item.subs">
          <el-submenu :index="item.index" :key="item.index">
            <template slot="title">
              <i :class="item.icon"></i>
              <span slot="title">{{ item.title }}</span>
            </template>
            <template v-for="subItem in item.subs">
              <el-submenu
                v-if="subItem.subs"
                :index="subItem.index"
                :key="subItem.index"
              >
                <template slot="title">{{ subItem.title }}</template>
                <el-menu-item
                  v-for="(threeItem, i) in subItem.subs"
                  :key="i"
                  :index="threeItem.index"
                  >{{ threeItem.title }}</el-menu-item
                >
              </el-submenu>
              <el-menu-item
                v-else
                :index="subItem.index"
                :key="subItem.index"
                >{{ subItem.title }}</el-menu-item
              >
            </template>
          </el-submenu>
        </template>
        <template v-else>
          <el-menu-item :index="item.index" :key="item.index">
            <i :class="item.icon"></i>
            <span slot="title">{{ item.title }}</span>
          </el-menu-item>
        </template>
      </template>
    </el-menu>
  </div>
</template>

<script>
export default {
  data() {
    return {
      activeIndex: "/weather",
      items: [
        {
          icon: "iconfont icon-qixiang",
          index: "/weather",
          title: "气象监测",
        },
        {
          icon: "iconfont icon-fubing",
          index: "/icing",
          title: "覆冰监测",
        },
        // {
        //   icon: "el-icon-s-marketing",
        //   index: "/equipmentStatus",
        //   title: "设备状态",
        // },
        {
          icon: "el-icon-files",
          index: "/property",
          title: "资产管理",
          subs: [
            {
              index: "/lineInformation",
              title: "线路管理",
            },
            {
              index: "/towerInformation",
              title: "杆塔管理",
            },

            {
              index: "/photographicDevice",
              title: "监测终端管理",
            },
          ],
        },
      ],
    };
  },
  watch: {
    $route() {
      this.setCurrentRoute();
    },
  },
  methods: {
    setCurrentRoute() {
      this.activeIndex = this.$route.path; // 通过他就可以监听到当前路由状态并激活当前菜单
    },
  },
  created() {
    this.setCurrentRoute();
  },
};
</script>

<style lang="less">
.sidebar {
  .el-menu--horizontal {
    background: #1c77ac;

    .el-menu-item {
      height: 56px;
      line-height: 56px;
    }
    .el-submenu .el-submenu__title {
      height: 56px;
      line-height: 56px;
    }
    .el-submenu__title {
      padding: 0 10px;
    }
    .el-dropdown-menu__item,
    .el-menu-item,
    .el-submenu__title {
      font-size: 16px;
    }
    .el-menu-item i {
      color: #666;
    }
    .el-menu-item.is-active {
      i {
        color: #1c77ac;
      }
    }
    .el-submenu.is-active .el-submenu__title > i {
      &:first-child {
        color: #333;
      }
    }
  }
  .el-menu {
    background: #1c77ac;

    i {
      color: #fff !important;
    }
    .el-menu-item {
      color: #fff;
    }
    .el-submenu .el-submenu__title {
      color: #fff;
    }
    .el-menu-item:not(.is-disabled):focus,
    .el-menu-item:not(.is-disabled):hover {
      color: #fff;
      background-color: #0e5b87;
      border-bottom: 2px solid #0e5b87;
      i {
        color: #fff !important;
      }
    }
    .el-submenu:focus .el-submenu__title,
    .el-submenu:hover .el-submenu__title {
      color: #fff !important;
      background-color: #0e5b87;
      border-bottom: 2px solid #0e5b87;
      i {
        color: #fff !important;
      }
    }
  }
  .el-menu--horizontal > .el-menu-item.is-active {
    border-bottom: 2px solid #0e5b87 !important;
    color: #fff !important;
    background-color: #0e5b87 !important;
    i {
      color: #fff !important;
    }
  }
  .el-submenu.is-active {
    .el-submenu__title {
      border-bottom: 2px solid #0e5b87 !important;
      color: #fff !important;
      background-color: #0e5b87;
      i {
        color: #fff !important;
      }
    }
  }
  // .gallery-thumbs .swiper-slide-active {
  //   border: 3px solid #1c77ac !important;
  // }
  // .tags-li.active {
  //   border: 1px solid #1c77ac;
  //   background-color: #1c77ac;
  // }
  .el-menu-item [class^="iconfont"] {
    margin-right: 5px;
    width: 24px;
    text-align: center;
    font-size: 18px;
    vertical-align: middle;
  }
}
</style>
