| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import Vue from 'vue'
- import App from './App'
- import VueClipboard from 'vue-clipboard2'
- Vue.use(VueClipboard)
- import VueRouter from 'vue-router'
- Vue.use(VueRouter)
- import ElementUI from 'element-ui'
- import 'element-ui/lib/theme-chalk/index.css'
- Vue.use(ElementUI)
- import i18n from './i18n/i18n'
- import store from './vuex/store'
- import Vuex from 'vuex'
- import routes from './routes'
- import http from './http'
- Vue.prototype.http = http
- import port from './port'
- Vue.prototype.port = port
- import echarts from 'echarts'
- Vue.prototype.echarts = echarts
- import 'font-awesome/css/font-awesome.min.css'
- import './assets/iconfont/iconfont.css'
- Vue.use(Vuex)
- const router = new VueRouter({
- routes
- })
- router.beforeEach((to, from, next) => {
- if(to.name != '邀请') {
- var navigation = {};
- if(i18n.locale == "en-US") {
- navigation = require('./i18n/lang/en').default.navigation;
- } else {
- navigation = require('./i18n/lang/zh').default.navigation;
- }
- if (to.path == '/login') {
- sessionStorage.removeItem('user');
- }
-
- let user = JSON.parse(sessionStorage.getItem('user'));
- if (!user && to.path != '/login') {
- next({ path: '/login' })
- } else {
- if(user){
- for(var i in routes){
- if(routes[i].name == navigation.base && user.parentId != 0){//基础管理
- routes[i].hidden = true
- } else if(routes[i].name == navigation.base){//基础管理
- routes[i].hidden = false
- }
-
- if(routes[i].name == navigation.pro && user.parentId > 1){//项目管理
- var children = routes[i].children;
- for(var j in children){
-
- if(children[j].name == navigation.staff){//人员管理
- if(user.isManager == 0){
- children[j].hidden = true
- } else {
- children[j].hidden = false
- }
- }
-
- if(children[j].name == navigation.power){//权限管理
- if(user.isManager == 0){
- children[j].hidden = true
- } else {
- children[j].hidden = false
- }
- }
- }
- } else if(routes[i].name == navigation.pro) {//项目管理
- var children = routes[i].children;
- for(var j in children){
- if(children[j].name != "项目详情"){
- children[j].hidden = false
- }
-
- if(children[j].name == navigation.power){//权限管理
- if((user.parentId == 0 || user.parentId == 1) && user.isManager == 0){
- children[j].hidden = true
- }
- }
- }
- }
- }
- }
- next()
- }
- } else {
- next()
- }
- })
- new Vue({
- router,
- store,
- i18n,
- render: h => h(App)
- }).$mount('#app')
|