diff --git a/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx b/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx index 000f56a3a..a720968b9 100644 --- a/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx +++ b/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx @@ -97,7 +97,9 @@ export default function CourtesyCarsList({ loading, courtesycars, refetch }) { render: (text, record) => record.cccontracts.length === 1 ? ( - {record.cccontracts[0].job.ro_number} + {`${record.cccontracts[0].job.ro_number} - ${ + record.cccontracts[0].job.ownr_fn || "" + } ${record.cccontracts[0].job.ownr_ln || ""} ${record.cccontracts[0].job.ownr_co_nm || ""}`} ) : null, }, diff --git a/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx b/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx index 34131d479..0337a038b 100644 --- a/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx +++ b/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx @@ -19,26 +19,26 @@ const DateTimePicker = ( return (
moment().subtract(1, "day").isAfter(d), - })} - value={value} - onBlur={onBlur} - onChange={onChange} + {...(onlyFuture && { + disabledDate: (d) => moment().subtract(1, "day").isAfter(d), + })} + value={value} + onBlur={onBlur} + onChange={onChange} + {...restProps} /> moment().isAfter(d), - })} - onChange={onChange} - showSecond={false} - minuteStep={15} - onBlur={onBlur} - format="hh:mm a" + value={value ? moment(value) : null} + {...(onlyFuture && { + disabledDate: (d) => moment().isAfter(d), + })} + onChange={onChange} + showSecond={false} + minuteStep={15} + onBlur={onBlur} + format="hh:mm a" + {...restProps} />
); diff --git a/client/src/components/production-list-detail/production-list-detail.component.jsx b/client/src/components/production-list-detail/production-list-detail.component.jsx index 1ea6c49d0..9494d5fb2 100644 --- a/client/src/components/production-list-detail/production-list-detail.component.jsx +++ b/client/src/components/production-list-detail/production-list-detail.component.jsx @@ -1,5 +1,5 @@ import { useQuery } from "@apollo/client"; -import { Descriptions, Drawer, Space } from "antd"; +import { Descriptions, Drawer, Space, PageHeader, Button } from "antd"; import queryString from "query-string"; import React from "react"; import { useTranslation } from "react-i18next"; @@ -16,8 +16,25 @@ import JobEmployeeAssignments from "../job-employee-assignments/job-employee-ass import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component"; import ProductionRemoveButton from "../production-remove-button/production-remove-button.component"; import JobAtChange from "../job-at-change/job-at-change.component"; +import { PrinterFilled } from "@ant-design/icons"; -export default function ProductionListDetail({ jobs }) { +import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; +import { setModalContext } from "../../redux/modals/modals.actions"; + +const mapStateToProps = createStructuredSelector({ + //currentUser: selectCurrentUser +}); +const mapDispatchToProps = (dispatch) => ({ + setPrintCenterContext: (context) => + dispatch(setModalContext({ context: context, modal: "printCenter" })), +}); +export default connect( + mapStateToProps, + mapDispatchToProps +)(ProductionListDetail); + +export function ProductionListDetail({ jobs, setPrintCenterContext }) { const search = queryString.parse(useLocation().search); const history = useHistory(); const { selected } = search; @@ -39,11 +56,29 @@ export default function ProductionListDetail({ jobs }) { return ( - {t("production.labels.jobdetail")} - {theJob.ro_number} - - + + {" "} + + + } + /> } placement="right" width={"33%"} diff --git a/client/src/components/time-ticket-list/time-ticket-list.component.jsx b/client/src/components/time-ticket-list/time-ticket-list.component.jsx index 46e9462c3..40af8ca48 100644 --- a/client/src/components/time-ticket-list/time-ticket-list.component.jsx +++ b/client/src/components/time-ticket-list/time-ticket-list.component.jsx @@ -76,6 +76,21 @@ export function TimeTicketList({ state.sortedInfo.columnKey === "employee" && state.sortedInfo.order, render: (text, record) => `${record.employee.first_name} ${record.employee.last_name}`, + filters: + timetickets + .map((l) => l.employeeid) + .filter(onlyUnique) + .map((s) => { + return { + text: (() => { + const emp = bodyshop.employees.find((e) => e.id === s); + + return `${emp.first_name} ${emp.last_name}`; + })(), // + value: [s], + }; + }) || [], + onFilter: (value, record) => value.includes(record.employeeid), }, { title: t("timetickets.fields.cost_center"), diff --git a/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx b/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx index cc12ce503..cbd68ad5a 100644 --- a/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx +++ b/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx @@ -212,6 +212,7 @@ export function TimeTicketModalComponent({ <>