top-window.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <header class="cwg-pc-header">
  3. <div class="left">
  4. <image class="left-img" src="/static/images/logo.png" mode="widthFix" alt="logo" @click="openLeftDrawer" />
  5. </div>
  6. <div class="right">
  7. <cwg-system />
  8. <cwg-language />
  9. <cwg-notice />
  10. <cwg-right-drawer />
  11. </div>
  12. </header>
  13. </template>
  14. <script setup lang="ts">
  15. const props = defineProps({
  16. sidebarVisible: {
  17. type: Boolean,
  18. default: false
  19. },
  20. })
  21. </script>
  22. <style scoped lang="scss">
  23. .cwg-pc-header {
  24. display: flex;
  25. align-items: center;
  26. justify-content: space-between;
  27. height: px2rpx(55);
  28. background-color: rgba(255, 255, 255, 0.9);
  29. border-bottom: 1px solid #f0f0f0;
  30. padding: 0 px2rpx(16);
  31. position: relative;
  32. z-index: 10;
  33. }
  34. .left {
  35. display: flex;
  36. align-items: center;
  37. }
  38. .center {
  39. flex: 1;
  40. }
  41. .right {
  42. display: flex;
  43. align-items: center;
  44. gap: 0;
  45. }
  46. .bell .dot {
  47. position: absolute;
  48. top: 0;
  49. right: -2px;
  50. width: 7px;
  51. height: 7px;
  52. background: #27ae60;
  53. border-radius: 50%;
  54. display: inline-block;
  55. }
  56. .left-img {
  57. width: px2rpx(120);
  58. }
  59. .avatar .img {
  60. width: 32px;
  61. height: 32px;
  62. border-radius: 50%;
  63. background: #eee;
  64. }
  65. .logo .img {
  66. width: 36px;
  67. height: 36px;
  68. border-radius: 50%;
  69. background: #fff;
  70. }
  71. </style>