123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- 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<any>({});
- let registerQuery = reactive<any>({});
- const qdOrderStore = useQdOrderStore();
- // 社会信用代码ocr识别
- function cardImageOcrYY(fileList, item, formData) {
- const data = {
- type: "business_license",
- base64: fileList.path
- };
- request(ocrAllQuery, {
- data: data
- }).then(res => {
- let data : any = JSON.parse(res.bizContent);
- if (data.result) {
- submitQuery.address = "公司地址ocr获取不到,测试"; //公司地址ocr获取不到,手动填写
- submitQuery.userIdType = "203"; //203 公司信用代码
- const corporateName = formData.value[Index("公司名称", formData.value)];
- corporateName[corporateName.value] = JSON.parse(
- data.result.businessLicense
- )["名称"];
- const creditNum = formData.value[Index("社会信用代码", formData.value)];
- creditNum[creditNum.value] = JSON.parse(data.result.businessLicense)[
- "统一社会信用代码"
- ];
- // 将图片上传
- cardFileImageUpdate(fileList, item, formData);
- }
- });
- }
-
- // 委托书
- function cardFileImageUpdate(fileList, item, formData) {
- 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
- };
-
- 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"
- }
- ];
- 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
- };
- }
|