123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- import { reactive } from "vue";
- import { request } from "@/utils/network/request";
- import { Index, handleDataList } from "@/components/form-builder/tools";
- import { etcCarOcrCard, fileUpload } from "@/utils/network/api.js";
- import { useQdOrderStore } from "@/stores/qdOrder.js";
- // 配合formBuilderVue3模板使用
- export default function() {
- let submitQuery = reactive<any>({
- orderId: "", //订单ID
- man: "", //所有人
- character: "", //使用性质
- register: "", //注册日期
- customerId: "", //用户编号
- vehicleId: "",
- vehicleIdNum: "", //车牌编号
- issueDate: "", //发证日期
- vehPosImgUrl: "", //行驶证正面
- vehNegImgUrl: "", //行驶证证反面
- type: "0", //0,客车 1.货车
- useUserType: 0, //车辆用户类型
- useUserTypeName: "普通车",
- vehicleSign: 2, //前/后装标识
- vin: "", //车辆识别代号
- engineNum: "", //发动机号码
- vehicleType: "", //车辆类型
- vehicleModel: "", //行驶证品牌型号
- approvedCount: undefined, //核定人数
- totalMass: undefined, //总质量
- maintenaceMass: undefined, //整备质量
- permittedWeight: "", //核定载质量
- vehicleDimensions: "", //车辆尺寸
- permittedTowWeight: "", //准牵引总质量
- axleCount: "", //车轴数
- ownerName: "", //车主姓名
- ownerIdType: "", //车主证件类型
- ownerIdNum: "", //车主证件号码
- ownPosImgUrl: "", //车主证件正面图片
- ownNegImgUrl: "", //车主证件反面图片
- agreementId: "", //签约编号
- channelId: "5201018892300000001", //编号渠道
- scenePayType: "", //
- transportIdNum: "", //道路运输证编号
- licenseIdNum: "", //经营许可证编号
- vehBodyUrl: "" //车身照片
- });
- const qdOrderStore = useQdOrderStore();
- // 行驶证主业或副业处理
- const cardImageOcr = (fileList, item, formData) => {
- let imageType:string;
- if (item.title == "行驶证主页") {
- imageType = "1";
- } else if (item.title == "行驶证副页") {
- imageType = "2";
- }
- const data = {
- source: "1",
- agencyId: qdOrderStore.qdOrderVal.promoterChannelNum,
- imageType: imageType,
- fileName: fileList.fileName,
- imageBase64: fileList.path
- };
- request(etcCarOcrCard, {
- data: data
- }).then(res => {
- let data: any = JSON.parse(res.bizContent);
- const itemData = formData.value[Index(item.title, formData.value)];
- itemData[itemData.value] = data.imageUrl;
- console.log(data);
- // item[item.value] = data.imageUrl
- if (imageType == "1") {
- // 需要处理展示的页面
- // 正面
- if (!data.plate_a || !data.engine) {
- uni.showModal({
- title: "提示",
- content: "识别错误,请上传正确的图片",
- success: function(res) {}
- });
- return;
- }
- const ocrData = [
- {
- title: "车牌号",
- key: "plate_a"
- },
- {
- title: "车辆类型",
- key: "vehicle"
- },
- {
- title: "使用性质",
- key: "character"
- },
- {
- title: "发动机号码",
- key: "engine"
- },
- {
- title: "品牌型号",
- key: "model"
- },
- {
- title: "车辆识别代码",
- key: "vin"
- },
- {
- title: "所有人",
- key: "man"
- },
- {
- title: "发证日期",
- key: "issue"
- },
- {
- title: "注册日期",
- key: "register"
- }
- ];
- // 处理数据展示
- handleDataList(ocrData, data, formData);
- } else {
- if (!data.gross || !data.apc) {
- uni.showModal({
- title: "提示",
- content: "识别错误,请上传正确的图片",
- success: function(res) {}
- });
- return;
- }
- const ocrData = [
- {
- title: "准牵引总质量(kg)",
- key: "towing",
- isNumber: true
- },
- {
- title: "核定载人数",
- key: "apc",
- isNumber: true
- },
- {
- title: "核定载质量(kg)",
- isNumber: true,
- key: "alc"
- },
- {
- title: "总质量(kg)",
- isNumber: true,
- key: "gross"
- },
- {
- title: "整备质量(kg)",
- isNumber: true,
- key: "unladen"
- },
- {
- title: "外廓尺寸",
- key: "overall",
- substring: 2 //截取最后两位
- }
- ];
- // 处理数据展示
- handleDataList(ocrData, data, formData);
- }
- });
- };
- // 车身照上传
- const cardFileImageUpdate = (fileList, item, formData) => {
- var data = {
- fileBase64: fileList.path
- };
- request(fileUpload, {
- data: data
- }).then(res => {
- let data: any = JSON.parse(res.bizContent);
- const dataItem = formData.value[Index(item.title, formData.value)];
- dataItem[dataItem.value] = data.data.url;
- });
- };
- //图像文件上传
- const uploadImgHandle = (fileList, item, formData) => {
- if (item.title == "行驶证主页" || item.title == "行驶证副页") {
- cardImageOcr(fileList, item, formData);
- } else {
- cardFileImageUpdate(fileList, item, formData);
- }
- }
-
- return {
- uploadImgHandle,
- submitQuery
- };
- }
|