394 lines
8.9 KiB
Vue
394 lines
8.9 KiB
Vue
<!-- 身份证上传 -->
|
|
<template>
|
|
<view class="container">
|
|
<view class="c-top">
|
|
<view class="" @click="getfanhui()">
|
|
<uni-icons type="left" size="18" color="black"></uni-icons>
|
|
</view>
|
|
<view class="c-title">完善身份信息 </view>
|
|
<view class=""></view>
|
|
</view>
|
|
|
|
<view class="boxbox">
|
|
<view >
|
|
<view class="top-left">(上传身份证人像面)</view>
|
|
</view>
|
|
<view class="zhans-img">
|
|
<image src="http://www.nuoyunr.com/lananRsc/detection/rx.png" mode=""></image>
|
|
</view>
|
|
<view class="img-box">
|
|
<u-upload
|
|
:fileList="fileList1"
|
|
@afterRead="afterRead"
|
|
@delete="deletePic"
|
|
name="1"
|
|
multiple
|
|
:maxCount="1"
|
|
>
|
|
</u-upload>
|
|
</view>
|
|
</view>
|
|
<!-- <view class="boxbox">
|
|
<view >
|
|
<view class="top-left">(上传行驶证)</view>
|
|
</view>
|
|
<view class="zhans-img">
|
|
<image src="http://www.nuoyunr.com/lananRsc/detection/xsz.png" mode=""></image>
|
|
</view>
|
|
<view class="img-box">
|
|
<u-upload
|
|
:fileList="fileList2"
|
|
@afterRead="afterRead1"
|
|
@delete="deletePic1"
|
|
name="2"
|
|
multiple
|
|
:maxCount="1"
|
|
>
|
|
|
|
</u-upload>
|
|
</view>
|
|
</view> -->
|
|
|
|
<view class="anniu" @click="getimg()" >
|
|
<text>点击上传</text>
|
|
</view>
|
|
<view style="width: 100%; height: 10px;"></view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import request from '../../utils/request'
|
|
import config from '@/config'
|
|
export default {
|
|
data(){
|
|
return{
|
|
doing:'',
|
|
imgs:'',
|
|
fileList1: [],
|
|
fileList2: [],
|
|
postData: {
|
|
carPics: '',
|
|
licenseImage:'',
|
|
idCardImage:'',
|
|
},
|
|
}
|
|
},
|
|
onLoad() {
|
|
this.imgs = this.$baseUrl
|
|
},
|
|
mounted() {
|
|
|
|
this.getindex()
|
|
},
|
|
methods:{
|
|
async getindex(){
|
|
let res = await request( {
|
|
url:'/system/userCar/getInfoCard',
|
|
method: 'get',
|
|
})
|
|
console.log('查看回显',res);
|
|
|
|
},
|
|
getfanhui(){
|
|
uni.navigateBack()
|
|
},
|
|
// 删除图片
|
|
deletePic(event) {
|
|
this[`fileList${event.name}`].splice(event.index, 1)
|
|
},
|
|
deletePic1(event) {
|
|
this[`fileList${event.name}`].splice(event.index, 1)
|
|
},
|
|
async afterRead(event) {
|
|
// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
|
|
let lists = [].concat(event.file)
|
|
let fileListLen = this[`fileList${event.name}`].length
|
|
lists.map((item) => {
|
|
this[`fileList${event.name}`].push({
|
|
...item,
|
|
})
|
|
})
|
|
for (let i = 0; i < lists.length; i++) {
|
|
const result = await this.uploadFilePromise(lists[i].url)
|
|
let item = this[`fileList${event.name}`][fileListLen]
|
|
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
|
|
status: 'success',
|
|
message: '',
|
|
url: result
|
|
}))
|
|
fileListLen++
|
|
}
|
|
},
|
|
uploadFilePromise(url) {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
});
|
|
return new Promise((resolve, reject) => {
|
|
let a = uni.uploadFile({
|
|
url: this.$baseUrl+'/common/uploadImg', // 仅为示例,非真实的接口地址
|
|
filePath: url,
|
|
name: 'file',
|
|
formData: {
|
|
user: 'test'
|
|
},
|
|
success: (res) => {
|
|
try {
|
|
let img = JSON.parse(res.data);
|
|
this.licenseImage = this.imgs + img.fileName
|
|
console.log('url',this.licenseImage);
|
|
uni.hideLoading();
|
|
} catch (e) {
|
|
//TODO handle the exception
|
|
}
|
|
setTimeout(() => {
|
|
resolve(res.data.data)
|
|
}, 1000)
|
|
}
|
|
});
|
|
})
|
|
},
|
|
async afterRead1(event) {
|
|
// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
|
|
let lists = [].concat(event.file)
|
|
let fileListLen = this[`fileList${event.name}`].length
|
|
lists.map((item) => {
|
|
this[`fileList${event.name}`].push({
|
|
...item,
|
|
|
|
})
|
|
})
|
|
for (let i = 0; i < lists.length; i++) {
|
|
const result = await this.uploadFilePromise1(lists[i].url)
|
|
let item = this[`fileList${event.name}`][fileListLen]
|
|
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
|
|
status: 'success',
|
|
message: '',
|
|
url: result
|
|
}))
|
|
fileListLen++
|
|
}
|
|
},
|
|
uploadFilePromise1(url) {
|
|
return new Promise((resolve, reject) => {
|
|
let a = uni.uploadFile({
|
|
url: this.$baseUrl+'/common/uploadImg', // 仅为示例,非真实的接口地址
|
|
filePath: url,
|
|
name: 'file',
|
|
formData: {
|
|
user: 'test'
|
|
},
|
|
success: (res) => {
|
|
try {
|
|
let img = JSON.parse(res.data);
|
|
this.idCardImage = this.imgs + img.fileName
|
|
console.log('url1',this.idCardImage);
|
|
} catch (e) {
|
|
//TODO handle the exception
|
|
}
|
|
setTimeout(() => {
|
|
resolve(res.data.data)
|
|
}, 1000)
|
|
}
|
|
});
|
|
})
|
|
},
|
|
|
|
async getimg(){
|
|
console.log(this.doing);
|
|
let data = {
|
|
imagePath :this.licenseImage,
|
|
// idCardImage :this.idCardImage,
|
|
}
|
|
const res = await request({
|
|
url: '/system/userCar/infoCardOCR',
|
|
method: 'post',
|
|
params: data
|
|
})
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title:'提交成功'
|
|
})
|
|
}
|
|
if(res.code != 200){
|
|
uni.showToast({
|
|
title:'识别失败 请从新上传',
|
|
icon:'none'
|
|
})
|
|
}
|
|
|
|
// setTimeout(() => {
|
|
// this.$tab.navigateBack()
|
|
// }, 2500)
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.container{
|
|
width: 100%;
|
|
height: calc(100vh);
|
|
background-color: #F6F6F6;
|
|
// background: url('http://www.nuoyunr.com/lananRsc/jcbjt.png') center no-repeat;
|
|
background-size:100% 100%;
|
|
box-sizing: border-box;
|
|
padding-bottom: 15px;
|
|
}
|
|
.c-top{
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 15px;
|
|
padding-top: 45px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background-color: white;
|
|
}
|
|
.c-title{
|
|
font-size: 18px;
|
|
color: black;
|
|
font-weight: bold;
|
|
|
|
|
|
}
|
|
.zhans-img{
|
|
width: 95%;
|
|
height: 200px;
|
|
border-radius: 6px;
|
|
// border: 2px solid #FFE3AD;
|
|
box-sizing: border-box;
|
|
padding: 5px;
|
|
margin: 20px auto;
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
.boxbox{
|
|
background: white;
|
|
box-sizing: border-box;
|
|
padding: 15px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.cont-top{
|
|
width: 95%;
|
|
margin: 0 auto;
|
|
box-sizing: border-box;
|
|
overflow: hidden;
|
|
padding-bottom: 10px;
|
|
display: flex;
|
|
align-items: center;
|
|
// border-bottom: 1px solid #FFE3AD;
|
|
|
|
}
|
|
.top-right{
|
|
width: 70%;
|
|
input{
|
|
width: 100%;
|
|
color: white;
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
.top-left{
|
|
color: black;
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
margin-right: 5px;
|
|
}
|
|
.cont-box{
|
|
margin: 0 auto;
|
|
margin-top: 20px;
|
|
width: 95%;
|
|
|
|
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
.box{
|
|
width: 30%;
|
|
height: 40px;
|
|
border-radius: 8px;
|
|
border: 1px solid #FFE3AD;
|
|
margin-top: 10px;
|
|
margin-right: 11px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 18px;
|
|
color: white;
|
|
font-weight: bold;
|
|
|
|
}
|
|
.anniu{
|
|
width: 95%;
|
|
height: 40px;
|
|
border-radius: 6px;
|
|
border: 1px solid #FFE3AD;
|
|
background: #0D2E8D;
|
|
margin: 0 auto;
|
|
margin-bottom: 40px;
|
|
color: white;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
|
|
}
|
|
.indexbox{
|
|
background: #FFE3AD;
|
|
}
|
|
.img-box{
|
|
width: 95%;
|
|
margin: 0 auto;
|
|
}
|
|
/deep/.u-upload__wrap__preview__image.data-v-69e2a36e {
|
|
width: 100% !important;
|
|
height: 200px !important;
|
|
}
|
|
/deep/.u-upload__button.data-v-69e2a36e {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100% !important;
|
|
height: 200PX !important;
|
|
background-color: #f4f5f7;
|
|
border-radius: 2px;
|
|
|
|
box-sizing: border-box;
|
|
margin: 0 auto;
|
|
}
|
|
/deep/.u-upload__deletable.data-v-69e2a36e {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
background-color: #373737;
|
|
height: 26px !important;
|
|
width: 26px !important;
|
|
display: flex;
|
|
flex-direction: row;
|
|
border-bottom-left-radius: 100px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 3;
|
|
}
|
|
/deep/.u-icon__icon.data-v-2ee87dc9{
|
|
font-size: 17px !important;
|
|
line-height: 17px !important;
|
|
}
|
|
/deep/.u-upload__wrap__preview.data-v-69e2a36e {
|
|
border-radius: 2px;
|
|
width: 100% !important;
|
|
margin: 0 8px 8px 0;
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
</style> |