From 3543bfac16769eb085dd620a01f7082908e16dcc Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Thu, 6 May 2021 18:22:04 -0700 Subject: [PATCH] IO-1029 IO-1019 Bills, PO, an CC Fixes. --- .../bill-delete-button.component.jsx | 3 +- .../bill-detail-edit.container.jsx | 2 +- .../contract-form/contract-form.component.jsx | 4 +- .../courtesy-car-form.component.jsx | 72 ++++++++++++++----- .../parts-order-list-table.component.jsx | 1 + .../parts-order-modal.component.jsx | 3 +- .../parts-order-modal.container.jsx | 3 +- 7 files changed, 65 insertions(+), 23 deletions(-) diff --git a/client/src/components/bill-delete-button/bill-delete-button.component.jsx b/client/src/components/bill-delete-button/bill-delete-button.component.jsx index 723f6e4ca..eee5f522b 100644 --- a/client/src/components/bill-delete-button/bill-delete-button.component.jsx +++ b/client/src/components/bill-delete-button/bill-delete-button.component.jsx @@ -1,3 +1,4 @@ +import { DeleteFilled } from "@ant-design/icons"; import { useMutation } from "@apollo/client"; import { Button, notification, Popconfirm } from "antd"; import React, { useState } from "react"; @@ -57,7 +58,7 @@ export default function BillDeleteButton({ bill }) { // onClick={handleDelete} loading={loading} > - {t("general.actions.delete")} + diff --git a/client/src/components/bill-detail-edit/bill-detail-edit.container.jsx b/client/src/components/bill-detail-edit/bill-detail-edit.container.jsx index c41575bd7..dbe6d5c15 100644 --- a/client/src/components/bill-detail-edit/bill-detail-edit.container.jsx +++ b/client/src/components/bill-detail-edit/bill-detail-edit.container.jsx @@ -148,7 +148,7 @@ export function BillDetailEditcontainer({ setPartsOrderContext }) { }, [form, search.billid, data]); if (error) return ; - if (!!!search.billid) return
{t("bills.labels.noneselected")}
; + if (!search.billid) return <>; //
{t("bills.labels.noneselected")}
; const exported = data && data.bills_by_pk && data.bills_by_pk.exported; diff --git a/client/src/components/contract-form/contract-form.component.jsx b/client/src/components/contract-form/contract-form.component.jsx index 21819cd97..dab4dc424 100644 --- a/client/src/components/contract-form/contract-form.component.jsx +++ b/client/src/components/contract-form/contract-form.component.jsx @@ -12,7 +12,7 @@ import FormDatePicker from "../form-date-picker/form-date-picker.component"; import FormDateTimePicker from "../form-date-time-picker/form-date-time-picker.component"; import FormFieldsChanged from "../form-fields-changed-alert/form-fields-changed-alert.component"; import InputPhone, { - PhoneItemFormatterValidation + PhoneItemFormatterValidation, } from "../form-items-formatted/phone-form-item.component"; import LayoutFormRow from "../layout-form-row/layout-form-row.component"; import ContractFormJobPrefill from "./contract-form-job-prefill.component"; @@ -100,7 +100,7 @@ export default function ContractFormComponent({ moment(selectedCar.nextservicedate).isBefore( moment(form.getFieldValue("scheduledreturn")) ); - console.log(`dueForService`, dueForService); + if (mileageOver || dueForService) return ( diff --git a/client/src/components/courtesy-car-form/courtesy-car-form.component.jsx b/client/src/components/courtesy-car-form/courtesy-car-form.component.jsx index 9b87c030a..47a51d1ae 100644 --- a/client/src/components/courtesy-car-form/courtesy-car-form.component.jsx +++ b/client/src/components/courtesy-car-form/courtesy-car-form.component.jsx @@ -1,15 +1,17 @@ -import { Button, Form, Input, InputNumber, PageHeader } from "antd"; +import { WarningFilled } from "@ant-design/icons"; +import { useApolloClient } from "@apollo/client"; +import { Button, Form, Input, InputNumber, PageHeader, Space } from "antd"; +import moment from "moment"; import React from "react"; import { useTranslation } from "react-i18next"; +import { CHECK_CC_FLEET_NUMBER } from "../../graphql/courtesy-car.queries"; +import { DateFormatter } from "../../utils/DateFormatter"; import CourtesyCarFuelSlider from "../courtesy-car-fuel-select/courtesy-car-fuel-select.component"; import CourtesyCarStatus from "../courtesy-car-status-select/courtesy-car-status-select.component"; import FormDatePicker from "../form-date-picker/form-date-picker.component"; import FormFieldsChanged from "../form-fields-changed-alert/form-fields-changed-alert.component"; import CurrencyInput from "../form-items-formatted/currency-form-item.component"; import LayoutFormRow from "../layout-form-row/layout-form-row.component"; -import InputNumberCalculator from "../form-input-number-calculator/form-input-number-calculator.component"; -import { useApolloClient } from "@apollo/client"; -import { CHECK_CC_FLEET_NUMBER } from "../../graphql/courtesy-car.queries"; export default function CourtesyCarCreateFormComponent({ form, saveLoading }) { const { t } = useTranslation(); @@ -221,20 +223,56 @@ export default function CourtesyCarCreateFormComponent({ form, saveLoading }) { }, ]} > - - - - + +
+ + + + + p.mileage !== c.mileage || + p.nextservicedate !== c.nextservicedate || + p.nextservicekm !== c.nextservicekm + } + > + {() => { + const nextservicedate = form.getFieldValue("nextservicedate"); + const nextservicekm = form.getFieldValue("nextservicekm"); + + const mileageOver = + nextservicekm <= form.getFieldValue("mileage"); + + const dueForService = + nextservicedate && moment(nextservicedate).isBefore(moment()); + + if (mileageOver || dueForService) + return ( + + + + {t("contracts.labels.cardueforservice")} + + {`${nextservicekm} km`} + + {nextservicedate} + + + ); + + return <>; + }} + +
diff --git a/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx b/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx index 85bb05dda..40253afe6 100644 --- a/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx +++ b/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx @@ -113,6 +113,7 @@ export function PartsOrderListTableComponent({ { //Delete the parts return.! diff --git a/client/src/components/parts-order-modal/parts-order-modal.component.jsx b/client/src/components/parts-order-modal/parts-order-modal.component.jsx index f782bef36..677a84055 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.component.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.component.jsx @@ -24,7 +24,7 @@ export default function PartsOrderModalComponent({ - + setSendType(e.target.value)} > + {t("general.labels.none")} {t("parts_orders.labels.email")} {t("parts_orders.labels.print")} diff --git a/client/src/components/parts-order-modal/parts-order-modal.container.jsx b/client/src/components/parts-order-modal/parts-order-modal.container.jsx index e7905bcc0..107bc99f8 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.container.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.container.jsx @@ -88,6 +88,7 @@ export function PartsOrderModalContainer({ }, ], }, + refetchQueries: ["QUERY_PARTS_BILLS_BY_JOBID"], }); if (!!insertResult.error) { notification["error"]({ @@ -180,7 +181,7 @@ export function PartsOrderModalContainer({ }, "e" ); - } else { + } else if (sendType === "p") { GenerateDocument( { name: isReturn