Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 1 gada
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
pirms 2 gadiem
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. import { reactive } from "vue";
  2. import { request } from "@/utils/network/request";
  3. import { Index, handleDataList } from "@/components/form-builder/tools";
  4. import { etcOcrCard, ocrAllQuery, fileUpload } from "@/utils/network/api.js";
  5. import { useQdOrderStore } from "@/stores/qdOrder.js";
  6. // 配合formBuilderVue3模板使用
  7. export default function () {
  8. let submitQuery = reactive<any>({});
  9. let registerQuery = reactive<any>({});
  10. const qdOrderStore = useQdOrderStore();
  11. // 社会信用代码ocr识别
  12. function cardImageOcrYY(fileList, item, formData) {
  13. const params = {
  14. type: "business_license",
  15. url: fileList.url,
  16. };
  17. submitQuery.userIdType = "203"; //203 公司信用代码
  18. // 将图片上传
  19. cardFileImageUpdate(fileList, item, formData);
  20. //暂不识别营业执照
  21. return
  22. // request(ocrAllQuery, {
  23. // data: params
  24. // }).then(res => {
  25. // let data : any = JSON.parse(res.bizContent);
  26. // console.log(data, '公司ocr', '请求参数', params)
  27. // if (data.result) {
  28. // submitQuery.userIdType = "203"; //203 公司信用代码
  29. // const corporateName = formData.value[Index("公司名称", formData.value)];
  30. // const businessLicense = JSON.parse(data.result.businessLicense)
  31. // corporateName[corporateName.value] = businessLicense["名称"] || '';
  32. // submitQuery.address = businessLicense[
  33. // "住所"
  34. // ] || ''; //公司地址ocr获取不到,手动填写
  35. // const creditNum = formData.value[Index("社会信用代码", formData.value)];
  36. // creditNum[creditNum.value] = businessLicense[
  37. // "统一社会信用代码"
  38. // ];
  39. // // 将图片上传
  40. // cardFileImageUpdate(fileList, item, formData);
  41. // }
  42. // });
  43. }
  44. // 委托书
  45. function cardFileImageUpdate(fileList, item, formData) {
  46. const dataItem = formData.value[Index(item.title, formData.value)];
  47. dataItem[dataItem.value] = fileList.pathDomain;
  48. // var data = {
  49. // fileBase64: fileList.path
  50. // };
  51. // request(fileUpload, {
  52. // showLoading: true,
  53. // data: data
  54. // }).then(res => {
  55. // // let data: any = JSON.parse(res.bizContent);
  56. // let data : any = JSON.parse(res.bizContent);
  57. // const dataItem = formData.value[Index(item.title, formData.value)];
  58. // dataItem[dataItem.value] = data.data.url;
  59. // });
  60. }
  61. // 身份证类别识别
  62. function idCardOcr(fileList, item, formData) {
  63. let imageType;
  64. if (item.title == "人像面" || item.title == "经办人证件人像面") {
  65. imageType = "1";
  66. } else if (item.title == "国徽面" || item.title == "经办人证件国徽面") {
  67. imageType = "2";
  68. }
  69. const data = {
  70. source: "1",
  71. agencyId: qdOrderStore.qdOrderVal.promoterChannelNum,
  72. imageType: imageType,
  73. fileName: fileList.fileName,
  74. // imageBase64: fileList.path,
  75. url: fileList.url,
  76. };
  77. request(etcOcrCard, {
  78. data: data
  79. }).then(res => {
  80. let data : any = JSON.parse(res.bizContent);
  81. // let data: any
  82. // if(imageType === '1'){
  83. // data = JSON.parse(
  84. // "{\"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\"}"
  85. // );
  86. // }else{
  87. // data = JSON.parse(res.bizContent);
  88. // }
  89. let ocrData = [
  90. // {
  91. // title: item.title,
  92. // key: "imageUrl"
  93. // }
  94. ];
  95. const itemData = formData.value[Index(item.title, formData.value)]
  96. itemData[itemData.value] = fileList.pathDomain
  97. if (imageType == "1") {
  98. // 人像面
  99. if (!data.name || !data.idno) {
  100. uni.showModal({
  101. title: "提示",
  102. content: "识别错误,请上传正确的图片",
  103. success: function (res) { }
  104. });
  105. return;
  106. }
  107. if (item.title == "经办人证件人像面") {
  108. ocrData = ocrData.concat([
  109. {
  110. title: "经办人姓名",
  111. key: "name"
  112. },
  113. {
  114. title: "经办人证件号码",
  115. key: "idno"
  116. }
  117. ]);
  118. submitQuery.agentIdType = "101"; //身份证类型
  119. submitQuery.agentAddress = data.address; //经办人住址
  120. // registerQuery.agentGender = data.gender == '男' ? 'MALE' : 'FEMALE' //经办人性别
  121. } else {
  122. ocrData = ocrData.concat([
  123. {
  124. title: "姓名",
  125. key: "name"
  126. },
  127. {
  128. title: "证件号码",
  129. key: "idno"
  130. },
  131. {
  132. title: "住址",
  133. key: "address"
  134. }
  135. ]);
  136. submitQuery.userIdType = "101"; //身份证
  137. registerQuery.gender = data.gender == '男' ? 'MALE' : 'FEMALE' //用户性别
  138. }
  139. } else {
  140. if (!data.enddate) {
  141. uni.showModal({
  142. title: "提示",
  143. content: "识别错误,请上传正确的图片",
  144. success: function (res) { }
  145. });
  146. return;
  147. }
  148. if (item.title == "经办人证件国徽面") {
  149. submitQuery.agentIdVld = data.enddate; //经办人证件有效期
  150. } else {
  151. submitQuery.customerIdVld = data.enddate; //证件有效期
  152. }
  153. }
  154. // 处理数据展示
  155. handleDataList(ocrData, data, formData);
  156. });
  157. }
  158. //图像文件上传
  159. function uploadImgHandle(fileList, item, formData) {
  160. if (
  161. ["人像面", "国徽面", "经办人证件人像面", "经办人证件国徽面"].includes(
  162. item.title
  163. )
  164. ) {
  165. idCardOcr(fileList, item, formData);
  166. } else if (item.title == "营业执照") {
  167. cardImageOcrYY(fileList, item, formData);
  168. } else {
  169. cardFileImageUpdate(fileList, item, formData);
  170. }
  171. }
  172. return {
  173. uploadImgHandle,
  174. submitQuery
  175. };
  176. }