123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- 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
- imageUrl: fileList.url,
- }
- 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) => {
- const dataItem = formData.value[Index(item.title, formData.value)]
- dataItem[dataItem.value] = fileList.url
- }
- //图像文件上传
- const uploadImgHandle = (fileList, item, formData) => {
- if (item.title == '行驶证主页' || item.title == '行驶证副页') {
- cardImageOcr(fileList, item, formData)
- } else {
- cardFileImageUpdate(fileList, item, formData)
- }
- }
-
- return {
- uploadImgHandle,
- submitQuery,
- }
- }
|