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

121 lines
4.3 KiB
TypeScript
Raw Normal View History

2026-01-05 20:47:14 +08:00
import request from '@/config/axios'
2026-04-28 17:14:57 +08:00
// 车辆订单 VO
2026-01-05 20:47:14 +08:00
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 // 服务产品
2026-03-02 08:25:24 +08:00
productType: string // 产品类别(来自续保产品)
2026-01-05 20:47:14 +08:00
productValidity: string // 产品时效
originalWarrantyYears: string // 原厂质保时长
originalWarrantyMileage: string // 原厂质保里程
productFee: number // 产品费用
settlementMethod: string // 结算方式
remark: string // 备注
inputUser: string // 录单人
contractRemark: string // 合同备注
2026-03-02 08:25:24 +08:00
customerSignatureUrl?: string // 客户签名
idCardFrontUrl?: string // 身份证正面
idCardBackUrl?: string // 身份证反面
drivingLicenseUrl?: string // 行驶证
carInvoiceUrls?: string[] // 购车发票多张JSON字符串
purchaseTaxInvoiceUrls?: string[] // 购置税发票多张JSON字符串
businessInsurancePolicyUrls?: string[] // 商业险保单多张JSON字符串
certificateOfConformityUrl?: string // 合格证
odometerPhotoUrl?: string // 里程表照片
nameplatePhotoUrl?: string // 车名牌照片
2026-01-05 20:47:14 +08:00
}
2026-04-28 17:14:57 +08:00
// 车辆订单 API
2026-01-05 20:47:14 +08:00
export const RenewalOrderApi = {
2026-04-28 17:14:57 +08:00
// 查询车辆订单分页
2026-01-05 20:47:14 +08:00
getRenewalOrderPage: async (params: any) => {
return await request.get({ url: `/car/renewal-order/page`, params })
},
2026-04-28 17:14:57 +08:00
// 查询车辆订单详情
2026-01-05 20:47:14 +08:00
getRenewalOrder: async (id: number) => {
return await request.get({ url: `/car/renewal-order/get?id=` + id })
},
2026-04-28 17:14:57 +08:00
// 新增车辆订单
2026-01-05 20:47:14 +08:00
createRenewalOrder: async (data: RenewalOrderVO) => {
return await request.post({ url: `/car/renewal-order/create`, data })
},
2026-04-28 17:14:57 +08:00
// 修改车辆订单
2026-01-05 20:47:14 +08:00
updateRenewalOrder: async (data: RenewalOrderVO) => {
return await request.put({ url: `/car/renewal-order/update`, data })
},
2026-04-28 17:14:57 +08:00
// 删除车辆订单
2026-01-05 20:47:14 +08:00
deleteRenewalOrder: async (id: number) => {
return await request.delete({ url: `/car/renewal-order/delete?id=` + id })
},
2026-04-28 17:14:57 +08:00
// 导出车辆订单 Excel
2026-01-05 20:47:14 +08:00
exportRenewalOrder: async (params) => {
return await request.download({ url: `/car/renewal-order/export-excel`, params })
}
2026-03-02 08:25:24 +08:00
,
// 生成在线合同 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
})
2026-03-02 08:25:24 +08:00
}
}