Added bucket config to shop screen BOD-174

This commit is contained in:
Patrick Fic
2020-06-24 11:39:46 -07:00
parent 997ea6cbcf
commit dab34aef49
9 changed files with 396 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project be_version="2.6.1" version="1.2">
<babeledit_project version="1.2" be_version="2.6.1">
<!--
BabelEdit project file
@@ -802,6 +802,27 @@
<folder_node>
<name>actions</name>
<children>
<concept_node>
<name>addbucket</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>addtemplate</name>
<definition_loaded>false</definition_loaded>
@@ -1867,6 +1888,116 @@
</translation>
</translations>
</concept_node>
<folder_node>
<name>ssbuckets</name>
<children>
<concept_node>
<name>gte</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>id</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>label</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>lt</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>target</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>state</name>
<definition_loaded>false</definition_loaded>
@@ -2512,6 +2643,27 @@
</concept_node>
</children>
</folder_node>
<concept_node>
<name>scheduling</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>shopinfo</name>
<definition_loaded>false</definition_loaded>

View File

@@ -4,6 +4,7 @@ import { useTranslation } from "react-i18next";
import ShopInfoROStatusComponent from "./shop-info.rostatus.component";
import ShopInfoOrderStatusComponent from "./shop-info.orderstatus.component";
import ShopInfoResponsibilityCenterComponent from "./shop-info.responsibilitycenters.component";
import ShopInfoSchedulingComponent from "./shop-info.scheduling.component";
export default function ShopInfoComponent({ form }) {
const { t } = useTranslation();
@@ -146,6 +147,12 @@ export default function ShopInfoComponent({ form }) {
>
<ShopInfoROStatusComponent form={form} />
</Collapse.Panel>
<Collapse.Panel
key="scheduling"
header={t("bodyshop.labels.scheduling")}
>
<ShopInfoSchedulingComponent form={form} />
</Collapse.Panel>
<Collapse.Panel
key="orderStatus"
header={t("bodyshop.labels.orderstatuses")}

View File

@@ -0,0 +1,113 @@
import { DeleteFilled } from "@ant-design/icons";
import { Button, Form, Input, InputNumber, Select, Row, Col } from "antd";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
//TODO Fix up styles.
export default function ShopInfoSchedulingComponent({ form }) {
const { t } = useTranslation();
return (
<div>
<strong>{t("bodyshop.labels.orderstatuses")}</strong>
<Row>
<Col span={24}>
<Form.List name={["ssbuckets"]}>
{(fields, { add, remove }) => {
return (
<div>
{fields.map((field, index) => (
<Form.Item
key={field.key}
style={{ padding: 0, margin: 2 }}
>
<div className="imex-flex-row">
<Form.Item
label={t("bodyshop.fields.ssbuckets.id")}
key={`${index}id`}
name={[field.name, "id"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<Input />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.ssbuckets.label")}
key={`${index}label`}
name={[field.name, "label"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<Input />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.ssbuckets.gte")}
key={`${index}gte`}
name={[field.name, "gte"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<InputNumber />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.ssbuckets.lt")}
key={`${index}lt`}
name={[field.name, "lt"]}
>
<InputNumber />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.ssbuckets.target")}
key={`${index}target`}
name={[field.name, "target"]}
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<InputNumber />
</Form.Item>
<DeleteFilled
onClick={() => {
remove(field.name);
}}
/>
</div>
</Form.Item>
))}
<Form.Item>
<Button
type="dashed"
onClick={() => {
add();
}}
style={{ width: "100%" }}
>
{t("bodyshop.actions.addbucket")}
</Button>
</Form.Item>
</div>
);
}}
</Form.List>
</Col>
</Row>
</div>
);
}

View File

@@ -69,6 +69,7 @@
},
"bodyshop": {
"actions": {
"addbucket": "Add Bucket",
"addtemplate": "Add Template",
"newstatus": "Add Status"
},
@@ -125,6 +126,13 @@
"tow": "Towing"
},
"shopname": "Shop Name",
"ssbuckets": {
"gte": "Greater Than/Equal to (hrs)",
"id": "ID",
"label": "Label",
"lt": "Less than (hrs)",
"target": "Target (count)"
},
"state": "State/Province",
"state_tax_id": "State Tax ID (PST, QST)",
"status": "Status Label",
@@ -161,6 +169,7 @@
"profits": "Profit Centers",
"title": "Responsibility Centers"
},
"scheduling": "SMART Scheduling",
"shopinfo": "Shop Information"
},
"successes": {

View File

@@ -69,6 +69,7 @@
},
"bodyshop": {
"actions": {
"addbucket": "",
"addtemplate": "",
"newstatus": ""
},
@@ -125,6 +126,13 @@
"tow": ""
},
"shopname": "",
"ssbuckets": {
"gte": "",
"id": "",
"label": "",
"lt": "",
"target": ""
},
"state": "",
"state_tax_id": "",
"status": "",
@@ -161,6 +169,7 @@
"profits": "",
"title": ""
},
"scheduling": "",
"shopinfo": ""
},
"successes": {

View File

@@ -69,6 +69,7 @@
},
"bodyshop": {
"actions": {
"addbucket": "",
"addtemplate": "",
"newstatus": ""
},
@@ -125,6 +126,13 @@
"tow": ""
},
"shopname": "",
"ssbuckets": {
"gte": "",
"id": "",
"label": "",
"lt": "",
"target": ""
},
"state": "",
"state_tax_id": "",
"status": "",
@@ -161,6 +169,7 @@
"profits": "",
"title": ""
},
"scheduling": "",
"shopinfo": ""
},
"successes": {

View File

@@ -0,0 +1,47 @@
- args:
role: user
table:
name: bodyshops
schema: public
type: drop_update_permission
- args:
permission:
columns:
- accountingconfig
- address1
- address2
- appt_length
- city
- country
- created_at
- email
- federal_tax_id
- id
- inhousevendorid
- insurance_vendor_id
- intakechecklist
- invoice_tax_rates
- logo_img_path
- md_order_statuses
- md_responsibility_centers
- md_ro_statuses
- production_config
- shopname
- shoprates
- state
- state_tax_id
- updated_at
- zip_post
filter:
associations:
bodyshop:
associations:
user:
authid:
_eq: X-Hasura-User-Id
set: {}
role: user
table:
name: bodyshops
schema: public
type: create_update_permission

View File

@@ -0,0 +1,48 @@
- args:
role: user
table:
name: bodyshops
schema: public
type: drop_update_permission
- args:
permission:
columns:
- accountingconfig
- address1
- address2
- appt_length
- city
- country
- created_at
- email
- federal_tax_id
- id
- inhousevendorid
- insurance_vendor_id
- intakechecklist
- invoice_tax_rates
- logo_img_path
- md_order_statuses
- md_responsibility_centers
- md_ro_statuses
- production_config
- shopname
- shoprates
- ssbuckets
- state
- state_tax_id
- updated_at
- zip_post
filter:
associations:
bodyshop:
associations:
user:
authid:
_eq: X-Hasura-User-Id
set: {}
role: user
table:
name: bodyshops
schema: public
type: create_update_permission

View File

@@ -511,6 +511,7 @@ tables:
- production_config
- shopname
- shoprates
- ssbuckets
- state
- state_tax_id
- updated_at