|
@@ -42,7 +42,7 @@
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="所属社区" required>
|
|
<uni-forms-item label="所属社区" required>
|
|
<uni-data-picker ref="lrhjdz" v-model="baseFormData.lrHjdz" :localdata="lrhjdzList" popup-title="请选择社区" @change="lrhjdzChange"
|
|
<uni-data-picker ref="lrhjdz" v-model="baseFormData.lrHjdz" :localdata="lrhjdzList" popup-title="请选择社区" @change="lrhjdzChange"
|
|
- @nodeclick="lrhjdzNodeClick" :readonly="lrhjdzList.length === 0"></uni-data-picker>
|
|
|
|
|
|
+ @nodeclick="lrhjdzNodeClick" :readonly="lrhjdzList.length === 0" :class="{'readonly':lrhjdzList.length === 0}"></uni-data-picker>
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="住址" required name="jzdz">
|
|
<uni-forms-item label="住址" required name="jzdz">
|
|
<uni-easyinput type="text" v-model="baseFormData.jzdz" :disabled="disabled" placeholder="请输入住址" :inputBorder="true"></uni-easyinput>
|
|
<uni-easyinput type="text" v-model="baseFormData.jzdz" :disabled="disabled" placeholder="请输入住址" :inputBorder="true"></uni-easyinput>
|
|
@@ -124,7 +124,7 @@
|
|
mchntList: [],
|
|
mchntList: [],
|
|
lrhjdzList: [],
|
|
lrhjdzList: [],
|
|
level: 3,
|
|
level: 3,
|
|
-
|
|
|
|
|
|
+
|
|
diqu: '',
|
|
diqu: '',
|
|
tkzmList: [],
|
|
tkzmList: [],
|
|
dbzmList: [],
|
|
dbzmList: [],
|
|
@@ -264,25 +264,69 @@
|
|
this.mchntList.push({ text: item.name, value: item.mchnt })
|
|
this.mchntList.push({ text: item.name, value: item.mchnt })
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
+
|
|
|
|
+ getAccessToken(this.callbackToken)
|
|
|
|
+ window.addEventListener("message", e => {
|
|
|
|
+ if (e.data.data && e.data.data.arg.base64) {
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title: '正在识别中...'
|
|
|
|
+ })
|
|
|
|
+ this.faceBase64 = ''
|
|
|
|
+ this.cardType = uni.getStorageSync("cardType")
|
|
|
|
+ // if (this.cardType == 'front') e.data.data.arg.base64 = jl.front
|
|
|
|
+ // if (this.cardType == 'back') e.data.data.arg.base64 = jl.back
|
|
|
|
+ // 压缩
|
|
|
|
+ translateAll(base64ToUrl(e.data.data.arg.base64), (base64, blobUrl) => {
|
|
|
|
+ idcard(base64, this.token, this.cardType, this.callbackIdcard)
|
|
|
|
+ })
|
|
|
|
+ uni.removeStorageSync('cardType')
|
|
|
|
+ }, 1000);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (e.data.data && e.data.data.arg.faceBase64) {
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title: '正在识别中...'
|
|
|
|
+ })
|
|
|
|
+ this.faceBase64 = e.data.data.arg.faceBase64
|
|
|
|
+ // 压缩
|
|
|
|
+ translateAll(base64ToUrl(this.faceBase64), (base64, blobUrl) => {
|
|
|
|
+ this.src = this.faceBase64
|
|
|
|
+ match(this.token, base64.split(",")[1], this.idcardFace, this.callbackFace)
|
|
|
|
+ })
|
|
|
|
+ }, 1000);
|
|
|
|
+ }
|
|
|
|
+ }, false)
|
|
},
|
|
},
|
|
- methods: {
|
|
|
|
- mchntChange(mchnt) {
|
|
|
|
- if (mchnt) {
|
|
|
|
- getChildListByMchnt({ mchnt }).then(res => {
|
|
|
|
- if (res.code !== 200) return
|
|
|
|
- const { data } = res
|
|
|
|
|
|
+ watch: {
|
|
|
|
+ 'baseFormData.mchnt': {
|
|
|
|
+ immediate:true,
|
|
|
|
+ handler(newVal, oldVal) {
|
|
|
|
+ if (newVal) {
|
|
|
|
+ getChildListByMchnt({ mchnt: newVal }).then(res => {
|
|
|
|
+ if (res.code !== 200) return
|
|
|
|
+ const { data } = res
|
|
|
|
+ this.lrhjdzList = []
|
|
|
|
+ let str1 = JSON.stringify(data).replaceAll('code', 'value').replaceAll('label', 'text').replaceAll('null', '')
|
|
|
|
+ this.lrhjdzList = JSON.parse(str1)
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
this.lrhjdzList = []
|
|
this.lrhjdzList = []
|
|
- let str1 = JSON.stringify(data).replaceAll('code', 'value').replaceAll('label', 'text').replaceAll('null', '')
|
|
|
|
- this.lrhjdzList = JSON.parse(str1)
|
|
|
|
- })
|
|
|
|
- } else {
|
|
|
|
- this.lrhjdzList = []
|
|
|
|
- this.baseFormData.lrHjdz = ''
|
|
|
|
|
|
+ this.baseFormData.lrHjdz = ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ mchntChange(mchnt) {
|
|
|
|
+ // console.log(mchnt);
|
|
},
|
|
},
|
|
lrhjdzChange(e) {
|
|
lrhjdzChange(e) {
|
|
const { value } = e.detail
|
|
const { value } = e.detail
|
|
- this.baseFormData.lrHjdz = value[value.length - 1].value
|
|
|
|
|
|
+ if (value.length > 0) {
|
|
|
|
+ this.baseFormData.lrHjdz = value[value.length - 1].value
|
|
|
|
+ }
|
|
},
|
|
},
|
|
lrhjdzNodeClick(e) {
|
|
lrhjdzNodeClick(e) {
|
|
// console.log(e);
|
|
// console.log(e);
|
|
@@ -298,6 +342,209 @@
|
|
this.zczmList = e
|
|
this.zczmList = e
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ callbackFace(res) {
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+ if (res.data.error_msg == 'SUCCESS') {
|
|
|
|
+ this.score = res.data.result.score;
|
|
|
|
+
|
|
|
|
+ this.baseFormData.lrTxdb = JSON.stringify({
|
|
|
|
+ "lrJmzjhm": this.idcardMD5,
|
|
|
|
+ "xsfs": this.score
|
|
|
|
+ })
|
|
|
|
+ if (this.score >= config.score) {
|
|
|
|
+ this.show = false
|
|
|
|
+ // this.baseFormData.lzzt = 3
|
|
|
|
+ this.baseFormData.lzzt = 0
|
|
|
|
+ // this.baseFormData.lrSpyj = '同意'
|
|
|
|
+ this.baseFormData.lrSpyj = ''
|
|
|
|
+ } else {
|
|
|
|
+ // 低于80选项是否人工审核,是的话进记录表
|
|
|
|
+ // 身份证头像保存后端
|
|
|
|
+ // 人脸库注册人脸、身份证md5
|
|
|
|
+ // 修改的时候去人脸库搜索,搜索不到不允许修改
|
|
|
|
+ // 修改成功替换原始人脸库照片
|
|
|
|
+ // 首次修改搜索身份证
|
|
|
|
+ // 后端没入库,人脸库相应删除
|
|
|
|
+ // ocr失败身份证原版入库,ocr成功人脸入库
|
|
|
|
+ // showConfirm('人像与身份证不符,请重新上传')
|
|
|
|
+
|
|
|
|
+ // this.baseFormData.lzzt = 1
|
|
|
|
+ // this.baseFormData.lrSpyj = ''
|
|
|
|
+ this.baseFormData.lzzt = 0
|
|
|
|
+ this.baseFormData.lrSpyj = ''
|
|
|
|
+ this.show = true
|
|
|
|
+ }
|
|
|
|
+ // this.baseFormData.prelrZjz = this.zjcaijianSrc
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ showConfirm(res.data.error_msg)
|
|
|
|
+ this.faceBase64 = ''
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ callbackToken(e) {
|
|
|
|
+ this.token = e
|
|
|
|
+ },
|
|
|
|
+ callbackIdcard(words) {
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+ if (!this.cardType) {
|
|
|
|
+ this.cardType = uni.getStorageSync("cardType")
|
|
|
|
+ }
|
|
|
|
+ if (this.cardType == 'front') {
|
|
|
|
+ if (!words) {
|
|
|
|
+ showConfirm('请上传正确的身份证人像面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (words.image_status == "other_type_card") {
|
|
|
|
+ showConfirm('请上传正确的身份证人像面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let id = words.words_result['公民身份号码'].words
|
|
|
|
+ let csrq = words.words_result['出生'].words
|
|
|
|
+ let sex = words.words_result['性别'].words
|
|
|
|
+ let zz = words.words_result['住址'].words
|
|
|
|
+ let info = idCardNoUtil.getIdCardInfo(id)
|
|
|
|
+ if (!idCardNoUtil.checkIdCardNo(id)) {
|
|
|
|
+ showConfirm('身份证号识别有误,请重新上传')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (info.birthday != csrq) {
|
|
|
|
+ showConfirm('身份证出生日期识别有误,请重新上传')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (info.gender != sex) {
|
|
|
|
+ showConfirm('身份证性别识别有误,请重新上传')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (words.image_status == "reversed_side") {
|
|
|
|
+ showConfirm('请上传身份证人像面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (words.risk_type != "normal") {
|
|
|
|
+ // normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
|
|
|
|
+ showConfirm('请上传正确的身份证人像面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // todo 根据身份证号查询此人信息是否可修改。this.isCheck = true
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.frontBase64 = words.card_image
|
|
|
|
+ this.zjcaijianSrc = 'data:image/jpeg;base64,' + words.card_image
|
|
|
|
+ this.disabled = false
|
|
|
|
+
|
|
|
|
+ // this.baseFormData.lrXb = getDictInfo(this.dicts.C0007, words.words_result['性别'].words)[0].value
|
|
|
|
+ // this.baseFormData.lrMz = getDictInfo(this.dicts.C0009, words.words_result['民族'].words)[0].value
|
|
|
|
+
|
|
|
|
+ this.baseFormData.lrXb = sex
|
|
|
|
+ this.baseFormData.lrMz = words.words_result['民族'].words
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.idcardFace = words.photo
|
|
|
|
+ this.idcardFaceUrl = base64ToUrl(words.photo);
|
|
|
|
+ this.baseFormData.lrZjhm = id
|
|
|
|
+ this.baseFormData.lrCsrq = csrq
|
|
|
|
+ this.idcardMD5 = CryptoJS.MD5(this.baseFormData.lrZjhm).toString()
|
|
|
|
+ this.baseFormData.lrXm = words.words_result['姓名'].words
|
|
|
|
+ this.baseFormData.lrHjbcxx = zz
|
|
|
|
+ this.ocrXm = words.words_result['姓名'].words
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (this.userInfo.userType != '07') {
|
|
|
|
+ GetLrByZjhm({
|
|
|
|
+ lrJmzjhm: this.idcardMD5
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.data) this.baseFormData = decryptData_ECB(res.data, ["lrZjhm", "lrXm",
|
|
|
|
+ "lrHjbcxx",
|
|
|
|
+ "lrXjdzBcxx",
|
|
|
|
+ "lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh",
|
|
|
|
+ "cjzh",
|
|
|
|
+ "yhzh", "khmc", "jhrxm", "jhrlxdh"
|
|
|
|
+ ], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5]);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (this.baseFormData.lrTx) this.src = config.baseUrl + this.baseFormData.lrTx
|
|
|
|
+ if (this.baseFormData.lrHjdz) {
|
|
|
|
+ this.jiedaoData.forEach(e => {
|
|
|
|
+ if (e.children.length > 0) {
|
|
|
|
+ e.children.forEach(ee => {
|
|
|
|
+ if (ee) {
|
|
|
|
+ if (ee.code == this.baseFormData.lrHjdz) {
|
|
|
|
+ this.shequValue = ee
|
|
|
|
+ this.jiedaoValue = e
|
|
|
|
+ this.diqu = this.jiedaoValue
|
|
|
|
+ .label +
|
|
|
|
+ '/' + this.shequValue.label
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (e.code == this.baseFormData.lrHjdz) {
|
|
|
|
+ this.jiedaoValue = e
|
|
|
|
+ this.diqu = this.jiedaoValue.label
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ // 地区回显
|
|
|
|
+ this.getAddressList()
|
|
|
|
+ }
|
|
|
|
+ if (res.data && res.data.sfzzpb) this.zjcaijianSrcFan = res.data.sfzzpb
|
|
|
|
+ if (res.data && res.data.tkzm) this.tkzmList = [res.data.tkzm]
|
|
|
|
+ if (res.data && res.data.dbzm) this.dbzmList = [res.data.dbzm]
|
|
|
|
+ if (res.data && res.data.zczm) this.zczmList = [res.data.zczm]
|
|
|
|
+ if (res.data) this.updateFlag = true
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // if (id) {
|
|
|
|
+ // GetLrByZjhm({
|
|
|
|
+ // lrJmzjhm: this.idcardMD5
|
|
|
|
+ // }).then(res => {
|
|
|
|
+ // if (res.data) {
|
|
|
|
+ // showConfirm('该信息已存在,请登录').then(res => {
|
|
|
|
+ // if (res.confirm == true) {
|
|
|
|
+ // uni.reLaunch({
|
|
|
|
+ // url: '/pages/login/index'
|
|
|
|
+ // })
|
|
|
|
+ // }
|
|
|
|
+ // })
|
|
|
|
+ // } else {
|
|
|
|
+ // this.disabled = false
|
|
|
|
+ // }
|
|
|
|
+ // })
|
|
|
|
+ // }
|
|
|
|
+ } else if (this.cardType == 'back') {
|
|
|
|
+ if (!words) {
|
|
|
|
+ showConfirm('请上传正确的身份证国徽面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (words.image_status == "other_type_card") {
|
|
|
|
+ showConfirm('请上传正确的身份证国徽面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (words.risk_type != "normal") {
|
|
|
|
+ // normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况
|
|
|
|
+ showConfirm('请上传正确的身份证国徽面')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // words.words_result['失效日期'].words
|
|
|
|
+ // words.words_result['签发日期'].words
|
|
|
|
+ // words.words_result['签发机关'].words
|
|
|
|
+ if (words && words.words_result) {
|
|
|
|
+ this.baseFormData.sfzqfjg = words.words_result['签发机关'].words
|
|
|
|
+ this.baseFormData.sfzyxqxs = words.words_result['签发日期'].words
|
|
|
|
+ this.baseFormData.sfzyxqxz = words.words_result['失效日期'].words
|
|
|
|
+ this.backBase64 = words.card_image
|
|
|
|
+ this.zjcaijianSrcFan = 'data:image/jpeg;base64,' + words.card_image
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
paizhao(type) {
|
|
paizhao(type) {
|
|
this.type = type
|
|
this.type = type
|
|
if (this.type == 'back' && !this.ocrXm) {
|
|
if (this.type == 'back' && !this.ocrXm) {
|
|
@@ -527,6 +774,14 @@
|
|
margin-top: 5px !important;
|
|
margin-top: 5px !important;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ .readonly {
|
|
|
|
+ background-color: #f7f6f6;
|
|
|
|
+
|
|
|
|
+ ::v-deep .placeholder {
|
|
|
|
+ color: #d5d5d5;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
.content {
|
|
.content {
|