menu.js 1.11 KB
import menuData from "@/api/mock/menu-data.js";
import store from "@/store";

export default {
    getMenus() {
        return menuData.getMenus();
    },
    getMenuByAlias(alias, cb) {
        let r = null;
        let _menu = store.state.menu.menus;
        if(!_menu || _menu.length==0 ){
          let storageMenus = sessionStorage.getItem("currentMenus");
          if(storageMenus &&  storageMenus !='undefined'){
              _menu = JSON.parse(storageMenus);
          } 
        }
        _menu.forEach( function(x) {
          if((!r || r.length==0 ) && x.children){
            r = x.children.filter(m => m.alias == alias);
            if(r && r.length==1){
                r[0].parent = x;
            }else{
              x.children.forEach(function(z) {
                if((!r || r.length==0) && z.children){
                    r = z.children.filter(m => m.alias == alias);
                    if(r&&r.length==1){
                        z.parent = x;
                        r[0].parent = z;
                    }
                }
              })
            }
          }
        });
        cb(r&&r[0]);
    },
}