// import Vue from 'vue' // import VueRouter from 'vue-router' // Vue.use(VueRouter) // import ElementUI from 'element-ui' //全局修改默认配置,点击空白处不能关闭弹窗 // Dialog.props.closeOnClickModal.default = false // Vue.use(ElementUI) // import Vuex from 'vuex' // Vue.use(Vuex) // import echarts from 'echarts' // import 'element-ui/lib/theme-chalk/index.css' import App from './App' import store from './vuex/store' // import routes from './routes' import http from './http' import port from './port' import $ from 'jquery' Vue.prototype.http = http Vue.prototype.port = port Vue.prototype.echarts = echarts import VueClipboard from 'vue-clipboard2' Vue.use(VueClipboard) import 'font-awesome/css/font-awesome.min.css' import './assets/iconfont/iconfont.css' import './assets/myfont/iconfont.css' // const router = new VueRouter({ // routes // }) import { staffRouter, manageRouter, fixedRouter,leaderRouter } from './routes' import router from './routes' import NProgress from 'nprogress' import 'nprogress/nprogress.css' var addRouFlag = false; router.beforeEach((to, from, next) => { NProgress.start(); if (to.path == '/register') { next(); return; } if(to.path != '/daily') { sessionStorage.removeItem("from") } if (to.path == '/login') { sessionStorage.removeItem('user'); } let user = JSON.parse(sessionStorage.getItem('user')); if (!user && to.path != '/login') { next({ path: '/login' }) } else { if (!addRouFlag) { if(user != null) { addRouFlag = true if(user.role == 0) { var getRoutes = baseRoleGetRouters(user.leader?leaderRouter:staffRouter, 1); global.antRouter = fixedRouter.concat(getRoutes); router.addRoutes(fixedRouter.concat(getRoutes)); router.options.routes = fixedRouter.concat(getRoutes); router.push({ path: to.path }) } else { var getRoutes = baseRoleGetRouters(manageRouter, 1); global.antRouter = fixedRouter.concat(getRoutes); router.addRoutes(fixedRouter.concat(getRoutes)); router.options.routes = fixedRouter.concat(getRoutes); router.push({ path: to.path }) } } } next() } }) function baseRoleGetRouters(allRoutes, roles) { // allRoutes是动态路由表 // roles是取到的用户角色,数组 let rightRoutes = allRoutes.filter((route, index) => { if (true) { if (route.children && route.children.length) { route.children = baseRoleGetRouters(route.children, roles) } return true } return false }) return rightRoutes } function hasPermission(route, roles) { if (route.meta && route.meta.roles) { return roles.some(role => route.meta.roles.indexOf(role) >= 0) } else { return true } } router.afterEach(() => { NProgress.done(); // 百度统计 setTimeout(()=>{ var _hmt = _hmt || []; (function() { //每次执行前,先移除上次插入的代码 document.getElementById('baidu_tj') && document.getElementById('baidu_tj').remove(); var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b485cd24e5dcbe73d4dde5abf7dc8ae0"; hm.id = "baidu_tj" var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); },0); }) new Vue({ router, store, render: h => h(App) }).$mount('#app')