menu.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <template>
  2. <div class="menu-container">
  3. <top-bar></top-bar>
  4. <div class="menu-list">
  5. <div class="menu-list-item" v-for="(v,i) in menuList" :key="i">
  6. <p @click="onclick">{{v.name}}</p>
  7. <van-grid border :column-num="3">
  8. <van-grid-item v-for="(item,index) in v.list" :key="index" icon="smile-o" :text="item.menu" :to="item.path" />
  9. </van-grid>
  10. <!-- <li v-for="(item,index) in v.list" :key="index">-->
  11. <!-- <div></div>-->
  12. <!-- <p>{{item.menu}}</p>-->
  13. <!-- </li>-->
  14. </div>
  15. </div>
  16. </div>
  17. </template>
  18. <script>
  19. import TopBar from "@/components/TopBar";
  20. import { mapGetters } from 'vuex'
  21. export default {
  22. components:{TopBar},
  23. data() {
  24. return {
  25. menuList:[
  26. {
  27. name:'系统管理',
  28. list:[
  29. {
  30. menu:'作息管理',
  31. path:'/workTime',
  32. },
  33. {
  34. menu:'NFC管理',
  35. path:'/nfc',
  36. },
  37. {
  38. menu:'履职登记',
  39. path:'/lvzhi',
  40. },
  41. ]
  42. },
  43. {
  44. name:'履职',
  45. list:[
  46. {
  47. menu:'履职登记',
  48. },
  49. {
  50. menu:'监控调阅',
  51. path:'/monitoringCall'
  52. },
  53. {
  54. menu:'视频调阅',
  55. },
  56. {
  57. menu:'安全检查登记',
  58. },
  59. {
  60. menu:'隐患问题清单',
  61. },
  62. {
  63. menu:'外包评价',
  64. },
  65. ]
  66. },
  67. {
  68. name:'设备',
  69. list:[
  70. {
  71. menu:'设备管理',
  72. },
  73. {
  74. menu:'防区状态',
  75. path:'/protection'
  76. },
  77. ]
  78. },
  79. {
  80. name:'来访',
  81. list:[
  82. {
  83. menu:'介绍信管理',
  84. },
  85. {
  86. menu:'出入登记',
  87. },
  88. {
  89. menu:'培训登记',
  90. },
  91. ]
  92. },
  93. {
  94. name:'演练',
  95. list:[
  96. {
  97. menu:'演练登记',
  98. },
  99. {
  100. menu:'演练排名',
  101. },
  102. {
  103. menu:'安全检查登记',
  104. },
  105. {
  106. menu:'优秀案例管理',
  107. },
  108. {
  109. menu:'优秀案例学习',
  110. },
  111. ]
  112. },
  113. {
  114. name:'统计',
  115. list:[
  116. {
  117. menu:'驾驶舱',
  118. },
  119. {
  120. menu:'每日网点履职报表',
  121. },
  122. {
  123. menu:'每日布撤防报表',
  124. },
  125. {
  126. menu:'教育统计报表',
  127. },
  128. ]
  129. }
  130. ],
  131. }
  132. },
  133. computed: {
  134. ...mapGetters(['userName'])
  135. },
  136. mounted() {
  137. },
  138. methods: {
  139. onclick(){
  140. this.$router.push('/workTime')
  141. },
  142. }
  143. }
  144. </script>
  145. <style lang="scss" >
  146. .menu-container{
  147. background-color: rgba(237, 252, 255, 1)
  148. }
  149. .menu-list{
  150. padding: 30px 0;
  151. height: calc(100vh - 400px);
  152. overflow: auto;
  153. }
  154. .menu-list-item{
  155. background-color: #fff;
  156. border-radius: 10px;
  157. box-shadow: 0 10px 20px #eee;
  158. margin:20px;
  159. >p{
  160. font-size: 30px;
  161. padding: 10px 10px 10px 20px;
  162. }
  163. >ul{
  164. display: flex;
  165. flex-wrap: wrap;
  166. font-size: 20px;
  167. >li{
  168. padding: 30px;
  169. display: flex;
  170. flex-direction: column;
  171. align-items: center;
  172. >div{
  173. width: 60px;
  174. height: 60px;
  175. background-color: #42b983;
  176. margin-bottom: 20px;
  177. }
  178. }
  179. }
  180. }
  181. </style>