<template> <view> <view class="auth"> <dHeader :title="$lang.lang.auth.auth"></dHeader> <view class="start-bar"></view> <view class="idcard"> <view class="idcard-title"> <picker class="v-picker" :value="typeIndex" :range="typeData" @change="typeChange" v-if="typeData.length > 0"> <view class="uni-input">{{typeData[typeIndex]}}</view> </picker> <image src="../../static/img/rgt.png" mode=""></image> </view> <view class="idcard-img"> <view class="idcard-img-v"> <view class="" @click="setImg('img1')"> <image :class="params.img1 == '' ? 'idimg' : 'idcard-file'" :src="params.img1 == '' ? '../../static/img/card-1.png' : params.img1" mode=""></image> <text v-if="params.img1 == ''">{{typeIndex==0?$lang.lang.auth.Id1:$lang.lang.auth.Idcard1}}</text> </view> <image v-if="params.img1 != ''" src="../../static/img/delete.png" class="delete" @click="setImg('img1')"></image> </view> <view class="idcard-img-v"> <view class="" @click="setImg('img2')"> <image :class="params.img2 == '' ? 'idimg' : 'idcard-file'" :src="params.img2 == '' ? '../../static/img/card-2.png' : params.img2" mode=""></image> <text v-if="params.img2 == ''">{{typeIndex==0?$lang.lang.auth.Id2:$lang.lang.auth.Idcard2}}</text> </view> <image v-if="params.img2 != ''" src="../../static/img/delete.png" class="delete" @click="setImg('img2')"></image> </view> </view> </view> <view class="idput"> <view class="title">{{$lang.lang.auth.msg}}</view> <view class="idput-v"> <view class=""> <text>{{$lang.lang.auth.name}}</text> <input type="text" v-model="params.name" :placeholder="$lang.lang.notices.name"> </view> <view class=""> <text>{{$lang.lang.auth.Idcode}}</text> <input type="text" v-model="params.cardNumber" :placeholder="$lang.lang.notices.Idcode"> </view> </view> </view> <view v-if="params.status!=1" class="authBtn" @click="authPost">{{$lang.lang.auth.submit}}</view> <view v-else class="authBtn">{{$lang.lang.auth.auto}}</view> </view> </view> </template> <script> import dHeader from '../../components/dHeader/index.vue' export default { components: { dHeader }, data() { return { typeIndex: 0, typeValue: [], typeData: [], params: { cardType: 0, img1: '', img2: '', name: '', cardNumber: '', }, rules: { cardType: this.$lang.lang.notices.Idtype, img1: this.$lang.lang.notices.Id1, img2: this. $lang.lang.notices.Id2, name: this.$lang.lang.notices.name, cardNumber: this.$lang.lang.notices.Idcode, }, userInfo: {}, } }, onLoad() { this.getType() this.getIdcard() this.getUserInfo() }, methods: { getUserInfo() { this.$request.get('/app-api/member/user/get').then(res => { if(res.code==0&&res.data){ this.userInfo = res.data } }) }, getIdcard () { this.$request.get('/app-api/member/user/get-auth-idcard-info').then(res => { if(res.code==0&&res.data){ this.params = res.data } }) }, authPost () { this.rules.img1 = this.typeIndex==0?this.$lang.lang.notices.Id1:this.$lang.lang.notices.Passport1 this.rules.img2 = this.typeIndex==0?this.$lang.lang.notices.Id2:this.$lang.lang.notices.Passport2 console.log('this.rules', this.rules) if(!this.$request.checkFormData(this.params, this.rules)){ return false } this.$request.put('/app-api/member/user/auth-idcard', this.params).then(res => { if(res.code == 0){ uni.showToast({ title: this.$lang.lang.notices.success, icon: 'success', }) setTimeout(() => { uni.navigateBack() }, 1500) } else { uni.showToast({ title: res.msg, icon: 'none' }) } }) }, typeChange (e) { this.typeIndex = e.detail.value this.params.type = this.typeValue[e.detail.value] }, getType () { let that = this that.$request.getConfig('certificate_type').then(res => { if(res.code==0&&res.data&&res.data.list.length > 0){ let d = res.data.list for(let i in d){ that.typeValue.push(d[i].value) if(that.$lang.locale=='zh'){ that.typeData.push(d[i].label) }else{ that.typeData.push(d[i].labelEn) } } that.params.cardType = that.typeValue[that.typeIndex] } }) }, setImg (key) { if(this.params[key] != ''){ this.params[key] = '' }else{ let that = this uni.chooseImage({ count: 1, success:(res)=> { uni.showLoading({ title: this.$lang.lang.notices.loading, }) const file = res.tempFilePaths[0] uni.uploadFile({ url: this.$request.baseUrl + '/app-api/file/upload', filePath: file, name: 'file', header: this.$request.getImgHeader(), success: (uploadFileRes) => { uni.hideLoading() let res = JSON.parse(uploadFileRes.data) console.log('res', res) if(res.code == 0){ this.params[key] = res.data } else { uni.showToast({ title: res.msg, icon: 'none', }) } } }) }, fail: (Error) => { console.log(Error) } }) } }, } } </script> <style> @import url("../../static/css/auth.css"); </style>