index.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <template>
  2. <view class="main">
  3. <view class="auth" v-if="loaded">
  4. <u-form labelPosition="left" :rules="rules" ref="form" :labelWidth="'168rpx'">
  5. <u-form-item label="姓名" prop="formData.realname">
  6. <u-input v-model="formData.realname" placeholder="请输入姓名"></u-input>
  7. </u-form-item>
  8. <u-form-item label="身份证号" prop="formData.idcard">
  9. <u-input v-model="formData.idcard" maxlength="20" disabledColor="#ffffff" placeholder="请输入身份证号">
  10. </u-input>
  11. </u-form-item>
  12. <u-form-item label="身份证正面" prop="formData.idcard_front_img">
  13. <u-upload :action="uploadConfig.url" :header="uploadConfig.header" :accept="'image'"
  14. :uploadText="'身份证正面'" :imageMode="aspectFit" :file-list="fileList" @delete="deletePic"
  15. name="file" :maxCount="1" @afterRead="afterRead" @on-uploaded="uploadedFront">
  16. </u-upload>
  17. </u-form-item>
  18. <u-form-item label="身份证反面" prop="formData.idcard_back_img" :border="'none'">
  19. <u-upload :action="uploadConfig.url" :header="uploadConfig.header" :accept="'image'"
  20. :uploadText="'身份证反面'" :imageMode="aspectFit" :file-list="fileList1" @delete="deletePic"
  21. name="file" :maxCount="1" :maxSize="1024*1024*10" @afterRead="afterRead"
  22. @on-uploaded="uploadedBack"></u-upload>
  23. </u-form-item>
  24. </u-form>
  25. <view class="u-form-submit">
  26. <u-button type="primary" v-if="formData.idcard_check == 1">已认证</u-button>
  27. <u-button type="primary" v-else-if="formData.idcard_check == 3" @click="submit()">重新提交</u-button>
  28. <u-button type="primary" v-else-if="formData.idcard_check == 2" @click="submit()">已提交</u-button>
  29. <u-button type="primary" v-else @click="submit()">确认</u-button>
  30. </view>
  31. </view>
  32. </view>
  33. </template>
  34. <script>
  35. export default {
  36. data() {
  37. return {
  38. loaded: false,
  39. formData: {},
  40. fileList: [],
  41. fileList1: [],
  42. uploadConfig: {
  43. url: this.$request.baseUrl + '/api/upload/image',
  44. header: {
  45. Authorization: "Bearer " + uni.getStorageSync('tokens')
  46. }
  47. },
  48. rules: {
  49. 'realname': {
  50. type: 'string',
  51. required: true,
  52. message: '请填写姓名',
  53. trigger: ['blur', 'change']
  54. },
  55. 'idcard': {
  56. type: 'string',
  57. required: true,
  58. message: '请填身份证号',
  59. trigger: ['blur', 'change']
  60. },
  61. 'idcard_front_img': {
  62. type: 'string',
  63. required: true,
  64. message: '请上传身份证正面',
  65. trigger: ['blur', 'change']
  66. },
  67. 'idcard_back_img': {
  68. type: 'string',
  69. required: true,
  70. message: '请上传身份证背面',
  71. trigger: ['blur', 'change']
  72. }
  73. },
  74. }
  75. },
  76. created() {
  77. this.getUserInfo()
  78. },
  79. methods: {
  80. deletePic() {
  81. },
  82. //获取用户数据
  83. getUserInfo() {
  84. this.$request.sendToken('/api/user/info', {}, 'POST').then(res => {
  85. this.loaded = true;
  86. if (res.success == true) {
  87. this.userInfo = res.data;
  88. this.formData.realname = this.userInfo.realname
  89. this.formData.idcard = this.userInfo.idcard
  90. this.formData.idcard_check = this.userInfo.idcard_check
  91. this.formData.idcard_front_img = this.userInfo.idcard_front_img
  92. this.formData.idcard_back_img = this.userInfo.idcard_back_img
  93. console.log(this.formData)
  94. if (this.formData.idcard_front_img) {
  95. this.fileList[0] = {
  96. url: this.formData.idcard_front_img
  97. }
  98. }
  99. if (this.formData.idcard_back_img) {
  100. this.fileList1[0] = {
  101. url: this.formData.idcard_back_img
  102. }
  103. }
  104. } else {
  105. this.$u.toast(res.msg);
  106. }
  107. })
  108. },
  109. // 新增图片
  110. async afterRead(event) {
  111. console.log(event)
  112. },
  113. uploadedFront(fileList, index) {
  114. let file = fileList[0].response.data
  115. this.formData.idcard_front_img = file.path
  116. console.log(fileList)
  117. },
  118. uploadedBack(fileList, index) {
  119. let file = fileList[0].response.data
  120. this.formData.idcard_back_img = file.path
  121. console.log(fileList)
  122. },
  123. // 提交
  124. submit() {
  125. let _this = this;
  126. this.$request.sendToken('/api/user/auth/submit', this.formData, 'POST').then(res => {
  127. this.loaded = true;
  128. if (res.success == true) {
  129. this.$u.toast(res.msg);
  130. setTimeout(function() {
  131. uni.navigateTo({
  132. url: '/pages/center/index'
  133. })
  134. }, 2000)
  135. } else {
  136. this.$u.toast(res.msg);
  137. }
  138. })
  139. },
  140. }
  141. }
  142. </script>
  143. <style lang="scss" scoped>
  144. .main {
  145. margin: 19rpx 28rpx 38rpx;
  146. color: #6e6c6b;
  147. .u-form {
  148. margin-top: 28rpx;
  149. background-color: #2c2b2b;
  150. border-radius: 10rpx;
  151. .u-form-item {
  152. padding: 20rpx;
  153. color: #bb955e !important;
  154. .u-form-item__body {
  155. .u-input {
  156. color: #6e6c6b !important;
  157. uni-input {
  158. color: #6e6c6b !important;
  159. }
  160. }
  161. }
  162. }
  163. .u-form-item:last-child {
  164. border: none;
  165. }
  166. .u-border-bottom:after {
  167. border-color: rgba(249, 244, 241, 0.32);
  168. }
  169. .u-border-bottom:last-child:after {
  170. border-color: transparent;
  171. }
  172. }
  173. .auth {
  174. .u-form-submit {
  175. margin-top: 56rpx;
  176. border-radius: 10rpx;
  177. .u-btn {
  178. border: 2rpx solid #bb955e;
  179. background-color: #2c2b2b;
  180. padding: 10rpx 22rpx;
  181. color: #bb955e;
  182. height: auto;
  183. }
  184. }
  185. }
  186. }
  187. </style>