EXPO Package Upgrades and added job details fields.

This commit is contained in:
Patrick Fic
2020-12-09 20:05:48 -08:00
parent ccb42548d0
commit ee77860112
12 changed files with 4371 additions and 10050 deletions

2
App.js
View File

@@ -1,6 +1,6 @@
import { ApolloProvider } from "@apollo/client"; import { ApolloProvider } from "@apollo/client";
import { Ionicons } from "@expo/vector-icons"; import { Ionicons } from "@expo/vector-icons";
import { AppLoading } from "expo"; import AppLoading from "expo-app-loading";
import * as FileSystem from "expo-file-system"; import * as FileSystem from "expo-file-system";
import * as Font from "expo-font"; import * as Font from "expo-font";
import React from "react"; import React from "react";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
import { Input, Item, Label } from "native-base";
import React from "react";
import { StyleSheet } from "react-native";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { DateTime } from "luxon";
const mapStateToProps = createStructuredSelector({
//currentUser: selectCurrentUser
});
const mapDispatchToProps = (dispatch) => ({});
export function DataLabelComponent({ label, content, dateTime, ...restProps }) {
let theContent = content;
if (dateTime && content)
theContent = DateTime.fromISO(content).toLocaleString(
DateTime.DATETIME_SHORT
);
return (
<Item stackedLabel {...restProps}>
<Label>{label}</Label>
<Input disabled placeholder={theContent} />
</Item>
);
}
const localStyles = StyleSheet.create({});
export default connect(mapStateToProps, mapDispatchToProps)(DataLabelComponent);

View File

@@ -50,36 +50,38 @@ export function JobListItem({ setCameraJob, setCameraJobId, item }) {
return ( return (
<Swipeable renderRightActions={() => <RenderRightAction />}> <Swipeable renderRightActions={() => <RenderRightAction />}>
<Card> <TouchableOpacity onPress={onPress}>
<CardItem header bordered first button onPress={onPress}> <Card>
<View style={localStyles.item_header}> <CardItem header bordered first button>
<H3 style={localStyles.item_header_content}> <View style={localStyles.item_header}>
{item.ro_number ? item.ro_number : `EST-${item.est_number}`} <H3 style={localStyles.item_header_content}>
</H3> {item.ro_number ? item.ro_number : `EST-${item.est_number}`}
<Text style={localStyles.item_header_margin}> </H3>
{item.clm_no || ""} <Text style={localStyles.item_header_margin}>
</Text> {item.clm_no || ""}
</View> </Text>
</CardItem> </View>
<CardItem bordered last button> </CardItem>
<View> <CardItem bordered last button>
<Text>{`${item.ownr_fn || ""} ${item.ownr_ln || ""} ${ <View>
item.ownr_co_nm || "" <Text>{`${item.ownr_fn || ""} ${item.ownr_ln || ""} ${
}`}</Text> item.ownr_co_nm || ""
<Text>{`${item.v_model_yr || ""} ${item.v_make_desc || ""} ${ }`}</Text>
item.v_model_desc || "" <Text>{`${item.v_model_yr || ""} ${item.v_make_desc || ""} ${
}`}</Text> item.v_model_desc || ""
</View> }`}</Text>
<View style={[{ width: 150 }, localStyles.card_content_margin]}> </View>
<Text numberOfLines={1}>{item.ins_co_nm || ""}</Text> <View style={[{ width: 150 }, localStyles.card_content_margin]}>
<Text> <Text numberOfLines={1}>{item.ins_co_nm || ""}</Text>
{Dinero({ <Text>
amount: Math.round(item.clm_total * 100), {Dinero({
}).toFormat() || ""} amount: Math.round(item.clm_total * 100),
</Text> }).toFormat() || ""}
</View> </Text>
</CardItem> </View>
</Card> </CardItem>
</Card>
</TouchableOpacity>
</Swipeable> </Swipeable>
); );
} }

View File

