diff --git a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx index 242523ee6..216e14015 100644 --- a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx +++ b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx @@ -30,11 +30,205 @@ const getContrastYIQ = (bgColor) => const findEmployeeById = (employees, id) => employees.find((e) => e.id === id); -const EllipsesToolTip = React.memo(({ title, children }) => ( - -
{children}
-
-)); +const EllipsesToolTip = React.memo(({ title, children, kiosk }) => { + if (kiosk) { + return
{children}
; + } + return ( + +
{children}
+
+ ); +}); + +const OwnerNameToolTip = ({ metadata, cardSettings }) => + cardSettings?.ownr_nm && ( + + } kiosk={cardSettings.kiosk}> + {metadata.ownr_ln || metadata.ownr_co_nm ? ( + cardSettings.compact ? ( + `${metadata.ownr_ln || ""} ${metadata.ownr_co_nm || ""}` + ) : ( + + ) + ) : ( +   + )} + + + ); + +const ModelInfoToolTip = ({ metadata, cardSettings }) => + cardSettings?.model_info && ( + + + {metadata.v_model_yr || metadata.v_make_desc || metadata.v_model_desc ? ( + `${metadata.v_model_yr || ""} ${metadata.v_make_desc || ""} ${metadata.v_model_desc || ""}` + ) : ( +   + )} + + + ); + +const InsuranceCompanyToolTip = ({ metadata, cardSettings }) => + cardSettings?.ins_co_nm && ( + + + {metadata.ins_co_nm ? metadata.ins_co_nm :  } + + + ); + +const ClaimNumberToolTip = ({ metadata, cardSettings }) => + cardSettings?.clm_no && ( + + + {metadata.clm_no ? metadata.clm_no :  } + + + ); + +const EmployeeAssignmentsToolTip = ({ + metadata, + cardSettings, + employee_body, + employee_prep, + employee_refinish, + employee_csr +}) => + cardSettings?.employeeassignments && ( + + + + + {employee_body || metadata.labhrs.aggregate.sum.mod_lb_hrs ? ( + `B: ${employee_body ? `${employee_body.first_name.substring(0, 3)} ${employee_body.last_name.charAt(0)}` : ""} ${metadata.labhrs.aggregate.sum.mod_lb_hrs || "?"}h` + ) : ( +   + )} + + + + + {employee_prep ? ( + `P: ${employee_prep ? `${employee_prep.first_name.substring(0, 3)} ${employee_prep.last_name.charAt(0)}` : ""}` + ) : ( +   + )} + + + + + {employee_refinish || metadata.larhrs.aggregate.sum.mod_lb_hrs ? ( + `R: ${employee_refinish ? `${employee_refinish.first_name.substring(0, 3)} ${employee_refinish.last_name.charAt(0)}` : ""} ${metadata.larhrs.aggregate.sum.mod_lb_hrs || "?"}h` + ) : ( +   + )} + + + + + {employee_csr ? ( + `C: ${employee_csr ? `${employee_csr.first_name} ${employee_csr.last_name}` : ""}` + ) : ( +   + )} + + + + + ); + +const ActualInToolTip = ({ metadata, cardSettings }) => + cardSettings?.actual_in && ( + + + {metadata.actual_in ? ( + + + {metadata.actual_in} + + ) : ( +   + )} + + + ); + +const ScheduledCompletionToolTip = ({ metadata, cardSettings, pastDueAlert }) => + cardSettings?.scheduled_completion && ( + + + {metadata.scheduled_completion ? ( + + + {metadata.scheduled_completion} + + ) : ( +   + )} + + + ); + +const AltTransportToolTip = ({ metadata, cardSettings }) => + cardSettings?.ats && ( + + + {metadata.alt_transport ? metadata.alt_transport :  } + + + ); + +const SubletsComponent = ({ metadata, cardSettings }) => + cardSettings?.sublets && ( + + {metadata.subletLines ? ( + + ) : ( +   + )} + + ); + +const ProductionNoteComponent = ({ metadata, cardSettings, card }) => + cardSettings?.production_note && ( + + {metadata?.production_vars ? ( + + ) : ( +   + )} + + ); +const PartsStatusComponent = ({ metadata, cardSettings }) => + cardSettings?.partsstatus && ( + + {metadata.joblines_status ? :  } + + ); export default function ProductionBoardCard({ technician, card, bodyshop, cardSettings, clone }) { const { t } = useTranslation(); @@ -97,7 +291,12 @@ export default function ProductionBoardCard({ technician, card, bodyshop, cardSe /> {metadata?.suspended && } {metadata?.iouparent && ( - + )} @@ -119,122 +318,30 @@ export default function ProductionBoardCard({ technician, card, bodyshop, cardSe const bodyContent = ( - {cardSettings?.ownr_nm && ( - - }> - {cardSettings.compact ? ( - `${metadata.ownr_ln || ""} ${metadata.ownr_co_nm || ""}` - ) : ( - - )} - - - )} - {cardSettings?.model_info && ( - - - {`${metadata.v_model_yr || ""} ${metadata.v_make_desc || ""} ${metadata.v_model_desc || ""}`} - - - )} - {cardSettings?.ins_co_nm && metadata.ins_co_nm && ( - - {metadata.ins_co_nm || ""} - - )} - {cardSettings?.clm_no && metadata.clm_no && ( - - {metadata.clm_no || ""} - - )} - {cardSettings?.employeeassignments && ( - - - - - {`B: ${employee_body ? `${employee_body.first_name.substring(0, 3)} ${employee_body.last_name.charAt(0)}` : ""} ${metadata.labhrs.aggregate.sum.mod_lb_hrs || "?"}h`} - - - - - {`P: ${employee_prep ? `${employee_prep.first_name.substring(0, 3)} ${employee_prep.last_name.charAt(0)}` : ""}`} - - - - - {`R: ${employee_refinish ? `${employee_refinish.first_name.substring(0, 3)} ${employee_refinish.last_name.charAt(0)}` : ""} ${metadata.larhrs.aggregate.sum.mod_lb_hrs || "?"}h`} - - - - - {`C: ${employee_csr ? `${employee_csr.first_name} ${employee_csr.last_name}` : ""}`} - - - - - )} - {cardSettings?.actual_in && metadata.actual_in && ( - - - - - {metadata.actual_in} - - - - )} - {cardSettings?.scheduled_completion && metadata.scheduled_completion && ( - - - - - {metadata.scheduled_completion} - - - - )} - {cardSettings?.ats && metadata.alt_transport && ( - - {metadata.alt_transport || ""} - - )} - {cardSettings?.sublets && ( - - - - )} - {cardSettings?.production_note && ( - - - - )} - {cardSettings?.partsstatus && ( - - - - )} + + + + + + + + + + + ); return ( { for (const lane of data.lanes) { @@ -174,7 +174,7 @@ function ProductionBoardKanbanComponent({ data, bodyshop, refetch, insertAuditTr setIsMoving(false); } }, - [boardLanes, client, getCardByID, isMoving, t] + [boardLanes, client, getCardByID, isMoving, t, insertAuditTrail] ); const totalHrs = useMemo( @@ -216,7 +216,8 @@ function ProductionBoardKanbanComponent({ data, bodyshop, refetch, insertAuditTr cardcolor: false, orientation: false, cardSize: "small", - model_info: true + model_info: true, + kiosk: false }, [associationSettings] ); diff --git a/client/src/components/production-board-kanban/production-board-kanban.settings.component.jsx b/client/src/components/production-board-kanban/production-board-kanban.settings.component.jsx index 0f7d66fba..d84b19882 100644 --- a/client/src/components/production-board-kanban/production-board-kanban.settings.component.jsx +++ b/client/src/components/production-board-kanban/production-board-kanban.settings.component.jsx @@ -94,6 +94,14 @@ export default function ProductionBoardKanbanSettings({ associationSettings, par + + + + {t("production.labels.on")} + {t("production.labels.off")} + + + diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index fd9f03e5b..40dfdfd4b 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -2759,6 +2759,7 @@ "settings": "Error saving board settings: {{error}}" }, "labels": { + "kiosk_mode": "Kiosk Mode", "on": "On", "off": "Off", "wide": "Wide", @@ -2767,7 +2768,7 @@ "horizontal": "Horizontal", "orientation": "Board Orientation", "card_size": "Card Size", - "model_info": "Model Info", + "model_info": "Vehicle Info", "actual_in": "Actual In", "alert": "Alert", "alertoff": "Remove alert from Job", @@ -2794,7 +2795,7 @@ "laborhrs": "Labor Hours", "legend": "Legend:", "note": "Production Note", - "ownr_nm": "Owner Name", + "ownr_nm": "Customer Name", "paintpriority": "P/P", "partsstatus": "Parts Status", "production_note": "Production Note", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index cdb5f63e4..85ea723bd 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -2742,6 +2742,7 @@ "settings": "" }, "labels": { + "kiosk_mode": "", "on": "", "off": "", "wide": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 5b10b29a6..389871014 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -2742,6 +2742,7 @@ "settings": "" }, "labels": { + "kiosk_mode": "", "model_info": "", "actual_in": "", "alert": "",