luobisheng
2022-11-04 eda46bf83619297600436e5015fd8977e9974219
src/views/layout/components/Menu/index.vue
@@ -18,11 +18,11 @@
              </span>
              <span class="fisrtSpan">{{ menu.title }}</span>
            </template>
            <template v-if="menu.children.length > 0">
              <template v-for="secondMenu in menu.children">
            <template v-if="menu.menuVoArrayList.length > 0">
              <template v-for="secondMenu in menu.menuVoArrayList">
                <el-submenu
                  :key="secondMenu.id"
                  v-if="secondMenu.children.length > 0"
                  v-if="secondMenu.menuVoArrayList.length > 0"
                  :index="
                    secondMenu.url ? secondMenu.url : secondMenu.id.toString()
                  "
@@ -32,7 +32,7 @@
                    <span class="secondSpan">{{ secondMenu.title }}</span>
                  </template>
                  <el-menu-item
                    v-for="thirdMenu in secondMenu.children"
                    v-for="thirdMenu in secondMenu.menuVoArrayList"
                    :key="thirdMenu.id"
                    :index="`${thirdMenu.id}`"
                    :route="{ name: thirdMenu.url }"
@@ -42,7 +42,6 @@
                <el-menu-item
                  v-else
                  :key="secondMenu.id"
                  :index="`${secondMenu.id}`"
                  :route="{ name: secondMenu.url }"
                  >{{ secondMenu.title }}</el-menu-item
@@ -65,6 +64,7 @@
</template>
<script>
let timer = null;
export default {
  data() {
    return {
@@ -78,15 +78,19 @@
  methods: {
    loadMenu() {
      const info = JSON.parse(sessionStorage.getItem("user"));
      var timer;
      if (info && info.menus) {
        clearTimeout(timer);
        console.log("timer--", timer);
        window.clearInterval(timer);
        this.menuList = info.menus;
        console.log(this.menuList)
        console.log(this.menuList);
      } else {
        timer = setInterval(() => {
          this.loadMenu();
        }, 1000);
        if (!timer) {
          timer = window.setInterval(() => {
            this.loadMenu();
          }, 1000);
          console.log("timer++", timer);
        }
      }
    },
    // 获取菜单列表