fix: add staleTime to job card expense, parts, and services queries; update job card general info and payments received components
This commit is contained in:
@@ -63,24 +63,48 @@ const DEFAULT_VALUES: EstimateFormValues = {
|
||||
|
||||
// ── Mapping helpers ──
|
||||
|
||||
function customerLabel(c: any): string | undefined {
|
||||
if (!c) return undefined
|
||||
const name = [c.first_name, c.last_name].filter(Boolean).join(" ").trim()
|
||||
return c.company_name || name || undefined
|
||||
}
|
||||
|
||||
function vehicleLabel(v: any): string | undefined {
|
||||
if (!v) return undefined
|
||||
const core = [v.make, v.model, v.sub_model].filter(Boolean).join(" ")
|
||||
const suffix = [v.year, v.license_plate].filter(Boolean).join(" - ")
|
||||
if (core && suffix) return `${core} (${suffix})`
|
||||
return core || suffix || undefined
|
||||
}
|
||||
|
||||
function mapToFormValues(data: unknown): EstimateFormValues {
|
||||
const d = (data as any)?.data ?? data ?? {}
|
||||
|
||||
return {
|
||||
title: d.title || "",
|
||||
customer: toRelation(d.customer_id, d.customer_name),
|
||||
vehicle: toRelation(d.vehicle_id, d.vehicle_name),
|
||||
department: toRelation(d.department_id, d.department_name),
|
||||
insurance_type: toRelation(d.insurance_type_id, d.insurance_type_title ?? d.insurance_type_name ?? d.insurance_type?.title),
|
||||
customer: toRelation(
|
||||
d.customer_id ?? d.customer?.id,
|
||||
d.customer_name ?? customerLabel(d.customer),
|
||||
),
|
||||
vehicle: toRelation(
|
||||
d.vehicle_id ?? d.vehicle?.id,
|
||||
d.vehicle_name ?? vehicleLabel(d.vehicle),
|
||||
),
|
||||
department: toRelation(
|
||||
d.department_id ?? d.department?.id,
|
||||
d.department_name ?? d.department?.name ?? d.department?.title,
|
||||
),
|
||||
insurance_type: toRelation(
|
||||
d.insurance_type_id ?? d.insurance_type?.id,
|
||||
d.insurance_type_title ?? d.insurance_type_name ?? d.insurance_type?.title ?? d.insurance_type?.name,
|
||||
),
|
||||
insurer: toRelation(
|
||||
d.insurer_id,
|
||||
d.insurer_name
|
||||
?? [d.insurer?.first_name, d.insurer?.last_name].filter(Boolean).join(" ")
|
||||
?? d.insurer?.company_name,
|
||||
d.insurer_id ?? d.insurer?.id,
|
||||
d.insurer_name ?? customerLabel(d.insurer),
|
||||
),
|
||||
service_writer: toRelation(
|
||||
d.service_writer_id,
|
||||
d.service_writer_name ?? [d.service_writer?.first_name, d.service_writer?.last_name].filter(Boolean).join(" "),
|
||||
d.service_writer_id ?? d.service_writer?.id,
|
||||
d.service_writer_name ?? customerLabel(d.service_writer),
|
||||
),
|
||||
estimate_number: d.estimate_number || "",
|
||||
date: d.date ? d.date.split("T")[0] : "",
|
||||
|
||||
Reference in New Issue
Block a user