Various samll bugfixes.

This commit is contained in:
Patrick Fic
2020-09-16 12:36:31 -07:00
parent 223cf35244
commit 2e99a2eee2
11 changed files with 89 additions and 38 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project be_version="2.7.1" version="1.2"> <babeledit_project version="1.2" be_version="2.7.1">
<!-- <!--
BabelEdit project file BabelEdit project file
@@ -10961,6 +10961,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<concept_node>
<name>PAM</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node> <concept_node>
<name>PAN</name> <name>PAN</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>

View File

@@ -1,12 +1,15 @@
import React from "react"; import React from "react";
import { PrinterFilled } from "@ant-design/icons"; import { PrinterFilled } from "@ant-design/icons";
import { useTranslation } from "react-i18next";
export default function JobChecklistTemplateItem({ export default function JobChecklistTemplateItem({
templateKey, templateKey,
renderTemplate, renderTemplate,
}) { }) {
const { t } = useTranslation();
return ( return (
<div> <div>
{templateKey} {t(`printcenter.jobs.${templateKey}`)}
<PrinterFilled onClick={() => renderTemplate(templateKey)} /> <PrinterFilled onClick={() => renderTemplate(templateKey)} />
</div> </div>
); );

View File

@@ -38,17 +38,17 @@ export default function JobsAvailableComponent({
}; };
const columns = [ const columns = [
{ // {
title: t("jobs.fields.cieca_id"), // title: t("jobs.fields.cieca_id"),
dataIndex: "cieca_id", // dataIndex: "cieca_id",
key: "cieca_id", // key: "cieca_id",
//width: "8%", // //width: "8%",
// onFilter: (value, record) => record.ro_number.includes(value), // // onFilter: (value, record) => record.ro_number.includes(value),
// filteredValue: state.filteredInfo.text || null, // // filteredValue: state.filteredInfo.text || null,
sorter: (a, b) => alphaSort(a, b), // sorter: (a, b) => alphaSort(a, b),
sortOrder: // sortOrder:
state.sortedInfo.columnKey === "cieca_id" && state.sortedInfo.order, // state.sortedInfo.columnKey === "cieca_id" && state.sortedInfo.order,
}, // },
{ {
title: t("jobs.fields.owner"), title: t("jobs.fields.owner"),
dataIndex: "ownr_name", dataIndex: "ownr_name",
@@ -78,6 +78,16 @@ export default function JobsAvailableComponent({
//width: "12%", //width: "12%",
//ellipsis: true //ellipsis: true
}, },
{
title: t("jobs.fields.ins_co_nm"),
dataIndex: "ins_co_nm",
key: "ins_co_nm",
sorter: (a, b) => alphaSort(a.ins_co_nm, b.ins_co_nm),
sortOrder:
state.sortedInfo.columnKey === "ins_co_nm" && state.sortedInfo.order,
//width: "12%",
//ellipsis: true
},
{ {
title: t("jobs.fields.clm_total"), title: t("jobs.fields.clm_total"),
dataIndex: "clm_amt", dataIndex: "clm_amt",

View File

@@ -50,7 +50,14 @@ export function JobsCloseLines({ bodyshop, joblines }) {
> >
<ReadOnlyFormItem type="currency" /> <ReadOnlyFormItem type="currency" />
</Form.Item> </Form.Item>
<Form.Item
span={2}
label={t("joblines.fields.op_code_desc")}
key={`${index}op_code_desc`}
name={[field.name, "op_code_desc"]}
>
<ReadOnlyFormItem />
</Form.Item>
<Form.Item <Form.Item
span={2} span={2}
label={t("joblines.fields.mod_lbr_ty")} label={t("joblines.fields.mod_lbr_ty")}

View File

@@ -52,8 +52,9 @@ export function LaborAllocationsTable({ joblines, timetickets, bodyshop }) {
<Col span={6}> <Col span={6}>
<strong <strong
style={{ style={{
color: Math.round(t.total - t.claimed) > 0 ? "green" : "red", color: t.total - t.claimed > 0 ? "green" : "red",
}}> }}
>
{(t.total - t.claimed).toFixed(2)} {(t.total - t.claimed).toFixed(2)}
</strong> </strong>
</Col> </Col>

View File

@@ -11,20 +11,21 @@ export default function OwnerTagPopoverComponent({ job }) {
<Col span={12}> <Col span={12}>
<Descriptions <Descriptions
title={t("owners.labels.fromclaim")} title={t("owners.labels.fromclaim")}
size='small' size="small"
column={1}> column={1}
<Descriptions.Item key='1' label={t("jobs.fields.owner")}>{`${ >
<Descriptions.Item key="1" label={t("jobs.fields.owner")}>{`${
job.ownr_fn || "" job.ownr_fn || ""
} ${job.ownr_ln || ""} ${job.ownr_co_nm || ""}`}</Descriptions.Item> } ${job.ownr_ln || ""} ${job.ownr_co_nm || ""}`}</Descriptions.Item>
<Descriptions.Item key='2' label={t("jobs.fields.ownr_ph1")}> <Descriptions.Item key="2" label={t("jobs.fields.ownr_ph1")}>
<PhoneFormatter>{job.ownr_ph1 || ""}</PhoneFormatter> <PhoneFormatter>{job.ownr_ph1 || ""}</PhoneFormatter>
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item key='3' label={t("owners.fields.address")}> <Descriptions.Item key="3" label={t("owners.fields.address")}>
{`${job.ownr_addr1 || ""} ${job.ownr_addr2 || ""} ${ {`${job.ownr_addr1 || ""} ${job.ownr_addr2 || ""} ${
job.ownr_city || "" job.ownr_city || ""
} ${job.ownr_st || ""} ${job.ownr_zip || ""}`} } ${job.ownr_st || ""} ${job.ownr_zip || ""}`}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item key='4' label={t("owners.fields.ownr_ea")}> <Descriptions.Item key="4" label={t("owners.fields.ownr_ea")}>
{job.ownr_ea || ""} {job.ownr_ea || ""}
{ {
//TODO Should add an email formatter. //TODO Should add an email formatter.
@@ -35,24 +36,25 @@ export default function OwnerTagPopoverComponent({ job }) {
<Col span={12}> <Col span={12}>
<Descriptions <Descriptions
title={t("owners.labels.fromowner")} title={t("owners.labels.fromowner")}
size='small' size="small"
column={1}> column={1}
<Descriptions.Item key='1' label={t("jobs.fields.owner")}>{`${ >
<Descriptions.Item key="1" label={t("jobs.fields.owner")}>{`${
job.owner.ownr_fn || "" job.owner.ownr_fn || ""
} ${job.owner.ownr_ln || ""} ${ } ${job.owner.ownr_ln || ""} ${
job.owner.ownr_co_nm || "" job.owner.ownr_co_nm || ""
}`}</Descriptions.Item> }`}</Descriptions.Item>
<Descriptions.Item key='2' label={t("jobs.fields.ownr_ph1")}> <Descriptions.Item key="2" label={t("jobs.fields.ownr_ph1")}>
<PhoneFormatter>{job.owner.ownr_ph1 || ""}</PhoneFormatter> <PhoneFormatter>{job.owner.ownr_ph1 || ""}</PhoneFormatter>
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item key='3' label={t("owners.fields.address")}> <Descriptions.Item key="3" label={t("owners.fields.address")}>
{`${job.owner.ownr_addr1 || ""} ${job.owner.ownr_addr2 || ""} ${ {`${job.owner.ownr_addr1 || ""} ${job.owner.ownr_addr2 || ""} ${
job.owner.ownr_city || "" job.owner.ownr_city || ""
} ${job.owner.ownr_st || ""} ${job.owner.ownr_zip || ""} ${ } ${job.owner.ownr_st || ""} ${job.owner.ownr_zip || ""} ${
job.owner.ownr_ctry || "" job.owner.ownr_ctry || ""
} `} } `}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item key='4' label={t("owners.fields.ownr_ea")}> <Descriptions.Item key="4" label={t("owners.fields.ownr_ea")}>
{job.owner.ownr_ea || ""} {job.owner.ownr_ea || ""}
{ {
//TODO Should add an email formatter. //TODO Should add an email formatter.
@@ -68,11 +70,13 @@ export default function OwnerTagPopoverComponent({ job }) {
); );
return ( return (
<Popover placement='bottom' content={content}> <Popover placement="bottom" content={content}>
<Tag color='cyan'> <Tag color="cyan">
{job.owner <Link to={`/manage/owners/${job.owner.id}`}>
? `${job.ownr_co_nm || ""}${job.ownr_fn || ""} ${job.ownr_ln || ""}` {job.owner
: t("jobs.errors.noowner")} ? `${job.ownr_co_nm || ""}${job.ownr_fn || ""} ${job.ownr_ln || ""}`
: t("jobs.errors.noowner")}
</Link>
</Tag> </Tag>
</Popover> </Popover>
); );

View File

@@ -41,6 +41,7 @@ export const QUERY_AVAILABLE_SUPPLEMENT_JOBS = gql`
uploaded_by uploaded_by
vehicle_info vehicle_info
job { job {
id
ro_number ro_number
} }
} }

View File

@@ -45,8 +45,9 @@ export function JobsIntakeContainer({
link: `/manage/jobs/${jobId}`, link: `/manage/jobs/${jobId}`,
label: t("titles.bc.jobs-detail", { label: t("titles.bc.jobs-detail", {
number: number:
(data && data.jobs_by_pk && data.jobs_by_pk.ro_number) || data &&
data.jobs_by_pk.est_number, ((data.jobs_by_pk && data.jobs_by_pk.ro_number) ||
data.jobs_by_pk.est_number),
}), }),
}, },
{ {

View File

@@ -721,6 +721,7 @@
"PAA": "Aftermarket", "PAA": "Aftermarket",
"PAE": "Existing", "PAE": "Existing",
"PAL": "LKQ", "PAL": "LKQ",
"PAM": "Remanufactured",
"PAN": "New/OEM", "PAN": "New/OEM",
"PAS": "Sublet", "PAS": "Sublet",
"PASL": "Sublet" "PASL": "Sublet"
@@ -902,7 +903,7 @@
"rate_lam": "Mechanical", "rate_lam": "Mechanical",
"rate_lar": "Refinish", "rate_lar": "Refinish",
"rate_las": "Sublet", "rate_las": "Sublet",
"rate_lau": "Aluminum (USER)", "rate_lau": "Aluminum",
"rate_ma2s": "2 Stage Paint", "rate_ma2s": "2 Stage Paint",
"rate_ma3s": "3 Stage Paint", "rate_ma3s": "3 Stage Paint",
"rate_mabl": "MABL??", "rate_mabl": "MABL??",

View File

@@ -721,6 +721,7 @@
"PAA": "", "PAA": "",
"PAE": "", "PAE": "",
"PAL": "", "PAL": "",
"PAM": "",
"PAN": "", "PAN": "",
"PAS": "", "PAS": "",
"PASL": "" "PASL": ""
@@ -902,7 +903,7 @@
"rate_lam": "Tasa mecánica", "rate_lam": "Tasa mecánica",
"rate_lar": "Tasa de acabado", "rate_lar": "Tasa de acabado",
"rate_las": "Tasa de subarriendo", "rate_las": "Tasa de subarriendo",
"rate_lau": "Tasa de aluminio (USER)", "rate_lau": "Tasa de aluminio",
"rate_ma2s": "Velocidad de pintura de 2 etapas", "rate_ma2s": "Velocidad de pintura de 2 etapas",
"rate_ma3s": "Tasa de pintura de 3 etapas", "rate_ma3s": "Tasa de pintura de 3 etapas",
"rate_mabl": "MABL ??", "rate_mabl": "MABL ??",

View File

@@ -721,6 +721,7 @@
"PAA": "", "PAA": "",
"PAE": "", "PAE": "",
"PAL": "", "PAL": "",
"PAM": "",
"PAN": "", "PAN": "",
"PAS": "", "PAS": "",
"PASL": "" "PASL": ""
@@ -902,7 +903,7 @@
"rate_lam": "Taux mécanique", "rate_lam": "Taux mécanique",
"rate_lar": "Taux de finition", "rate_lar": "Taux de finition",
"rate_las": "Taux de sous-location", "rate_las": "Taux de sous-location",
"rate_lau": "Taux d'aluminium (USER)", "rate_lau": "Taux d'aluminium",
"rate_ma2s": "Taux de peinture en 2 étapes", "rate_ma2s": "Taux de peinture en 2 étapes",
"rate_ma3s": "Taux de peinture en 3 étapes", "rate_ma3s": "Taux de peinture en 3 étapes",
"rate_mabl": "MABL ??", "rate_mabl": "MABL ??",