Removed unneccessary imports. Added production note to kanban and job detail. IO-459
This commit is contained in:
@@ -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
|
||||||
@@ -15327,6 +15327,32 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<folder_node>
|
||||||
|
<name>production_vars</name>
|
||||||
|
<children>
|
||||||
|
<concept_node>
|
||||||
|
<name>note</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>
|
<concept_node>
|
||||||
<name>rate_la1</name>
|
<name>rate_la1</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -6,10 +6,7 @@ import { connect } from "react-redux";
|
|||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { CONVERT_JOB_TO_RO } from "../../graphql/jobs.queries";
|
import { CONVERT_JOB_TO_RO } from "../../graphql/jobs.queries";
|
||||||
import { selectJobReadOnly } from "../../redux/application/application.selectors";
|
import { selectJobReadOnly } from "../../redux/application/application.selectors";
|
||||||
import {
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
selectAuthLevel,
|
|
||||||
selectBodyshop,
|
|
||||||
} from "../../redux/user/user.selectors";
|
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
//currentUser: selectCurrentUser
|
//currentUser: selectCurrentUser
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { PrinterFilled } from "@ant-design/icons";
|
import { PrinterFilled } from "@ant-design/icons";
|
||||||
import { Button, PageHeader, Tag } from "antd";
|
import { Button, Divider, PageHeader, Tag } from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
@@ -12,6 +12,7 @@ import JobsChangeStatus from "../jobs-change-status/jobs-change-status.component
|
|||||||
import JobsConvertButton from "../jobs-convert-button/jobs-convert-button.component";
|
import JobsConvertButton from "../jobs-convert-button/jobs-convert-button.component";
|
||||||
import JobsDetailHeaderActions from "../jobs-detail-header-actions/jobs-detail-header-actions.component";
|
import JobsDetailHeaderActions from "../jobs-detail-header-actions/jobs-detail-header-actions.component";
|
||||||
import OwnerTagPopoverComponent from "../owner-tag-popover/owner-tag-popover.component";
|
import OwnerTagPopoverComponent from "../owner-tag-popover/owner-tag-popover.component";
|
||||||
|
import ProductionListColumnProductionNote from "../production-list-columns/production-list-columns.productionnote.component";
|
||||||
import VehicleTagPopoverComponent from "../vehicle-tag-popover/vehicle-tag-popover.component";
|
import VehicleTagPopoverComponent from "../vehicle-tag-popover/vehicle-tag-popover.component";
|
||||||
import "./jobs-detail-header.styles.scss";
|
import "./jobs-detail-header.styles.scss";
|
||||||
|
|
||||||
@@ -95,6 +96,18 @@ export function JobsDetailHeader({
|
|||||||
extra={menuExtra}
|
extra={menuExtra}
|
||||||
>
|
>
|
||||||
<div style={{ display: "flex", justifyContent: "flex-end" }}>
|
<div style={{ display: "flex", justifyContent: "flex-end" }}>
|
||||||
|
{job.inproduction && (
|
||||||
|
<>
|
||||||
|
<div style={{ display: "flex", flex: 1 }}>
|
||||||
|
<div style={{ width: "20%" }}>
|
||||||
|
{t("jobs.fields.production_vars.note")}
|
||||||
|
</div>
|
||||||
|
<ProductionListColumnProductionNote record={job} />
|
||||||
|
</div>
|
||||||
|
<Divider type="vertical" />
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
<JobEmployeeAssignments job={job} />
|
<JobEmployeeAssignments job={job} />
|
||||||
</div>
|
</div>
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Collapse, Space, Card } from "antd";
|
import { Card, Space } from "antd";
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import Gallery from "react-grid-gallery";
|
import Gallery from "react-grid-gallery";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import {
|
|||||||
DeleteFilled,
|
DeleteFilled,
|
||||||
EditFilled,
|
EditFilled,
|
||||||
EyeInvisibleFilled,
|
EyeInvisibleFilled,
|
||||||
WarningFilled
|
WarningFilled,
|
||||||
} from "@ant-design/icons";
|
} from "@ant-design/icons";
|
||||||
import { Button, Table } from "antd";
|
import { Button, Table } from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
@@ -118,7 +118,7 @@ export function JobNotesComponent({
|
|||||||
<Table
|
<Table
|
||||||
loading={loading}
|
loading={loading}
|
||||||
pagination={{ position: "bottom" }}
|
pagination={{ position: "bottom" }}
|
||||||
columns={columns.map((item) => ({ ...item }))}
|
columns={columns}
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
dataSource={data}
|
dataSource={data}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import "./production-board-card.styles.scss";
|
|||||||
import ProductionRemoveButton from "../production-remove-button/production-remove-button.component";
|
import ProductionRemoveButton from "../production-remove-button/production-remove-button.component";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import ProductionSubletsManageComponent from "../production-sublets-manage/production-sublets-manage.component";
|
import ProductionSubletsManageComponent from "../production-sublets-manage/production-sublets-manage.component";
|
||||||
|
import ProductionListColumnProductionNote from "../production-list-columns/production-list-columns.productionnote.component";
|
||||||
|
|
||||||
export default function ProductionBoardCard(card) {
|
export default function ProductionBoardCard(card) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@@ -79,6 +80,9 @@ export default function ProductionBoardCard(card) {
|
|||||||
<div>{card.alt_transport || ""}</div>
|
<div>{card.alt_transport || ""}</div>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
<div>
|
||||||
|
<ProductionListColumnProductionNote record={card} />
|
||||||
|
</div>
|
||||||
<div className="imex-flex-row imex-flex-row__flex-space-around">
|
<div className="imex-flex-row imex-flex-row__flex-space-around">
|
||||||
<ProductionAlert record={card} key="alert" />
|
<ProductionAlert record={card} key="alert" />
|
||||||
<ProductionSubletsManageComponent subletJobLines={card.subletLines} />
|
<ProductionSubletsManageComponent subletJobLines={card.subletLines} />
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
|
import Icon from "@ant-design/icons";
|
||||||
import { useMutation } from "@apollo/react-hooks";
|
import { useMutation } from "@apollo/react-hooks";
|
||||||
import { Button, Input, Popover } from "antd";
|
import { Button, Input, Popover } from "antd";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { UPDATE_JOB } from "../../graphql/jobs.queries";
|
import { FaRegStickyNote } from "react-icons/fa";
|
||||||
import { logImEXEvent } from "../../firebase/firebase.utils";
|
import { logImEXEvent } from "../../firebase/firebase.utils";
|
||||||
|
import { UPDATE_JOB } from "../../graphql/jobs.queries";
|
||||||
export default function ProductionListColumnProductionNote({ record }) {
|
export default function ProductionListColumnProductionNote({ record }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
@@ -41,7 +42,6 @@ export default function ProductionListColumnProductionNote({ record }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleVisibleChange = (flag) => {
|
const handleVisibleChange = (flag) => {
|
||||||
|
|
||||||
setVisible(flag);
|
setVisible(flag);
|
||||||
if (flag)
|
if (flag)
|
||||||
setNote((record.production_vars && record.production_vars.note) || "");
|
setNote((record.production_vars && record.production_vars.note) || "");
|
||||||
@@ -68,8 +68,10 @@ export default function ProductionListColumnProductionNote({ record }) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
trigger={["contextMenu"]}>
|
trigger={["click"]}
|
||||||
<div style={{ width: "100%", height: "19px" }}>
|
>
|
||||||
|
<div style={{ width: "100%", height: "19px", cursor: "pointer" }}>
|
||||||
|
<Icon component={FaRegStickyNote} style={{ marginRight: ".2rem" }} />
|
||||||
{(record.production_vars && record.production_vars.note) || " "}
|
{(record.production_vars && record.production_vars.note) || " "}
|
||||||
</div>
|
</div>
|
||||||
</Popover>
|
</Popover>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export function ProductionListTable({
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const Now = new Date();
|
|
||||||
const handleTableChange = (pagination, filters, sorter) => {
|
const handleTableChange = (pagination, filters, sorter) => {
|
||||||
setState({
|
setState({
|
||||||
...state,
|
...state,
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import {
|
|||||||
} from "antd";
|
} from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import InputNumberCalculator from "../form-input-number-calculator/form-input-number-calculator.component";
|
|
||||||
import PhoneFormItem, {
|
import PhoneFormItem, {
|
||||||
PhoneItemFormatterValidation,
|
PhoneItemFormatterValidation,
|
||||||
} from "../form-items-formatted/phone-form-item.component";
|
} from "../form-items-formatted/phone-form-item.component";
|
||||||
@@ -508,7 +507,6 @@ export default function ShopInfoComponent({ form, saveLoading }) {
|
|||||||
}}
|
}}
|
||||||
</Form.List>
|
</Form.List>
|
||||||
<LayoutFormRow>
|
<LayoutFormRow>
|
||||||
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name={["md_classes"]}
|
name={["md_classes"]}
|
||||||
label={t("bodyshop.fields.md_classes")}
|
label={t("bodyshop.fields.md_classes")}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Button, Form, Input, InputNumber } from "antd";
|
import { Button, Form, Input } from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import FormDatePicker from "../form-date-picker/form-date-picker.component";
|
import FormDatePicker from "../form-date-picker/form-date-picker.component";
|
||||||
@@ -138,7 +138,7 @@ export default function VehicleDetailFormComponent({ form, loading }) {
|
|||||||
{
|
{
|
||||||
//TODO Add handling for paint code json
|
//TODO Add handling for paint code json
|
||||||
//Removed as a part of IO-446.
|
//Removed as a part of IO-446.
|
||||||
//No values have been captured in this field as of yet.
|
//No values have been captured in this field as of yet.
|
||||||
// <Form.Item
|
// <Form.Item
|
||||||
// label={t("vehicles.fields.v_paint_codes")}
|
// label={t("vehicles.fields.v_paint_codes")}
|
||||||
// name="v_paint_codes"
|
// name="v_paint_codes"
|
||||||
|
|||||||
@@ -10,13 +10,12 @@ import {
|
|||||||
} from "antd";
|
} from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import InputNumberCalculator from "../form-input-number-calculator/form-input-number-calculator.component";
|
import FormFieldsChanged from "../form-fields-changed-alert/form-fields-changed-alert.component";
|
||||||
import FormItemEmail from "../form-items-formatted/email-form-item.component";
|
import FormItemEmail from "../form-items-formatted/email-form-item.component";
|
||||||
import PhoneFormItem, {
|
import PhoneFormItem, {
|
||||||
PhoneItemFormatterValidation,
|
PhoneItemFormatterValidation,
|
||||||
} from "../form-items-formatted/phone-form-item.component";
|
} from "../form-items-formatted/phone-form-item.component";
|
||||||
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
||||||
import FormFieldsChanged from "../form-fields-changed-alert/form-fields-changed-alert.component";
|
|
||||||
export default function VendorsFormComponent({
|
export default function VendorsFormComponent({
|
||||||
form,
|
form,
|
||||||
formLoading,
|
formLoading,
|
||||||
|
|||||||
@@ -412,6 +412,7 @@ export const GET_JOB_BY_PK = gql`
|
|||||||
ownr_zip
|
ownr_zip
|
||||||
ownr_ctry
|
ownr_ctry
|
||||||
ownr_ph1
|
ownr_ph1
|
||||||
|
production_vars
|
||||||
ca_gst_registrant
|
ca_gst_registrant
|
||||||
owner {
|
owner {
|
||||||
id
|
id
|
||||||
@@ -705,6 +706,7 @@ export const UPDATE_JOB = gql`
|
|||||||
status
|
status
|
||||||
alt_transport
|
alt_transport
|
||||||
ro_number
|
ro_number
|
||||||
|
production_vars
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -958,6 +958,9 @@
|
|||||||
"phoneshort": "PH",
|
"phoneshort": "PH",
|
||||||
"policy_no": "Policy #",
|
"policy_no": "Policy #",
|
||||||
"ponumber": "PO Number",
|
"ponumber": "PO Number",
|
||||||
|
"production_vars": {
|
||||||
|
"note": "Production Note:"
|
||||||
|
},
|
||||||
"rate_la1": "LA1",
|
"rate_la1": "LA1",
|
||||||
"rate_la2": "LA2",
|
"rate_la2": "LA2",
|
||||||
"rate_la3": "LA3",
|
"rate_la3": "LA3",
|
||||||
|
|||||||
@@ -958,6 +958,9 @@
|
|||||||
"phoneshort": "PH",
|
"phoneshort": "PH",
|
||||||
"policy_no": "Política #",
|
"policy_no": "Política #",
|
||||||
"ponumber": "numero postal",
|
"ponumber": "numero postal",
|
||||||
|
"production_vars": {
|
||||||
|
"note": ""
|
||||||
|
},
|
||||||
"rate_la1": "Tarifa LA1",
|
"rate_la1": "Tarifa LA1",
|
||||||
"rate_la2": "Tarifa LA2",
|
"rate_la2": "Tarifa LA2",
|
||||||
"rate_la3": "Tarifa LA3",
|
"rate_la3": "Tarifa LA3",
|
||||||
|
|||||||
@@ -958,6 +958,9 @@
|
|||||||
"phoneshort": "PH",
|
"phoneshort": "PH",
|
||||||
"policy_no": "Politique #",
|
"policy_no": "Politique #",
|
||||||
"ponumber": "Numéro de bon de commande",
|
"ponumber": "Numéro de bon de commande",
|
||||||
|
"production_vars": {
|
||||||
|
"note": ""
|
||||||
|
},
|
||||||
"rate_la1": "Taux LA1",
|
"rate_la1": "Taux LA1",
|
||||||
"rate_la2": "Taux LA2",
|
"rate_la2": "Taux LA2",
|
||||||
"rate_la3": "Taux LA3",
|
"rate_la3": "Taux LA3",
|
||||||
|
|||||||
Reference in New Issue
Block a user