//后台首页vue.js文件 //生成菜单 var menuItem = Vue.extend({ name: 'menu-item', props:{item:{}}, template:[ '
  • ', '', '', '{{item.name}}', '', '', '', ' {{item.name}}', '
  • ' ].join('') }); //iframe自适应 $(window).on('resize', function() { var $content = $('.content'); $content.height($(this).height() - 120); $content.find('iframe').each(function() { $(this).height($content.height()); }); }).resize(); //注册菜单组件 Vue.component('menuItem',menuItem); var vm = new Vue({ el:'#rrapp', data:{ user:{}, menuList:{}, main:"sys/main.html", password:'', newPassword:'', navTitle:"控制台" }, methods: { getMenuList: function (event) { $.getJSON("sys/menu/user?_"+$.now(), function(r){ vm.menuList = r.menuList; }); }, getUser: function(){ $.getJSON("sys/user/info?_"+$.now(), function(r){ vm.user = r.user; }); }, updatePassword: function(){ layer.open({ type: 1, skin: 'layui-layer-molv', title: "修改密码", area: ['550px', '270px'], shadeClose: false, content: jQuery("#passwordLayer"), btn: ['修改','取消'], btn1: function (index) { var data = "password="+vm.password+"&newPassword="+vm.newPassword; $.ajax({ type: "POST", url: "sys/user/password", data: data, dataType: "json", success: function(result){ if(result.code == 0){ layer.close(index); layer.alert('修改成功', function(index){ location.reload(); }); }else{ layer.alert(result.msg); } } }); } }); } }, 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"); $("a[href='"+url+"']").parents("li").addClass("active"); vm.navTitle = $("a[href='"+url+"']").text(); }); } } }