index.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <template>
  2. <div class="contartant">
  3. <div class="banner">
  4. <span>
  5. 投 诉 管 理 系 统
  6. </span>
  7. <div class="content">
  8. <div class="userImg">
  9. <i class="el-icon-s-custom"></i>
  10. </div>
  11. <span class="name">{{userName }}</span>
  12. </div>
  13. </div>
  14. <div class="nav" :style="isCollapse?'width:60px':'width:220px'">
  15. <el-scrollbar wrap-class="scrollbar-wrapper">
  16. <el-menu
  17. :default-active="activeMenu"
  18. class="el-menu-vertical-demo"
  19. @open="handleOpen"
  20. @close="handleClose"
  21. :collapse="isCollapse"
  22. @select="handleSelect"
  23. >
  24. <el-submenu v-for="(item,ind) in navList" :index="item.index" :key="ind">
  25. <template slot="title">
  26. <i :class="item.icon"></i>
  27. <span slot="title">{{item.name}}</span>
  28. </template>
  29. <el-menu-item-group>
  30. <!-- <router-link v-for="(it,i) in item.children" :key="i" :to="it.url">
  31. <el-menu-item :index="it.name">{{it.name}}</el-menu-item>
  32. </router-link> -->
  33. <el-menu-item v-for="(it,i) in item.children" :key="i" :index="it.index" @click="navLike(it)">{{it.name}}</el-menu-item>
  34. </el-menu-item-group>
  35. </el-submenu>
  36. </el-menu>
  37. </el-scrollbar>
  38. <div class="isfold" :style="isCollapse?'width:60px':'width:220px'" @click="isfoldFun">
  39. <i :class="isfold?'el-icon-d-arrow-right ifont':'el-icon-d-arrow-left ifont'" ></i>
  40. </div>
  41. </div>
  42. <div class="content" :style="isCollapse?`width: calc(100% - 60px)`:`width: calc(100% - 220px)`">
  43. <div class="tagContainer">
  44. <span class="marginRight5">{{(activeMenuName=='操作日志'|| activeMenuName=='登录日志')?'日志管理':'权限管理'}}</span>
  45. /<span class="fontBlur pointer marginLeft5">{{activeMenuName}}</span>
  46. </div>
  47. <div class="list">
  48. <!-- <keep-alive> -->
  49. <router-view />
  50. <!-- </keep-alive> -->
  51. </div>
  52. </div>
  53. </div>
  54. </template>
  55. <script>
  56. export default {
  57. name: "Permissions",
  58. components: {},
  59. data() {
  60. return {
  61. isfold: false,
  62. isCollapse:false,
  63. userName:'',
  64. navList: [
  65. {
  66. name: '权限管理',
  67. icon: 'el-icon-s-tools',
  68. index: '0',
  69. children: [
  70. {
  71. name: '角色介绍',
  72. url:'/permissions/role',
  73. index: '0-0'
  74. },
  75. {
  76. name: '模块介绍',
  77. url:'/permissions/module',
  78. index: '0-1'
  79. },
  80. {
  81. name: '用户管理',
  82. url:'/permissions/user',
  83. index: '0-2'
  84. },
  85. ]
  86. },
  87. {
  88. name: '日志管理',
  89. icon: 'el-icon-s-order',
  90. id:'1',
  91. children: [
  92. {
  93. name: '操作日志',
  94. url:'/permissions/operate',
  95. index: '1-0'
  96. },
  97. {
  98. name: '登录日志',
  99. url:'/permissions/login',
  100. index: '1-1'
  101. },
  102. ]
  103. },
  104. ],
  105. activeMenu: "0-0",
  106. activeMenuName: "角色介绍",
  107. };
  108. },
  109. created() {
  110. this.$router.push({
  111. path:'/permissions/role',
  112. query: {
  113. token: sessionStorage.getItem('Authorization-Token'),
  114. fromSystem: sessionStorage.getItem('Authorization-fromSystem'),
  115. }
  116. })
  117. this.userName = sessionStorage.getItem('userNameData')
  118. this.init();
  119. },
  120. methods: {
  121. init() {},
  122. handleSelect(val){
  123. this.activeMenu = val
  124. },
  125. isfoldFun () {
  126. this.isfold = !this.isfold
  127. this.isCollapse = !this.isCollapse
  128. },
  129. navLike(val){
  130. this.activeMenuName = val.name
  131. this.$router.push({
  132. path:val.url,
  133. query: {
  134. token: sessionStorage.getItem('Authorization-Token'),
  135. fromSystem: sessionStorage.getItem('Authorization-fromSystem'),
  136. }
  137. })
  138. }
  139. },
  140. };
  141. </script>
  142. <style lang="less" scoped>
  143. @import "../../common/less/public.less";
  144. @import "../../common/less/layout.less";
  145. </style>