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 BabelEdit project file
@@ -6409,6 +6409,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </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> <concept_node>
<name>csiq</name> <name>csiq</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>
@@ -6451,6 +6472,69 @@
</translation> </translation>
</translations> </translations>
</concept_node> </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> <concept_node>
<name>employees</name> <name>employees</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>
@@ -6473,7 +6557,7 @@
</translations> </translations>
</concept_node> </concept_node>
<concept_node> <concept_node>
<name>intake</name> <name>intakechecklist</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>
<description></description> <description></description>
<comment></comment> <comment></comment>
@@ -6664,6 +6748,48 @@
</translation> </translation>
</translations> </translations>
</concept_node> </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> <concept_node>
<name>title</name> <name>title</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>
@@ -15686,6 +15812,48 @@
</translation> </translation>
</translations> </translations>
</concept_node> </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> <concept_node>
<name>name</name> <name>name</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>

View File

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

View File

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

View File

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

View File

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

View File

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