Files
yudao-ui-admin-vue3/src/api/car/renewalorder/index.ts

121 lines
4.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import request from '@/config/axios'
// 车辆订单 VO
export interface RenewalOrderVO {
id: number // 主键ID
carBrand: string // 汽车品牌
carModel: string // 车型
licensePlate: string // 车牌号
factoryModel: string // 厂牌型号
invoiceAmount: number // 发票金额
purchaseMileage: number // 购买时公里数
engineNo: string // 发动机号
vin: string // 车架号
invoiceDate: Date // 发票日期
invoiceUrl: string // 发票图片地址
serviceBuyer: string // 服务购买方
carBuyer: string // 车辆购买方
certType: string // 证件类型
mobile: string // 联系电话
certNo: string // 证件号码
contactAddress: string // 联系地址
memberEmail: string // 会员邮箱
storeId: number // 门店ID关联 tire_store.id
storeName?: string // 门店名称
productId: number // 续保产品ID关联 car_renewal_product.id
serviceProduct: string // 服务产品
productType: string // 产品类别(来自续保产品)
productValidity: string // 产品时效
originalWarrantyYears: string // 原厂质保时长
originalWarrantyMileage: string // 原厂质保里程
productFee: number // 产品费用
settlementMethod: string // 结算方式
remark: string // 备注
inputUser: string // 录单人
contractRemark: string // 合同备注
customerSignatureUrl?: string // 客户签名
idCardFrontUrl?: string // 身份证正面
idCardBackUrl?: string // 身份证反面
drivingLicenseUrl?: string // 行驶证
carInvoiceUrls?: string[] // 购车发票多张JSON字符串
purchaseTaxInvoiceUrls?: string[] // 购置税发票多张JSON字符串
businessInsurancePolicyUrls?: string[] // 商业险保单多张JSON字符串
certificateOfConformityUrl?: string // 合格证
odometerPhotoUrl?: string // 里程表照片
nameplatePhotoUrl?: string // 车名牌照片
}
// 车辆订单 API
export const RenewalOrderApi = {
// 查询车辆订单分页
getRenewalOrderPage: async (params: any) => {
return await request.get({ url: `/car/renewal-order/page`, params })
},
// 查询车辆订单详情
getRenewalOrder: async (id: number) => {
return await request.get({ url: `/car/renewal-order/get?id=` + id })
},
// 新增车辆订单
createRenewalOrder: async (data: RenewalOrderVO) => {
return await request.post({ url: `/car/renewal-order/create`, data })
},
// 修改车辆订单
updateRenewalOrder: async (data: RenewalOrderVO) => {
return await request.put({ url: `/car/renewal-order/update`, data })
},
// 删除车辆订单
deleteRenewalOrder: async (id: number) => {
return await request.delete({ url: `/car/renewal-order/delete?id=` + id })
},
// 导出车辆订单 Excel
exportRenewalOrder: async (params) => {
return await request.download({ url: `/car/renewal-order/export-excel`, params })
}
,
// 生成在线合同 PDF 并上传(回写 contractUrl
generateContract: async (id: number) => {
return await request.post({ url: `/car/renewal-order/generate-contract`, params: { id } })
},
// 生成合同 HTML用于预览
generateContractHtml: async (id: number) => {
return await request.get({ url: `/car/renewal-order/generate-contract-html?id=` + id })
},
// 创建线上签名令牌
createSignToken: async (id: number) => {
return await request.post({ url: `/car/renewal-order/create-sign-token`, params: { id } })
},
// 清空订单合同与客户签名(重新生成合同时先清空再扫码签名)
clearContractAndSignature: async (id: number) => {
return await request.post({ url: `/car/renewal-order/clear-contract-sign`, params: { id } })
},
// 身份证识别(用于图片识别新增)
recognizeIdcard: async (file: File, idCardSide: 'front' | 'back' = 'front') => {
const formData = new FormData()
formData.append('file', file)
formData.append('idCardSide', idCardSide)
return await request.upload({
url: '/car/renewal-order/recognize-idcard',
data: formData
})
},
// 机动车销售发票识别(用于图片识别新增)
recognizeVehicleInvoice: async (file: File) => {
const formData = new FormData()
formData.append('file', file)
return await request.upload({
url: '/car/renewal-order/recognize-vehicle-invoice',
data: formData
})
}
}