signup.vue 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <template>
  2. <div>
  3. <img class="bgi" src="../../public/images/signup/bgi.jpg" width="100%" />
  4. <div class="form">
  5. <div class="formItem">
  6. <label>身&nbsp;&nbsp;&nbsp;&nbsp;份</label>
  7. <div style="margin: 0 10vw 0 20vw; display: inline" @click="handleUser">
  8. <img class="checkedImg" :src="ischecked ? checked : Unchecked" />
  9. <label for="huey">用户</label>
  10. </div>
  11. <div style="display: inline" @click="handleDesigner">
  12. <img class="checkedImg" :src="ischecked ? Unchecked : checked" />
  13. <label for="dewey">设计师</label>
  14. </div>
  15. </div>
  16. <div class="formItem name">
  17. <label>姓&nbsp;&nbsp;&nbsp;&nbsp;名</label>
  18. <input
  19. class="userName"
  20. type="text"
  21. placeholder="请输入姓名"
  22. v-model="formData.userName"
  23. />
  24. </div>
  25. <div class="formItem phonediv">
  26. <label>手&nbsp;机&nbsp;号</label>
  27. <input
  28. class="phone"
  29. type="text"
  30. placeholder="请输入手机号"
  31. v-model="formData.phone"
  32. />
  33. </div>
  34. <div class="formItem phonediv">
  35. <label>手&nbsp;机&nbsp;号</label>
  36. <input
  37. class="phone"
  38. type="text"
  39. placeholder="请输入手机号"
  40. v-model="formData.phone"
  41. />
  42. </div>
  43. <div class="formItem intendedProductdiv">
  44. <label>意向产品</label>
  45. <input
  46. class="intendedProduct"
  47. type="text"
  48. placeholder="请选择"
  49. v-model="formData.intendedProduct"
  50. />
  51. </div>
  52. <div class="formItem addressdiv">
  53. <label>所在地区</label>
  54. <input
  55. class="address"
  56. type="text"
  57. placeholder="请选择"
  58. v-model="formData.address"
  59. />
  60. </div>
  61. <img
  62. @click="sumbit"
  63. class="submit"
  64. src="../../public/images/signup/submit.png"
  65. width="45%"
  66. />
  67. </div>
  68. </div>
  69. </template>
  70. <script>
  71. import checked from '../../public/images/signup/checked.png'
  72. import Unchecked from '../../public/images/signup/Unchecked.png'
  73. export default {
  74. data() {
  75. return {
  76. checked,
  77. Unchecked,
  78. ischecked: true,
  79. formData: {
  80. role: 'user',
  81. userName: undefined,
  82. phone: undefined,
  83. intendedProduct: undefined,
  84. address: undefined
  85. },
  86. productList: [
  87. [
  88. {
  89. label: 'COLMO子母太空舱',
  90. value: 'COLMO子母太空舱'
  91. },
  92. {
  93. label: 'COLMO星图干洗护理套装',
  94. value: 'COLMO星图干洗护理套装'
  95. },
  96. {
  97. label: 'COLMO星辰干洗护理套装',
  98. value: 'COLMO星辰干洗护理套装'
  99. },
  100. {
  101. label: 'COLMO星际干洗护理套装',
  102. value: 'COLMO星际干洗护理套装'
  103. },
  104. {
  105. label: 'COLMO TURING套系智慧干洗护理空间站',
  106. value: 'COLMO TURING套系智慧干洗护理空间站'
  107. }
  108. ]
  109. ],
  110. pickerVisibleProduct: false
  111. }
  112. },
  113. methods: {
  114. handleUser() {
  115. this.ischecked = true
  116. this.formData.role = 'user'
  117. },
  118. handleDesigner() {
  119. this.ischecked = false
  120. this.formData.role = 'designer'
  121. },
  122. // showProduct() {
  123. // this.pickerVisibleProduct = true
  124. // },
  125. // cancelProduct() {
  126. // this.pickerVisibleProduct = false
  127. // },
  128. // confirmProduct(res) {
  129. // this.formData.intendedProduct = res[0].label
  130. // },
  131. verification() {
  132. if (!this.formData.userName) {
  133. alert('请输入您的姓名')
  134. return false
  135. } else if (!this.formData.phone) {
  136. alert('请输入您的手机号')
  137. return false
  138. } else if (!this.formData.intendedProduct) {
  139. alert('请选择您的意向产品')
  140. return false
  141. } else if (!this.formData.address) {
  142. alert('请选择您所在的地区')
  143. return false
  144. } else if (!this.formData.phone.match(/^1[0-9]{10}/)) {
  145. alert('请输入正确的手机号哦')
  146. return false
  147. } else return true
  148. },
  149. sumbit() {
  150. if (this.verification()) {
  151. console.log(this.formData)
  152. this.$router.push('/resultPage')
  153. }
  154. }
  155. }
  156. }
  157. </script>
  158. <style scoped>
  159. * {
  160. margin: 0;
  161. padding: 0;
  162. }
  163. .bgi {
  164. z-index: -1;
  165. position: absolute;
  166. }
  167. .form {
  168. width: 100%;
  169. color: #a6b1ab;
  170. position: absolute;
  171. margin-top: 18%;
  172. }
  173. .formItem {
  174. position: absolute;
  175. width: 80vw;
  176. margin: 6vw;
  177. padding: 3vw;
  178. text-align: center;
  179. border: 1px solid #4f5054;
  180. background-color: #212226;
  181. }
  182. .checkedImg {
  183. width: 16px;
  184. top: 2px;
  185. position: relative;
  186. }
  187. .name {
  188. margin-top: 23%;
  189. }
  190. .userName {
  191. width: 80%;
  192. background-color: #212226;
  193. outline: none;
  194. border: none;
  195. color: white;
  196. text-align: right;
  197. height: 100%;
  198. font-size: 16px;
  199. color: #a6b1ab;
  200. }
  201. .phonediv {
  202. margin-top: 40%;
  203. }
  204. .phone {
  205. width: 79%;
  206. background-color: #212226;
  207. outline: none;
  208. border: none;
  209. color: white;
  210. text-align: right;
  211. height: 100%;
  212. font-size: 16px;
  213. color: #a6b1ab;
  214. }
  215. .intendedProductdiv {
  216. margin-top: 57%;
  217. }
  218. .intendedProduct {
  219. width: 77%;
  220. background-color: #212226;
  221. outline: none;
  222. border: none;
  223. color: white;
  224. text-align: right;
  225. height: 100%;
  226. font-size: 16px;
  227. color: #a6b1ab;
  228. }
  229. .addressdiv {
  230. margin-top: 74%;
  231. }
  232. .address {
  233. width: 77%;
  234. background-color: #212226;
  235. outline: none;
  236. border: none;
  237. color: white;
  238. text-align: right;
  239. height: 100%;
  240. font-size: 16px;
  241. color: #a6b1ab;
  242. }
  243. .submit {
  244. margin: 93% 0 0 27.5vw;
  245. }
  246. </style>