//生成菜单 var menuItem = Vue.extend({ name: 'menu-item', props:{item:{},index:0}, template:[ '
  • ', '', '', '{{item.name}}', '', '', '', '' + '' + ' {{item.name}}' + '', '
  • ' ].join('') }); //iframe自适应 $(window).on('resize', function() { var $content = $('.content'); $content.height($(this).height() - 155); $content.find('iframe').each(function() { $(this).height($content.height()); }); }).resize(); //注册菜单组件 Vue.component('menuItem',menuItem); var vm = new Vue({ el:'#rapp', data:{ user:{}, menuList:{}, main:baseURL+"admin/modules/sys/main.html", password:'', newPassword:'', navTitle:"欢迎页", restServerBaseURL: restServerBaseURL }, methods: { getMenuList: function () { $.getJSON(restServerBaseURL + "sys/menu/nav", function(r){ vm.menuList = r.menuList; window.permissions = r.permissions; }); }, getUser: function(){ $.getJSON(restServerBaseURL + "sys/user/info", function(r){ vm.user = r.user; }); }, updatePassword: function(){ openLayerOfBtn("550px", "270px", "修改密码", "passwordLayer", vm.updatePasswordCallback); }, updatePasswordCallback: function () { var data = "password="+vm.password+"&newPassword="+vm.newPassword; $.ajax({ type: "POST", url: restServerBaseURL + "sys/user/updatePassword", data: data, dataType: "json", success: function(r){ if(r.code == 0){ layer.close(index); layer.alert('修改成功', function(){ vm.logout(); }); }else{ layer.alert(r.msg); } } }); }, logout: function () { $.ajax({ type: "POST", url: restServerBaseURL + "sys/logout", dataType: "json", success: function(r){ //删除本地token sessionStorage.removeItem("token"); //跳转到登录页面 location.href = restServerBaseURL + 'admin/login.html'; } }); } }, created: function(){ this.getMenuList(); this.getUser(); }, updated: function(){ //路由 var router = new Router(); routerList(router, vm.menuList); router.start(); } }); function routerList(router, menuList){ for(var key in menuList){ var menu = menuList[key]; if(menu.type == 0){ routerList(router, menu.list); }else if(menu.type == 1){ router.add('#'+menu.url, function() { var url = window.location.hash; //替换iframe的url vm.main = url.replace('#', ''); //导航菜单展开 $(".treeview-menu li").removeClass("active"); $(".sidebar-menu li").removeClass("active"); $("a[href='"+url+"']").parents("li").addClass("active"); vm.navTitle = $("a[href='"+url+"']").text(); }); } } }