Logo.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div
  3. class="sidebar-logo-container"
  4. :class="{ collapse: collapse }"
  5. :style="{
  6. backgroundColor:
  7. sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg,
  8. }"
  9. >
  10. <transition name="sidebarLogoFade">
  11. <router-link
  12. v-if="collapse"
  13. key="collapse"
  14. class="sidebar-logo-link"
  15. to="/"
  16. >
  17. <img v-if="logo" :src="logo" class="sidebar-logo-mini" />
  18. <!-- <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> -->
  19. </router-link>
  20. <router-link v-else key="expand" class="sidebar-logo-link" to="/">
  21. <img v-if="logo" :src="logo" class="sidebar-logo" />
  22. <!-- <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> -->
  23. </router-link>
  24. </transition>
  25. </div>
  26. </template>
  27. <script>
  28. import logoImg from "@/assets/logo/logo.png";
  29. import variables from "@/assets/styles/variables.scss";
  30. export default {
  31. name: "SidebarLogo",
  32. props: {
  33. collapse: {
  34. type: Boolean,
  35. required: true,
  36. },
  37. },
  38. computed: {
  39. variables() {
  40. return variables;
  41. },
  42. sideTheme() {
  43. return this.$store.state.settings.sideTheme;
  44. },
  45. },
  46. data() {
  47. return {
  48. title: "途宝智慧云仓平台",
  49. logo: logoImg,
  50. };
  51. },
  52. };
  53. </script>
  54. <style lang="scss" scoped>
  55. .sidebarLogoFade-enter-active {
  56. transition: opacity 1.5s;
  57. }
  58. .sidebarLogoFade-enter,
  59. .sidebarLogoFade-leave-to {
  60. opacity: 0;
  61. }
  62. .sidebar-logo-container {
  63. position: relative;
  64. // width: 100%;
  65. height: 60px;
  66. line-height: 60px;
  67. background: #014da1 !important;
  68. text-align: center;
  69. overflow: hidden;
  70. & .sidebar-logo-link {
  71. height: 100%;
  72. width: 100%;
  73. & .sidebar-logo {
  74. height: 60px;
  75. vertical-align: middle;
  76. margin-right: 12px;
  77. }
  78. & .sidebar-logo-mini {
  79. width: 50px;
  80. vertical-align: middle;
  81. margin: auto;
  82. }
  83. & .sidebar-title {
  84. display: inline-block;
  85. margin: 0;
  86. color: #fff;
  87. font-weight: 600;
  88. line-height: 50px;
  89. font-size: 14px;
  90. font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
  91. vertical-align: middle;
  92. }
  93. }
  94. &.collapse {
  95. .sidebar-logo {
  96. margin-right: 0px;
  97. }
  98. }
  99. }
  100. </style>