UpdateInfo.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <div class="update-info">
  3. <div class="apply-mask" @click="emits('updateInfoClose')"></div>
  4. <div class="apply-content">
  5. <div class="slide-line"></div>
  6. <div class="apply-text pf600 fs18 fc121212">编辑资料</div>
  7. <img
  8. src="../../../assets/img/index/user/default-head.png"
  9. class="apply-img"
  10. alt="" />
  11. <div class="update-btn pf500 fs12 fcFFFFFF">编辑</div>
  12. <div class="info-name">
  13. <div class="name-text pf500 fs14 fc333333">
  14. 昵称
  15. <input type="text" class="input pf400 fs16 fc4B5563" placeholder="昵称内容" />
  16. </div>
  17. </div>
  18. <div class="sure-btn pf600 fs14 fcFFFFFF">保存</div>
  19. </div>
  20. </div>
  21. </template>
  22. <script setup>
  23. const props = defineProps(["updateInfoFlag"]);
  24. const emits = defineEmits(["updateInfoClose"]);
  25. </script>
  26. <style lang="less" scoped>
  27. .update-info {
  28. position: fixed;
  29. left: 0;
  30. top: 0;
  31. z-index: 1;
  32. display: flex;
  33. flex-direction: column;
  34. justify-content: flex-end;
  35. width: 100%;
  36. min-height: 100vh;
  37. .apply-mask {
  38. position: fixed;
  39. left: 0;
  40. top: 0;
  41. z-index: -1;
  42. width: 100%;
  43. min-height: 100vh;
  44. background: rgba(0, 0, 0, 0.5);
  45. }
  46. .apply-content {
  47. display: flex;
  48. flex-direction: column;
  49. justify-content: flex-start;
  50. align-items: center;
  51. width: 375px;
  52. height: 432px;
  53. background: #ffffff;
  54. border-radius: 24px 24px 0px 0px;
  55. .slide-line {
  56. margin-top: 12px;
  57. width: 32px;
  58. height: 4px;
  59. border-radius: 2px;
  60. opacity: 0.4;
  61. background: rgba(0, 0, 0, 0.5);
  62. }
  63. .apply-text {
  64. margin-top: 21px;
  65. width: 345px;
  66. height: 24px;
  67. line-height: 24px;
  68. letter-spacing: 0.2px;
  69. }
  70. .apply-img {
  71. margin-top: 28px;
  72. width: 100px;
  73. height: 100px;
  74. }
  75. .update-btn {
  76. margin-top: 8px;
  77. width: 60px;
  78. height: 24px;
  79. line-height: 24px;
  80. text-align: center;
  81. background: #df384c;
  82. border-radius: 5px;
  83. }
  84. .info-name {
  85. margin-top: 12px;
  86. width: 345px;
  87. .input {
  88. margin-top: 5px;
  89. padding-left: 11px;
  90. width: 345px;
  91. height: 45px;
  92. border-radius: 6px;
  93. box-sizing: border-box;
  94. background: #f5f5f5;
  95. outline: none;
  96. border: none;
  97. }
  98. }
  99. .sure-btn {
  100. margin-top: 35px;
  101. width: 311px;
  102. height: 40px;
  103. line-height: 40px;
  104. text-align: center;
  105. border-radius: 100px;
  106. background: #df384c;
  107. }
  108. }
  109. }
  110. </style>