index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <div class="p-password">
  3. <div class="header">
  4. <i class="logo"></i>
  5. </div>
  6. <div v-if="step === 0" class="step">
  7. <h3 class="title">Recover password</h3>
  8. <div class="desc">
  9. We will send you an email for password reset. Please check it
  10. </div>
  11. <div class="ptc-form">
  12. <div class="ptc-form-item">
  13. <input class="ptc-input" placeholder="email address" />
  14. </div>
  15. <div class="ptc-form-item">
  16. <button class="ptc-button" @click="step++">NEXT</button>
  17. </div>
  18. <div class="ptc-form-item">
  19. <button class="ptc-button ptc-button--strok">BACK</button>
  20. </div>
  21. </div>
  22. </div>
  23. <div v-else-if="step === 1" class="step">
  24. <h3 class="title">Recover password</h3>
  25. <div class="desc">
  26. We will send you an email( xxx@126.com )The password reset email has
  27. been sent. Please go to check it
  28. </div>
  29. <div class="ptc-form">
  30. <div class="ptc-form-item">
  31. <button class="ptc-button" @click="step++">GO</button>
  32. </div>
  33. </div>
  34. </div>
  35. <div v-if="step === 2" class="step">
  36. <h3 class="title">Recover password</h3>
  37. <div class="desc">
  38. Please set a new password for helloworld@gmail.com. It is recommended to
  39. use a combination of numbers, letters, and characters to improve the
  40. password security level
  41. </div>
  42. <div class="ptc-form">
  43. <div class="ptc-form-item">
  44. <input
  45. class="ptc-input"
  46. placeholder="6-20 digits password, case sensitive"
  47. />
  48. </div>
  49. <div class="ptc-form-item">
  50. <button class="ptc-button" @click="step++">SUBMIT</button>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. </template>
  56. <script setup lang="ts">
  57. import { ref } from 'vue'
  58. import { useRoute } from 'vue-router'
  59. const { query } = useRoute()
  60. const step = ref(query.step ? +(query.step as string) : 0)
  61. </script>
  62. <style lang="scss">
  63. .p-password {
  64. .header {
  65. display: flex;
  66. align-items: center;
  67. justify-content: center;
  68. height: 116px;
  69. border-bottom: 1px solid #d9d9d9;
  70. .logo {
  71. width: 160px;
  72. height: 88px;
  73. background: #efefef;
  74. }
  75. }
  76. .step {
  77. margin-top: 98px;
  78. padding: 0 80px;
  79. }
  80. .title {
  81. line-height: 56px;
  82. font-size: 40px;
  83. font-weight: 500;
  84. color: #333;
  85. }
  86. .desc {
  87. margin: 36px 0 64px;
  88. line-height: 44px;
  89. font-size: 32px;
  90. color: #333;
  91. }
  92. }
  93. </style>