baoMing.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <template>
  2. <view class="box">
  3. <u-navbar title="我要报名" :autoBack="true" bgColor="#ffffff" :placeholder="true" titleStyle="font-weight:bold;color:#121212"></u-navbar>
  4. <!-- 表单 -->
  5. <view class="example">
  6. <uni-forms style="padding: 0 20rpx 0 20rpx" label-position="top" ref="valiForm" :rules="rules" :modelValue="valiFormData">
  7. <uni-forms-item label="您的姓名" label-width="80px" required name="name">
  8. <uni-easyinput v-model="valiFormData.name" placeholder="请输入姓名" />
  9. </uni-forms-item>
  10. <uni-forms-item label="您的联系电话" label-width="100px" required name="mobile">
  11. <uni-easyinput v-model="valiFormData.mobile" placeholder="请输联系电话" />
  12. </uni-forms-item>
  13. <uni-forms-item label="您的身份证" label-width="100px" required name="idCard">
  14. <uni-easyinput v-model="valiFormData.idCard" placeholder="请输入身份证号" />
  15. </uni-forms-item>
  16. <uni-forms-item label="参加人数" label-width="80px" required name="numberPeople">
  17. <uni-easyinput v-model="valiFormData.numberPeople" placeholder="请输入参加人数" />
  18. </uni-forms-item>
  19. <uni-forms-item label="参加人联系电话" label-width="120px" required name="participateMobile">
  20. <uni-easyinput v-model="valiFormData.participateMobile" placeholder="请输入参加人联系电话" />
  21. </uni-forms-item>
  22. <uni-forms-item label="备注">
  23. <uni-easyinput v-model="valiFormData.notesVal" placeholder="添加备注信息"></uni-easyinput>
  24. </uni-forms-item>
  25. </uni-forms>
  26. <view class="text-wrapper_3" @click="submit('valiForm')">
  27. <text>我要报名</text>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <script>
  33. export default {
  34. data() {
  35. return {
  36. /* 表单数据 */
  37. valiFormData: {
  38. name: '',
  39. mobile: '',
  40. participateMobile: '',
  41. idCard: '',
  42. numberPeople: '',
  43. notesVal: ''
  44. },
  45. /* 校验规则 */
  46. rules: {
  47. // 对name字段进行必填验证
  48. name: {
  49. // name 字段的校验规则
  50. rules: [
  51. // 校验 name 不能为空
  52. {
  53. required: true,
  54. errorMessage: '请填写姓名'
  55. },
  56. // 对name字段进行长度验证
  57. {
  58. minLength: 2,
  59. maxLength: 6,
  60. errorMessage: '{label}长度在 {minLength} 到 {maxLength} 个字符'
  61. }
  62. ],
  63. // 当前表单域的字段中文名,可不填写
  64. label: '姓名',
  65. validateTrigger: 'submit'
  66. },
  67. /* 手机号校验 */
  68. mobile: {
  69. // mobile 字段的校验规则
  70. rules: [
  71. // 校验 mobile 不能为空
  72. {
  73. required: true,
  74. errorMessage: '请填写联系电话'
  75. },
  76. // 对mobile字段进行长度验证
  77. {
  78. minLength: 11,
  79. maxLength: 11,
  80. errorMessage: '{label}长度为 {minLength} 个字符'
  81. }
  82. ],
  83. // 当前表单域的字段中文名,可不填写
  84. label: '手机号',
  85. validateTrigger: 'submit'
  86. },
  87. /* 身份证校验 */
  88. idCard: {
  89. // idCard 字段的校验规则
  90. rules: [
  91. // 校验 idCard 不能为空
  92. {
  93. required: true,
  94. errorMessage: '请填报名人数'
  95. },
  96. // 对idCard字段进行长度验证
  97. {
  98. minLength: 18,
  99. maxLength: 18,
  100. errorMessage: '{label}长度为 {minLength} 个字符'
  101. }
  102. ],
  103. // 当前表单域的字段中文名,可不填写
  104. label: '身份证号',
  105. validateTrigger: 'submit'
  106. },
  107. /* 参加人数 */
  108. numberPeople: {
  109. rules: [
  110. // 校验 numberPeople 不能为空
  111. {
  112. required: true,
  113. errorMessage: '请填写参加人数'
  114. }
  115. ]
  116. },
  117. /* 手机号校验 */
  118. participateMobile: {
  119. // participateMobile 字段的校验规则
  120. rules: [
  121. // 校验 participateMobile 不能为空
  122. {
  123. required: true,
  124. errorMessage: '请填写联系电话'
  125. },
  126. // 对participateMobile字段进行长度验证
  127. {
  128. minLength: 11,
  129. maxLength: 11,
  130. errorMessage: '{label}长度为 {minLength} 个字符'
  131. }
  132. ],
  133. // 当前表单域的字段中文名,可不填写
  134. label: '手机号',
  135. validateTrigger: 'submit'
  136. }
  137. }
  138. };
  139. },
  140. methods: {
  141. submit() {
  142. this.$refs.valiForm.validate(['id'], async (err, valiFormData) => {
  143. if (!err) {
  144. console.log('校验成功');
  145. /* 检验成功 */
  146. // let auth = this.$db.get('auth');
  147. // let token = auth.token;
  148. // console.log(token, 323232323);
  149. // let res = await this.$api.registeredMember({
  150. // name: this.valiFormData.name,
  151. // mobile: this.valiFormData.mobile,
  152. // id_card: this.valiFormData.idCard
  153. // });
  154. // if (res.code == 1) {
  155. // this.$common.successToShow(res.msg);
  156. // uni.switchTab({
  157. // url: '/pages/user/card_processing'
  158. // });
  159. // }
  160. }
  161. });
  162. }
  163. }
  164. };
  165. </script>
  166. <style>
  167. .box {
  168. width: 100%;
  169. height: 100%;
  170. background-color: #ca5742;
  171. }
  172. /deep/.uni-forms-item__error {
  173. color: #000 !important;
  174. }
  175. .text-wrapper_3 {
  176. background-color: #fde6b0;
  177. border-radius: 40rpx;
  178. height: 80rpx;
  179. display: flex;
  180. color: #312520;
  181. text-align: center;
  182. line-height: 80rpx;
  183. font-size: 32rpx;
  184. flex-direction: column;
  185. width: 620rpx;
  186. margin-top: 40rpx;
  187. margin-bottom: 20rpx;
  188. margin-left: 30rpx;
  189. font-weight: bold;
  190. }
  191. .example {
  192. height: 87%;
  193. background-color: rgba(255, 255, 255, 0.15);
  194. margin: 20rpx 32rpx 0 32rpx;
  195. }
  196. .uni-forms {
  197. padding: 0 20rpx 0 20rpx;
  198. }
  199. .uni-forms-item {
  200. margin-bottom: 30rpx !important;
  201. }
  202. </style>