@@ -1,17 +1,20 @@
import Dinero from "dinero.js";
import { import {
Card, Card,
CardItem, CardItem,
H3,
Text,
View,
Container, Container,
Content, Content,
Form,
H2,
H3,
Text,
} from "native-base"; } from "native-base";
import React from "react"; import React from "react";
import { StyleSheet, RefreshControl } from "react-native"; import { RefreshControl, StyleSheet } from "react-native";
import DataLabelComponent from "../data-label/data-label.component";
import { useTranslation } from "react-i18next";
export default function JobTombstone({ job, loading, refetch }) { export default function JobTombstone({ job, loading, refetch }) {
const { t } = useTranslation();
if (!!!job) { if (!!!job) {
<Card> <Card>
<Text>Job is not defined.</Text> <Text>Job is not defined.</Text>
@@ -31,34 +34,108 @@ export default function JobTombstone({ job, loading, refetch }) {
> >
<Card> <Card>
<CardItem bordered style={localStyles.status}> <CardItem bordered style={localStyles.status}>
<H3>{job.status}</H3> <H2>{job.status}</H2>
</CardItem> </CardItem>
<CardItem bordered style={localStyles.ins_card}> {job.inproduction && (
<View style={{ flex: 3, marginright: 10 }}> <CardItem bordered style={localStyles.inproduction}>
<Text numberOfLines={1}>{job.ins_co_nm || ""}</Text> <Text>{t("objects.jobs.labels.inproduction")}</Text>
<Text numberOfLines={1}>{job.clm_no || ""}</Text> </CardItem>
</View> )}
<View style={{ flex: 1, marginLeft: 10 }}> {job.inproduction && job.production_vars && job.production_vars.note && (
<Text numberOfLines={1}>{job.ded_status || ""}</Text> <CardItem bordered style={localStyles.inproduction}>
<Text numberOfLines={1}> <Text>{job.production_vars.note}</Text>
{Dinero({ amount: (job.ded_amt || 0) * 100 }).toFormat()} </CardItem>
</Text> )}
</View> </Card>
<Card>
<CardItem bordered style={localStyles.status}>
<H3>{t("jobdetail.labels.claiminformation")}</H3>
</CardItem> </CardItem>
<CardItem bordered style={localStyles.owner_card}> <Form>
<View style={{ flex: 1 }}> <DataLabelComponent
<Text numberOfLines={1}>{`${job.ownr_fn || ""} ${ label={t("objects.jobs.fields.owner")}
job.ownr_ln || "" content={`${job.ownr_fn || ""} ${job.ownr_ln || ""} ${
}${job.ownr_co_nm || ""}`}</Text> job.ownr_co_nm || ""
<Text>{job.ownr_ph1 || ""}</Text> }`}
</View> />
<View style={{ flex: 1 }}> <DataLabelComponent
<Text numberOfLines={2}>{`${job.v_model_yr || ""} ${ label={t("objects.jobs.fields.vehicle")}
job.v_make_desc || "" content={`${job.v_model_yr || ""} ${job.v_make_desc || ""} ${
} ${job.v_model_desc || ""} ${job.v_vin || ""}`}</Text> job.v_model_desc || ""
</View> }`}
/>
<DataLabelComponent
label={t("objects.jobs.fields.ins_co_nm")}
content={job.ins_co_nm}
/>
<DataLabelComponent
label={t("objects.jobs.fields.clm_no")}
content={job.clm_no}
/>
</Form>
</Card>
<Card>
<CardItem bordered style={localStyles.status}>
<H3>{t("jobdetail.labels.employeeassignments")}</H3>
</CardItem> </CardItem>
<CardItem></CardItem> <Form>
<DataLabelComponent
label={t("objects.jobs.fields.employee_body")}
content={`${
(job.employee_body_rel && job.employee_body_rel.first_name) ||
""
} ${
(job.employee_body_rel && job.employee_body_rel.last_name) || ""
}`}
/>
<DataLabelComponent
label={t("objects.jobs.fields.employee_prep")}
content={`${
(job.employee_prep_rel && job.employee_prep_rel.first_name) ||
""
} ${
(job.employee_prep_rel && job.employee_prep_rel.last_name) || ""
}`}
/>
<DataLabelComponent
label={t("objects.jobs.fields.employee_refinish")}
content={`${
(job.employee_refinish_rel &&
job.employee_refinish_rel.first_name) ||
""
} ${
(job.employee_refinish_rel &&
job.employee_refinish_rel.last_name) ||
""
}`}
/>
</Form>
</Card>
<Card style={localStyles.twoColumnCard}>
<Form style={localStyles.twoColumnCardColumn}>
<DataLabelComponent
label={t("objects.jobs.fields.scheduled_in")}
content={job.scheduled_in}
dateTime
/>
<DataLabelComponent
label={t("objects.jobs.fields.actual_in")}
content={job.actual_in}
dateTime
/>
</Form>
<Form style={localStyles.twoColumnCardColumn}>
<DataLabelComponent
label={t("objects.jobs.fields.scheduled_completion")}
content={job.scheduled_completion}
dateTime
/>
<DataLabelComponent
label={t("objects.jobs.fields.scheduled_delivery")}
content={job.scheduled_delivery}
dateTime
/>
</Form>
</Card> </Card>
</Content> </Content>
</Container> </Container>
@@ -66,17 +143,47 @@ export default function JobTombstone({ job, loading, refetch }) {
} }
const localStyles = StyleSheet.create({ const localStyles = StyleSheet.create({
ins_card: { twoColumnCard: { display: "flex", flexDirection: "row" },
flexDirection: "row", twoColumnCardColumn: { flex: 1 },
justifyContent: "space-between",
},
status: { status: {
textAlign: "center", textAlign: "center",
flexDirection: "row", flexDirection: "row",
justifyContent: "center", justifyContent: "center",
}, },
owner_card: { inproduction: {
backgroundColor: "tomato",
textAlign: "center",
flexDirection: "row", flexDirection: "row",
justifyContent: "space-around", justifyContent: "center",
}, },
}); });
// <Card>
// <CardItem bordered style={localStyles.ins_card}>
// <View style={{ flex: 3, marginright: 10 }}>
// <Text numberOfLines={1}>{job.ins_co_nm || ""}</Text>
// <Text numberOfLines={1}>{job.clm_no || ""}</Text>
// </View>
// <View style={{ flex: 1, marginLeft: 10 }}>
// <Text numberOfLines={1}>{job.ded_status || ""}</Text>
// <Text numberOfLines={1}>
// {Dinero({ amount: (job.ded_amt || 0) * 100 }).toFormat()}
// </Text>
// </View>
// </CardItem>
// <CardItem bordered style={localStyles.owner_card}>
// <View style={{ flex: 1 }}>
// <Text numberOfLines={1}>{`${job.ownr_fn || ""} ${job.ownr_ln || ""}${
// job.ownr_co_nm || ""
// }`}</Text>
// <Text>{job.ownr_ph1 || ""}</Text>
// </View>
// <View style={{ flex: 1 }}>
// <Text numberOfLines={2}>{`${job.v_model_yr || ""} ${
// job.v_make_desc || ""
// } ${job.v_model_desc || ""} ${job.v_vin || ""}`}</Text>
// </View>
// </CardItem>
// <CardItem></CardItem>
// </Card>;

View File

@@ -289,7 +289,7 @@ export const GET_JOB_BY_PK = gql`
ded_amt ded_amt
ded_status ded_status
depreciation_taxes depreciation_taxes
production_vars
other_amount_payable other_amount_payable
towing_payable towing_payable
storage_payable storage_payable

9546
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,43 +8,45 @@
"eject": "expo eject" "eject": "expo eject"
}, },
"dependencies": { "dependencies": {
"@apollo/client": "^3.2.5", "@apollo/client": "^3.3.4",
"@react-native-community/async-storage": "~1.12.0", "@react-native-community/async-storage": "~1.12.0",
"@react-native-community/masked-view": "0.1.10", "@react-native-community/masked-view": "0.1.10",
"@react-navigation/bottom-tabs": "^5.10.7", "@react-navigation/bottom-tabs": "^5.11.2",
"@react-navigation/drawer": "^5.10.7", "@react-navigation/drawer": "^5.11.4",
"@react-navigation/native": "^5.8.7", "@react-navigation/native": "^5.8.10",
"@react-navigation/stack": "^5.12.4", "@react-navigation/stack": "^5.12.8",
"axios": "^0.21.0", "axios": "^0.21.0",
"dinero.js": "^1.8.1", "dinero.js": "^1.8.1",
"expo": "^39.0.4", "expo": "^40.0.0",
"expo-camera": "~9.0.0", "expo-app-loading": "^1.0.0",
"expo-file-system": "~9.2.0", "expo-camera": "~9.1.0",
"expo-font": "~8.3.0", "expo-file-system": "~9.3.0",
"expo-image-picker": "~9.1.1", "expo-font": "~8.4.0",
"expo-localization": "~9.0.0", "expo-image-picker": "~9.2.0",
"expo-media-library": "~9.2.1", "expo-localization": "~9.1.0",
"expo-permissions": "~9.3.0", "expo-media-library": "~10.0.0",
"expo-sqlite": "~8.4.0", "expo-permissions": "~10.0.0",
"expo-status-bar": "~1.0.2", "expo-sqlite": "~8.5.0",
"expo-video-thumbnails": "~4.3.0", "expo-status-bar": "~1.0.3",
"expo-video-thumbnails": "~4.4.0",
"firebase": "7.9.0", "firebase": "7.9.0",
"formik": "^2.2.3", "formik": "^2.2.5",
"graphql": "^15.4.0", "graphql": "^15.4.0",
"i18next": "^19.8.3", "i18next": "^19.8.4",
"native-base": "^2.13.14", "luxon": "^1.25.0",
"native-base": "^2.13.15",
"react": "16.13.1", "react": "16.13.1",
"react-dom": "16.13.1", "react-dom": "16.13.1",
"react-i18next": "^11.7.3", "react-i18next": "^11.8.2",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.3.tar.gz", "react-native": "https://github.com/expo/react-native/archive/sdk-40.0.0.tar.gz",
"react-native-easy-grid": "^0.2.2", "react-native-easy-grid": "^0.2.2",
"react-native-gesture-handler": "~1.7.0", "react-native-gesture-handler": "~1.8.0",
"react-native-image-zoom-viewer": "^3.0.1", "react-native-image-zoom-viewer": "^3.0.1",
"react-native-indicators": "^0.17.0", "react-native-indicators": "^0.17.0",
"react-native-reanimated": "~1.13.0", "react-native-reanimated": "^1.13.2",
"react-native-safe-area-context": "3.1.4", "react-native-safe-area-context": "3.1.9",
"react-native-screens": "~2.10.1", "react-native-screens": "~2.15.0",
"react-native-web": "~0.13.7", "react-native-web": "~0.13.12",
"react-redux": "^7.2.2", "react-redux": "^7.2.2",
"redux": "^4.0.5", "redux": "^4.0.5",
"redux-logger": "^3.0.6", "redux-logger": "^3.0.6",
@@ -54,8 +56,8 @@
"subscriptions-transport-ws": "^0.9.18" "subscriptions-transport-ws": "^0.9.18"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.12.3", "@babel/core": "~7.9.0",
"babel-preset-expo": "^8.3.0" "babel-preset-expo": "8.3.0"
}, },
"private": true "private": true
} }

View File

@@ -15,7 +15,9 @@
}, },
"jobdetail": { "jobdetail": {
"labels": { "labels": {
"claiminformation": "Claim Information",
"documents": "Documents", "documents": "Documents",
"employeeassignments": "Employee Assignments",
"job": "Job", "job": "Job",
"notes": "Notes" "notes": "Notes"
} }
@@ -42,6 +44,158 @@
"messagingtab": "Messaging" "messagingtab": "Messaging"
} }
}, },
"objects": {
"jobs": {
"fields": {
"actual_completion": "Actual Completion",
"actual_delivery": "Actual Delivery",
"actual_in": "Actual In",
"adjustment_bottom_line": "Adjustments",
"ca_gst_registrant": "GST Registrant",
"category": "Category",
"ccc": "CC Cleaning",
"ccd": "CC Damage Waiver",
"ccdr": "CC Daily Rate",
"ccf": "CC Refuel",
"ccm": "CC Mileage",
"cieca_id": "CIECA ID",
"claim_total": "Claim Total",
"class": "Class",
"clm_no": "Claim #",
"clm_total": "Claim Total",
"csr": "Customer Service Rep.",
"customerowing": "Customer Owing",
"date_closed": "Closed",
"date_estimated": "Date Estimated",
"date_exported": "Exported",
"date_invoiced": "Invoiced",
"date_open": "Open",
"date_scheduled": "Scheduled",
"ded_amt": "Deductible",
"ded_status": "Deductible Status",
"depreciation_taxes": "Depreciation/Taxes",
"employee_body": "Body",
"employee_prep": "Prep",
"employee_refinish": "Refinish",
"est_addr1": "Appraiser Address",
"est_co_nm": "Appraiser",
"est_ct_fn": "Appraiser First Name",
"est_ct_ln": "Appraiser Last Name",
"est_ea": "Appraiser Email",
"est_number": "Estimate #",
"est_ph1": "Appraiser Phone #",
"federal_tax_payable": "Federal Tax Payable",
"federal_tax_rate": "Federal Tax Rate",
"ins_addr1": "Insurance Co. Address",
"ins_city": "Insurance City",
"ins_co_id": "Insurance Co. ID",
"ins_co_nm": "Insurance Company Name",
"ins_ct_fn": "File Handler First Name",
"ins_ct_ln": "File Handler Last Name",
"ins_ea": "File Handler Email",
"ins_ph1": "File Handler Phone #",
"intake": {
"label": "Label",
"name": "Name",
"required": "Required?",
"type": "Type"
},
"kmin": "Mileage In",
"kmout": "Mileage Out",
"la1": "LA1",
"la2": "LA2",
"la3": "LA3",
"la4": "LA4",
"laa": "Aluminum ",
"lab": "Body",
"labor_rate_desc": "Labor Rate Name",
"lad": "Diagnostic",
"lae": "Electrical",
"laf": "Frame",
"lag": "Glass",
"lam": "Mechanical",
"lar": "Refinish",
"las": "Structural",
"lau": "LAU",
"local_tax_rate": "Local Tax Rate",
"loss_date": "Loss Date",
"loss_desc": "Loss Description",
"ma2s": "2 Stage Paint",
"ma3s": "3 Stage Pain",
"mabl": "MABL?",
"macs": "MACS?",
"mahw": "Hazardous Waste",
"mapa": "Paint Materials",
"mash": "Shop Materials",
"matd": "Tire Disposal",
"other_amount_payable": "Other Amount Payable",
"owner": "Owner",
"owner_owing": "Cust. Owes",
"ownr_ea": "Email",
"ownr_ph1": "Phone 1",
"paa": "Aftermarket",
"pae": "Existing",
"pal": "LKQ",
"pam": "Remanufactured",
"pan": "OEM/New",
"pao": "Other",
"pap": "EOM Partial",
"par": "Re-cored",
"pas": "Sublet",
"pay_date": "Pay Date",
"phoneshort": "PH",
"policy_no": "Policy #",
"ponumber": "PO Number",
"rate_la1": "LA1",
"rate_la2": "LA2",
"rate_la3": "LA3",
"rate_la4": "LA4",
"rate_laa": "Aluminum",
"rate_lab": "Body",
"rate_lad": "Diagnostic",
"rate_lae": "Electrical",
"rate_laf": "Frame",
"rate_lag": "Glass",
"rate_lam": "Mechanical",
"rate_lar": "Refinish",
"rate_las": "Sublet",
"rate_lau": "Aluminum",
"rate_ma2s": "2 Stage Paint",
"rate_ma3s": "3 Stage Paint",
"rate_mabl": "MABL??",
"rate_macs": "MACS??",
"rate_mahw": "Hazardous Waste",
"rate_mapa": "Paint Materials",
"rate_mash": "Shop Material",
"rate_matd": "Tire Disposal",
"referralsource": "Referral Source",
"regie_number": "Registration #",
"repairtotal": "Repair Total",
"ro_number": "RO #",
"scheduled_completion": "Scheduled Completion",
"scheduled_delivery": "Scheduled Delivery",
"scheduled_in": "Scheduled In",
"selling_dealer": "Selling Dealer",
"selling_dealer_contact": "Selling Dealer Contact",
"servicecar": "Service Car",
"servicing_dealer": "Servicing Dealer",
"servicing_dealer_contact": "Servicing Dealer Contact",
"specialcoveragepolicy": "Special Coverage Policy",
"state_tax_rate": "State Tax Rate",
"status": "Job Status",
"storage_payable": "Storage/PVRT",
"tax_registration_number": "Tax Registration Number",
"towing_payable": "Towing Payable",
"unitnumber": "Unit #",
"updated_at": "Updated At",
"uploaded_by": "Uploaded By",
"vehicle": "Vehicle"
},
"labels": {
"inproduction": "In Production"
}
}
},
"settings": { "settings": {
"titles": { "titles": {
"settings": "Settings" "settings": "Settings"

View File

@@ -15,7 +15,9 @@
}, },
"jobdetail": { "jobdetail": {
"labels": { "labels": {
"claiminformation": "",
"documents": "", "documents": "",
"employeeassignments": "",
"job": "", "job": "",
"notes": "" "notes": ""
} }
@@ -42,6 +44,158 @@
"messagingtab": "" "messagingtab": ""
} }
}, },
"objects": {
"jobs": {
"fields": {
"actual_completion": "Realización real",
"actual_delivery": "Entrega real",
"actual_in": "Real en",
"adjustment_bottom_line": "Ajustes",
"ca_gst_registrant": "",
"category": "",
"ccc": "",
"ccd": "",
"ccdr": "",
"ccf": "",
"ccm": "",
"cieca_id": "CIECA ID",
"claim_total": "Reclamar total",
"class": "",
"clm_no": "Reclamación #",
"clm_total": "Reclamar total",
"csr": "Representante de servicio al cliente.",
"customerowing": "Cliente debido",
"date_closed": "Cerrado",
"date_estimated": "Fecha estimada",
"date_exported": "Exportado",
"date_invoiced": "Facturado",
"date_open": "Abierto",
"date_scheduled": "Programado",
"ded_amt": "Deducible",
"ded_status": "Estado deducible",
"depreciation_taxes": "Depreciación / Impuestos",
"employee_body": "",
"employee_prep": "",
"employee_refinish": "",
"est_addr1": "Dirección del tasador",
"est_co_nm": "Tasador",
"est_ct_fn": "Nombre del tasador",
"est_ct_ln": "Apellido del tasador",
"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",
"federal_tax_rate": "",
"ins_addr1": "Dirección de Insurance Co.",
"ins_city": "Ciudad de seguros",
"ins_co_id": "ID de la compañía de seguros",
"ins_co_nm": "Nombre de la compañía de seguros",
"ins_ct_fn": "Nombre del controlador de archivos",
"ins_ct_ln": "Apellido del manejador de archivos",
"ins_ea": "Correo electrónico del controlador de archivos",
"ins_ph1": "File Handler Phone #",
"intake": {
"label": "",
"name": "",
"required": "",
"type": ""
},
"kmin": "Kilometraje en",
"kmout": "Kilometraje",
"la1": "",
"la2": "",
"la3": "",
"la4": "",
"laa": "",
"lab": "",
"labor_rate_desc": "Nombre de la tasa laboral",
"lad": "",
"lae": "",
"laf": "",
"lag": "",
"lam": "",
"lar": "",
"las": "",
"lau": "",
"local_tax_rate": "",
"loss_date": "Fecha de pérdida",
"loss_desc": "",
"ma2s": "",
"ma3s": "",
"mabl": "",
"macs": "",
"mahw": "",
"mapa": "",
"mash": "",
"matd": "",
"other_amount_payable": "Otra cantidad a pagar",
"owner": "Propietario",
"owner_owing": "Cust. Debe",
"ownr_ea": "Email",
"ownr_ph1": "Teléfono 1",
"paa": "",
"pae": "",
"pal": "",
"pam": "",
"pan": "",
"pao": "",
"pap": "",
"par": "",
"pas": "",
"pay_date": "Fecha de Pay",
"phoneshort": "PH",
"policy_no": "Política #",
"ponumber": "numero postal",
"rate_la1": "Tarifa LA1",
"rate_la2": "Tarifa LA2",
"rate_la3": "Tarifa LA3",
"rate_la4": "Tarifa LA4",
"rate_laa": "Tasa de aluminio",
"rate_lab": "Tasa de trabajo",
"rate_lad": "Tasa de diagnóstico",
"rate_lae": "tarifa eléctrica",
"rate_laf": "Cuadros por segundo",
"rate_lag": "Tasa de vidrio",
"rate_lam": "Tasa mecánica",
"rate_lar": "Tasa de acabado",
"rate_las": "Tasa de subarriendo",
"rate_lau": "Tasa de aluminio",
"rate_ma2s": "Velocidad de pintura de 2 etapas",
"rate_ma3s": "Tasa de pintura de 3 etapas",
"rate_mabl": "MABL ??",
"rate_macs": "MACS ??",
"rate_mahw": "Tasa de residuos peligrosos",
"rate_mapa": "Tasa de materiales de pintura",
"rate_mash": "Comprar material de tarifa",
"rate_matd": "Tasa de eliminación de neumáticos",
"referralsource": "Fuente de referencia",
"regie_number": "N. ° de registro",
"repairtotal": "Reparación total",
"ro_number": "RO #",
"scheduled_completion": "Finalización programada",
"scheduled_delivery": "Entrega programada",
"scheduled_in": "Programado en",
"selling_dealer": "Distribuidor vendedor",
"selling_dealer_contact": "Contacto con el vendedor",
"servicecar": "Auto de servicio",
"servicing_dealer": "Distribuidor de servicio",
"servicing_dealer_contact": "Servicio Contacto con el concesionario",
"specialcoveragepolicy": "Política de cobertura especial",
"state_tax_rate": "",
"status": "Estado del trabajo",
"storage_payable": "Almacenamiento / PVRT",
"tax_registration_number": "",
"towing_payable": "Remolque a pagar",
"unitnumber": "Unidad #",
"updated_at": "Actualizado en",
"uploaded_by": "Subido por",
"vehicle": "Vehículo"
},
"labels": {
"inproduction": ""
}
}
},
"settings": { "settings": {
"titles": { "titles": {
"settings": "" "settings": ""

View File

@@ -15,7 +15,9 @@
}, },
"jobdetail": { "jobdetail": {
"labels": { "labels": {
"claiminformation": "",
"documents": "", "documents": "",
"employeeassignments": "",
"job": "", "job": "",
"notes": "" "notes": ""
} }
@@ -42,6 +44,158 @@
"messagingtab": "" "messagingtab": ""
} }
}, },
"objects": {
"jobs": {
"fields": {
"actual_completion": "Achèvement réel",
"actual_delivery": "Livraison réelle",
"actual_in": "En réel",
"adjustment_bottom_line": "Ajustements",
"ca_gst_registrant": "",
"category": "",
"ccc": "",
"ccd": "",
"ccdr": "",
"ccf": "",
"ccm": "",
"cieca_id": "CIECA ID",
"claim_total": "Total réclamation",
"class": "",
"clm_no": "Prétendre #",
"clm_total": "Total réclamation",
"csr": "représentant du service à la clientèle",
"customerowing": "Client propriétaire",
"date_closed": "Fermé",
"date_estimated": "Date estimée",
"date_exported": "Exportés",
"date_invoiced": "Facturé",
"date_open": "Ouvrir",
"date_scheduled": "Prévu",
"ded_amt": "Déductible",
"ded_status": "Statut de franchise",
"depreciation_taxes": "Amortissement / taxes",
"employee_body": "",
"employee_prep": "",
"employee_refinish": "",
"est_addr1": "Adresse de l'évaluateur",
"est_co_nm": "Expert",
"est_ct_fn": "Prénom de l'évaluateur",
"est_ct_ln": "Nom de l'évaluateur",
"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",
"federal_tax_rate": "",
"ins_addr1": "Adresse Insurance Co.",
"ins_city": "Insurance City",
"ins_co_id": "ID de la compagnie d'assurance",
"ins_co_nm": "Nom de la compagnie d'assurance",
"ins_ct_fn": "Prénom du gestionnaire de fichiers",
"ins_ct_ln": "Nom du gestionnaire de fichiers",
"ins_ea": "Courriel du gestionnaire de fichiers",
"ins_ph1": "Numéro de téléphone du gestionnaire de fichiers",
"intake": {
"label": "",
"name": "",
"required": "",
"type": ""
},
"kmin": "Kilométrage en",
"kmout": "Kilométrage hors",
"la1": "",
"la2": "",
"la3": "",
"la4": "",
"laa": "",
"lab": "",
"labor_rate_desc": "Nom du taux de main-d'œuvre",
"lad": "",
"lae": "",
"laf": "",
"lag": "",
"lam": "",
"lar": "",
"las": "",
"lau": "",
"local_tax_rate": "",
"loss_date": "Date de perte",
"loss_desc": "",
"ma2s": "",
"ma3s": "",
"mabl": "",
"macs": "",
"mahw": "",
"mapa": "",
"mash": "",
"matd": "",
"other_amount_payable": "Autre montant à payer",
"owner": "Propriétaire",
"owner_owing": "Cust. Owes",
"ownr_ea": "Email",
"ownr_ph1": "Téléphone 1",
"paa": "",
"pae": "",
"pal": "",
"pam": "",
"pan": "",
"pao": "",
"pap": "",
"par": "",
"pas": "",
"pay_date": "Date d'Pay",
"phoneshort": "PH",
"policy_no": "Politique #",
"ponumber": "Numéro de bon de commande",
"rate_la1": "Taux LA1",
"rate_la2": "Taux LA2",
"rate_la3": "Taux LA3",
"rate_la4": "Taux LA4",
"rate_laa": "Taux d'aluminium",
"rate_lab": "Taux de la main-d'œuvre",
"rate_lad": "Taux de diagnostic",
"rate_lae": "Tarif électrique",
"rate_laf": "Taux de trame",
"rate_lag": "Taux de verre",
"rate_lam": "Taux mécanique",
"rate_lar": "Taux de finition",
"rate_las": "Taux de sous-location",
"rate_lau": "Taux d'aluminium",
"rate_ma2s": "Taux de peinture en 2 étapes",
"rate_ma3s": "Taux de peinture en 3 étapes",
"rate_mabl": "MABL ??",
"rate_macs": "MACS ??",
"rate_mahw": "Taux de déchets dangereux",
"rate_mapa": "Taux de matériaux de peinture",
"rate_mash": "Tarif du matériel de la boutique",
"rate_matd": "Taux d'élimination des pneus",
"referralsource": "Source de référence",
"regie_number": "Enregistrement #",
"repairtotal": "Réparation totale",
"ro_number": "RO #",
"scheduled_completion": "Achèvement planifié",
"scheduled_delivery": "Livraison programmée",
"scheduled_in": "Planifié dans",
"selling_dealer": "Revendeur vendeur",
"selling_dealer_contact": "Contacter le revendeur",
"servicecar": "Voiture de service",
"servicing_dealer": "Concessionnaire",
"servicing_dealer_contact": "Contacter le concessionnaire",
"specialcoveragepolicy": "Politique de couverture spéciale",
"state_tax_rate": "",
"status": "Statut de l'emploi",
"storage_payable": "Stockage / PVRT",
"tax_registration_number": "",
"towing_payable": "Remorquage à payer",
"unitnumber": "Unité #",
"updated_at": "Mis à jour à",
"uploaded_by": "Telechargé par",
"vehicle": "Véhicule"
},
"labels": {
"inproduction": ""
}
}
},
"settings": { "settings": {
"titles": { "titles": {
"settings": "" "settings": ""

1031
yarn.lock

File diff suppressed because it is too large Load Diff