diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index c6fbd2117..23adaf98d 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -14010,6 +14010,27 @@ + + print + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + refresh false @@ -34070,6 +34091,74 @@ + + labels + + + count + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + labels + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + position + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + mpi_animal_checklist false diff --git a/client/package.json b/client/package.json index 34ae41cea..71d7bfa89 100644 --- a/client/package.json +++ b/client/package.json @@ -111,9 +111,13 @@ "last 1 safari version" ] }, + "resolutions": { + "react-error-overlay": "6.0.9" + }, "devDependencies": { "@sentry/webpack-plugin": "^1.18.3", "@testing-library/cypress": "^8.0.2", + "react-error-overlay": "6.0.9", "cypress": "^9.1.1", "eslint-plugin-cypress": "^2.12.1", "redux-logger": "^3.0.6", diff --git a/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx b/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx new file mode 100644 index 000000000..a45339d56 --- /dev/null +++ b/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx @@ -0,0 +1,83 @@ +import { Button, Card, Form, InputNumber, Popover } from "antd"; +import React, { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; +import { selectBodyshop } from "../../redux/user/user.selectors"; +import { GenerateDocument } from "../../utils/RenderTemplate"; +import { TemplateList } from "../../utils/TemplateConstants"; + +const mapStateToProps = createStructuredSelector({ + bodyshop: selectBodyshop, +}); +const mapDispatchToProps = (dispatch) => ({ + //setUserLanguage: language => dispatch(setUserLanguage(language)) +}); +export default connect( + mapStateToProps, + mapDispatchToProps +)(PrintCenterJobsLabels); + +export function PrintCenterJobsLabels({ bodyshop, jobId }) { + const [isModalVisible, setIsModalVisible] = useState(false); + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + const [form] = Form.useForm(); + + const handleOk = () => { + form.submit(); + setIsModalVisible(false); + }; + + const handleCancel = () => { + setIsModalVisible(false); + setLoading(false); + }; + const handleFinish = async (values) => { + const { sendtype, ...restVals } = values; + setLoading(true); + await GenerateDocument( + { + name: TemplateList("job_special").folder_label_multiple.key, + variables: { id: jobId }, + context: restVals, + }, + {}, + "p" + ); + setLoading(false); + setIsModalVisible(false); + }; + + const content = ( + +
+ + + + + + + + +
+
+ ); + return ( + + + + ); +} diff --git a/client/src/components/print-center-jobs/print-center-jobs.component.jsx b/client/src/components/print-center-jobs/print-center-jobs.component.jsx index 7773a89df..bd21a6e25 100644 --- a/client/src/components/print-center-jobs/print-center-jobs.component.jsx +++ b/client/src/components/print-center-jobs/print-center-jobs.component.jsx @@ -9,6 +9,7 @@ import { selectBodyshop } from "../../redux/user/user.selectors"; import { TemplateList } from "../../utils/TemplateConstants"; import Jobd3RdPartyModal from "../job-3rd-party-modal/job-3rd-party-modal.component"; import PrintCenterItem from "../print-center-item/print-center-item.component"; +import PrintCenterJobsLabels from "../print-center-jobs-labels/print-center-jobs-labels.component"; import PrintCenterSpeedPrint from "../print-center-speed-print/print-center-speed-print.component"; const mapStateToProps = createStructuredSelector({ printCenterModal: selectPrintCenter, @@ -52,6 +53,7 @@ export function PrintCenterJobsComponent({ printCenterModal, bodyshop }) { + setSearch(e.target.value)} diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index bfabd708d..78d35cd95 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -890,6 +890,7 @@ "deselectall": "Deselect All", "edit": "Edit", "login": "Login", + "print": "Print", "refresh": "Refresh", "remove": "Remove", "reset": "Reset your changes.", @@ -2032,6 +2033,11 @@ "job_costing_ro": "Job Costing", "job_notes": "Job Notes", "key_tag": "Key Tag", + "labels": { + "count": "Count", + "labels": "Labels", + "position": "Starting Position" + }, "mpi_animal_checklist": "MPI - Animal Checklist", "mpi_eglass_auth": "MPI - eGlass Auth", "mpi_final_acct_sheet": "MPI - Final Accounting Sheet", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 0edd70d22..758e2aa00 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -890,6 +890,7 @@ "deselectall": "", "edit": "Editar", "login": "", + "print": "", "refresh": "", "remove": "", "reset": " Restablecer a original.", @@ -2032,6 +2033,11 @@ "job_costing_ro": "", "job_notes": "", "key_tag": "", + "labels": { + "count": "", + "labels": "", + "position": "" + }, "mpi_animal_checklist": "", "mpi_eglass_auth": "", "mpi_final_acct_sheet": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index f1debe9fd..5ec013d95 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -890,6 +890,7 @@ "deselectall": "", "edit": "modifier", "login": "", + "print": "", "refresh": "", "remove": "", "reset": " Rétablir l'original.", @@ -2032,6 +2033,11 @@ "job_costing_ro": "", "job_notes": "", "key_tag": "", + "labels": { + "count": "", + "labels": "", + "position": "" + }, "mpi_animal_checklist": "", "mpi_eglass_auth": "", "mpi_final_acct_sheet": "", diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index a62804e8b..b0cb049ab 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -464,6 +464,12 @@ export const TemplateList = (type, context) => { key: "special_thirdpartypayer", disabled: false, }, + folder_label_multiple: { + title: i18n.t("printcenter.jobs.folder_label_multiple"), + description: "Folder Label Multiple", + key: "folder_label_multiple", + disabled: false, + }, csi_invitation_action: { title: i18n.t("printcenter.jobs.csi_invitation_action"), description: "CSI invite", diff --git a/client/yarn.lock b/client/yarn.lock index 6f354ec84..cb4de1d5b 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -11842,10 +11842,10 @@ react-draggable@^4.0.0, react-draggable@^4.0.3: clsx "^1.1.1" prop-types "^15.6.0" -react-error-overlay@^6.0.9: - version "6.0.10" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6" - integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA== +react-error-overlay@6.0.9, react-error-overlay@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== react-grid-gallery@^0.5.5: version "0.5.5"