IO-936 Job Costing Sorting

This commit is contained in:
Patrick Fic
2021-04-27 18:12:50 -07:00
parent 31ce47796a
commit 5aceac630f
4 changed files with 46 additions and 6 deletions

View File

@@ -28,7 +28,8 @@ export default function JobCostingPartsTable({ data, summaryData }) {
title: t("jobs.labels.sales"), title: t("jobs.labels.sales"),
dataIndex: "sales", dataIndex: "sales",
key: "sales", key: "sales",
sorter: (a, b) => alphaSort(a.sales, b.sales), sorter: (a, b) =>
parseFloat(a.sales.substring(1)) - parseFloat(b.sales.substring(1)),
sortOrder: sortOrder:
state.sortedInfo.columnKey === "sales" && state.sortedInfo.order, state.sortedInfo.columnKey === "sales" && state.sortedInfo.order,
}, },
@@ -37,7 +38,8 @@ export default function JobCostingPartsTable({ data, summaryData }) {
title: t("jobs.labels.costs"), title: t("jobs.labels.costs"),
dataIndex: "costs", dataIndex: "costs",
key: "costs", key: "costs",
sorter: (a, b) => a.costs - b.costs, sorter: (a, b) =>
parseFloat(a.costs.substring(1)) - parseFloat(b.costs.substring(1)),
sortOrder: sortOrder:
state.sortedInfo.columnKey === "costs" && state.sortedInfo.order, state.sortedInfo.columnKey === "costs" && state.sortedInfo.order,
}, },
@@ -46,7 +48,10 @@ export default function JobCostingPartsTable({ data, summaryData }) {
title: t("jobs.labels.gpdollars"), title: t("jobs.labels.gpdollars"),
dataIndex: "gpdollars", dataIndex: "gpdollars",
key: "gpdollars", key: "gpdollars",
sorter: (a, b) => a.gpdollars - b.gpdollars, sorter: (a, b) =>
parseFloat(a.gpdollars.substring(1)) -
parseFloat(b.gpdollars.substring(1)),
sortOrder: sortOrder:
state.sortedInfo.columnKey === "gpdollars" && state.sortedInfo.order, state.sortedInfo.columnKey === "gpdollars" && state.sortedInfo.order,
}, },
@@ -54,7 +59,9 @@ export default function JobCostingPartsTable({ data, summaryData }) {
title: t("jobs.labels.gppercent"), title: t("jobs.labels.gppercent"),
dataIndex: "gppercent", dataIndex: "gppercent",
key: "gppercent", key: "gppercent",
sorter: (a, b) => a.gppercent - b.gppercent, sorter: (a, b) =>
parseFloat(a.gppercent.slice(0, -1) || 0) -
parseFloat(b.gppercent.slice(0, -1) || 0),
sortOrder: sortOrder:
state.sortedInfo.columnKey === "gppercent" && state.sortedInfo.order, state.sortedInfo.columnKey === "gppercent" && state.sortedInfo.order,
}, },

View File

@@ -39,7 +39,7 @@ export function TimeTicketModalComponent({
return ( return (
<div> <div>
<LayoutFormRow grow> <LayoutFormRow grow noDivider>
<Form.Item shouldUpdate> <Form.Item shouldUpdate>
{() => ( {() => (
<Form.Item <Form.Item
@@ -201,6 +201,7 @@ export function LaborAllocationContainer({ jobid }) {
joblines={lineTicketData.joblines} joblines={lineTicketData.joblines}
timetickets={lineTicketData.timetickets} timetickets={lineTicketData.timetickets}
/> />
<TimeTicketList <TimeTicketList
loading={loading} loading={loading}
timetickets={lineTicketData.timetickets} timetickets={lineTicketData.timetickets}

View File

@@ -1,5 +1,5 @@
import { useMutation, useQuery } from "@apollo/client"; import { useMutation, useQuery } from "@apollo/client";
import { Button, Form, Modal, notification } from "antd"; import { Button, Form, Modal, notification, PageHeader, Space } from "antd";
import moment from "moment"; import moment from "moment";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
@@ -212,6 +212,29 @@ export function TimeTicketModalContainer({
} }
onValuesChange={handleFieldsChange} onValuesChange={handleFieldsChange}
> >
<PageHeader
extra={
<Space>
<Button onClick={handleCancel}>
{t("general.actions.cancel")}
</Button>
<Button onClick={() => form.submit()}>
{t("general.actions.save")}
</Button>
{timeTicketModal.context && timeTicketModal.context.id ? null : (
<Button
type="primary"
htmlType="submit"
onClick={() => {
setEnterAgain(true);
}}
>
{t("general.actions.saveandnew")}
</Button>
)}
</Space>
}
/>
<TimeTicketModalComponent <TimeTicketModalComponent
form={form} form={form}
employeeAutoCompleteOptions={ employeeAutoCompleteOptions={

View File

@@ -20,6 +20,15 @@ export const TemplateList = (type, context) => {
disabled: false, disabled: false,
group: "authorization", group: "authorization",
}, },
fippa_authorization: {
title: i18n.t("printcenter.jobs.fippa_authorization"),
description: "CASL Authorization",
subject: i18n.t("printcenter.jobs.fippa_authorization"),
key: "fippa_authorization",
disabled: false,
group: "authorization",
},
diagnostic_authorization: { diagnostic_authorization: {
title: i18n.t("printcenter.jobs.diagnostic_authorization"), title: i18n.t("printcenter.jobs.diagnostic_authorization"),
description: "Diagnostic Authorization", description: "Diagnostic Authorization",