index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <template>
  2. <custom-layout class="main" v-loading="loading">
  3. <div class="one w_1200">
  4. <div class="left">
  5. <el-image class="image" :src="userLogo" fit="fill" />
  6. <div class="name">{{ user.name || '测试用户' }}</div>
  7. <div class="menu">
  8. <div class="menu_1">
  9. <el-icon><User /></el-icon>
  10. <span>我的信息</span>
  11. </div>
  12. <div class="menu_1">
  13. <el-icon><Document /></el-icon>
  14. <span>对接记录</span>
  15. </div>
  16. <div class="menu_1 menuTrue">
  17. <el-icon><Bell /></el-icon>
  18. <span>消息中心</span>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="right">
  23. <div class="right_1">
  24. <div class="rightLeft">
  25. <el-tabs v-model="activeName" @tab-click="handleClick">
  26. <el-tab-pane label="全部" name="0"></el-tab-pane>
  27. <el-tab-pane label="未读" name="1"></el-tab-pane>
  28. <el-tab-pane label="已读" name="2"></el-tab-pane>
  29. </el-tabs>
  30. </div>
  31. <div class="rightRight">
  32. <div class="menu">
  33. <span>标记已读</span>
  34. </div>
  35. <div class="menu">
  36. <span>删除</span>
  37. </div>
  38. <div class="menu">
  39. <span>全部已读</span>
  40. </div>
  41. <div class="menu">
  42. <span>全部删除</span>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="right_2">
  47. <el-image class="image" :src="chat" fit="fill" />
  48. </div>
  49. </div>
  50. </div>
  51. </custom-layout>
  52. </template>
  53. <script setup>
  54. import userLogo from '/images/userLogo.png'
  55. import chat from '/images/chat.png'
  56. // 基础
  57. import moment from 'moment'
  58. // 接口
  59. import { ChatStore } from '@/store/api/platform/chat'
  60. import { UsersStore } from '@/store/api/user/user'
  61. const store = UsersStore()
  62. const chatstore = ChatStore()
  63. import { UserStore } from '@/store/user'
  64. const userStore = UserStore()
  65. const user = computed(() => userStore.user)
  66. // 路由
  67. const route = useRoute()
  68. // 加载中
  69. const loading = ref(false)
  70. const activeName = ref('0')
  71. const handleClick = (tab, event) => {
  72. console.log(tab, event)
  73. }
  74. </script>
  75. <style scoped lang="scss">
  76. .main {
  77. background: #f2f2f2;
  78. .one {
  79. display: flex;
  80. padding: 7.5px 0;
  81. .left {
  82. padding: 20px 0;
  83. min-height: 56vh;
  84. margin: 20px 0;
  85. text-align: center;
  86. width: 160px;
  87. border-radius: 5px;
  88. background: #f8f8f8;
  89. .image {
  90. width: 95px;
  91. height: 95px;
  92. margin: 10px 0;
  93. }
  94. .name {
  95. font-size: $global-font-size-20;
  96. }
  97. .menu {
  98. margin: 10px 0;
  99. .menu_1 {
  100. display: flex;
  101. align-items: center;
  102. justify-content: center;
  103. padding: 20px 0;
  104. font-size: $global-font-size-20;
  105. span {
  106. margin: 0 0 0 10px;
  107. }
  108. }
  109. .menuTrue {
  110. background: #ffffff;
  111. color: $global-color-107;
  112. border-left: 3px solid #1073ff;
  113. }
  114. }
  115. }
  116. .right {
  117. width: 1020px;
  118. padding: 20px;
  119. .right_1 {
  120. display: flex;
  121. align-items: center;
  122. justify-content: space-between;
  123. .rightRight {
  124. display: flex;
  125. align-items: center;
  126. justify-content: flex-end;
  127. .menu {
  128. background: #f8f8f8;
  129. padding: 10px 20px;
  130. margin: 0 10px 0 0;
  131. color: #666666;
  132. border: 1px solid #bbbbbb;
  133. }
  134. }
  135. }
  136. .right_2 {
  137. display: flex;
  138. align-items: center;
  139. justify-content: center;
  140. margin: 30px 0;
  141. }
  142. }
  143. }
  144. }
  145. </style>