Added financial fields.
This commit is contained in:
@@ -6,7 +6,7 @@ function FormItemEmail(props, ref) {
|
||||
{...props}
|
||||
addonAfter={
|
||||
<a href={`mailto:${props.email}`}>
|
||||
<Icon type='mail' />
|
||||
<Icon type="mail" />
|
||||
</a>
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
import { Form, Input, InputNumber } from "antd";
|
||||
import React, { useContext } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context";
|
||||
|
||||
export default function JobsDetailFinancials({ job }) {
|
||||
const form = useContext(JobDetailFormContext);
|
||||
const { getFieldDecorator } = form;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Form.Item label={t("jobs.fields.ded_amt")}>
|
||||
{getFieldDecorator("ded_amt", {
|
||||
initialValue: job.ded_amt
|
||||
})(<InputNumber name="ded_amt" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ded_status")}>
|
||||
{getFieldDecorator("ded_status", {
|
||||
initialValue: job.ded_status
|
||||
})(<Input name="ded_status" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.depreciation_taxes")}>
|
||||
{getFieldDecorator("depreciation_taxes", {
|
||||
initialValue: job.depreciation_taxes
|
||||
})(<InputNumber name="depreciation_taxes" />)}
|
||||
</Form.Item>
|
||||
TODO: This is equivalent of GST payable.
|
||||
<Form.Item label={t("jobs.fields.federal_tax_payable")}>
|
||||
{getFieldDecorator("federal_tax_payable", {
|
||||
initialValue: job.federal_tax_payable
|
||||
})(<InputNumber name="federal_tax_payable" />)}
|
||||
</Form.Item>
|
||||
TODO: equivalent of other customer amount
|
||||
<Form.Item label={t("jobs.fields.other_amount_payable")}>
|
||||
{getFieldDecorator("other_amount_payable", {
|
||||
initialValue: job.other_amount_payable
|
||||
})(<InputNumber name="other_amount_payable" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.towing_payable")}>
|
||||
{getFieldDecorator("towing_payable", {
|
||||
initialValue: job.towing_payable
|
||||
})(<InputNumber name="towing_payable" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.storage_payable")}>
|
||||
{getFieldDecorator("storage_payable", {
|
||||
initialValue: job.storage_payable
|
||||
})(<InputNumber name="storage_payable" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.adjustment_bottom_line")}>
|
||||
{getFieldDecorator("adjustment_bottom_line", {
|
||||
initialValue: job.adjustment_bottom_line
|
||||
})(<InputNumber name="adjustment_bottom_line" />)}
|
||||
</Form.Item>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,41 +1,45 @@
|
||||
import { Divider, Form, Input } from "antd";
|
||||
import { Divider, Form, Input, DatePicker } from "antd";
|
||||
import React, { useContext } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context";
|
||||
import FormItemEmail from "../form-items-formatted/email-form-item.component";
|
||||
import FormItemPhone from "../form-items-formatted/phone-form-item.component";
|
||||
import moment from "moment";
|
||||
|
||||
export default function JobsDetailInsurance({ job }) {
|
||||
const form = useContext(JobDetailFormContext);
|
||||
const { getFieldDecorator, getFieldValue } = form;
|
||||
const { t } = useTranslation();
|
||||
|
||||
console.log("job.loss_date", job.loss_date);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Form.Item label={t("jobs.fields.ins_co_id")}>
|
||||
{getFieldDecorator("ins_co_id", {
|
||||
initialValue: job.ins_co_id
|
||||
})(<Input name='ins_co_id' />)}
|
||||
})(<Input name="ins_co_id" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.policy_no")}>
|
||||
{getFieldDecorator("policy_no", {
|
||||
initialValue: job.policy_no
|
||||
})(<Input name='policy_no' />)}
|
||||
})(<Input name="policy_no" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.clm_no")}>
|
||||
{getFieldDecorator("clm_no", {
|
||||
initialValue: job.clm_no
|
||||
})(<Input name='clm_no' />)}
|
||||
})(<Input name="clm_no" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.regie_number")}>
|
||||
{getFieldDecorator("regie_number", {
|
||||
initialValue: job.regie_number
|
||||
})(<Input name='regie_number' />)}
|
||||
})(<Input name="regie_number" />)}
|
||||
</Form.Item>
|
||||
TODO: missing KOL field???
|
||||
<Form.Item label={t("jobs.fields.loss_date")}>
|
||||
{getFieldDecorator("loss_date", {
|
||||
initialValue: job.loss_date
|
||||
})(<Input name='loss_date' />)}
|
||||
initialValue: job.loss_date ? moment(job.loss_date) : null
|
||||
})(<DatePicker name="loss_date" />)}
|
||||
</Form.Item>
|
||||
DAMAGE {JSON.stringify(job.area_of_damage)}
|
||||
CAA # seems not correct based on field mapping Class seems not correct
|
||||
@@ -43,32 +47,32 @@ export default function JobsDetailInsurance({ job }) {
|
||||
<Form.Item label={t("jobs.fields.ins_co_nm")}>
|
||||
{getFieldDecorator("ins_co_nm", {
|
||||
initialValue: job.ins_co_nm
|
||||
})(<Input name='ins_co_nm' />)}
|
||||
})(<Input name="ins_co_nm" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_addr1")}>
|
||||
{getFieldDecorator("ins_addr1", {
|
||||
initialValue: job.ins_addr1
|
||||
})(<Input name='ins_addr1' />)}
|
||||
})(<Input name="ins_addr1" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_city")}>
|
||||
{getFieldDecorator("ins_city", {
|
||||
initialValue: job.ins_city
|
||||
})(<Input name='ins_city' />)}
|
||||
})(<Input name="ins_city" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_ct_ln")}>
|
||||
{getFieldDecorator("ins_ct_ln", {
|
||||
initialValue: job.ins_ct_ln
|
||||
})(<Input name='ins_ct_ln' />)}
|
||||
})(<Input name="ins_ct_ln" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_ct_fn")}>
|
||||
{getFieldDecorator("ins_ct_fn", {
|
||||
initialValue: job.ins_ct_fn
|
||||
})(<Input name='ins_ct_fn' />)}
|
||||
})(<Input name="ins_ct_fn" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_ph1")}>
|
||||
{getFieldDecorator("ins_ph1", {
|
||||
initialValue: job.ins_ph1
|
||||
})(<FormItemPhone customInput={Input} name='ins_ph1' />)}
|
||||
})(<FormItemPhone customInput={Input} name="ins_ph1" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.ins_ea")}>
|
||||
{getFieldDecorator("ins_ea", {
|
||||
@@ -79,35 +83,35 @@ export default function JobsDetailInsurance({ job }) {
|
||||
message: "This is not a valid email address."
|
||||
}
|
||||
]
|
||||
})(<FormItemEmail name='ins_ea' email={getFieldValue("ins_ea")} />)}
|
||||
})(<FormItemEmail name="ins_ea" email={getFieldValue("ins_ea")} />)}
|
||||
</Form.Item>
|
||||
<Divider />
|
||||
Appraiser Info
|
||||
<Form.Item label={t("jobs.fields.est_co_nm")}>
|
||||
{getFieldDecorator("est_co_nm", {
|
||||
initialValue: job.est_co_nm
|
||||
})(<Input name='est_co_nm' />)}
|
||||
})(<Input name="est_co_nm" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.est_ct_fn")}>
|
||||
{getFieldDecorator("est_ct_fn", {
|
||||
initialValue: job.est_ct_fn
|
||||
})(<Input name='est_ct_fn' />)}
|
||||
})(<Input name="est_ct_fn" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.est_ct_ln")}>
|
||||
{getFieldDecorator("est_ct_ln", {
|
||||
initialValue: job.est_ct_ln
|
||||
})(<Input name='est_ct_ln' />)}
|
||||
})(<Input name="est_ct_ln" />)}
|
||||
</Form.Item>
|
||||
TODO: Field is pay date but title is inspection date. Likely incorrect?
|
||||
<Form.Item label={t("jobs.fields.pay_date")}>
|
||||
{getFieldDecorator("pay_date", {
|
||||
initialValue: job.pay_date
|
||||
})(<Input name='pay_date' />)}
|
||||
})(<Input name="pay_date" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.est_ph1")}>
|
||||
{getFieldDecorator("est_ph1", {
|
||||
initialValue: job.est_ph1
|
||||
})(<Input name='est_ph1' />)}
|
||||
})(<Input name="est_ph1" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.est_ea")}>
|
||||
{getFieldDecorator("est_ea", {
|
||||
@@ -118,27 +122,27 @@ export default function JobsDetailInsurance({ job }) {
|
||||
message: "This is not a valid email address."
|
||||
}
|
||||
]
|
||||
})(<FormItemEmail name='est_ea' email={getFieldValue("est_ea")} />)}
|
||||
})(<FormItemEmail name="est_ea" email={getFieldValue("est_ea")} />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.selling_dealer")}>
|
||||
{getFieldDecorator("selling_dealer", {
|
||||
initialValue: job.selling_dealer
|
||||
})(<Input name='selling_dealer' />)}
|
||||
})(<Input name="selling_dealer" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.servicing_dealer")}>
|
||||
{getFieldDecorator("servicing_dealer", {
|
||||
initialValue: job.servicing_dealer
|
||||
})(<Input name='servicing_dealer' />)}
|
||||
})(<Input name="servicing_dealer" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.selling_dealer_contact")}>
|
||||
{getFieldDecorator("selling_dealer_contact", {
|
||||
initialValue: job.selling_dealer_contact
|
||||
})(<Input name='selling_dealer_contact' />)}
|
||||
})(<Input name="selling_dealer_contact" />)}
|
||||
</Form.Item>
|
||||
<Form.Item label={t("jobs.fields.servicing_dealer_contact")}>
|
||||
{getFieldDecorator("servicing_dealer_contact", {
|
||||
initialValue: job.servicing_dealer_contact
|
||||
})(<Input name='servicing_dealer_contact' />)}
|
||||
})(<Input name="servicing_dealer_contact" />)}
|
||||
</Form.Item>
|
||||
TODO: Adding servicing/selling dealer contact info?
|
||||
</div>
|
||||
|
||||
@@ -144,6 +144,14 @@ export const GET_JOB_BY_PK = gql`
|
||||
regie_number
|
||||
scheduled_completion
|
||||
id
|
||||
ded_amt
|
||||
ded_status
|
||||
depreciation_taxes
|
||||
federal_tax_payable
|
||||
other_amount_payable
|
||||
towing_payable
|
||||
storage_payable
|
||||
adjustment_bottom_line
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { Form, Icon, Tabs, Alert, Button } from "antd";
|
||||
import { Alert, Button, Form, Icon, Tabs } from "antd";
|
||||
import React, { useContext } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import {
|
||||
FaHardHat,
|
||||
FaInfo,
|
||||
FaRegStickyNote,
|
||||
FaShieldAlt,
|
||||
FaHardHat
|
||||
FaShieldAlt
|
||||
} from "react-icons/fa";
|
||||
import JobLinesContainer from "../../components/job-lines/job-lines.container.component";
|
||||
import JobsDetailClaims from "../../components/jobs-detail-claims/jobs-detail-claims.component";
|
||||
import JobsDetailFinancials from "../../components/jobs-detail-financial/jobs-detail-financial.component";
|
||||
import JobsDetailHeader from "../../components/jobs-detail-header/jobs-detail-header.component";
|
||||
import JobsDetailInsurance from "../../components/jobs-detail-insurance/jobs-detail-insurance.component";
|
||||
import JobsDocumentsContainer from "../../components/jobs-documents/jobs-documents.container";
|
||||
import JobNotesContainer from "../../components/jobs-notes/jobs-notes.container";
|
||||
import JobsRatesContainer from "../../components/jobs-rates/jobs-rates.container";
|
||||
import JobDetailFormContext from "./jobs-detail.page.context";
|
||||
import JobsDetailInsurance from "../../components/jobs-detail-insurance/jobs-detail-insurance.component";
|
||||
|
||||
export default function JobsDetailPage({
|
||||
job,
|
||||
@@ -60,7 +60,7 @@ export default function JobsDetailPage({
|
||||
/>
|
||||
) : null}
|
||||
|
||||
<Tabs defaultActiveKey='claimdetail'>
|
||||
<Tabs defaultActiveKey="claimdetail">
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
@@ -68,7 +68,8 @@ export default function JobsDetailPage({
|
||||
{t("menus.jobsdetail.claimdetail")}
|
||||
</span>
|
||||
}
|
||||
key='claimdetail'>
|
||||
key="claimdetail"
|
||||
>
|
||||
<JobsDetailClaims job={job} />
|
||||
</Tabs.TabPane>
|
||||
|
||||
@@ -79,40 +80,44 @@ export default function JobsDetailPage({
|
||||
{t("menus.jobsdetail.insurance")}
|
||||
</span>
|
||||
}
|
||||
key='insurance'>
|
||||
key="insurance"
|
||||
>
|
||||
<JobsDetailInsurance job={job} />
|
||||
</Tabs.TabPane>
|
||||
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
<Icon type='bars' />
|
||||
<Icon type="bars" />
|
||||
{t("menus.jobsdetail.repairdata")}
|
||||
</span>
|
||||
}
|
||||
key='repairdata'>
|
||||
key="repairdata"
|
||||
>
|
||||
<JobLinesContainer jobId={job.id} />
|
||||
</Tabs.TabPane>
|
||||
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
<Icon type='dollar' />
|
||||
<Icon type="dollar" />
|
||||
{t("menus.jobsdetail.financials")}
|
||||
</span>
|
||||
}
|
||||
key='financials'>
|
||||
<JobsRatesContainer />
|
||||
key="financials"
|
||||
>
|
||||
<JobsDetailFinancials job={job} />
|
||||
</Tabs.TabPane>
|
||||
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
<Icon type='tool' />
|
||||
<Icon type="tool" />
|
||||
{t("menus.jobsdetail.partssublet")}
|
||||
</span>
|
||||
}
|
||||
key='partssublet'>
|
||||
key="partssublet"
|
||||
>
|
||||
Partssublet
|
||||
</Tabs.TabPane>
|
||||
|
||||
@@ -123,29 +128,32 @@ export default function JobsDetailPage({
|
||||
{t("menus.jobsdetail.labor")}
|
||||
</span>
|
||||
}
|
||||
key='labor'>
|
||||
key="labor"
|
||||
>
|
||||
Labor
|
||||
</Tabs.TabPane>
|
||||
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
<Icon type='calendar' />
|
||||
<Icon type="calendar" />
|
||||
{t("menus.jobsdetail.dates")}
|
||||
</span>
|
||||
}
|
||||
key='dates'>
|
||||
key="dates"
|
||||
>
|
||||
Dates
|
||||
</Tabs.TabPane>
|
||||
|
||||
<Tabs.TabPane
|
||||
tab={
|
||||
<span>
|
||||
<Icon type='file-image' />
|
||||
<Icon type="file-image" />
|
||||
{t("jobs.labels.documents")}
|
||||
</span>
|
||||
}
|
||||
key='#documents'>
|
||||
key="#documents"
|
||||
>
|
||||
<JobsDocumentsContainer jobId={job.id} />
|
||||
</Tabs.TabPane>
|
||||
<Tabs.TabPane
|
||||
@@ -155,7 +163,8 @@ export default function JobsDetailPage({
|
||||
{t("jobs.labels.notes")}
|
||||
</span>
|
||||
}
|
||||
key='#notes'>
|
||||
key="#notes"
|
||||
>
|
||||
<JobNotesContainer jobId={job.id} />
|
||||
</Tabs.TabPane>
|
||||
</Tabs>
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
"actual_completion": "Actual Completion",
|
||||
"actual_delivery": "Actual Delivery",
|
||||
"actual_in": "Actual In",
|
||||
"adjustment_bottom_line": "Adjustments",
|
||||
"claim_total": "Claim Total",
|
||||
"clm_no": "Claim #",
|
||||
"clm_total": "Claim Total",
|
||||
@@ -69,7 +70,9 @@
|
||||
"date_invoiced": "Invoiced",
|
||||
"date_open": "Open",
|
||||
"date_scheduled": "Scheduled",
|
||||
"deductible": "Deductible",
|
||||
"ded_amt": "Deductible",
|
||||
"ded_status": "Deductible Status",
|
||||
"depreciation_taxes": "Depreciation/Taxes",
|
||||
"est_addr1": "Appraiser Address",
|
||||
"est_co_nm": "Appraiser",
|
||||
"est_ct_fn": "Appraiser First Name",
|
||||
@@ -77,6 +80,7 @@
|
||||
"est_ea": "Appraiser Email",
|
||||
"est_number": "Estimate Number",
|
||||
"est_ph1": "Appraiser Phone #",
|
||||
"federal_tax_payable": "Federal Tax Payable",
|
||||
"ins_addr1": "Insurance Co. Address",
|
||||
"ins_city": "Insurance City",
|
||||
"ins_co_id": "Insurance Co. ID",
|
||||
@@ -89,6 +93,7 @@
|
||||
"kmout": "Mileage Out",
|
||||
"loss_date": "Loss Date",
|
||||
"loss_desc": "Loss of Use",
|
||||
"other_amount_payable": "Other Amount Payable",
|
||||
"owner": "Owner",
|
||||
"owner_owing": "Cust. Owes",
|
||||
"ownr_ea": "Email",
|
||||
@@ -111,6 +116,8 @@
|
||||
"servicing_dealer_contact": "Servicing Dealer Contact",
|
||||
"specialcoveragepolicy": "Special Coverage Policy",
|
||||
"status": "Job Status",
|
||||
"storage_payable": "Storage/PVRT",
|
||||
"towing_payable": "Towing Payable",
|
||||
"unitnumber": "Unit #",
|
||||
"vehicle": "Vehicle"
|
||||
},
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
"actual_completion": "Realización real",
|
||||
"actual_delivery": "Entrega real",
|
||||
"actual_in": "Real en",
|
||||
"adjustment_bottom_line": "Ajustes",
|
||||
"claim_total": "Reclamar total",
|
||||
"clm_no": "Reclamación #",
|
||||
"clm_total": "Reclamar total",
|
||||
@@ -69,7 +70,9 @@
|
||||
"date_invoiced": "Facturado",
|
||||
"date_open": "Abierto",
|
||||
"date_scheduled": "Programado",
|
||||
"deductible": "Deducible",
|
||||
"ded_amt": "Deducible",
|
||||
"ded_status": "Estado deducible",
|
||||
"depreciation_taxes": "Depreciación / Impuestos",
|
||||
"est_addr1": "Dirección del tasador",
|
||||
"est_co_nm": "Tasador",
|
||||
"est_ct_fn": "Nombre del tasador",
|
||||
@@ -77,6 +80,7 @@
|
||||
"est_ea": "Correo electrónico del tasador",
|
||||
"est_number": "Numero Estimado",
|
||||
"est_ph1": "Número de teléfono del tasador",
|
||||
"federal_tax_payable": "Impuesto federal por pagar",
|
||||
"ins_addr1": "Dirección de Insurance Co.",
|
||||
"ins_city": "Ciudad de seguros",
|
||||
"ins_co_id": "ID de la compañía de seguros",
|
||||
@@ -89,6 +93,7 @@
|
||||
"kmout": "Kilometraje",
|
||||
"loss_date": "Fecha de pérdida",
|
||||
"loss_desc": "Perdida de uso",
|
||||
"other_amount_payable": "Otra cantidad a pagar",
|
||||
"owner": "Propietario",
|
||||
"owner_owing": "Cust. Debe",
|
||||
"ownr_ea": "Email",
|
||||
@@ -111,6 +116,8 @@
|
||||
"servicing_dealer_contact": "Servicio Contacto con el concesionario",
|
||||
"specialcoveragepolicy": "Política de cobertura especial",
|
||||
"status": "Estado del trabajo",
|
||||
"storage_payable": "Almacenamiento / PVRT",
|
||||
"towing_payable": "Remolque a pagar",
|
||||
"unitnumber": "Unidad #",
|
||||
"vehicle": "Vehículo"
|
||||
},
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
"actual_completion": "Achèvement réel",
|
||||
"actual_delivery": "Livraison réelle",
|
||||
"actual_in": "En réel",
|
||||
"adjustment_bottom_line": "Ajustements",
|
||||
"claim_total": "Total réclamation",
|
||||
"clm_no": "Prétendre #",
|
||||
"clm_total": "Total réclamation",
|
||||
@@ -69,7 +70,9 @@
|
||||
"date_invoiced": "Facturé",
|
||||
"date_open": "Ouvrir",
|
||||
"date_scheduled": "Prévu",
|
||||
"deductible": "Déductible",
|
||||
"ded_amt": "Déductible",
|
||||
"ded_status": "Statut de franchise",
|
||||
"depreciation_taxes": "Amortissement / taxes",
|
||||
"est_addr1": "Adresse de l'évaluateur",
|
||||
"est_co_nm": "Expert",
|
||||
"est_ct_fn": "Prénom de l'évaluateur",
|
||||
@@ -77,6 +80,7 @@
|
||||
"est_ea": "Courriel de l'évaluateur",
|
||||
"est_number": "Numéro d'estimation",
|
||||
"est_ph1": "Numéro de téléphone de l'évaluateur",
|
||||
"federal_tax_payable": "Impôt fédéral à payer",
|
||||
"ins_addr1": "Adresse Insurance Co.",
|
||||
"ins_city": "Insurance City",
|
||||
"ins_co_id": "ID de la compagnie d'assurance",
|
||||
@@ -89,6 +93,7 @@
|
||||
"kmout": "Kilométrage hors",
|
||||
"loss_date": "Date de perte",
|
||||
"loss_desc": "Perte d'usage",
|
||||
"other_amount_payable": "Autre montant à payer",
|
||||
"owner": "Propriétaire",
|
||||
"owner_owing": "Cust. Owes",
|
||||
"ownr_ea": "Email",
|
||||
@@ -111,6 +116,8 @@
|
||||
"servicing_dealer_contact": "Contacter le concessionnaire",
|
||||
"specialcoveragepolicy": "Politique de couverture spéciale",
|
||||
"status": "Statut de l'emploi",
|
||||
"storage_payable": "Stockage / PVRT",
|
||||
"towing_payable": "Remorquage à payer",
|
||||
"unitnumber": "Unité #",
|
||||
"vehicle": "Véhicule"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user