Navbar.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <div class="navbar">
  3. <hamburger
  4. :is-active="sidebar.opened"
  5. class="hamburger-container"
  6. @toggleClick="toggleSideBar"
  7. />
  8. <!-- <breadcrumb class="breadcrumb-container" /> -->
  9. <div class="title-top">安防综合管理平台</div>
  10. <time-menu></time-menu>
  11. </div>
  12. </template>
  13. <script>
  14. import { mapGetters } from "vuex";
  15. import Breadcrumb from "@/components/Breadcrumb";
  16. import Hamburger from "@/components/Hamburger";
  17. import TimeMenu from "@/components/TimeMenu";
  18. export default {
  19. data() {
  20. return {
  21. };
  22. },
  23. filters: {},
  24. components: {
  25. Breadcrumb,
  26. Hamburger,
  27. TimeMenu
  28. },
  29. computed: {
  30. ...mapGetters(["sidebar", "avatar"]),
  31. },
  32. methods: {
  33. toggleSideBar() {
  34. this.$store.dispatch("app/toggleSideBar");
  35. },
  36. async logout() {
  37. await this.$store.dispatch("user/logout");
  38. this.$router.push(`/login?redirect=${this.$route.fullPath}`);
  39. },
  40. },
  41. };
  42. </script>
  43. <style lang="scss" scoped>
  44. .navbar {
  45. height: 50px;
  46. overflow: hidden;
  47. position: relative;
  48. background: #fff;
  49. box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
  50. .hamburger-container {
  51. line-height: 46px;
  52. height: 100%;
  53. float: left;
  54. cursor: pointer;
  55. transition: background 0.3s;
  56. -webkit-tap-highlight-color: transparent;
  57. &:hover {
  58. background: rgba(0, 0, 0, 0.025);
  59. }
  60. }
  61. .title-top {
  62. line-height: 50px;
  63. font-size: 24px;
  64. width: 50%;
  65. float: left;
  66. }
  67. }
  68. </style>