<template>
  <div class="system_management">
    <el-container>
      <Aside
        v-bind="{
          showMenuIndex: showMenuIndex,
          menuList: menuList,
          handleMenuSelect: handleMenuSelect,
        }"
      ></Aside>
      <el-main>
        <UserManagement v-if="showIndex == '1'"></UserManagement>
        <RoleManagement v-if="showIndex == '2'"></RoleManagement>
      </el-main>
    </el-container>
  </div>
</template>

<script>
export default {
  props: {
    permission: {
      type: Number,
    },
  },
  data() {
    return {
      menuList: null,
      showIndex: "-1",
      showMenuIndex: "-1",
    };
  },
  components: {
    Aside: () => import("@/components/Currency/Aside.vue"),
    UserManagement: () =>
      import("@/components/SystemManagement/UserManagement.vue"),
    RoleManagement: () =>
      import("@/components/SystemManagement/RoleManagement.vue"),
  },
  created() {
    let that = this;
    this.menuList =
      this.$store.getters.getMenuListTotal.filter(function (item) {
      return item.permission == that.permission
    })[0].children ;
    if (this.menuList.length == 0) return;
    t("", this.menuList);
    function t(beforeindex, arr) {
      if (beforeindex == "") {
        beforeindex = arr[0].index;
      } else {
        beforeindex = beforeindex + "-" + arr[0].index;
      }
      if (arr[0].children) {
        t(beforeindex, arr[0].children);
      } else {
        that.showIndex = beforeindex;
        that.showMenuIndex = beforeindex;
      }
    }
  },
  methods: {
    handleMenuSelect(index) {
      this.showIndex = index;
    },
  },
};
</script>

<style lang="less" scoped>
.system_management {
  height: 100%;
  width: 100%;
  .el-container {
    height: 100%;
    .el-main {
      padding: 0 0;
      margin-left: 20px; 
    }
  }
}
</style>