@@ -74,7 +74,7 @@ export function BillFormComponent({
|
||||
// // Gate bill lines
|
||||
// if (!values?.billlines?.length) return;
|
||||
|
||||
// const billlines = values.billlines.map((b) => {
|
||||
// const billlines = values.billlines.map((b) => {
|
||||
// b.applicable_taxes.federal = false;
|
||||
// return b;
|
||||
// });
|
||||
@@ -393,11 +393,11 @@ export function BillFormComponent({
|
||||
{/*</Form.Item>*/}
|
||||
{/* {bodyshop.pbs_serialnumber || bodyshop.cdk_dealerid ? (*/}
|
||||
{/* <Form.Item*/}
|
||||
{/* span={2}*/}
|
||||
{/* label={t("bills.labels.federal_tax_exempt")}*/}
|
||||
{/* name="federal_tax_exempt"*/}
|
||||
{/* span={2}*/}
|
||||
{/* label={t("bills.labels.federal_tax_exempt")}*/}
|
||||
{/* name="federal_tax_exempt"*/}
|
||||
{/* >*/}
|
||||
{/* <Switch onChange={handleFederalTaxExemptSwitchToggle} />*/}
|
||||
{/* <Switch onChange={handleFederalTaxExemptSwitchToggle} />*/}
|
||||
{/* </Form.Item>*/}
|
||||
{/* ) : null}*/}
|
||||
<Form.Item shouldUpdate span={13}>
|
||||
|
||||
@@ -540,7 +540,7 @@ export function BillEnterModalLinesComponent({
|
||||
// key: `${field.index}fedtax`,
|
||||
// valuePropName: "checked",
|
||||
// // initialValue: true,
|
||||
// name: [field.name, "applicable_taxes", "federal"],
|
||||
// name: [field.name, "applicable_taxes", "federal"],
|
||||
// };
|
||||
// },
|
||||
// formInput: (record, index) => <Switch disabled={disabled} />,
|
||||
|
||||
@@ -5,7 +5,6 @@ import {useTranslation} from "react-i18next";
|
||||
import {connect} from "react-redux";
|
||||
import {createStructuredSelector} from "reselect";
|
||||
import {selectBodyshop, selectCurrentUser,} from "../../redux/user/user.selectors";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
currentUser: selectCurrentUser,
|
||||
bodyshop: selectBodyshop,
|
||||
|
||||
@@ -48,7 +48,14 @@ export function FormDatePicker({
|
||||
const v = e.target.value;
|
||||
if (!v) return;
|
||||
|
||||
const formats = ["MMDDYY", "MMDDYYYY", "MMDD", "MM/DD/YY", "MM/DD/YYYY"];
|
||||
const formats = [
|
||||
"MMDDYY", "MMDDYYYY", "MM/DD/YY", "MM/DD/YYYY",
|
||||
"M/DD/YY", "M/DD/YYYY",
|
||||
"MM/D/YY", "MM/D/YYYY", "M/D/YY", "M/D/YYYY",
|
||||
"D/MM/YY", "D/MM/YYYY",
|
||||
"DD/M/YY", "DD/M/YYYY", "D/M/YY", "D/M/YYYY"
|
||||
];
|
||||
|
||||
let _a;
|
||||
|
||||
// Iterate through formats to find the correct one
|
||||
|
||||
@@ -499,9 +499,9 @@ function Header({
|
||||
key: 'beta-switch',
|
||||
style: {marginLeft: 'auto'},
|
||||
label: (
|
||||
<Tooltip title="A more modern ImEX Online is ready for you to try! You can switch back at any time.">
|
||||
<Tooltip title="A more modern Rome Online is ready for you to try! You can switch back at any time.">
|
||||
<InfoCircleOutlined/>
|
||||
<span style={{marginRight: 8}}>Try the new ImEX Online</span>
|
||||
<span style={{marginRight: 8}}>Try the new Rome Online</span>
|
||||
<Switch
|
||||
checked={betaSwitch}
|
||||
onChange={betaSwitchChange}
|
||||
|
||||
@@ -6,7 +6,6 @@ import {useParams} from "react-router-dom";
|
||||
import {logImEXEvent} from "../../../../firebase/firebase.utils";
|
||||
import {GenerateDocument, GenerateDocuments,} from "../../../../utils/RenderTemplate";
|
||||
import {TemplateList} from "../../../../utils/TemplateConstants";
|
||||
|
||||
const TemplateListGenerated = TemplateList();
|
||||
|
||||
export default function JobIntakeTemplateList({templates}) {
|
||||
|
||||
@@ -30,11 +30,11 @@ import JobLinesBillRefernece from "../job-lines-bill-reference/job-lines-bill-re
|
||||
// import AllocationsBulkAssignmentContainer from "../allocations-bulk-assignment/allocations-bulk-assignment.container";
|
||||
// import AllocationsEmployeeLabelContainer from "../allocations-employee-label/allocations-employee-label.container";
|
||||
import _ from "lodash";
|
||||
import {selectBodyshop} from "../../redux/user/user.selectors";
|
||||
import JobCreateIOU from "../job-create-iou/job-create-iou.component";
|
||||
import JobSendPartPriceChangeComponent from "../job-send-parts-price-change/job-send-parts-price-change.component";
|
||||
import PartsOrderModalContainer from "../parts-order-modal/parts-order-modal.container";
|
||||
import JobLinesExpander from "./job-lines-expander.component";
|
||||
import {selectBodyshop} from "../../redux/user/user.selectors";
|
||||
import dayjs from "../../utils/day";
|
||||
import JobLinesPartPriceChange from "./job-lines-part-price-change.component";
|
||||
import JoblineTeamAssignment from "../job-line-team-assignment/job-line-team-assignmnent.component";
|
||||
|
||||
@@ -2,8 +2,7 @@ import {useMutation} from "@apollo/client";
|
||||
import {Button, Space, notification} from "antd";
|
||||
import React, {useState} from "react";
|
||||
import {useTranslation} from "react-i18next";
|
||||
|
||||
import moment from "moment";
|
||||
import dayjs from '../../utils/day';
|
||||
import {connect} from "react-redux";
|
||||
import {createStructuredSelector} from "reselect";
|
||||
import {INSERT_EXPORT_LOG} from "../../graphql/accounting.queries";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {useMutation} from "@apollo/client";
|
||||
import {Switch, notification} from "antd";
|
||||
import { notification, Switch} from "antd";
|
||||
import React, {useState} from "react";
|
||||
import {useTranslation} from "react-i18next";
|
||||
import {connect} from "react-redux";
|
||||
|
||||
@@ -459,7 +459,7 @@ async function CheckTaxRates(estData, bodyshop) {
|
||||
// ) {
|
||||
// const res = await confirmDialog(
|
||||
// `Rome Online has detected that there is a missing tax rate for LKQ parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
|
||||
// );
|
||||
// );
|
||||
// if (res) {
|
||||
// if (!estData.parts_tax_rates.PAL) {
|
||||
// estData.parts_tax_rates.PAL = {
|
||||
@@ -482,7 +482,7 @@ async function CheckTaxRates(estData, bodyshop) {
|
||||
// ) {
|
||||
// const res = await confirmDialog(
|
||||
// `Rome Online has detected that there is a missing tax rate for rechromed parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
|
||||
// );
|
||||
// );
|
||||
// if (res) {
|
||||
// if (!estData.parts_tax_rates.PAC) {
|
||||
// estData.parts_tax_rates.PAC = {
|
||||
@@ -498,9 +498,9 @@ async function CheckTaxRates(estData, bodyshop) {
|
||||
// }
|
||||
// }
|
||||
|
||||
//PAM Check
|
||||
//PAM Check
|
||||
if (!estData.parts_tax_rates?.PAM) {
|
||||
estData.parts_tax_rates.PAM = estData.parts_tax_rates.PAC;
|
||||
estData.parts_tax_rates.PAM = estData.parts_tax_rates.PAC;
|
||||
}
|
||||
|
||||
// //PAM Check
|
||||
@@ -534,7 +534,7 @@ async function CheckTaxRates(estData, bodyshop) {
|
||||
// ) {
|
||||
// const res = await confirmDialog(
|
||||
// `Rome Online has detected that there is a missing tax rate for recored parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
|
||||
// );
|
||||
// );
|
||||
// if (res) {
|
||||
// if (!estData.parts_tax_rates.PAR) {
|
||||
// estData.parts_tax_rates.PAR = {
|
||||
|
||||
@@ -23,9 +23,9 @@ export function JobsDetailDatesComponent({jobRO, job, bodyshop}) {
|
||||
);
|
||||
}, [job.status, bodyshop.md_ro_statuses.post_production_statuses]);
|
||||
|
||||
const calcRepairDays =
|
||||
const calcRepairDays = job?.joblines?.length ?
|
||||
job.joblines.reduce((acc, val) => acc + val.mod_lb_hrs, 0) /
|
||||
(bodyshop.target_touchtime === 0 ? 1 : bodyshop.target_touchtime);
|
||||
(bodyshop.target_touchtime === 0 ? 1 : bodyshop.target_touchtime) : [];
|
||||
|
||||
return (
|
||||
<div>
|
||||
|
||||
@@ -43,5 +43,4 @@ export default function AddToProduction(
|
||||
|
||||
//insert the new job. call the callback with the returned ID when done.
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -898,7 +898,7 @@ export function JobsDetailHeaderActions({
|
||||
},
|
||||
];
|
||||
|
||||
if (job.csiinvites.length) {
|
||||
if (job?.csiinvites?.length) {
|
||||
children.push(
|
||||
{
|
||||
type: "divider"
|
||||
|
||||
@@ -59,7 +59,6 @@ export default async function DuplicateJob(
|
||||
|
||||
//insert the new job. call the callback with the returned ID when done.
|
||||
|
||||
|
||||
}
|
||||
|
||||
export async function CreateIouForJob(
|
||||
|
||||
@@ -117,7 +117,7 @@ export function JobsDetailHeader({job, bodyshop, disabled}) {
|
||||
{job.alt_transport}
|
||||
<JobAltTransportChange job={job}/>
|
||||
</DataLabel>
|
||||
{job.cccontracts.length > 0 && (
|
||||
{job?.cccontracts?.length > 0 && (
|
||||
<DataLabel label={t("jobs.labels.contracts")}>
|
||||
{job.cccontracts.map((c) => (
|
||||
<Link
|
||||
|
||||
@@ -5,7 +5,6 @@ import {connect} from "react-redux";
|
||||
import {createStructuredSelector} from "reselect";
|
||||
import {selectJobReadOnly} from "../../redux/application/application.selectors";
|
||||
import {selectBodyshop} from "../../redux/user/user.selectors";
|
||||
|
||||
import CurrencyInput from "../form-items-formatted/currency-form-item.component";
|
||||
import JobsDetailRatesChangeButton from "../jobs-detail-rates-change-button/jobs-detail-rates-change-button.component";
|
||||
import JobsMarkPstExempt from "../jobs-mark-pst-exempt/jobs-mark-pst-exempt.component";
|
||||
|
||||
@@ -39,7 +39,6 @@ export function ReportCenterModalComponent({reportCenterModal, bodyshop}) {
|
||||
splitKey: bodyshop.imexshopid,
|
||||
});
|
||||
|
||||
|
||||
const [loading, setLoading] = useState(false);
|
||||
const {t} = useTranslation();
|
||||
const Templates = TemplateList("report_center");
|
||||
@@ -275,7 +274,7 @@ export function ReportCenterModalComponent({reportCenterModal, bodyshop}) {
|
||||
>
|
||||
<DatePicker.RangePicker
|
||||
format="MM/DD/YYYY"
|
||||
ranges={DatePIckerRanges}
|
||||
presets={DatePIckerRanges}
|
||||
/>
|
||||
</Form.Item>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user