Added memo to time ticket IO-485

This commit is contained in:
Patrick Fic
2021-02-08 13:01:21 -08:00
parent 758090f0d5
commit 6b28b5b3e5
8 changed files with 96 additions and 45 deletions

View File

@@ -18940,6 +18940,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<concept_node>
<name>discrepancy</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>joblinestotal</name> <name>joblinestotal</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>

View File

@@ -46,51 +46,63 @@ export default function JobReconciliationTotals({
}, [billLines, jobLines, selectedBillLines, selectedJobLines]); }, [billLines, jobLines, selectedBillLines, selectedJobLines]);
return ( return (
<div> <div style={{ display: "inline-block" }}>
<Space direction="horizontal"> <div>
<Statistic <Space>
title={t("jobs.labels.reconciliation.joblinestotal")} <Statistic
value={totals.joblinesTotal.toFormat()} title={t("jobs.labels.reconciliation.joblinestotal")}
/> value={totals.joblinesTotal.toFormat()}
<Statistic />
title={t("jobs.labels.reconciliation.billlinestotal")} <Statistic
value={totals.billLinesTotal.toFormat()} title={t("jobs.labels.reconciliation.billlinestotal")}
/> value={totals.billLinesTotal.toFormat()}
<Button />
onClick={() => <Statistic
reconcileByAssocLine( title={t("jobs.labels.reconciliation.discrepancy")}
jobLines, value={totals.joblinesTotal
jobLineState, .subtract(totals.billLinesTotal)
billLines, .toFormat()}
billLineState, />
setErrors </Space>
) </div>
} <div>
> <Space direction="horizontal">
{t("jobs.labels.reconciliation.byassoc")} <Button
</Button> onClick={() =>
<Button reconcileByAssocLine(
onClick={() => jobLines,
reconcileByPrice( jobLineState,
jobLines, billLines,
jobLineState, billLineState,
billLines, setErrors
billLineState, )
setErrors }
) >
} {t("jobs.labels.reconciliation.byassoc")}
> </Button>
{t("jobs.labels.reconciliation.byprice")} <Button
</Button> onClick={() =>
<Button reconcileByPrice(
onClick={() => { jobLines,
jobLineState[1]([]); jobLineState,
billLineState[1]([]); billLines,
}} billLineState,
> setErrors
{t("jobs.labels.reconciliation.clear")} )
</Button> }
</Space> >
{t("jobs.labels.reconciliation.byprice")}
</Button>
<Button
onClick={() => {
jobLineState[1]([]);
billLineState[1]([]);
}}
>
{t("jobs.labels.reconciliation.clear")}
</Button>
</Space>
</div>
{errors.length > 0 && ( {errors.length > 0 && (
<div> <div>
{t("general.labels.errors")} {t("general.labels.errors")}

View File

@@ -98,6 +98,14 @@ export default function TimeTicketList({
sortOrder: sortOrder:
state.sortedInfo.columnKey === "actualhrs" && state.sortedInfo.order, state.sortedInfo.columnKey === "actualhrs" && state.sortedInfo.order,
}, },
{
title: t("timetickets.fields.memo"),
dataIndex: "memo",
key: "memo",
sorter: (a, b) => a.memo - b.memo,
sortOrder:
state.sortedInfo.columnKey === "memo" && state.sortedInfo.order,
},
{ {
title: t("timetickets.fields.clockon"), title: t("timetickets.fields.clockon"),
dataIndex: "clockon", dataIndex: "clockon",

View File

@@ -124,6 +124,10 @@ export default function TimeTicketModalComponent({
<InputNumber min={0} precision={1} /> <InputNumber min={0} precision={1} />
</Form.Item> </Form.Item>
<Form.Item label={t("timetickets.fields.memo")} name="memo">
<Input />
</Form.Item>
<Form.Item <Form.Item
name="ciecacode" name="ciecacode"
label={t("timetickets.fields.ciecacode")} label={t("timetickets.fields.ciecacode")}

View File

@@ -9,6 +9,7 @@ export const QUERY_TICKETS_BY_JOBID = gql`
rate rate
productivehrs productivehrs
id id
memo
employee { employee {
employee_number employee_number
first_name first_name
@@ -66,6 +67,7 @@ export const INSERT_NEW_TIME_TICKET = gql`
actualhrs actualhrs
ciecacode ciecacode
date date
memo
} }
} }
} }
@@ -92,6 +94,7 @@ export const UPDATE_TIME_TICKET = gql`
updated_at updated_at
jobid jobid
date date
memo
} }
} }
} }

View File

@@ -1145,6 +1145,7 @@
"byassoc": "By Line Association", "byassoc": "By Line Association",
"byprice": "By Price", "byprice": "By Price",
"clear": "Clear All", "clear": "Clear All",
"discrepancy": "Discrepancy",
"joblinestotal": "Job Lines Total", "joblinestotal": "Job Lines Total",
"multipleactprices": "${{act_price}} is the price for multiple job lines.", "multipleactprices": "${{act_price}} is the price for multiple job lines.",
"multiplebilllines": "{{line_desc}} has 2 or more bill lines associated to it.", "multiplebilllines": "{{line_desc}} has 2 or more bill lines associated to it.",

View File

@@ -1145,6 +1145,7 @@
"byassoc": "", "byassoc": "",
"byprice": "", "byprice": "",
"clear": "", "clear": "",
"discrepancy": "",
"joblinestotal": "", "joblinestotal": "",
"multipleactprices": "", "multipleactprices": "",
"multiplebilllines": "", "multiplebilllines": "",

View File

@@ -1145,6 +1145,7 @@
"byassoc": "", "byassoc": "",
"byprice": "", "byprice": "",
"clear": "", "clear": "",
"discrepancy": "",
"joblinestotal": "", "joblinestotal": "",
"multipleactprices": "", "multipleactprices": "",
"multiplebilllines": "", "multiplebilllines": "",