auth.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <template>
  2. <view class="wrapper">
  3. <view>
  4. <h4>实名认证(请上传真实的个人信息,认证通过后将无法修改)</h4>
  5. <view>
  6. <u-form :model="ruleForm" label-width="200rpx" ref="uForm">
  7. <u-form-item label="姓名" prop="name">
  8. <u-input v-model="ruleForm.name" placeholder="请输入您的真实姓名" />
  9. </u-form-item>
  10. <u-form-item label="身份证" prop="idNumber">
  11. <u-input
  12. v-model="ruleForm.idNumber"
  13. placeholder="请输入身份证号码"
  14. />
  15. </u-form-item>
  16. <!-- <u-form-item label="身份证正面照" prop="name">
  17. <u-upload></u-upload>
  18. </u-form-item>
  19. <u-form-item label="身份证反面照" prop="name">
  20. <u-upload></u-upload>
  21. </u-form-item>
  22. <u-form-item label="手持身份证照" prop="name">
  23. <u-upload></u-upload>
  24. </u-form-item> -->
  25. </u-form>
  26. <u-button :customStyle="{'background':$lightColor,'color':'#fff' }" @click="submit">提交</u-button>
  27. </view>
  28. </view>
  29. <view class="tips">
  30. <view>您提交的信息正在审核</view>
  31. <view>提交认证申请后,工作人员将在三个工作日进行核对完成审核</view>
  32. </view>
  33. </view>
  34. </template>
  35. <script>
  36. import { applyDistribution } from "@/api/goods";
  37. export default {
  38. data() {
  39. return {
  40. ruleForm: {
  41. name: "",
  42. idNumber: "",
  43. },
  44. rules: {
  45. name: [
  46. {
  47. required: true,
  48. message: "请输入姓名",
  49. // 可以单个或者同时写两个触发验证方式
  50. trigger: "blur",
  51. },
  52. {
  53. // 自定义验证函数,见上说明
  54. validator: (rule, value, callback) => {
  55. // 上面有说,返回true表示校验通过,返回false表示不通过
  56. // this.$u.test.mobile()就是返回true或者false的
  57. return this.$u.test.chinese(value);
  58. },
  59. message: "姓名输入不正确",
  60. // 触发器可以同时用blur和change
  61. trigger: ["change", "blur"],
  62. },
  63. ],
  64. idNumber: [
  65. {
  66. required: true,
  67. message: "请输入身份证",
  68. // 可以单个或者同时写两个触发验证方式
  69. trigger: "blur",
  70. },
  71. {
  72. // 自定义验证函数,见上说明
  73. validator: (rule, value, callback) => {
  74. // 上面有说,返回true表示校验通过,返回false表示不通过
  75. // this.$u.test.mobile()就是返回true或者false的
  76. return this.$u.test.idCard(value);
  77. },
  78. message: "身份证号码不正确",
  79. // 触发器可以同时用blur和change
  80. trigger: ["change", "blur"],
  81. },
  82. ],
  83. },
  84. };
  85. },
  86. methods: {
  87. submit() {
  88. this.$refs.uForm.validate((valid) => {
  89. if (valid) {
  90. applyDistribution(this.ruleForm).then((res) => {
  91. if (res.data.success) {
  92. uni.showToast({
  93. title: "认证提交成功!",
  94. duration: 2000,
  95. icon: "none",
  96. });
  97. setTimeout(()=>{
  98. uni.navigateBack();
  99. },500)
  100. }
  101. else{
  102. uni.showToast({
  103. title: res.data.message,
  104. duration: 2000,
  105. icon:"none"
  106. });
  107. }
  108. });
  109. } else {
  110. uni.showToast({
  111. title: "请填写有效信息",
  112. duration: 2000,
  113. icon: "none",
  114. });
  115. }
  116. });
  117. },
  118. },
  119. onReady() {
  120. this.$refs.uForm.setRules(this.rules);
  121. },
  122. };
  123. </script>
  124. <style lang="scss" scoped>
  125. .wrapper {
  126. padding: 32rpx;
  127. }
  128. .tips {
  129. margin-top: 20rpx;
  130. font-size: 24rpx;
  131. color: #999;
  132. }
  133. </style>