mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-24 05:32:52 +08:00
towx
This commit is contained in:
@@ -70,6 +70,14 @@ export function uploadImg(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 人脸识别
|
||||||
|
export function recognition(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/customer/recognition', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 139.9.27.13:7002/updown/uploadImage
|
// 139.9.27.13:7002/updown/uploadImage
|
||||||
// 核保接口
|
// 核保接口
|
||||||
|
|||||||
67
src/components/ebiz/sale/UploadImageFile.vue
Normal file
67
src/components/ebiz/sale/UploadImageFile.vue
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<van-uploader
|
||||||
|
name="fileListIdFront"
|
||||||
|
capture="camera"
|
||||||
|
:preview-image="false"
|
||||||
|
v-model="fileListIdFront"
|
||||||
|
upload-text="上传图片"
|
||||||
|
:after-read="afterRead"
|
||||||
|
class="mt10 ml20"
|
||||||
|
:max-count="1"
|
||||||
|
>
|
||||||
|
<van-button type="primary">人脸识别</van-button>
|
||||||
|
</van-uploader>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { Uploader, button } from 'vant'
|
||||||
|
import { uploadImg } from '@/api/ebiz/sale/sale'
|
||||||
|
export default {
|
||||||
|
name: 'UploadImageFile',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
file: '',
|
||||||
|
imgName: '',
|
||||||
|
fileListIdFront: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
[button.name]: button,
|
||||||
|
[Uploader.name]: Uploader
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
afterRead(file) {
|
||||||
|
let that = this
|
||||||
|
// console.log(type)
|
||||||
|
// 此时可以自行将文件上传至服务器
|
||||||
|
that.file = file.content
|
||||||
|
that.imgName = Math.floor(Math.random() * 100).toString() + new Date().getTime() + file.file.name //为图片名加随机数 与时间戳
|
||||||
|
that.uploadImg()
|
||||||
|
},
|
||||||
|
dataURLtoFile(dataurl, filename) {
|
||||||
|
var arr = dataurl.split(','),
|
||||||
|
mime = arr[0].match(/:(.*?);/)[1],
|
||||||
|
bstr = atob(arr[1]),
|
||||||
|
n = bstr.length,
|
||||||
|
u8arr = new Uint8Array(n)
|
||||||
|
while (n--) {
|
||||||
|
u8arr[n] = bstr.charCodeAt(n)
|
||||||
|
}
|
||||||
|
return new File([u8arr], filename, { type: mime })
|
||||||
|
},
|
||||||
|
uploadImg() {
|
||||||
|
let that = this
|
||||||
|
let formdata = new FormData()
|
||||||
|
console.log('file-----------------', that.file)
|
||||||
|
console.log('name-----------------', that.imgName)
|
||||||
|
formdata.append('imgPath', that.dataURLtoFile(that.file, that.imgName))
|
||||||
|
uploadImg(formdata).then(res => {
|
||||||
|
that.$emit('sendimage', that.file)
|
||||||
|
that.$forceUpdate()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -43,20 +43,21 @@
|
|||||||
|
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||||
<!-- <van-button
|
<van-button
|
||||||
v-if="isShow"
|
v-if="isShow"
|
||||||
type="danger"
|
type="danger"
|
||||||
size="normal"
|
size="normal"
|
||||||
style="width: 157px;"
|
class="w160"
|
||||||
plain
|
plain
|
||||||
v-no-more-click="1000"
|
v-no-more-click="1000"
|
||||||
:disabled="appntSign.signStatus == '1'"
|
:disabled="appntSign.signStatus == '1'"
|
||||||
@click="share(insured.length == '0' ? '2' : '0')"
|
@click="share(insured.length == '0' ? '2' : '0')"
|
||||||
>分享</van-button> -->
|
>分享</van-button
|
||||||
|
>
|
||||||
<van-button
|
<van-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="normal"
|
size="normal"
|
||||||
style="width: 157px;"
|
class="w160"
|
||||||
plain
|
plain
|
||||||
:disabled="appntSign.signStatus == '1'"
|
:disabled="appntSign.signStatus == '1'"
|
||||||
v-no-more-click="1000"
|
v-no-more-click="1000"
|
||||||
@@ -92,7 +93,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||||
<!-- <van-button
|
<van-button
|
||||||
v-if="isShow"
|
v-if="isShow"
|
||||||
type="danger"
|
type="danger"
|
||||||
size="normal"
|
size="normal"
|
||||||
@@ -101,7 +102,8 @@
|
|||||||
@click="share('1')"
|
@click="share('1')"
|
||||||
plain
|
plain
|
||||||
v-no-more-click="1000"
|
v-no-more-click="1000"
|
||||||
>分享</van-button> -->
|
>分享</van-button
|
||||||
|
>
|
||||||
<van-button
|
<van-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="normal"
|
size="normal"
|
||||||
@@ -188,8 +190,8 @@
|
|||||||
<span class="text">{{ insuredSign.tipsSignDocumentName }}</span>
|
<span class="text">{{ insuredSign.tipsSignDocumentName }}</span>
|
||||||
<img :src="src" v-if="insuredSign.tipsSignStatus == '1'" />
|
<img :src="src" v-if="insuredSign.tipsSignStatus == '1'" />
|
||||||
</p> -->
|
</p> -->
|
||||||
<!-- 新加的 需要改++++++++++++++++++++++++= -->
|
|
||||||
<p>需签111署:</p>
|
<p>需签署:</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
<span class="text">{{ insuredSign.signDocumentName }}</span>
|
<span class="text">{{ insuredSign.signDocumentName }}</span>
|
||||||
<img :src="src" v-if="insuredSign.signStatus == '1'" />
|
<img :src="src" v-if="insuredSign.signStatus == '1'" />
|
||||||
@@ -214,15 +216,15 @@
|
|||||||
:disabled="insuredSign.signStatus == '1'"
|
:disabled="insuredSign.signStatus == '1'"
|
||||||
@click="start_ocr('1')"
|
@click="start_ocr('1')"
|
||||||
v-no-more-click="1000"
|
v-no-more-click="1000"
|
||||||
>开始</van-button
|
>开始 微信</van-button
|
||||||
>
|
>
|
||||||
|
<UploadImageFile @sendimage="sendimage"></UploadImageFile>
|
||||||
</div>
|
</div>
|
||||||
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
||||||
</van-collapse-item>
|
</van-collapse-item>
|
||||||
</van-collapse>
|
</van-collapse>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <p class="mb20">尊敬的<span class="text">陈伟</span>先生/女士,您好!</p>
|
<!-- <p class="mb20">尊敬的<span class="text">陈伟</span>先生/女士,您好!</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
感谢您于<span class="text">2019-08-03</span>在鼎诚人寿保险有限责任公司为陈伟投保,保费合计<span class="text">7128</span>元,销售人员为1009368孙岚。
|
感谢您于<span class="text">2019-08-03</span>在鼎诚人寿保险有限责任公司为陈伟投保,保费合计<span class="text">7128</span>元,销售人员为1009368孙岚。
|
||||||
@@ -245,6 +247,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Cell, CellGroup, Collapse, CollapseItem, Dialog } from 'vant'
|
import { Cell, CellGroup, Collapse, CollapseItem, Dialog } from 'vant'
|
||||||
|
import UploadImageFile from '@/components/ebiz/sale/UploadImageFile'
|
||||||
import { underWrite, getOrderDetail, getToken, getSignInvalid, checkSignInvalid } from '@/api/ebiz/sale/sale'
|
import { underWrite, getOrderDetail, getToken, getSignInvalid, checkSignInvalid } from '@/api/ebiz/sale/sale'
|
||||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||||
// import axios from 'axios'
|
// import axios from 'axios'
|
||||||
@@ -406,13 +409,14 @@ export default {
|
|||||||
idcardName: JSON.parse(this.$route.query.saleInsuredInfo).name,
|
idcardName: JSON.parse(this.$route.query.saleInsuredInfo).name,
|
||||||
idcardNumber: JSON.parse(this.$route.query.saleInsuredInfo).idNo
|
idcardNumber: JSON.parse(this.$route.query.saleInsuredInfo).idNo
|
||||||
}
|
}
|
||||||
getToken(data).then(res => {
|
|
||||||
if (res.result == '0') {
|
// getToken(data).then(res => {
|
||||||
window.location.href = `https://api.megvii.com/faceid/lite/do?token=${res.content.token}`
|
// if (res.result == '0') {
|
||||||
} else {
|
// window.location.href = `https://api.megvii.com/faceid/lite/do?token=${res.content.token}`
|
||||||
this.$toast(res.resultMessage)
|
// } else {
|
||||||
}
|
// this.$toast(res.resultMessage)
|
||||||
})
|
// }
|
||||||
|
// })
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
window.localStorage.setItem('sign-val', val)
|
window.localStorage.setItem('sign-val', val)
|
||||||
@@ -432,13 +436,13 @@ export default {
|
|||||||
idcardName: JSON.parse(this.$route.query.saleInsuredPersonInfo).name,
|
idcardName: JSON.parse(this.$route.query.saleInsuredPersonInfo).name,
|
||||||
idcardNumber: JSON.parse(this.$route.query.saleInsuredPersonInfo).idNo
|
idcardNumber: JSON.parse(this.$route.query.saleInsuredPersonInfo).idNo
|
||||||
}
|
}
|
||||||
getToken(data).then(res => {
|
// getToken(data).then(res => {
|
||||||
if (res.result == '0') {
|
// if (res.result == '0') {
|
||||||
window.location.href = `https://api.megvii.com/faceid/lite/do?token=${res.content.token}`
|
// window.location.href = `https://api.megvii.com/faceid/lite/do?token=${res.content.token}`
|
||||||
} else {
|
// } else {
|
||||||
this.$toast(res.resultMessage)
|
// this.$toast(res.resultMessage)
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -457,14 +461,14 @@ export default {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// 原人脸识别
|
// 原人脸识别
|
||||||
// EWebBridge.webCallAppInJs('face_auth', {
|
EWebBridge.webCallAppInJs('face_auth', {
|
||||||
// number: that.saleInsuredInfo.idNo, //身份证号码
|
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||||
// name: that.saleInsuredInfo.name //姓名
|
name: that.saleInsuredInfo.name //姓名
|
||||||
// })
|
// })
|
||||||
// 跳过人脸识别
|
// // 跳过人脸识别
|
||||||
new Promise(resolve => {
|
// new Promise(resolve => {
|
||||||
console.log('--跳过人脸识别--返回识别成功')
|
// console.log('--跳过人脸识别--返回识别成功')
|
||||||
resolve(JSON.stringify({ state: '1' }))
|
// resolve(JSON.stringify({ state: '1' }))
|
||||||
}).then(data => {
|
}).then(data => {
|
||||||
if (JSON.parse(data).state == '1') {
|
if (JSON.parse(data).state == '1') {
|
||||||
if (that.appntSign.readStatus == '0') {
|
if (that.appntSign.readStatus == '0') {
|
||||||
@@ -519,13 +523,13 @@ export default {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// 跳过人脸识别
|
// 跳过人脸识别
|
||||||
// EWebBridge.webCallAppInJs('face_auth', {
|
EWebBridge.webCallAppInJs('face_auth', {
|
||||||
// number: that.saleInsuredInfo.idNo, //身份证号码
|
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||||
// name: that.saleInsuredInfo.name //姓名
|
name: that.saleInsuredInfo.name //姓名
|
||||||
// })
|
// })
|
||||||
new Promise(resolve => {
|
// new Promise(resolve => { 你 你
|
||||||
console.log('--跳过人脸识别--返回识别成功')
|
// console.log('--跳过人脸识别--返回识别成功')
|
||||||
resolve(JSON.stringify({ state: '1' }))
|
// resolve(JSON.stringify({ state: '1' }))
|
||||||
}).then(data => {
|
}).then(data => {
|
||||||
if (JSON.parse(data).state == '1') {
|
if (JSON.parse(data).state == '1') {
|
||||||
if (that.insuredSign.readStatus == '0') {
|
if (that.insuredSign.readStatus == '0') {
|
||||||
@@ -567,6 +571,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//调用微信人脸识别
|
||||||
|
wxtoface(imgData) {
|
||||||
|
let data = { imgData: imgData, realName: this.name, idno: this.telnum }
|
||||||
|
recognition(data).then(res => {
|
||||||
|
this.value = res
|
||||||
|
})
|
||||||
|
},
|
||||||
toTest() {},
|
toTest() {},
|
||||||
// 微信分享
|
// 微信分享
|
||||||
share(code) {
|
share(code) {
|
||||||
@@ -830,6 +841,7 @@ export default {
|
|||||||
[Cell.name]: Cell,
|
[Cell.name]: Cell,
|
||||||
[CellGroup.name]: CellGroup,
|
[CellGroup.name]: CellGroup,
|
||||||
[Collapse.name]: Collapse,
|
[Collapse.name]: Collapse,
|
||||||
|
UploadImageFile: UploadImageFile,
|
||||||
[CollapseItem.name]: CollapseItem,
|
[CollapseItem.name]: CollapseItem,
|
||||||
[Dialog.name]: Dialog
|
[Dialog.name]: Dialog
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -16,23 +16,68 @@
|
|||||||
<br />
|
<br />
|
||||||
<div @click="bankAuto">bank 银行卡</div>
|
<div @click="bankAuto">bank 银行卡</div>
|
||||||
<br />
|
<br />
|
||||||
|
<input type="text" v-model="name" placeholder="人脸识别姓名" class="w350 mt12 p6" />
|
||||||
|
<input type="text" v-model="telnum" placeholder="人脸识别身份证" class="w350 mt12 p6" />
|
||||||
|
<!-- <div @click="facetoface" class="p8">人脸识别点击开始</div> -->
|
||||||
|
<van-button icon="photo" @click="facetoface" class="mt12" type="primary">人脸识别</van-button>
|
||||||
|
<br />
|
||||||
|
<!-- <UploadImageFile @sendimage="sendimage"></UploadImageFile> -->
|
||||||
<div>
|
<div>
|
||||||
{{ value }}
|
{{ value }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<UploadImageFile @sendimage="sendimage"></UploadImageFile>
|
||||||
|
<!-- <van-button icon="photo" @click="wxtoface" class="mt12" type="primary">H5拍照识别人脸识别</van-button> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { Uploader, button } from 'vant'
|
||||||
|
import { uploadImg, recognition } from '@/api/ebiz/sale/sale'
|
||||||
|
import UploadImageFile from '@/components/ebiz/sale/UploadImageFile'
|
||||||
import { test } from '@/api/ebiz/sale/sale'
|
import { test } from '@/api/ebiz/sale/sale'
|
||||||
import Pdfh5 from 'pdfh5'
|
import Pdfh5 from 'pdfh5'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
name: '',
|
||||||
|
telnum: '',
|
||||||
|
imgData: '',
|
||||||
base64: '',
|
base64: '',
|
||||||
value: ''
|
value: '',
|
||||||
|
file: '',
|
||||||
|
imgName: '',
|
||||||
|
fileListIdFront: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
[button.name]: button,
|
||||||
|
UploadImageFile: UploadImageFile,
|
||||||
|
[Uploader.name]: Uploader
|
||||||
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
wxtoface(imgData) {
|
||||||
|
let data = { imgData: imgData, realName: this.name, idno: this.telnum }
|
||||||
|
recognition(data).then(res => {
|
||||||
|
this.value = res
|
||||||
|
})
|
||||||
|
},
|
||||||
|
facetoface() {
|
||||||
|
let that = this
|
||||||
|
EWebBridge.webCallAppInJs('face_auth', {
|
||||||
|
number: this.telnum,
|
||||||
|
name: this.name
|
||||||
|
}).then(data => {
|
||||||
|
that.value = data
|
||||||
|
console.log(JSON.parse(data))
|
||||||
|
})
|
||||||
|
},
|
||||||
reload() {
|
reload() {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -97,6 +142,10 @@ export default {
|
|||||||
}).then(data => {
|
}).then(data => {
|
||||||
_this.value = data
|
_this.value = data
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
sendimage(v) {
|
||||||
|
// console.log(v)
|
||||||
|
this.wxtoface(v)
|
||||||
}
|
}
|
||||||
// start_ocr(val) {
|
// start_ocr(val) {
|
||||||
// let that = this
|
// let that = this
|
||||||
|
|||||||
Reference in New Issue
Block a user