Logo.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div class="sidebar-logo-container" :class="{'collapse':collapse}">
  3. <transition name="sidebarLogoFade">
  4. <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
  5. <img v-if="logo" :src="logo" class="sidebar-logo">
  6. <h1 v-else class="sidebar-title">{{ title }} </h1>
  7. </router-link>
  8. <router-link v-else key="expand" class="sidebar-logo-link" to="/">
  9. <h1 class="sidebar-title">{{ title }} </h1>
  10. </router-link>
  11. </transition>
  12. </div>
  13. </template>
  14. <script>
  15. import logoImg from '@/assets/logo/crm.png'
  16. export default {
  17. name: 'SidebarLogo',
  18. props: {
  19. collapse: {
  20. type: Boolean,
  21. required: true
  22. }
  23. },
  24. data() {
  25. return {
  26. title: 'SCRM客户管理系统',
  27. logo: logoImg
  28. }
  29. }
  30. }
  31. </script>
  32. <style lang="scss" scoped>
  33. .sidebarLogoFade-enter-active {
  34. transition: opacity 1.5s;
  35. }
  36. .sidebarLogoFade-enter,
  37. .sidebarLogoFade-leave-to {
  38. opacity: 0;
  39. }
  40. .sidebar-logo-container {
  41. position: relative;
  42. width: 100%;
  43. height: 50px;
  44. line-height: 50px;
  45. text-align: center;
  46. overflow: hidden;
  47. & .sidebar-logo-link {
  48. height: 100%;
  49. width: 100%;
  50. & .sidebar-logo {
  51. width: 32px;
  52. height: 32px;
  53. vertical-align: middle;
  54. margin-right: 12px;
  55. }
  56. & .sidebar-title {
  57. display: inline-block;
  58. margin: 0;
  59. color: #fff;
  60. font-weight: 600;
  61. line-height: 50px;
  62. font-size: 16px;
  63. font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
  64. vertical-align: middle;
  65. }
  66. }
  67. &.collapse {
  68. .sidebar-logo {
  69. margin-right: 0px;
  70. }
  71. }
  72. }
  73. </style>