main.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import Vue from 'vue'
  2. import App from './App'
  3. import VueRouter from 'vue-router'
  4. import ElementUI from 'element-ui'
  5. import 'element-ui/lib/theme-chalk/index.css'
  6. import store from './vuex/store'
  7. import Vuex from 'vuex'
  8. import routes from './routes'
  9. import http from './http'
  10. Vue.prototype.http = http
  11. import port from './port'
  12. Vue.prototype.port = port
  13. import VueClipboard from 'vue-clipboard2'
  14. Vue.use(VueClipboard)
  15. import 'font-awesome/css/font-awesome.min.css'
  16. import './assets/iconfont/iconfont.css'
  17. Vue.use(ElementUI)
  18. Vue.use(VueRouter)
  19. Vue.use(Vuex)
  20. const router = new VueRouter({
  21. routes
  22. })
  23. router.beforeEach((to, from, next) => {
  24. if(to.name != '邀请') {
  25. if (to.path == '/login') {
  26. sessionStorage.removeItem('user');
  27. }
  28. let user = JSON.parse(sessionStorage.getItem('user'));
  29. if (!user && to.path != '/login') {
  30. next({ path: '/login' })
  31. } else {
  32. if(user){
  33. for(var i in routes){
  34. if(routes[i].name == "基础管理" && user.parentId != 0){
  35. routes[i].hidden = true
  36. } else if(routes[i].name == "基础管理"){
  37. routes[i].hidden = false
  38. }
  39. if(routes[i].name == "项目管理" && user.parentId > 1){
  40. var children = routes[i].children;
  41. for(var j in children){
  42. if(children[j].name == "人员管理"){
  43. if(user.isManager == 0){
  44. children[j].hidden = true
  45. } else {
  46. children[j].hidden = false
  47. }
  48. }
  49. if(children[j].name == "权限管理"){
  50. if(user.isManager == 0){
  51. children[j].hidden = true
  52. } else {
  53. children[j].hidden = false
  54. }
  55. }
  56. }
  57. } else if(routes[i].name == "项目管理") {
  58. var children = routes[i].children;
  59. for(var j in children){
  60. if(children[j].name != "项目详情"){
  61. children[j].hidden = false
  62. }
  63. if(children[j].name == "权限管理"){
  64. if((user.parentId == 0 || user.parentId == 1) && user.isManager == 0){
  65. children[j].hidden = true
  66. }
  67. }
  68. }
  69. }
  70. }
  71. }
  72. next()
  73. }
  74. } else {
  75. next()
  76. }
  77. })
  78. new Vue({
  79. router,
  80. store,
  81. render: h => h(App)
  82. }).$mount('#app')