Fixed joblines query sorting. Added in additional fields. Added region to bodyshop.

This commit is contained in:
Patrick Fic
2020-01-30 17:18:36 -08:00
parent f7e050da58
commit 24fc50826c
22 changed files with 628 additions and 27 deletions

View File

@@ -17,30 +17,50 @@ export default function JobLinesComponent({ jobLines, form, handleSubmit }) {
const columns = [
{
title: t("joblines.fields.unq_seq"),
dataIndex: "joblines.unq_seq",
key: "joblines.unq_seq",
dataIndex: "unq_seq",
key: "unq_seq",
// onFilter: (value, record) => record.ro_number.includes(value),
// filteredValue: state.filteredInfo.text || null,
sorter: (a, b) => alphaSort(a, b),
sorter: (a, b) => a.unq_seq - b.unq_seq,
sortOrder:
state.sortedInfo.columnKey === "unq_seq" && state.sortedInfo.order,
//ellipsis: true,
editable: true
editable: true,
width: 75
},
{
title: t("joblines.fields.line_desc"),
dataIndex: "line_desc",
key: "joblines.line_desc",
key: "line_desc",
sorter: (a, b) => alphaSort(a.line_desc, b.line_desc),
sortOrder:
state.sortedInfo.columnKey === "line_desc" && state.sortedInfo.order,
ellipsis: true,
editable: true
},
{
title: t("joblines.fields.oem_partno"),
dataIndex: "oem_partno",
key: "oem_partno",
sorter: (a, b) =>
alphaSort(
a.oem_partno ? a.oem_partno : a.op_code_desc,
b.oem_partno ? b.oem_partno : b.op_code_desc
),
sortOrder:
state.sortedInfo.columnKey === "oem_partno" && state.sortedInfo.order,
ellipsis: true,
editable: true,
render: (text, record) => (
<span>
{record.oem_partno ? record.oem_partno : record.op_code_desc}
</span>
)
},
{
title: t("joblines.fields.part_type"),
dataIndex: "part_type",
key: "joblines.part_type",
key: "part_type",
sorter: (a, b) => alphaSort(a.part_type, b.part_type),
sortOrder:
state.sortedInfo.columnKey === "part_type" && state.sortedInfo.order,
@@ -50,7 +70,7 @@ export default function JobLinesComponent({ jobLines, form, handleSubmit }) {
{
title: t("joblines.fields.db_price"),
dataIndex: "db_price",
key: "joblines.db_price",
key: "db_price",
sorter: (a, b) => a.db_price - b.db_price,
sortOrder:
state.sortedInfo.columnKey === "db_price" && state.sortedInfo.order,
@@ -62,7 +82,7 @@ export default function JobLinesComponent({ jobLines, form, handleSubmit }) {
{
title: t("joblines.fields.act_price"),
dataIndex: "act_price",
key: "joblines.act_price",
key: "act_price",
sorter: (a, b) => a.act_price - b.act_price,
sortOrder:
state.sortedInfo.columnKey === "act_price" && state.sortedInfo.order,
@@ -112,7 +132,7 @@ export default function JobLinesComponent({ jobLines, form, handleSubmit }) {
<Table
size="small"
pagination={{ position: "bottom" }}
pagination={{ position: "bottom", defaultPageSize: 50 }}
columns={columns.map(item => ({ ...item }))}
rowKey="id"
dataSource={jobLines}

View File

@@ -26,6 +26,7 @@ const errorLink = onError(
//User access token has expired
//props.history.push("/network-error");
console.log("We need a new token!");
console.log("Old Token", window.localStorage.getItem("token"));
// Let's refresh token through async request
auth.currentUser.getIdToken(true).then(token => {
@@ -39,16 +40,18 @@ const errorLink = onError(
}
}));
return new Observable(observer => {
const subscriber = {
next: observer.next.bind(observer),
error: observer.error.bind(observer),
complete: observer.complete.bind(observer)
};
console.log("About to resend the request.");
// Retry last failed request
forward(operation).subscribe(subscriber);
});
return forward(operation);
// return new Observable(observer => {
// const subscriber = {
// next: observer.next.bind(observer),
// error: observer.error.bind(observer),
// complete: observer.complete.bind(observer)
// };
// console.log("About to resend the request.");
// // Retry last failed request
// forward(operation).subscribe(subscriber);
// });
}
});

View File

@@ -2,10 +2,22 @@ import { gql } from "apollo-boost";
export const GET_JOB_LINES_BY_PK = gql`
query GET_JOB_LINES_BY_PK($id: uuid!) {
joblines(where: { jobid: { _eq: $id } }) {
joblines(where: { jobid: { _eq: $id } }, order_by: { unq_seq: asc }) {
id
unq_seq
line_ind
line_desc
part_type
oem_partno
db_price
act_price
part_qty
mod_lbr_ty
db_hrs
mod_lb_hrs
lbr_op
lbr_amt
op_code_desc
}
}
`;

View File

@@ -211,6 +211,7 @@ export const GET_JOB_BY_PK = gql`
mod_lb_hrs
lbr_op
lbr_amt
op_code_desc
}
}
}

View File

@@ -43,6 +43,7 @@
"act_price": "Actual Price",
"db_price": "Database Price",
"line_desc": "Line Description",
"oem_partno": "OEM Part #",
"part_type": "Part Type",
"unq_seq": "Seq #"
}

View File

@@ -43,6 +43,7 @@
"act_price": "Precio actual",
"db_price": "Precio de base de datos",
"line_desc": "Descripción de línea",
"oem_partno": "OEM parte #",
"part_type": "Tipo de parte",
"unq_seq": "Seq #"
}

View File

@@ -43,6 +43,7 @@
"act_price": "Prix actuel",
"db_price": "Prix de la base de données",
"line_desc": "Description de la ligne",
"oem_partno": "Pièce OEM #",
"part_type": "Type de pièce",
"unq_seq": "Seq #"
}

View File

@@ -5,6 +5,8 @@ export default function CurrencyFormatter(props) {
return (
<NumberFormat
thousandSeparator={true}
decimalScale={2}
fixedDecimalScale={true}
prefix={"$"}
value={props.children}
displayType={"text"}

View File

@@ -1,9 +1,13 @@
export function alphaSort(a, b) {
if (a > b) {
return false;
}
if (b > a) {
return true;
}
return true;
let A;
let B;
A = a ? a.toLowerCase() : "";
B = b ? b.toLowerCase() : "";
if (A < B)
//sort string ascending
return -1;
if (A > B) return 1;
return 0; //default return value (no sorting)
}