personal_message.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view class="container">
  3. <!-- 用户头像 -->
  4. <image src="/static/images/headImg.jpg" class="avatar"></image>
  5. <!-- 用户名及职位 -->
  6. <text class="username">{{ userInfo.name }}</text>
  7. <view class="position">
  8. {{ userInfo.position }}
  9. </view>
  10. <!-- 联系方式 -->
  11. <view class="contact-info">
  12. <view class="info-item">
  13. <view>
  14. <uni-icons type="phone" size="20"></uni-icons>
  15. <text>手机</text>
  16. </view>
  17. <text class="lastText">{{ userInfo.phone || '暂无' }}</text>
  18. </view>
  19. <view class="info-item">
  20. <view>
  21. <uni-icons type="email" size="20"></uni-icons>
  22. <text>邮箱</text>
  23. </view>
  24. <text class="lastText">{{ userInfo.email || '暂无' }}</text>
  25. </view>
  26. </view>
  27. <!-- 个人信息 -->
  28. <view class="personal-info">
  29. <view class="info-item">
  30. <view>
  31. <uni-icons type="person" size="20"></uni-icons>
  32. <text>性别</text>
  33. </view>
  34. <text class="lastText">{{ userInfo.gender || '暂无' }}</text>
  35. </view>
  36. <view class="info-item">
  37. <view>
  38. <uni-icons type="star" size="20"></uni-icons>
  39. <text>生日</text>
  40. </view>
  41. <text class="lastText">{{ userInfo.birthday || '暂无' }}</text>
  42. </view>
  43. </view>
  44. </view>
  45. </template>
  46. <script>
  47. export default {
  48. data() {
  49. return {
  50. userInfo: {
  51. name: "张三",
  52. position: "研发部-软件开发工程师",
  53. phone: "",
  54. email: "",
  55. gender: "男",
  56. birthday: "2000-01-10"
  57. }
  58. };
  59. }
  60. }
  61. </script>
  62. <style lang="scss" scoped>
  63. .container {
  64. padding: 20px;
  65. background-color: #f8f8f8;
  66. height: 100vh;
  67. box-sizing: border-box;
  68. }
  69. .avatar {
  70. width: 80px;
  71. height: 80px;
  72. border-radius: 50%;
  73. margin-bottom: 15px;
  74. display: block;
  75. margin-left: auto;
  76. margin-right: auto;
  77. }
  78. .username {
  79. font-size: 18px;
  80. }
  81. .position {
  82. font-size: 14px;
  83. color: #666;
  84. margin: 10px auto;
  85. }
  86. .contact-info,
  87. .personal-info {
  88. background-color: #fff;
  89. border-radius: 8px;
  90. overflow: hidden;
  91. margin-bottom: 15px;
  92. }
  93. .info-item {
  94. padding: 12px 16px;
  95. border-top: 1px solid #eee;
  96. font-size: 16px;
  97. display: flex;
  98. justify-content: space-between;
  99. align-items: center;
  100. }
  101. .lastText {
  102. color: #999;
  103. }
  104. </style>