More UI Fixes & Print Center IO-587
This commit is contained in:
@@ -10357,6 +10357,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>preview</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
</children>
|
||||
</folder_node>
|
||||
<folder_node>
|
||||
@@ -26274,6 +26295,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>csi_invitation</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>diagnostic_authorization</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -26972,6 +27014,137 @@
|
||||
<folder_node>
|
||||
<name>labels</name>
|
||||
<children>
|
||||
<folder_node>
|
||||
<name>groups</name>
|
||||
<children>
|
||||
<concept_node>
|
||||
<name>authorization</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>financial</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>post</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>pre</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>ro</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>worksheet</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
</children>
|
||||
</folder_node>
|
||||
<concept_node>
|
||||
<name>misc</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
"@stripe/react-stripe-js": "^1.4.0",
|
||||
"@stripe/stripe-js": "^1.12.1",
|
||||
"@tanem/react-nprogress": "^3.0.57",
|
||||
"@tinymce/tinymce-react": "^3.10.3",
|
||||
"antd": "^4.13.1",
|
||||
"apollo-link-logger": "^2.0.0",
|
||||
"axios": "^0.21.1",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { UploadOutlined } from "@ant-design/icons";
|
||||
import { Editor } from "@tinymce/tinymce-react";
|
||||
import { Button, Card, Input, Select, Upload } from "antd";
|
||||
import { Button, Card, Divider, Input, Select, Upload } from "antd";
|
||||
import React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
@@ -38,29 +37,19 @@ export default function EmailOverlayComponent({
|
||||
onChange={(e) => handleConfigChange("subject", e.target.value)}
|
||||
name="subject"
|
||||
/>
|
||||
<div style={{ color: "red" }}>
|
||||
DEVELOPER NOTE: Any edits made in the editor below will not be sent or
|
||||
saved due to css inlining issues.
|
||||
</div>
|
||||
<Editor
|
||||
value={messageOptions.html}
|
||||
apiKey="f3s2mjsd77ya5qvqkee9vgh612cm6h41e85efqakn2d0kknk"
|
||||
init={{
|
||||
height: 500,
|
||||
//menubar: false,
|
||||
encoding: "raw",
|
||||
extended_valid_elements: "span",
|
||||
//entity_encoding: "raw",
|
||||
plugins: [
|
||||
"advlist autolink lists link image charmap print preview anchor",
|
||||
"searchreplace visualblocks code fullscreen",
|
||||
"insertdatetime media table paste code help wordcount",
|
||||
],
|
||||
toolbar:
|
||||
"undo redo | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help",
|
||||
<Divider>{t("emails.labels.preview")}</Divider>
|
||||
<div
|
||||
style={{
|
||||
padding: "1rem",
|
||||
|
||||
backgroundColor: "lightgray",
|
||||
borderLeft: "6px solid #2196F3",
|
||||
}}
|
||||
onEditorChange={handleHtmlChange}
|
||||
dangerouslySetInnerHTML={{ __html: messageOptions.html }}
|
||||
/>
|
||||
<Divider>
|
||||
<Divider>{t("emails.labels.preview")}</Divider>
|
||||
</Divider>
|
||||
<Card title={t("emails.labels.attachments")}>
|
||||
<Upload
|
||||
fileList={messageOptions.fileList}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MailOutlined, PrinterOutlined } from "@ant-design/icons";
|
||||
import { Spin } from "antd";
|
||||
import { Space, Spin } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
@@ -40,22 +40,24 @@ export function PrintCenterItemComponent({
|
||||
|
||||
if (disabled) return <li className="print-center-item">{item.title} </li>;
|
||||
return (
|
||||
<li className="print-center-item">
|
||||
{item.title}
|
||||
<PrinterOutlined onClick={renderToNewWindow} />
|
||||
<MailOutlined
|
||||
onClick={() => {
|
||||
GenerateDocument(
|
||||
{
|
||||
name: item.key,
|
||||
variables: { id: id },
|
||||
},
|
||||
{ to: context.job && context.job.ownr_ea, subject: item.subject },
|
||||
"e"
|
||||
);
|
||||
}}
|
||||
/>
|
||||
{loading && <Spin />}
|
||||
<li>
|
||||
<Space wrap>
|
||||
{item.title}
|
||||
<PrinterOutlined onClick={renderToNewWindow} />
|
||||
<MailOutlined
|
||||
onClick={() => {
|
||||
GenerateDocument(
|
||||
{
|
||||
name: item.key,
|
||||
variables: { id: id },
|
||||
},
|
||||
{ to: context.job && context.job.ownr_ea, subject: item.subject },
|
||||
"e"
|
||||
);
|
||||
}}
|
||||
/>
|
||||
{loading && <Spin />}
|
||||
</Space>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Col, Collapse, Row } from "antd";
|
||||
import React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Card, Col, Input, Row, Typography } from "antd";
|
||||
import _ from "lodash";
|
||||
import React, { useState } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { selectPrintCenter } from "../../redux/modals/modals.selectors";
|
||||
@@ -8,45 +8,74 @@ 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 PrintCenterSpeedPrint from "../print-center-speed-print/print-center-speed-print.component";
|
||||
|
||||
import { useTranslation } from "react-i18next";
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
printCenterModal: selectPrintCenter,
|
||||
});
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({});
|
||||
|
||||
const colSpan = { md: { span: 24 }, lg: { span: 12 } };
|
||||
|
||||
export function PrintCenterJobsComponent({ printCenterModal }) {
|
||||
const { t } = useTranslation();
|
||||
const [search, setSearch] = useState("");
|
||||
const { id: jobId } = printCenterModal.context;
|
||||
const tempList = TemplateList("job", {});
|
||||
const { t } = useTranslation();
|
||||
const JobsReportsList = Object.keys(tempList).map((key) => {
|
||||
return tempList[key];
|
||||
});
|
||||
|
||||
const filteredJobsReportsList =
|
||||
search !== ""
|
||||
? JobsReportsList.filter((r) => r.title.toLowerCase().includes(search))
|
||||
: JobsReportsList;
|
||||
|
||||
//Group it, create cards, and then filter out.
|
||||
|
||||
const grouped = _.groupBy(filteredJobsReportsList, "group");
|
||||
console.log("grouped :>> ", grouped);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Row gutter={[16, 16]}>
|
||||
<Col {...colSpan}>
|
||||
<Col lg={8} md={12} sm={24}>
|
||||
<PrintCenterSpeedPrint jobId={jobId} />
|
||||
</Col>
|
||||
<Col {...colSpan}>
|
||||
<Collapse accordion>
|
||||
<Collapse.Panel header={t("printcenter.labels.repairorder")}>
|
||||
<ul style={{ columns: "2 auto" }}>
|
||||
{JobsReportsList.map((item) => (
|
||||
<PrintCenterItem
|
||||
key={item.key}
|
||||
item={item}
|
||||
id={jobId}
|
||||
disabled={item.disabled}
|
||||
/>
|
||||
))}
|
||||
</ul>
|
||||
</Collapse.Panel>
|
||||
<Jobd3RdPartyModal jobId={jobId} />
|
||||
</Collapse>
|
||||
<Col lg={16} md={12} sm={24} className="print-center-list">
|
||||
<Card
|
||||
extra={
|
||||
<Input.Search
|
||||
onChange={(e) => setSearch(e.target.value)}
|
||||
value={search}
|
||||
/>
|
||||
}
|
||||
>
|
||||
<Row gutter={[16, 16]}>
|
||||
{Object.keys(grouped).map((key) => (
|
||||
<Col md={12} sm={24}>
|
||||
<Card.Grid
|
||||
key={key}
|
||||
style={{ width: "100%", height: "100%" }}
|
||||
>
|
||||
<Typography.Title level={4}>
|
||||
{t(`printcenter.labels.groups.${key}`)}
|
||||
</Typography.Title>
|
||||
<ul //style={{ columns: "3 auto" }}
|
||||
>
|
||||
{grouped[key].map((item) => (
|
||||
<PrintCenterItem
|
||||
key={item.key}
|
||||
item={item}
|
||||
id={jobId}
|
||||
disabled={item.disabled}
|
||||
/>
|
||||
))}
|
||||
</ul>
|
||||
</Card.Grid>
|
||||
</Col>
|
||||
))}
|
||||
</Row>
|
||||
</Card>
|
||||
<Jobd3RdPartyModal jobId={jobId} />
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
.print-center-item > * {
|
||||
padding: 0em 8px;
|
||||
.print-center-list {
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Button, List, Typography } from "antd";
|
||||
import { Button, List, PageHeader } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
@@ -33,9 +33,7 @@ export function PrintCenterSpeedPrint({ bodyshop, jobId }) {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Typography.Title level={2}>
|
||||
{t("printcenter.labels.speedprint")}
|
||||
</Typography.Title>
|
||||
<PageHeader title={t("printcenter.labels.speedprint")} />
|
||||
|
||||
<List
|
||||
itemLayout="horizontal"
|
||||
|
||||
@@ -671,7 +671,8 @@
|
||||
"notsent": "Email not sent. Error encountered while sending {{message}}"
|
||||
},
|
||||
"labels": {
|
||||
"attachments": "Attachments"
|
||||
"attachments": "Attachments",
|
||||
"preview": "Email Preview"
|
||||
},
|
||||
"successes": {
|
||||
"sent": "Email sent successfully."
|
||||
@@ -999,12 +1000,12 @@
|
||||
"employee_body": "Body",
|
||||
"employee_prep": "Prep",
|
||||
"employee_refinish": "Refinish",
|
||||
"est_addr1": "Appraiser Address",
|
||||
"est_co_nm": "Appraiser Company",
|
||||
"est_ct_fn": "Appraiser First Name",
|
||||
"est_ct_ln": "Appraiser Last Name",
|
||||
"est_ea": "Appraiser Email",
|
||||
"est_ph1": "Appraiser Phone #",
|
||||
"est_addr1": "Estimator Address",
|
||||
"est_co_nm": "Estimator Company",
|
||||
"est_ct_fn": "Estimator First Name",
|
||||
"est_ct_ln": "Estimator Last Name",
|
||||
"est_ea": "Estimator Email",
|
||||
"est_ph1": "Estimator Phone #",
|
||||
"federal_tax_payable": "Federal Tax Payable",
|
||||
"federal_tax_rate": "Federal Tax Rate",
|
||||
"ins_addr1": "Insurance Co. Address",
|
||||
@@ -1137,7 +1138,7 @@
|
||||
},
|
||||
"forms": {
|
||||
"admindates": "Administrative Dates",
|
||||
"appraiserinfo": "Appraiser Info",
|
||||
"appraiserinfo": "Estimator Info",
|
||||
"claiminfo": "Claim Information",
|
||||
"estdates": "Estimate Dates",
|
||||
"laborrates": "Labor Rates",
|
||||
@@ -1175,7 +1176,7 @@
|
||||
},
|
||||
"changeclass": "Changing the job's class can have fundamental impacts to already exported accounting items. Are you sure you want to do this?",
|
||||
"checklistcompletedby": "Checklist completed by {{by}} at {{at}}",
|
||||
"checklistdocuments": "Checklist Documents\\",
|
||||
"checklistdocuments": "Checklist Documents",
|
||||
"checklists": "Checklists",
|
||||
"closeconfirm": "Are you sure you want to close this job? This cannot be easily undone.",
|
||||
"cost": "Cost",
|
||||
@@ -1585,6 +1586,7 @@
|
||||
"casl_authorization": "CASL Authorization",
|
||||
"coversheet_landscape": "Coversheet (Landscape)",
|
||||
"coversheet_portrait": "Coversheet Portrait",
|
||||
"csi_invitation": "CSI Invitation",
|
||||
"diagnostic_authorization": "Diagnostic Authorization",
|
||||
"estimate": "Estimate Only",
|
||||
"estimate_detail": "Estimate Details",
|
||||
@@ -1620,6 +1622,14 @@
|
||||
"worksheet_sorted_by_operation_part_type": "Worksheet by Operation & Part Type"
|
||||
},
|
||||
"labels": {
|
||||
"groups": {
|
||||
"authorization": "Authorization",
|
||||
"financial": "Financial",
|
||||
"post": "Post-Production",
|
||||
"pre": "Pre-Production",
|
||||
"ro": "Repair Order",
|
||||
"worksheet": "Worksheets"
|
||||
},
|
||||
"misc": "Miscellaneous Documents",
|
||||
"repairorder": "Repair Order Related",
|
||||
"reportcentermodal": "Report Center",
|
||||
|
||||
@@ -671,7 +671,8 @@
|
||||
"notsent": "Correo electrónico no enviado Se encontró un error al enviar {{message}}"
|
||||
},
|
||||
"labels": {
|
||||
"attachments": ""
|
||||
"attachments": "",
|
||||
"preview": ""
|
||||
},
|
||||
"successes": {
|
||||
"sent": "Correo electrónico enviado con éxito."
|
||||
@@ -1585,6 +1586,7 @@
|
||||
"casl_authorization": "",
|
||||
"coversheet_landscape": "",
|
||||
"coversheet_portrait": "",
|
||||
"csi_invitation": "",
|
||||
"diagnostic_authorization": "",
|
||||
"estimate": "",
|
||||
"estimate_detail": "",
|
||||
@@ -1620,6 +1622,14 @@
|
||||
"worksheet_sorted_by_operation_part_type": ""
|
||||
},
|
||||
"labels": {
|
||||
"groups": {
|
||||
"authorization": "",
|
||||
"financial": "",
|
||||
"post": "",
|
||||
"pre": "",
|
||||
"ro": "",
|
||||
"worksheet": ""
|
||||
},
|
||||
"misc": "",
|
||||
"repairorder": "",
|
||||
"reportcentermodal": "",
|
||||
|
||||
@@ -671,7 +671,8 @@
|
||||
"notsent": "Courriel non envoyé. Erreur rencontrée lors de l'envoi de {{message}}"
|
||||
},
|
||||
"labels": {
|
||||
"attachments": ""
|
||||
"attachments": "",
|
||||
"preview": ""
|
||||
},
|
||||
"successes": {
|
||||
"sent": "E-mail envoyé avec succès."
|
||||
@@ -1585,6 +1586,7 @@
|
||||
"casl_authorization": "",
|
||||
"coversheet_landscape": "",
|
||||
"coversheet_portrait": "",
|
||||
"csi_invitation": "",
|
||||
"diagnostic_authorization": "",
|
||||
"estimate": "",
|
||||
"estimate_detail": "",
|
||||
@@ -1620,6 +1622,14 @@
|
||||
"worksheet_sorted_by_operation_part_type": ""
|
||||
},
|
||||
"labels": {
|
||||
"groups": {
|
||||
"authorization": "",
|
||||
"financial": "",
|
||||
"post": "",
|
||||
"pre": "",
|
||||
"ro": "",
|
||||
"worksheet": ""
|
||||
},
|
||||
"misc": "",
|
||||
"repairorder": "",
|
||||
"reportcentermodal": "",
|
||||
|
||||
@@ -18,6 +18,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.casl_authorization"),
|
||||
key: "casl_authorization",
|
||||
disabled: false,
|
||||
group: "authorization",
|
||||
},
|
||||
diagnostic_authorization: {
|
||||
title: i18n.t("printcenter.jobs.diagnostic_authorization"),
|
||||
@@ -25,34 +26,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.diagnostic_authorization"),
|
||||
key: "diagnostic_authorization",
|
||||
disabled: false,
|
||||
},
|
||||
job_notes: {
|
||||
title: i18n.t("printcenter.jobs.job_notes"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.job_notes"),
|
||||
key: "job_notes",
|
||||
disabled: false,
|
||||
},
|
||||
ro_with_description: {
|
||||
title: i18n.t("printcenter.jobs.ro_with_description"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.ro_with_description"),
|
||||
key: "ro_with_description",
|
||||
disabled: false,
|
||||
},
|
||||
window_tag: {
|
||||
title: i18n.t("printcenter.jobs.window_tag"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.window_tag"),
|
||||
key: "window_tag",
|
||||
disabled: false,
|
||||
},
|
||||
payments_by_job: {
|
||||
title: i18n.t("printcenter.jobs.payments_by_job"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.payments_by_job"),
|
||||
key: "payments_by_job",
|
||||
disabled: false,
|
||||
group: "authorization",
|
||||
},
|
||||
appointment_reminder: {
|
||||
title: i18n.t("printcenter.jobs.appointment_reminder"),
|
||||
@@ -60,6 +34,112 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.appointment_reminder"),
|
||||
key: "appointment_reminder",
|
||||
disabled: false,
|
||||
group: "pre",
|
||||
},
|
||||
estimate_followup: {
|
||||
title: i18n.t("printcenter.jobs.estimate_followup"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.estimate_followup"),
|
||||
key: "estimate_followup",
|
||||
disabled: false,
|
||||
group: "pre",
|
||||
},
|
||||
express_repair_checklist: {
|
||||
title: i18n.t("printcenter.jobs.express_repair_checklist"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.express_repair_checklist"),
|
||||
key: "express_repair_checklist",
|
||||
disabled: false,
|
||||
group: "pre",
|
||||
},
|
||||
glass_express_checklist: {
|
||||
title: i18n.t("printcenter.jobs.glass_express_checklist"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.glass_express_checklist"),
|
||||
key: "glass_express_checklist",
|
||||
disabled: false,
|
||||
group: "pre",
|
||||
},
|
||||
vehicle_check_in: {
|
||||
title: i18n.t("printcenter.jobs.vehicle_check_in"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.vehicle_check_in"),
|
||||
key: "vehicle_check_in",
|
||||
disabled: false,
|
||||
group: "pre",
|
||||
},
|
||||
parts_order_history: {
|
||||
title: i18n.t("printcenter.jobs.parts_order_history"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.parts_order_history"),
|
||||
key: "parts_order_history",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
|
||||
job_notes: {
|
||||
title: i18n.t("printcenter.jobs.job_notes"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.job_notes"),
|
||||
key: "job_notes",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
ro_with_description: {
|
||||
title: i18n.t("printcenter.jobs.ro_with_description"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.ro_with_description"),
|
||||
key: "ro_with_description",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
window_tag: {
|
||||
title: i18n.t("printcenter.jobs.window_tag"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.window_tag"),
|
||||
key: "window_tag",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
supplement_request: {
|
||||
title: i18n.t("printcenter.jobs.supplement_request"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.supplement_request"),
|
||||
key: "supplement_request",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
estimate: {
|
||||
title: i18n.t("printcenter.jobs.estimate"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.estimate"),
|
||||
key: "estimate",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
parts_list: {
|
||||
title: i18n.t("printcenter.jobs.parts_list"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.parts_list"),
|
||||
key: "parts_list",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
coversheet_portrait: {
|
||||
title: i18n.t("printcenter.jobs.coversheet_portrait"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.coversheet_portrait"),
|
||||
key: "coversheet_portrait",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
coversheet_landscape: {
|
||||
title: i18n.t("printcenter.jobs.coversheet_landscape"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.coversheet_landscape"),
|
||||
key: "coversheet_landscape",
|
||||
disabled: false,
|
||||
group: "ro",
|
||||
},
|
||||
worksheet_by_line_number: {
|
||||
title: i18n.t("printcenter.jobs.worksheet_by_line_number"),
|
||||
@@ -67,6 +147,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.worksheet_by_line_number"),
|
||||
key: "worksheet_by_line_number",
|
||||
disabled: false,
|
||||
group: "worksheet",
|
||||
},
|
||||
worksheet_sorted_by_operation: {
|
||||
title: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"),
|
||||
@@ -74,6 +155,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"),
|
||||
key: "worksheet_sorted_by_operation",
|
||||
disabled: false,
|
||||
group: "worksheet",
|
||||
},
|
||||
worksheet_sorted_by_operation_no_hours: {
|
||||
title: i18n.t(
|
||||
@@ -85,6 +167,7 @@ export const TemplateList = (type, context) => {
|
||||
),
|
||||
key: "worksheet_sorted_by_operation_no_hours",
|
||||
disabled: false,
|
||||
group: "worksheet",
|
||||
},
|
||||
worksheet_sorted_by_operation_part_type: {
|
||||
title: i18n.t(
|
||||
@@ -96,13 +179,15 @@ export const TemplateList = (type, context) => {
|
||||
),
|
||||
key: "worksheet_sorted_by_operation_part_type",
|
||||
disabled: false,
|
||||
group: "worksheet",
|
||||
},
|
||||
supplement_request: {
|
||||
title: i18n.t("printcenter.jobs.supplement_request"),
|
||||
payments_by_job: {
|
||||
title: i18n.t("printcenter.jobs.payments_by_job"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.supplement_request"),
|
||||
key: "supplement_request",
|
||||
subject: i18n.t("printcenter.jobs.payments_by_job"),
|
||||
key: "payments_by_job",
|
||||
disabled: false,
|
||||
group: "financial",
|
||||
},
|
||||
final_invoice: {
|
||||
title: i18n.t("printcenter.jobs.final_invoice"),
|
||||
@@ -110,6 +195,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.final_invoice"),
|
||||
key: "final_invoice",
|
||||
disabled: false,
|
||||
group: "financial",
|
||||
},
|
||||
payment_request: {
|
||||
title: i18n.t("printcenter.jobs.payment_request"),
|
||||
@@ -117,6 +203,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.payment_request"),
|
||||
key: "payment_request",
|
||||
disabled: false,
|
||||
group: "financial",
|
||||
},
|
||||
invoice_total_payable: {
|
||||
title: i18n.t("printcenter.jobs.invoice_total_payable"),
|
||||
@@ -124,6 +211,7 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.invoice_total_payable"),
|
||||
key: "invoice_total_payable",
|
||||
disabled: false,
|
||||
group: "financial",
|
||||
},
|
||||
invoice_customer_payable: {
|
||||
title: i18n.t("printcenter.jobs.invoice_customer_payable"),
|
||||
@@ -131,55 +219,16 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.invoice_customer_payable"),
|
||||
key: "invoice_customer_payable",
|
||||
disabled: false,
|
||||
group: "financial",
|
||||
},
|
||||
parts_order_history: {
|
||||
title: i18n.t("printcenter.jobs.parts_order_history"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.parts_order_history"),
|
||||
key: "parts_order_history",
|
||||
disabled: false,
|
||||
},
|
||||
glass_express_checklist: {
|
||||
title: i18n.t("printcenter.jobs.glass_express_checklist"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.glass_express_checklist"),
|
||||
key: "glass_express_checklist",
|
||||
disabled: false,
|
||||
},
|
||||
estimate: {
|
||||
title: i18n.t("printcenter.jobs.estimate"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.estimate"),
|
||||
key: "estimate",
|
||||
disabled: false,
|
||||
},
|
||||
parts_list: {
|
||||
title: i18n.t("printcenter.jobs.parts_list"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.parts_list"),
|
||||
key: "parts_list",
|
||||
disabled: false,
|
||||
},
|
||||
coversheet_portrait: {
|
||||
title: i18n.t("printcenter.jobs.coversheet_portrait"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.coversheet_portrait"),
|
||||
key: "coversheet_portrait",
|
||||
disabled: false,
|
||||
},
|
||||
coversheet_landscape: {
|
||||
title: i18n.t("printcenter.jobs.coversheet_landscape"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.coversheet_landscape"),
|
||||
key: "coversheet_landscape",
|
||||
disabled: false,
|
||||
},
|
||||
|
||||
filing_coversheet_portrait: {
|
||||
title: i18n.t("printcenter.jobs.filing_coversheet_portrait"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.filing_coversheet_portrait"),
|
||||
key: "filing_coversheet_portrait",
|
||||
disabled: false,
|
||||
group: "post",
|
||||
},
|
||||
qc_sheet: {
|
||||
title: i18n.t("printcenter.jobs.qc_sheet"),
|
||||
@@ -187,41 +236,25 @@ export const TemplateList = (type, context) => {
|
||||
subject: i18n.t("printcenter.jobs.qc_sheet"),
|
||||
key: "qc_sheet",
|
||||
disabled: false,
|
||||
group: "post",
|
||||
},
|
||||
estimate_followup: {
|
||||
title: i18n.t("printcenter.jobs.estimate_followup"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.estimate_followup"),
|
||||
key: "estimate_followup",
|
||||
disabled: false,
|
||||
},
|
||||
|
||||
vehicle_delivery_check: {
|
||||
title: i18n.t("printcenter.jobs.vehicle_delivery_check"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.vehicle_delivery_check"),
|
||||
key: "vehicle_delivery_check",
|
||||
disabled: false,
|
||||
group: "post",
|
||||
},
|
||||
express_repair_checklist: {
|
||||
title: i18n.t("printcenter.jobs.express_repair_checklist"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.express_repair_checklist"),
|
||||
key: "express_repair_checklist",
|
||||
disabled: false,
|
||||
},
|
||||
|
||||
guarantee: {
|
||||
title: i18n.t("printcenter.jobs.guarantee"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.guarantee"),
|
||||
key: "guarantee",
|
||||
disabled: false,
|
||||
},
|
||||
vehicle_check_in: {
|
||||
title: i18n.t("printcenter.jobs.vehicle_check_in"),
|
||||
description: "All Jobs Notes",
|
||||
subject: i18n.t("printcenter.jobs.vehicle_check_in"),
|
||||
key: "vehicle_check_in",
|
||||
disabled: false,
|
||||
group: "post",
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
|
||||
Reference in New Issue
Block a user