Label Updates in Shop Config IO-700

This commit is contained in:
Patrick Fic
2021-02-24 15:37:08 -08:00
parent 24fb9fd0a0
commit dfcc18c8dc
7 changed files with 1603 additions and 1378 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project version="1.2" be_version="2.7.1">
<babeledit_project be_version="2.7.1" version="1.2">
<!--
BabelEdit project file
@@ -6409,6 +6409,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>checklists</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>csiq</name>
<definition_loaded>false</definition_loaded>
@@ -6451,6 +6472,69 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>defaultcostsmapping</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>defaultprofitsmapping</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>deliverchecklist</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>employees</name>
<definition_loaded>false</definition_loaded>
@@ -6473,7 +6557,7 @@
</translations>
</concept_node>
<concept_node>
<name>intake</name>
<name>intakechecklist</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
@@ -6664,6 +6748,48 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>sales_tax_codes</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>tax_accounts</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>title</name>
<definition_loaded>false</definition_loaded>
@@ -15686,6 +15812,48 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>max</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>min</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>name</name>
<definition_loaded>false</definition_loaded>

View File

@@ -823,7 +823,10 @@ export default function ShopInfoComponent({ form, saveLoading }) {
>
<ShopInfoResponsibilityCenterComponent form={form} />
</Collapse.Panel>
<Collapse.Panel key="intake" header={t("bodyshop.labels.intake")}>
<Collapse.Panel
key="checklists"
header={t("bodyshop.labels.checklists")}
>
<ShopInfoIntakeChecklistComponent form={form} />
</Collapse.Panel>
<Collapse.Panel

View File

@@ -1,11 +1,20 @@
import { DeleteFilled } from "@ant-design/icons";
import { Button, Form, Input, Select, Switch } from "antd";
import {
Button,
Form,
Input,
InputNumber,
Select,
Switch,
Typography,
} from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import styled from "styled-components";
import { TemplateList } from "../../utils/TemplateConstants";
import ConfigFormTypes from "../config-form-components/config-form-types";
import FormListMoveArrows from "../form-list-move-arrows/form-list-move-arrows.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
const SelectorDiv = styled.div`
.ant-form-item .ant-select {
@@ -19,13 +28,16 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
const TemplateListGenerated = TemplateList();
return (
<div>
<Typography.Title level={4}>
{t("bodyshop.labels.intakechecklist")}
</Typography.Title>
<Form.List name={["intakechecklist", "form"]}>
{(fields, { add, remove, move }) => {
return (
<div>
{fields.map((field, index) => (
<Form.Item key={field.key} style={{ padding: 0, margin: 2 }}>
<div className="imex-flex-row">
<LayoutFormRow grow>
<Form.Item
className="imex-flex-row__margin"
label={t("jobs.fields.intake.name")}
@@ -95,7 +107,7 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
},
]}
>
<Input />
<InputNumber />
</Form.Item>
<Form.Item
className="imex-flex-row__margin"
@@ -109,7 +121,7 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
},
]}
>
<Input />
<InputNumber />
</Form.Item>
<DeleteFilled
onClick={() => {
@@ -121,7 +133,7 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
index={index}
total={fields.length}
/>
</div>
</LayoutFormRow>
</Form.Item>
))}
<Form.Item>
@@ -164,14 +176,16 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
</Select>
</Form.Item>
</SelectorDiv>
<Typography.Title level={4}>
{t("bodyshop.labels.deliverchecklist")}
</Typography.Title>
<Form.List name={["deliverchecklist", "form"]}>
{(fields, { add, remove, move }) => {
return (
<div>
{fields.map((field, index) => (
<Form.Item key={field.key} style={{ padding: 0, margin: 2 }}>
<div className="imex-flex-row">
<LayoutFormRow grow>
<Form.Item
className="imex-flex-row__margin"
label={t("jobs.fields.intake.name")}
@@ -232,7 +246,34 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
>
<Switch />
</Form.Item>
<Form.Item
className="imex-flex-row__margin"
label={t("jobs.fields.intake.min")}
key={`${index}mind`}
name={[field.name, "min"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<InputNumber />
</Form.Item>
<Form.Item
className="imex-flex-row__margin"
label={t("jobs.fields.intake.max")}
key={`${index}maxd`}
name={[field.name, "max"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<InputNumber />
</Form.Item>
<DeleteFilled
onClick={() => {
remove(field.name);
@@ -243,7 +284,7 @@ export default function ShopInfoIntakeChecklistComponent({ form }) {
index={index}
total={fields.length}
/>
</div>
</LayoutFormRow>
</Form.Item>
))}
<Form.Item>

View File

@@ -53,9 +53,10 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
return (
<div>
<strong>{t("bodyshop.labels.responsibilitycenters.title")}</strong>
<div>
<strong>{t("bodyshop.labels.responsibilitycenters.costs")}</strong>
<Typography.Title level={4}>
{t("bodyshop.labels.responsibilitycenters.costs")}
</Typography.Title>
<Form.List name={["md_responsibility_centers", "costs"]}>
{(fields, { add, remove }) => {
return (
@@ -166,7 +167,10 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
</Form.List>
</div>
<div>
<strong>{t("bodyshop.labels.responsibilitycenters.profits")}</strong>
<Typography.Title level={4}>
{t("bodyshop.labels.responsibilitycenters.profits")}
</Typography.Title>
<Form.List name={["md_responsibility_centers", "profits"]}>
{(fields, { add, remove }) => {
return (
@@ -276,9 +280,9 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
}}
</Form.List>
</div>
<div style={{ display: "flex " }}>
<div>
<SelectorDiv>
Costs
<LayoutFormRow header={t("bodyshop.labels.defaultcostsmapping")}>
<Form.Item
label={t("bodyshop.fields.responsibilitycenters.ats")}
rules={[
@@ -675,9 +679,12 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
))}
</Select>
</Form.Item>
</LayoutFormRow>
</SelectorDiv>
</div>
<SelectorDiv>
Profits
<div>
<LayoutFormRow header={t("bodyshop.labels.defaultprofitsmapping")}>
<Form.Item
label={t("bodyshop.fields.responsibilitycenters.ats")}
rules={[
@@ -1046,7 +1053,12 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={["md_responsibility_centers", "defaults", "profits", "MAPA"]}
name={[
"md_responsibility_centers",
"defaults",
"profits",
"MAPA",
]}
>
<Select>
{profitOptions.map((item, idx) => (
@@ -1064,7 +1076,12 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={["md_responsibility_centers", "defaults", "profits", "MASH"]}
name={[
"md_responsibility_centers",
"defaults",
"profits",
"MASH",
]}
>
<Select>
{profitOptions.map((item, idx) => (
@@ -1074,9 +1091,13 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
))}
</Select>
</Form.Item>
</LayoutFormRow>
</div>
</SelectorDiv>
<div>
<LayoutFormRow>
<LayoutFormRow
style={{ marginTop: ".8rem" }}
header={t("bodyshop.labels.responsibilitycenters.tax_accounts")}
>
<Form.Item
label={t("bodyshop.fields.responsibilitycenters.federal_tax")}
rules={[
@@ -1208,12 +1229,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"state",
"accountname",
]}
name={["md_responsibility_centers", "taxes", "state", "accountname"]}
>
<Input />
</Form.Item>
@@ -1225,12 +1241,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"state",
"accountdesc",
]}
name={["md_responsibility_centers", "taxes", "state", "accountdesc"]}
>
<Input />
</Form.Item>
@@ -1242,12 +1253,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"state",
"accountitem",
]}
name={["md_responsibility_centers", "taxes", "state", "accountitem"]}
>
<Input />
</Form.Item>
@@ -1302,12 +1308,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"local",
"accountname",
]}
name={["md_responsibility_centers", "taxes", "local", "accountname"]}
>
<Input />
</Form.Item>
@@ -1319,12 +1320,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"local",
"accountdesc",
]}
name={["md_responsibility_centers", "taxes", "local", "accountdesc"]}
>
<Input />
</Form.Item>
@@ -1336,12 +1332,7 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
message: t("general.validation.required"),
},
]}
name={[
"md_responsibility_centers",
"taxes",
"local",
"accountitem",
]}
name={["md_responsibility_centers", "taxes", "local", "accountitem"]}
>
<Input />
</Form.Item>
@@ -1638,7 +1629,5 @@ export default function ShopInfoResponsibilityCenterComponent({ form }) {
}}
</Form.List>
</div>
</div>
</div>
);
}

View File

@@ -410,10 +410,14 @@
"alljobstatuses": "All Job Statuses",
"allopenjobstatuses": "All Open Job Statuses",
"apptcolors": "Appointment Colors",
"checklists": "Checklists",
"csiq": "CSI Questions",
"customtemplates": "Custom Templates",
"defaultcostsmapping": "Default Costs Mapping",
"defaultprofitsmapping": "Default Profits Mapping",
"deliverchecklist": "Delivery Checklist",
"employees": "Employees",
"intake": "Job Intake",
"intakechecklist": "Intake Checklist",
"jobstatuses": "Job Statuses",
"laborrates": "Labor Rates",
"licensing": "Licensing",
@@ -423,6 +427,8 @@
"responsibilitycenters": {
"costs": "Cost Centers",
"profits": "Profit Centers",
"sales_tax_codes": "Sales Tax Codes",
"tax_accounts": "Tax Accounts",
"title": "Responsibility Centers"
},
"scheduling": "SMART Scheduling",
@@ -983,6 +989,8 @@
"ins_ph1": "File Handler Phone #",
"intake": {
"label": "Label",
"max": "Maximum",
"min": "Minimum",
"name": "Name",
"required": "Required?",
"type": "Type"

View File

@@ -410,10 +410,14 @@
"alljobstatuses": "",
"allopenjobstatuses": "",
"apptcolors": "",
"checklists": "",
"csiq": "",
"customtemplates": "",
"defaultcostsmapping": "",
"defaultprofitsmapping": "",
"deliverchecklist": "",
"employees": "",
"intake": "",
"intakechecklist": "",
"jobstatuses": "",
"laborrates": "",
"licensing": "",
@@ -423,6 +427,8 @@
"responsibilitycenters": {
"costs": "",
"profits": "",
"sales_tax_codes": "",
"tax_accounts": "",
"title": ""
},
"scheduling": "",
@@ -983,6 +989,8 @@
"ins_ph1": "File Handler Phone #",
"intake": {
"label": "",
"max": "",
"min": "",
"name": "",
"required": "",
"type": ""

View File

@@ -410,10 +410,14 @@
"alljobstatuses": "",
"allopenjobstatuses": "",
"apptcolors": "",
"checklists": "",
"csiq": "",
"customtemplates": "",
"defaultcostsmapping": "",
"defaultprofitsmapping": "",
"deliverchecklist": "",
"employees": "",
"intake": "",
"intakechecklist": "",
"jobstatuses": "",
"laborrates": "",
"licensing": "",
@@ -423,6 +427,8 @@
"responsibilitycenters": {
"costs": "",
"profits": "",
"sales_tax_codes": "",
"tax_accounts": "",
"title": ""
},
"scheduling": "",
@@ -983,6 +989,8 @@
"ins_ph1": "Numéro de téléphone du gestionnaire de fichiers",
"intake": {
"label": "",
"max": "",
"min": "",
"name": "",
"required": "",
"type": ""