login-top-menus.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <div class="fx-row fx-bet-cen bg-white pl60 pr60" style="height:102px;">
  3. <el-image :src="require('@/assets/images/index/login/icon_logo_medium@2x.png')" fit="contain"
  4. style="width: 152px;"></el-image>
  5. <div class="fx-row fx-end-cen fx-1 menus-container">
  6. <el-link v-for="(item,idx) in routers" :key="idx" @click="handleMenuClick(item)" class="f16 f-fff"
  7. :underline="false">
  8. <svg-icon :icon-class="item.meta.icon" style="margin-right:5px"/>
  9. {{ item.meta.title }}
  10. </el-link>
  11. </div>
  12. </div>
  13. </template>
  14. <script>
  15. import loginCheckMixin from '@/views/components/blocks/index-login-interceptor-mixin'
  16. export default {
  17. mixins: [loginCheckMixin],
  18. name: 'login-top-menus',
  19. props: {
  20. routers: {
  21. type: Array,
  22. default: () => []
  23. }
  24. },
  25. inject: {
  26. to: {
  27. default: function() {
  28. }
  29. }
  30. },
  31. methods: {
  32. async handleMenuClick(item) {
  33. if (this.loginCheck) await this.loginCheck()
  34. this.to(item)
  35. }
  36. }
  37. }
  38. </script>
  39. <style scoped>
  40. .menus-container .el-link + .el-link {
  41. margin-left: 30px;
  42. }
  43. </style>