main.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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 echarts from 'echarts'
  14. Vue.prototype.echarts = echarts
  15. import VueClipboard from 'vue-clipboard2'
  16. Vue.use(VueClipboard)
  17. import 'font-awesome/css/font-awesome.min.css'
  18. import './assets/iconfont/iconfont.css'
  19. Vue.use(ElementUI)
  20. Vue.use(VueRouter)
  21. Vue.use(Vuex)
  22. const router = new VueRouter({
  23. routes
  24. })
  25. router.beforeEach((to, from, next) => {
  26. if (to.path == '/login') {
  27. sessionStorage.removeItem('user');
  28. }
  29. let user = JSON.parse(sessionStorage.getItem('user'));
  30. if (!user && to.path != '/login') {
  31. next({ path: '/login' })
  32. } else {
  33. if(user) {
  34. for(var i in routes) {
  35. if(routes[i].name == "图书管理" || routes[i].name == "系统管理") {
  36. if(user.roleType == 0) {
  37. routes[i].hidden = false
  38. } else {
  39. routes[i].hidden = true
  40. }
  41. }
  42. if(routes[i].name == "机构详情") {
  43. if(user.roleType == 0) {
  44. routes[i].hidden = true
  45. } else {
  46. routes[i].hidden = false
  47. }
  48. }
  49. if(routes[i].name == "培训机构") {
  50. if(user.roleType == 0) {
  51. routes[i].hidden = false
  52. } else {
  53. routes[i].hidden = true
  54. }
  55. }
  56. }
  57. }
  58. }
  59. // let user = JSON.parse(sessionStorage.getItem('user'));
  60. // if (!user && to.path != '/login') {
  61. // next({ path: '/login' })
  62. // } else {
  63. // if(user){
  64. // for(var i in routes){
  65. // if(routes[i].name == "基础管理" && user.parentId != 0){
  66. // routes[i].hidden = true
  67. // } else if(routes[i].name == "基础管理"){
  68. // routes[i].hidden = false
  69. // }
  70. // if(routes[i].name == "项目管理" && user.parentId > 1){
  71. // var children = routes[i].children;
  72. // for(var j in children){
  73. // if(children[j].name == "人员管理"){
  74. // if(user.isManager == 0){
  75. // children[j].hidden = true
  76. // } else {
  77. // children[j].hidden = false
  78. // }
  79. // }
  80. // if(children[j].name == "权限管理"){
  81. // if(user.isManager == 0){
  82. // children[j].hidden = true
  83. // } else {
  84. // children[j].hidden = false
  85. // }
  86. // }
  87. // }
  88. // } else if(routes[i].name == "项目管理") {
  89. // var children = routes[i].children;
  90. // for(var j in children){
  91. // if(children[j].name != "项目详情"){
  92. // children[j].hidden = false
  93. // }
  94. // if(children[j].name == "权限管理"){
  95. // if((user.parentId == 0 || user.parentId == 1) && user.isManager == 0){
  96. // children[j].hidden = true
  97. // }
  98. // }
  99. // }
  100. // }
  101. // }
  102. // }
  103. // next()
  104. // }
  105. next()
  106. })
  107. new Vue({
  108. router,
  109. store,
  110. render: h => h(App)
  111. }).$mount('#app')