VoteIndex.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <el-container style="border: 1px solid #eee">
  3. <el-header style="text-align: right; font-size: 12px">
  4. <el-col :md="2">
  5. <ul class="el-menu--horizontal el-menu">
  6. <li class="el-menu-item">
  7. <a href="/vote" style="text-decoration-line: none">
  8. <img src="@/assets/img/icon/logo.png" class="el-avatar--circle el-avatar--medium" alt="img">
  9. vote
  10. </a>
  11. </li>
  12. </ul>
  13. </el-col>
  14. <el-col :md="20">
  15. <el-menu
  16. :default-active="this.$route.path"
  17. router
  18. mode="horizontal"
  19. >
  20. <el-menu-item index="/vote/map">
  21. <i class="el-icon-map-location" />
  22. <span slot="title">vote</span>
  23. </el-menu-item>
  24. </el-menu>
  25. </el-col>
  26. <el-col :md="2">
  27. <ul class="el-menu--horizontal el-menu">
  28. <li class="el-menu-item">
  29. <el-dropdown v-if="user">
  30. <img
  31. :src="user.avatarUrl"
  32. class="el-avatar--circle el-avatar--medium"
  33. style="margin-right: 10px; margin-top: 15px"
  34. alt=""
  35. >
  36. <el-dropdown-menu slot="dropdown">
  37. <el-dropdown-item
  38. icon="el-icon-s-platform"
  39. class="size"
  40. @click.native="goToHome"
  41. >主站</el-dropdown-item>
  42. <el-dropdown-item
  43. icon="el-icon-error"
  44. class="size"
  45. @click.native="goToLogout"
  46. >退出</el-dropdown-item>
  47. </el-dropdown-menu>
  48. </el-dropdown>
  49. <span
  50. v-else
  51. style="color: #007bff"
  52. >登录</span>
  53. </li>
  54. </ul>
  55. </el-col>
  56. </el-header>
  57. <el-container>
  58. <el-main>
  59. <router-view />
  60. </el-main>
  61. </el-container>
  62. </el-container>
  63. </template>
  64. <script>
  65. import { userMixin } from 'assets/js/mixin'
  66. import { getAuthedUser } from '@/utils/auth'
  67. export default {
  68. name: 'VoteIndex',
  69. mixins: [userMixin],
  70. data() {
  71. return {
  72. user: null
  73. }
  74. },
  75. watch: {
  76. // 地址栏 url 发生变化时重新加载本页面
  77. $route() {
  78. this.$router.go()
  79. }
  80. },
  81. created() {
  82. this.user = getAuthedUser()
  83. }
  84. }
  85. </script>
  86. <style>
  87. </style>