KycForm.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <template>
  2. <div class="kyc-page">
  3. <!-- 导航栏 -->
  4. <div class="nav-bar">
  5. <div class="nav-left" @click="$router.back()">
  6. <van-icon size="20" name="arrow-left"></van-icon> </div>
  7. <div class="nav-title">KYC认证</div>
  8. <div class="nav-right"></div>
  9. </div>
  10. <div class="form-content">
  11. <!-- 姓名行 (两列布局) -->
  12. <div class="form-row two-col">
  13. <div class="form-item">
  14. <label>法定名</label>
  15. <input type="text" placeholder="名" class="custom-input" />
  16. </div>
  17. <div class="form-item">
  18. <label>法定姓</label>
  19. <input type="text" placeholder="姓" class="custom-input" />
  20. </div>
  21. </div>
  22. <!-- 证件类型 -->
  23. <div class="form-row">
  24. <label>证件类型</label>
  25. <div class="custom-select">
  26. <span>身份证</span>
  27. <svg width="12" height="12" viewBox="0 0 24 24"><path d="M6 9L12 15L18 9" stroke="#666" stroke-width="2" fill="none"/></svg>
  28. </div>
  29. </div>
  30. <!-- 证件号码 -->
  31. <div class="form-row">
  32. <label>证件号码</label>
  33. <input type="text" placeholder="请输入证件号码" class="custom-input" />
  34. </div>
  35. <!-- 出生日期 -->
  36. <div class="form-row">
  37. <label>出生日期</label>
  38. <input type="text" placeholder="请输入" class="custom-input" />
  39. </div>
  40. <!-- 所在地区 -->
  41. <div class="form-row">
  42. <label>所在地区</label>
  43. <div class="custom-select">
  44. <span>请选择</span>
  45. <svg width="12" height="12" viewBox="0 0 24 24"><path d="M6 9L12 15L18 9" stroke="#666" stroke-width="2" fill="none"/></svg>
  46. </div>
  47. </div>
  48. <!-- 详细地址 -->
  49. <div class="form-row">
  50. <label>详细地址</label>
  51. <textarea placeholder="请输入" class="custom-textarea"></textarea>
  52. </div>
  53. <!-- 职业信息 -->
  54. <div class="form-row">
  55. <label>职业信息</label>
  56. <input type="text" placeholder="请输入" class="custom-input" />
  57. </div>
  58. <!-- 资金来源 -->
  59. <div class="form-row">
  60. <label>资金来源</label>
  61. <input type="text" placeholder="请输入" class="custom-input" />
  62. </div>
  63. <!-- SSN -->
  64. <div class="form-row">
  65. <label>社会安全号码(SSN)</label>
  66. <input type="text" placeholder="请输入" class="custom-input" />
  67. </div>
  68. <!-- 底部说明 -->
  69. <div class="footer-note">
  70. <h4>说明</h4>
  71. <p>收集信息为了遵守反洗钱(AML)和金融犯罪侦查网络(FinCEN)的监管要求</p>
  72. </div>
  73. <!-- 下一步按钮 -->
  74. <button class="submit-btn" @click="nextStep">下一步</button>
  75. </div>
  76. </div>
  77. </template>
  78. <script setup>
  79. import { useRouter } from 'vue-router';
  80. const router = useRouter();
  81. const nextStep = () => {
  82. // 校验逻辑省略...
  83. router.push('/kyc/step2'); // 跳转到图2
  84. };
  85. </script>
  86. <style scoped>
  87. .kyc-page {
  88. min-height: 100vh;
  89. background: #fff;
  90. padding-bottom: 40px;
  91. }
  92. .nav-bar {
  93. display: flex; justify-content: space-between; align-items: center;
  94. height: 44px; padding: 0 16px; position: sticky; top: 0; background: #fff; z-index: 10;
  95. }
  96. .nav-title { font-size: 18px; font-weight: 600; color: #333; }
  97. .nav-left, .nav-right { width: 40px; }
  98. .form-content { padding: 10px 20px; }
  99. .form-row { margin-bottom: 20px; }
  100. .form-row label {
  101. display: block; font-size: 14px; color: #333; margin-bottom: 8px; font-weight: 500;
  102. }
  103. /* 两列布局 */
  104. .two-col { display: flex; gap: 15px; }
  105. .two-col .form-item { flex: 1; }
  106. .two-col label { margin-bottom: 8px; display: block; font-size: 14px; }
  107. /* 输入框通用样式 */
  108. .custom-input, .custom-select, .custom-textarea {
  109. width: 100%;
  110. background: #F7F8FA; /* 浅灰背景 */
  111. border: none;
  112. border-radius: 8px;
  113. padding: 12px 16px;
  114. font-size: 14px;
  115. color: #333;
  116. box-sizing: border-box; /* 关键:防止padding撑大宽度 */
  117. }
  118. .custom-input::placeholder, .custom-textarea::placeholder { color: #999; }
  119. /* 模拟 Select */
  120. .custom-select {
  121. display: flex; justify-content: space-between; align-items: center; color: #333;
  122. }
  123. .custom-textarea {
  124. height: 80px; resize: none; font-family: inherit;
  125. }
  126. /* 底部说明 */
  127. .footer-note { margin-top: 30px; margin-bottom: 30px; }
  128. .footer-note h4 { font-size: 14px; color: #333; margin-bottom: 8px; font-weight: 500; }
  129. .footer-note p { font-size: 12px; color: #999; line-height: 1.5; }
  130. /* 红色大按钮 */
  131. .submit-btn {
  132. width: 100%; height: 50px;
  133. background: #E02F44; /* 图中红色 */
  134. color: #fff; font-size: 16px; font-weight: 500;
  135. border: none; border-radius: 25px;
  136. margin-bottom: 20px;
  137. }
  138. .submit-btn:active { opacity: 0.9; }
  139. </style>