MapIndex.vue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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="/map" style="text-decoration-line: none">
  8. <img src="@/assets/img/icon/logo.png" class="el-avatar--circle el-avatar--medium" alt="img">
  9. map
  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="/map/photo">
  21. <i class="el-icon-map-location" />
  22. <span slot="title">照片地图</span>
  23. </el-menu-item>
  24. <el-menu-item index="/map/trail">
  25. <i class="el-icon-map-location" />
  26. <span slot="title">轨迹地图</span>
  27. </el-menu-item>
  28. </el-menu>
  29. </el-col>
  30. <el-col :md="2">
  31. <ul class="el-menu--horizontal el-menu">
  32. <li class="el-menu-item">
  33. <el-dropdown v-if="user">
  34. <img
  35. :src="user.avatarUrl"
  36. class="el-avatar--circle el-avatar--medium"
  37. style="margin-right: 10px; margin-top: 15px"
  38. alt=""
  39. >
  40. <el-dropdown-menu slot="dropdown">
  41. <el-dropdown-item
  42. icon="el-icon-s-platform"
  43. class="size"
  44. @click.native="goToHome"
  45. >主站</el-dropdown-item>
  46. <el-dropdown-item
  47. icon="el-icon-error"
  48. class="size"
  49. @click.native="goToLogout"
  50. >退出</el-dropdown-item>
  51. </el-dropdown-menu>
  52. </el-dropdown>
  53. <span
  54. v-else
  55. style="color: #007bff"
  56. >登录</span>
  57. </li>
  58. </ul>
  59. </el-col>
  60. </el-header>
  61. <el-container>
  62. <el-main>
  63. <router-view />
  64. </el-main>
  65. </el-container>
  66. </el-container>
  67. </template>
  68. <script>
  69. import { userMixin } from 'assets/js/mixin'
  70. import { getAuthedUser } from '@/utils/auth'
  71. export default {
  72. name: 'MapIndex',
  73. mixins: [userMixin],
  74. data() {
  75. return {
  76. user: null
  77. }
  78. },
  79. watch: {
  80. // 地址栏 url 发生变化时重新加载本页面
  81. $route() {
  82. this.$router.go()
  83. }
  84. },
  85. created() {
  86. const userInfo = getAuthedUser()
  87. if (userInfo !== null) {
  88. this.user = userInfo
  89. }
  90. }
  91. }
  92. </script>
  93. <style>
  94. </style>