import { reactive } from "vue"; import { request } from "@/utils/network/request"; import { Index, handleDataList } from "@/components/form-builder/tools"; import { etcOcrCard, ocrAllQuery, fileUpload } from "@/utils/network/api.js"; import { useQdOrderStore } from "@/stores/qdOrder.js"; // 配合formBuilderVue3模板使用 export default function () { let submitQuery = reactive({}); let registerQuery = reactive({}); const qdOrderStore = useQdOrderStore(); // 社会信用代码ocr识别 function cardImageOcrYY(fileList, item, formData) { const params = { type: "business_license", url: fileList.url, }; submitQuery.userIdType = "203"; //203 公司信用代码 // 将图片上传 cardFileImageUpdate(fileList, item, formData); //暂不识别营业执照 return // request(ocrAllQuery, { // data: params // }).then(res => { // let data : any = JSON.parse(res.bizContent); // console.log(data, '公司ocr', '请求参数', params) // if (data.result) { // submitQuery.userIdType = "203"; //203 公司信用代码 // const corporateName = formData.value[Index("公司名称", formData.value)]; // const businessLicense = JSON.parse(data.result.businessLicense) // corporateName[corporateName.value] = businessLicense["名称"] || ''; // submitQuery.address = businessLicense[ // "住所" // ] || ''; //公司地址ocr获取不到,手动填写 // const creditNum = formData.value[Index("社会信用代码", formData.value)]; // creditNum[creditNum.value] = businessLicense[ // "统一社会信用代码" // ]; // // 将图片上传 // cardFileImageUpdate(fileList, item, formData); // } // }); } // 委托书 function cardFileImageUpdate(fileList, item, formData) { const dataItem = formData.value[Index(item.title, formData.value)]; dataItem[dataItem.value] = fileList.pathDomain; // var data = { // fileBase64: fileList.path // }; // request(fileUpload, { // showLoading: true, // data: data // }).then(res => { // // let data: any = JSON.parse(res.bizContent); // let data : any = JSON.parse(res.bizContent); // const dataItem = formData.value[Index(item.title, formData.value)]; // dataItem[dataItem.value] = data.data.url; // }); } // 身份证类别识别 function idCardOcr(fileList, item, formData) { let imageType; if (item.title == "人像面" || item.title == "经办人证件人像面") { imageType = "1"; } else if (item.title == "国徽面" || item.title == "经办人证件国徽面") { imageType = "2"; } const data = { source: "1", agencyId: qdOrderStore.qdOrderVal.promoterChannelNum, imageType: imageType, fileName: fileList.fileName, // imageBase64: fileList.path, url: fileList.url, }; request(etcOcrCard, { data: data }).then(res => { let data : any = JSON.parse(res.bizContent); // let data: any // if(imageType === '1'){ // data = JSON.parse( // "{\"birthday\":\"1995.04.14\",\"respMessage\":\"ocr识别成功\",\"address\":\"哈尔滨市道外区平安街4号\",\"code\":\"0\",\"statusDesc\":\"成功\",\"gender\":\"男\",\"nation\":\"汉\",\"idno\":\"23010519950414101X\",\"idtype\":\"1\",\"identityId\":\"02d072fbacf54e5cbcc79c7ea1a2897e\",\"imageUrl\":\"http://192.168.101.145:9000/default-bucket/20230810/a043e183c09f472eadbd16e4_1691663206363.jpeg\",\"name\":\"李德伟\",\"imageType\":1,\"respCode\":\"0000\",\"status\":\"000000\"}" // ); // }else{ // data = JSON.parse(res.bizContent); // } let ocrData = [ // { // title: item.title, // key: "imageUrl" // } ]; const itemData = formData.value[Index(item.title, formData.value)] itemData[itemData.value] = fileList.pathDomain if (imageType == "1") { // 人像面 if (!data.name || !data.idno) { uni.showModal({ title: "提示", content: "识别错误,请上传正确的图片", success: function (res) { } }); return; } if (item.title == "经办人证件人像面") { ocrData = ocrData.concat([ { title: "经办人姓名", key: "name" }, { title: "经办人证件号码", key: "idno" } ]); submitQuery.agentIdType = "101"; //身份证类型 submitQuery.agentAddress = data.address; //经办人住址 // registerQuery.agentGender = data.gender == '男' ? 'MALE' : 'FEMALE' //经办人性别 } else { ocrData = ocrData.concat([ { title: "姓名", key: "name" }, { title: "证件号码", key: "idno" }, { title: "住址", key: "address" } ]); submitQuery.userIdType = "101"; //身份证 registerQuery.gender = data.gender == '男' ? 'MALE' : 'FEMALE' //用户性别 } } else { if (!data.enddate) { uni.showModal({ title: "提示", content: "识别错误,请上传正确的图片", success: function (res) { } }); return; } if (item.title == "经办人证件国徽面") { submitQuery.agentIdVld = data.enddate; //经办人证件有效期 } else { submitQuery.customerIdVld = data.enddate; //证件有效期 } } // 处理数据展示 handleDataList(ocrData, data, formData); }); } //图像文件上传 function uploadImgHandle(fileList, item, formData) { if ( ["人像面", "国徽面", "经办人证件人像面", "经办人证件国徽面"].includes( item.title ) ) { idCardOcr(fileList, item, formData); } else if (item.title == "营业执照") { cardImageOcrYY(fileList, item, formData); } else { cardFileImageUpdate(fileList, item, formData); } } return { uploadImgHandle, submitQuery }; }