<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: "/stritl",
      items: [
        {
          icon: "el-icon-s-home",
          index: "/stritl",
          title: "首页",
        },
        {
          icon: "el-icon-camera",
          index: "/realTimeMonitor",
          title: "实时监控",
        },
        {
          icon: "el-icon-film",
          index: "/pictureRotation",
          title: "图片轮巡",
        },
        {
          icon: "el-icon-bell",
          index: "/photoAlarm",
          title: "告警处理",
        },
        {
          icon: "el-icon-search",
          index: "/realTimeSearch",
          title: "历史图片",
        },
        {
          icon: "el-icon-files",
          index: "/property",
          title: "资产管理",
          subs: [
            {
              index: "/lineInformation",
              title: "线路信息管理",
            },
            {
              index: "/towerInformation",
              title: "杆塔信息管理",
            },

            {
              index: "/cameraChannel",
              title: "通道管理",
            },
            {
              index: "/photographicDevice",
              title: "拍照装置管理",
            },
            {
              index: "/devicePhotoSchedule",
              title: "拍照时间表设置",
            },
          ],
        },
        {
          icon: "el-icon-monitor",
          index: "/system",
          title: "系统管理",
          subs: [
            {
              index: "/userManagement",
              title: "用户管理",
            },
            {
              index: "/roleManagement",
              title: "角色管理",
            },
            {
              index: "/menuManagement",
              title: "菜单功能管理",
            },
            {
              index: "/deviceUpgrade",
              title: "升级管理",
            },

            {
              index: "/globalTools",
              title: "全局设置",
            },
            {
              index: "/waterMark",
              title: "水印下发",
            },
          ],
        },
      ],
      items1: [
        {
          icon: "el-icon-s-home",
          index: "stritl",
          title: "首页",
        },
        {
          icon: "el-icon-camera",
          index: "/realTimeMonitor",
          title: "实时监控",
        },

        {
          icon: "el-icon-film",
          index: "/pictureRotation",
          title: "图片轮巡",
        },
        {
          icon: "el-icon-bell",
          index: "/photoAlarm",
          title: "告警处理",
        },

        {
          icon: "el-icon-search",
          index: "/realTimeSearch",
          title: "历史图片",
        },
        {
          icon: "el-icon-files",
          index: "/property",
          title: "资产管理",
          subs: [
            {
              index: "/lineInformation",
              title: "线路信息管理",
            },
            {
              index: "/towerInformation",
              title: "杆塔信息管理",
            },

            {
              index: "/cameraChannel",
              title: "通道管理",
            },
            {
              index: "/photographicDevice",
              title: "拍照装置管理",
            },
            {
              index: "/devicePhotoSchedule",
              title: "拍照时间表设置",
            },
          ],
        },
        {
          icon: "el-icon-monitor",
          index: "/system",
          title: "系统管理",
          subs: [
            {
              index: "/userManagement",
              title: "用户管理",
            },
          ],
        },
      ],
      items2: [
        {
          icon: "el-icon-s-home",
          index: "stritl",
          title: "首页",
        },
        {
          icon: "el-icon-camera",
          index: "/realTimeMonitor",
          title: "实时监控",
        },

        {
          icon: "el-icon-film",
          index: "/pictureRotation",
          title: "图片轮巡",
        },
        {
          icon: "el-icon-bell",
          index: "photoAlarm",
          title: "告警处理",
        },
        {
          icon: "el-icon-search",
          index: "/realTimeSearch",
          title: "历史图片",
        },
        {
          icon: "el-icon-files",
          index: "/property",
          title: "资产管理",
          subs: [
            {
              index: "/lineInformation",
              title: "线路信息管理",
            },
            {
              index: "/towerInformation",
              title: "杆塔信息管理",
            },

            {
              index: "/photographicDevice",
              title: "拍照装置管理",
            },
            {
              index: "/devicePhotoSchedule",
              title: "拍照时间表设置",
            },
          ],
        },
      ],
      hnjcitems: [
        {
          icon: "el-icon-s-home",
          index: "stritl",
          title: "首页",
        },
        {
          icon: "el-icon-camera",
          index: "/realTimeMonitor",
          title: "实时监控",
        },
        {
          icon: "el-icon-film",
          index: "/pictureRotation",
          title: "图片轮巡",
        },
        {
          icon: "el-icon-bell",
          index: "photoAlarm",
          title: "告警处理",
        },
        {
          icon: "el-icon-search",
          index: "/realTimeSearch",
          title: "历史图片",
        },
      ],
      role: "",
      menuList: [],
    };
  },

  watch: {
    $route() {
      this.setCurrentRoute();
    },
  },
  methods: {
    setCurrentRoute() {
      console.log(this.$route.path);
      this.activeIndex = this.$route.path; // 通过他就可以监听到当前路由状态并激活当前菜单
    },
  },
  created() {
    console.log("我是被选中的", this.activeIndex);
    this.setCurrentRoute();
    this.role = localStorage.getItem("role");
    console.log("用户管理");
    console.log(this.role);
    // if (this.role == 0) {
    //   this.items = this.items;
    // } else {
    //   this.menuList = JSON.parse(localStorage.getItem("menuPermission"));
    //   this.items = this.menuList;
    // }

    if (this.role == 0) {
      this.items = this.items;
    } else if (this.role == 1) {
      this.items = this.items1;
    } else if (this.role == 2) {
      this.items = this.items2;
    } else if (this.role == 4) {
      this.items = this.hnjcitems;
    }
    this.activeIndex = this.items[0].index;
    console.log(this.items);
    console.log(this.activeIndex);
  },
};
</script>

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

    .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: #169e8c;
      }
    }
    .el-submenu.is-active .el-submenu__title > i {
      &:first-child {
        color: #333;
      }
    }
  }
  .el-menu {
    background: #169e8c;

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