特易招,招聘小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

276 lines
5.5 KiB

6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
4 months ago
6 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
4 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
  1. <template>
  2. <!-- 实名认证 -->
  3. <view class="page">
  4. <navbar title="实名认证"
  5. leftClick
  6. @leftClick="$utils.navigateBack"/>
  7. <view class="info-tips">
  8. 完成实名认证<text
  9. @click="$refs.configPopup.open('permission_authentic_person')">您将获得个人实名认证平台特权</text>
  10. </view>
  11. <view style="color: red;" v-if="sub ==2">
  12. 已驳回原因{{form.remark}}
  13. </view>
  14. <view class="form">
  15. <view class="form-item">
  16. <view class="label">
  17. 姓名
  18. </view>
  19. <input type="text" class="form-input"
  20. placeholder="请输入姓名"
  21. v-model="form.name"/>
  22. </view>
  23. <view class="form-item">
  24. <view class="label">
  25. 身份证号码
  26. </view>
  27. <input type="text" class="form-input"
  28. placeholder="请输入身份证号码"
  29. v-model="form.cerNo"/>
  30. </view>
  31. <view class="form-item">
  32. <view class="label">
  33. 联系方式
  34. </view>
  35. <input type="text" class="form-input"
  36. placeholder="请输入联系方式"
  37. v-model="form.phone"/>
  38. </view>
  39. <view class="form-item">
  40. <view class="title">
  41. 请上传身份证人像面照片选填
  42. </view>
  43. <view class="tips">
  44. 信息仅用身份核实上传后可增加曝光机会
  45. </view>
  46. </view>
  47. <view class="form-item">
  48. <uv-upload
  49. :fileList="fileList"
  50. :maxCount="1"
  51. width="690rpx"
  52. height="280rpx"
  53. multiple
  54. @afterRead="afterRead"
  55. @delete="deleteImage">
  56. <view class="upload">
  57. <image src="../static/auth/cart.png"
  58. mode="aspectFit"
  59. style="width: 390rpx;height: 280rpx;" />
  60. <view class="btn-add">
  61. 点击上传
  62. </view>
  63. </view>
  64. </uv-upload>
  65. </view>
  66. <view class="form-item">
  67. <view class="tips"
  68. style="text-align: center;padding: 20rpx 0;">
  69. (确保文字清晰可辨避免遮挡不全反光)
  70. </view>
  71. </view>
  72. </view>
  73. <view v-if="sub==0" class="uni-color-btn" @click="sumbit">
  74. 认证
  75. </view>
  76. <view v-if="sub==1" class="uni-uncolor-btn" @click="sumbit">
  77. 已审核通过
  78. </view>
  79. <view v-if="sub==2" class="uni-redcolor-btn" @click="sumbit">
  80. 已驳回,请重新提交
  81. </view>
  82. <view class="config">
  83. <uv-checkbox-group
  84. v-model="checkboxValue"
  85. shape="circle">
  86. <view class="content">
  87. <view
  88. style="display: flex;">
  89. <uv-checkbox
  90. size="40rpx"
  91. icon-size="30rpx"
  92. activeColor="#3796F8"
  93. :name="1"
  94. ></uv-checkbox>
  95. 阅读并同意我们的<text @click="$refs.configPopup.open('config_service_authentic')">个人实名认证服务协议</text>
  96. </view>
  97. </view>
  98. </uv-checkbox-group>
  99. </view>
  100. <configPopup ref="configPopup"/>
  101. </view>
  102. </template>
  103. <script>
  104. export default {
  105. data() {
  106. return {
  107. checkboxValue : [],
  108. form : {},
  109. fileList: [],
  110. sub:0
  111. }
  112. },
  113. onLoad() {
  114. this.getAuthenticationPerson();
  115. },
  116. methods: {
  117. //获取个人实名信息
  118. getAuthenticationPerson(){
  119. this.$api('getAuthenticationPerson',{}, res =>{
  120. if(res.code == 200){
  121. this.form = res.result || {};
  122. this.sub = this.form.status || 0;
  123. this.fileList = this.form.image ? this.form.image.split(',').map(url => {
  124. return {
  125. url
  126. }
  127. }) : []
  128. }
  129. })
  130. },
  131. deleteImage(e){
  132. this.fileList.splice(e.index, 1)
  133. },
  134. afterRead(e){
  135. let self = this
  136. e.file.forEach(file => {
  137. self.$Oss.ossUpload(file.url).then(url => {
  138. self.fileList.push({
  139. url
  140. })
  141. })
  142. })
  143. },
  144. //提交实名认证信息 :lzx
  145. sumbit(){
  146. this.form.image = this.fileList.map((item) => item.url).join(",")
  147. if(this.$utils.verificationAll(this.form,{
  148. name:'请输入姓名',
  149. cerNo:'请输入身份证号码',
  150. phone:'请输入电话号码',
  151. image:'身份证照片不能为空',
  152. })) {
  153. return
  154. }
  155. // 清理不需要给后端的字段
  156. delete this.form.createBy
  157. delete this.form.createTime
  158. delete this.form.updateBy
  159. delete this.form.updateTime
  160. delete this.form.userId
  161. this.$api('addAuthenticationPerson',this.form, res =>{
  162. if(res.code == 200){
  163. uni.showToast({
  164. title:'提交成功!等待审核',
  165. icon: 'none'
  166. })
  167. setTimeout(uni.navigateBack,1000,-1)
  168. }
  169. })
  170. }
  171. }
  172. }
  173. </script>
  174. <style scoped lang="scss">
  175. .page{
  176. background-color: #fff;
  177. min-height: 100vh;
  178. padding-bottom: 100rpx;
  179. .info-tips{
  180. width: 100%;
  181. padding: 30rpx 0;
  182. background-color: #f3f3f3;
  183. text-align: center;
  184. text{
  185. color: $uni-color;
  186. }
  187. }
  188. .form {
  189. padding: 30rpx;
  190. .form-item{
  191. .label{
  192. padding: 20rpx 0;
  193. }
  194. .form-input{
  195. border: 1px solid $uni-color;
  196. background: rgba($uni-color, 0.1);
  197. padding: 10rpx 20rpx;
  198. font-size: 28rpx;
  199. }
  200. .title{
  201. font-weight: 900;
  202. margin-top: 50rpx;
  203. padding: 10rpx 0;
  204. }
  205. .tips{
  206. font-size: 26rpx;
  207. color: #777;
  208. padding-bottom: 20rpx;
  209. }
  210. }
  211. .upload{
  212. display: flex;
  213. justify-content: center;
  214. align-items: center;
  215. width: 690rpx;
  216. background-color: #f3f3f3;
  217. border-radius: 10rpx;
  218. .btn-add{
  219. margin: auto;
  220. padding: 10rpx 20rpx;
  221. background-color: $uni-color;
  222. color: #fff;
  223. border-radius: 10rpx;
  224. }
  225. }
  226. }
  227. .config{
  228. font-size: 26rpx;
  229. line-height: 40rpx;
  230. width: 100%;
  231. display: flex;
  232. justify-content: center;
  233. .content{
  234. width: 100%;
  235. display: flex;
  236. flex-direction: column;
  237. align-items: center;
  238. }
  239. text{
  240. color: $uni-color;
  241. }
  242. }
  243. }
  244. </style>