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

@@ -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": ""