|
@@ -366,6 +366,7 @@
|
|
|
ocrType="front"
|
|
|
></image-upload-gljt>
|
|
|
<span>证件人像面</span>
|
|
|
+ <i class="el-icon-camera-solid" @click="QRSFZ('sfz','sfz')"></i>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="flexCount">
|
|
@@ -384,6 +385,7 @@
|
|
|
:accessToken="accessToken"
|
|
|
></image-upload-gljt>
|
|
|
<span>户口首页</span>
|
|
|
+ <i class="el-icon-camera-solid" @click="QRSFZ('hk','hk')"></i>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -405,6 +407,7 @@
|
|
|
ocrType="back"
|
|
|
></image-upload-gljt>
|
|
|
<span>证件国徽面</span>
|
|
|
+ <i class="el-icon-camera-solid" @click="QRSFZ('sfz','sfz')"></i>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="flexCount">
|
|
@@ -426,6 +429,7 @@
|
|
|
@clear="clearHkb"
|
|
|
></image-upload-gljt>
|
|
|
<span>户口本人页</span>
|
|
|
+ <i class="el-icon-camera-solid" @click="QRSFZ('hk','hk')"></i>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -442,7 +446,7 @@
|
|
|
v-model="form.tx"
|
|
|
/>
|
|
|
<span> 老人照片 </span>
|
|
|
- <!--<i class="el-icon-upload" @click="QRSFZ('tx')"></i>-->
|
|
|
+ <i class="el-icon-camera-solid" @click="QRSFZ('rx','rx')"></i>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -622,6 +626,9 @@
|
|
|
prop="yhzjz"
|
|
|
class="uploadStyle"
|
|
|
>
|
|
|
+ <label slot="label"
|
|
|
+ ><span>银行卡正面照</span><i class="el-icon-camera-solid" @click="QRSFZ('yhk','yhk')"></i></label
|
|
|
+ >
|
|
|
<image-upload-gljt
|
|
|
:isShowTip="false"
|
|
|
v-model="form.yhzjz"
|
|
@@ -674,6 +681,9 @@
|
|
|
label-width="98"
|
|
|
class="uploadStyle"
|
|
|
>
|
|
|
+ <label slot="label"
|
|
|
+ ><span>证件人像面</span><i class="el-icon-camera-solid" @click="QRSFZ('sfz','jhr')"></i></label
|
|
|
+ >
|
|
|
<image-upload-gljt
|
|
|
:isShowTip="false"
|
|
|
v-model="form.jhrZjzm"
|
|
@@ -692,6 +702,9 @@
|
|
|
label-width="98"
|
|
|
class="uploadStyle"
|
|
|
>
|
|
|
+ <label slot="label"
|
|
|
+ ><span>证件国徽面</span><i class="el-icon-camera-solid" @click="QRSFZ('sfz','jhr')"></i></label
|
|
|
+ >
|
|
|
<image-upload-gljt
|
|
|
:isShowTip="false"
|
|
|
v-model="form.jhrZjbm"
|
|
@@ -763,6 +776,9 @@
|
|
|
prop="dbrZjzm"
|
|
|
:rules="form.gx ? itemRules.dbrZjzm : []"
|
|
|
>
|
|
|
+ <label slot="label"
|
|
|
+ ><span>证件人像面</span><i class="el-icon-camera-solid" @click="QRSFZ('sfz','dbr')"></i></label
|
|
|
+ >
|
|
|
<image-upload-gljt
|
|
|
:isShowTip="false"
|
|
|
v-model="form.dbrZjzm"
|
|
@@ -782,6 +798,9 @@
|
|
|
prop="dbrZjbm"
|
|
|
:rules="form.gx ? itemRules.dbrZjbm : []"
|
|
|
>
|
|
|
+ <label slot="label"
|
|
|
+ ><span>证件国徽面</span><i class="el-icon-camera-solid" @click="QRSFZ('sfz','dbr')"></i></label
|
|
|
+ >
|
|
|
<image-upload-gljt
|
|
|
:isShowTip="false"
|
|
|
v-model="form.dbrZjbm"
|
|
@@ -1290,6 +1309,7 @@ import mqtt from "mqtt";
|
|
|
import { getUuid } from "@/utils";
|
|
|
import QRCode from "qrcodejs2";
|
|
|
import { Constant } from "@/utils/constant";
|
|
|
+import axios from 'axios'
|
|
|
export default {
|
|
|
name: "GljtSq",
|
|
|
dicts: [
|
|
@@ -1942,7 +1962,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- message_str(topic, message) {
|
|
|
+ async message_str(topic, message) {
|
|
|
//监听消息函数
|
|
|
console.log("收到来自主题:" + topic + "的消息:" + message.toString());
|
|
|
// var messageTextArea = document.getElementById("messageTextArea"); //获取textarea元素
|
|
@@ -1950,33 +1970,140 @@ export default {
|
|
|
if (topic.includes("sys/property/post")) {
|
|
|
let msgobj = JSON.parse(message.toString());
|
|
|
if (msgobj.params.picadata1) {
|
|
|
+ this.clearTime();
|
|
|
+ console.log(msgobj.params.ywlx,'msgobj.params.ywlx');
|
|
|
if (msgobj.params.lx === "sfz") {
|
|
|
+ //身份证正面
|
|
|
+ if(msgobj.params.picadata1) {
|
|
|
+ let qur = await this.idCardIdentify(msgobj.params.picadata1, 'front')
|
|
|
+ if (!qur.image_status || qur.image_status != 'normal' || qur.idcard_number_type != '1') {
|
|
|
+ this.$modal.msgError(`请上传正确的身份证正面照片`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (msgobj.params.ywlx === "sfz") {
|
|
|
+ if (this.cardNo && (qur.words_result['公民身份号码'].words != this.cardNo)) {
|
|
|
+ this.$modal.msgError(`申请人证件信息与户口本信息不一致`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ let formCard = {
|
|
|
+ sqrZjhm: qur.words_result['公民身份号码'].words,
|
|
|
+ csrq: qur.words_result['出生'].words,
|
|
|
+ xb: qur.words_result['性别'].words,
|
|
|
+ mz: qur.words_result['民族'].words,
|
|
|
+ sqrXm: qur.words_result['姓名'].words,
|
|
|
+ hjdz: qur.words_result['住址'].words,
|
|
|
+ }
|
|
|
+ if (msgobj.params.ywlx === "sfz") {
|
|
|
+ this.form.sqrZjzm = msgobj.params.picadata2;
|
|
|
+ this.getCard(formCard)
|
|
|
+ }
|
|
|
+ // console.log(qur, '身份证正面')
|
|
|
+ if(msgobj.params.ywlx === "dbr"){
|
|
|
+ this.form.dbrZjzm = msgobj.params.picadata2;
|
|
|
+ this.getCard2(formCard)
|
|
|
+ }
|
|
|
+ if(msgobj.params.ywlx === "jhr"){
|
|
|
+ this.form.jhrZjzm = msgobj.params.picadata2;
|
|
|
+ this.getCardJh(formCard)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //身份证背面
|
|
|
+ if(msgobj.params.picbdata1)
|
|
|
+ {
|
|
|
+ let data2= await this.idCardIdentify(msgobj.params.picbdata1,'back')
|
|
|
+ if (!data2.image_status || data2.image_status != 'normal') {
|
|
|
+ this.$modal.msgError(`请上传正确的身份证反面照片`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (msgobj.params.ywlx === "sfz") {
|
|
|
+ this.form.sqrZjbm = msgobj.params.picbdata2;
|
|
|
+ let formCard2 = {
|
|
|
+ fzjg: data2.words_result['签发机关'].words,
|
|
|
+ qfrq: data2.words_result['签发日期'].words,
|
|
|
+ }
|
|
|
+ this.getBack(formCard2)
|
|
|
+ }
|
|
|
+ if(msgobj.params.ywlx === "dbr"){
|
|
|
+ this.form.dbrZjbm = msgobj.params.picbdata2;
|
|
|
+
|
|
|
+ }
|
|
|
+ if(msgobj.params.ywlx === "jhr"){
|
|
|
+ this.form.jhrZjbm = msgobj.params.picbdata2;
|
|
|
+ }
|
|
|
+ // console.log(data2,'身份证反面')
|
|
|
+ }
|
|
|
+ // "picadata1":"https://jdgl.ccsckj.com/gljtUploadPath/2025/04/01/47b485800e9e11f08b479343e1_20250401100901A108.png",
|
|
|
+ // "picbdata1":"https://jdgl.ccsckj.com/gljtUploadPath/2025/04/01/47bbd8800e9e11f08b479343e1_20250401100901A109.png","lx":"sfz"}}
|
|
|
}
|
|
|
- if (msgobj.params.lx === "tx") {
|
|
|
- this.form.tx = msgobj.params.picadata1;
|
|
|
+ if (msgobj.params.lx === "rx") {
|
|
|
+ this.form.tx = msgobj.params.picadata2;
|
|
|
console.log(this.form, "<-----我是form");
|
|
|
// this.form.tx='/gljtUploadPath/2025/02/17/43d9cbd0ecfe11efa4fd03c1431ab362_20250217151027A056.png';
|
|
|
- this.clearTime();
|
|
|
- }
|
|
|
- // var canvas = document.getElementById('SFZA');
|
|
|
- // if (msgobj.params.lx=="hk") canvas = document.getElementById('HKA');
|
|
|
- // if (msgobj.params.lx=="tx") canvas = document.getElementById('TX');
|
|
|
- // if (msgobj.params.lx=="yhk") canvas = document.getElementById('YHK');
|
|
|
- // canvas.src ="https://jdgl.ccsckj.com/resfile/"+ msgobj.params.picadata;
|
|
|
- // closePopup();
|
|
|
- }
|
|
|
|
|
|
- if (msgobj.params.picbdata) {
|
|
|
- if (msgobj.params.lx === "sfz") {
|
|
|
}
|
|
|
- // var canvas = document.getElementById('SFZB');
|
|
|
- // if (msgobj.params.lx=="hk") canvas = document.getElementById('HKB');
|
|
|
- // if (msgobj.params.lx=="tx") canvas = document.getElementById('TX');
|
|
|
- // if (msgobj.params.lx=="yhk") canvas = document.getElementById('YHK');
|
|
|
- // canvas.src ="https://jdgl.ccsckj.com/resfile/"+ msgobj.params.picbdata;
|
|
|
- //
|
|
|
- // closePopup();
|
|
|
+ if(msgobj.params.lx === "hk"){
|
|
|
+ //户口本首页
|
|
|
+ if(msgobj.params.picadata1){
|
|
|
+ let data=await this.household_registerIdentify(msgobj.params.picadata1,'homepage')
|
|
|
+ console.log(data,'户口本首页');
|
|
|
+ if(!data.words_result){
|
|
|
+ this.$modal.msgError(`请上传正确的户口本首页`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.form.hkbzm=msgobj.params.picadata2;
|
|
|
+ }
|
|
|
+ //户口本本人页
|
|
|
+ if(msgobj.params.picbdata1){
|
|
|
+ let qur=await this.household_registerIdentify(msgobj.params.picbdata1,'subpage')
|
|
|
+ console.log(qur,'户口本本人页');
|
|
|
+ if(qur.words_result&&qur.words_result['CardNo']&&qur.words_result['Name']){
|
|
|
+ if(this.form.sqrZjhm&&(this.form.sqrZjhm!= qur.words_result['CardNo'].words)){
|
|
|
+ // if(this.opt&&this.opt.sqrZjhm&&this.opt.sqrXm&&(this.opt.sqrZjhm!= qur.words_result['CardNo'].words||this.opt.sqrXm!=qur.words_result['Name'].words)){
|
|
|
+ this.$modal.msgError(`申请人证件信息与户口本信息不一致`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let formCard={
|
|
|
+ cardNo:qur.words_result['CardNo'].words,
|
|
|
+ name:qur.words_result['Name'].words,
|
|
|
+ }
|
|
|
+ this.form.hkbbm=msgobj.params.picbdata2;
|
|
|
+ this.getSubpage(formCard)
|
|
|
+ }else{
|
|
|
+ this.$modal.msgError(`请上传正确的户口本本人页`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(msgobj.params.lx === "yhk"){
|
|
|
+ let qur=await this.bankcardIdentify(msgobj.params.picadata1);
|
|
|
+ if(qur.result&&qur.result.bank_card_number&&qur.result.bank_card_type!='0'){
|
|
|
+ let formCard={
|
|
|
+ yhzh:qur.result.bank_card_number.replace(/\s*/g,'')
|
|
|
+ };
|
|
|
+ this.form.yhzjz=msgobj.params.picadata2;
|
|
|
+ this.getCardYhk(formCard)
|
|
|
+ }else{
|
|
|
+ this.$modal.msgError(`请上传正确的银行卡照片`);
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ // if (msgobj.params.picbdata) {
|
|
|
+ // if (msgobj.params.lx === "sfz") {
|
|
|
+ // }
|
|
|
+ // var canvas = document.getElementById('SFZB');
|
|
|
+ // if (msgobj.params.lx=="hk") canvas = document.getElementById('HKB');
|
|
|
+ // if (msgobj.params.lx=="tx") canvas = document.getElementById('TX');
|
|
|
+ // if (msgobj.params.lx=="yhk") canvas = document.getElementById('YHK');
|
|
|
+ // canvas.src ="https://jdgl.ccsckj.com/resfile/"+ msgobj.params.picbdata;
|
|
|
+ //
|
|
|
+ // closePopup();
|
|
|
+ // }
|
|
|
if (msgobj.params.msg) {
|
|
|
this.divmsgfoot = msgobj.params.msg;
|
|
|
if (msgobj.params.msg) {
|
|
@@ -1991,6 +2118,55 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ // 身份证文字识别
|
|
|
+ idCardIdentify(url,type) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ var params = new FormData()
|
|
|
+ params.append('url', url)//转Base64后的编码
|
|
|
+ params.append('id\_card\_side', type)//身份证正反面参数,正:,反:back
|
|
|
+ params.append('access\_token', this.accessToken);
|
|
|
+ // params.append('detect_card', true);//身份证是否进行裁剪
|
|
|
+
|
|
|
+ axios.post(
|
|
|
+ '/baiduApi/rest/2.0/ocr/v1/idcard?', params,
|
|
|
+ {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
|
|
|
+ ).then((res) => {
|
|
|
+ resolve(res.data)
|
|
|
+ // resolve(res.data.words_result)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //户口本文字识别
|
|
|
+ household_registerIdentify(household_registerImg,ocrType){
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ var params = new FormData()
|
|
|
+ params.append('url', household_registerImg)//转Base64后的编码
|
|
|
+ params.append('access\_token', this.accessToken);
|
|
|
+ params.append('household\_register\_side', ocrType)
|
|
|
+ axios.post(
|
|
|
+ '/baiduApi/rest/2.0/ocr/v1/household_register?', params,
|
|
|
+ {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
|
|
|
+ ).then((res) => {
|
|
|
+ resolve(res.data)
|
|
|
+ // resolve(res.data.words_result)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //银行卡文字识别
|
|
|
+ bankcardIdentify(bankCardImg){
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ var params = new FormData()
|
|
|
+ params.append('url', bankCardImg)//转Base64后的编码
|
|
|
+ params.append('access\_token', this.accessToken);
|
|
|
+ axios.post(
|
|
|
+ '/baiduApi/rest/2.0/ocr/v1/bankcard?', params,
|
|
|
+ {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
|
|
|
+ ).then((res) => {
|
|
|
+ resolve(res.data)
|
|
|
+ // resolve(res.data.words_result)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
toGrayScale(canvasId) {
|
|
|
const canvas = document.getElementById(canvasId);
|
|
|
const ctx = canvas.getContext("2d");
|
|
@@ -2019,30 +2195,43 @@ export default {
|
|
|
this.divmsgtime = null; // 更新页面上的显示为结束信息
|
|
|
console.log("清空");
|
|
|
},
|
|
|
- QRSFZ(lx) {
|
|
|
+ QRSFZ(lx,ywlx) {
|
|
|
this.openRwm = true;
|
|
|
let starttime = new Date().valueOf();
|
|
|
let tj = {
|
|
|
lx: lx,
|
|
|
+ ywlx:ywlx,
|
|
|
kssj: starttime,
|
|
|
jssj: starttime + 60000,
|
|
|
czsc: 60000,
|
|
|
clientid: this.options.clientId,
|
|
|
rad: Math.random().toString(16).substr(2, 8),
|
|
|
+ iszs:Constant.IS_ZS
|
|
|
};
|
|
|
let destj = encrypt_ECBdef(JSON.stringify(tj));
|
|
|
const text =
|
|
|
"https://jdgl.ccsckj.com/resfile/card/card2.html?tj=" +
|
|
|
encodeURIComponent(destj);
|
|
|
- switch (lx) {
|
|
|
+ switch (ywlx) {
|
|
|
case "sfz":
|
|
|
this.titleRwm = "身份证图片采集";
|
|
|
break;
|
|
|
+ case "dbr":
|
|
|
+ this.titleRwm = "代办人身份证图片采集";
|
|
|
+ break;
|
|
|
+ case "jhr":
|
|
|
+ this.titleRwm = "监护人身份证图片采集";
|
|
|
+ break;
|
|
|
case "tx":
|
|
|
this.titleRwm = "面部图片采集";
|
|
|
break;
|
|
|
+ case "hk":
|
|
|
+ this.titleRwm = "户口本图片采集";
|
|
|
+ break;
|
|
|
+ case "yhk":
|
|
|
+ this.titleRwm = "银行卡图片采集";
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.qrcode.innerHTML = "";
|
|
|
let qrcode = new QRCode(this.$refs.qrcode, {
|
|
@@ -2477,12 +2666,13 @@ export default {
|
|
|
this.form.xzqh = [this.user.userData.dept.locationCode];
|
|
|
}
|
|
|
this.getAccessToken();
|
|
|
- // this.createConnection();
|
|
|
+
|
|
|
// if(this.saveSpr();)
|
|
|
this.getSqShrxm();
|
|
|
this.status = null;
|
|
|
this.open = true;
|
|
|
this.title = "添加高龄津贴申请信息";
|
|
|
+ this.createConnection();
|
|
|
},
|
|
|
getSqShrxm(){
|
|
|
if(localStorage.getItem('sqShrxm')&&!this.form.sqShrxm){
|
|
@@ -2551,6 +2741,7 @@ export default {
|
|
|
this.getAccessToken();
|
|
|
this.getQxBfPz('true');
|
|
|
this.getBfys();
|
|
|
+ this.createConnection();
|
|
|
}
|
|
|
//街道审核
|
|
|
if(this.status == "1"){
|