Added no vehicle option to manual job creation IO-107
This commit is contained in:
@@ -17796,6 +17796,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>novehicle</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>ownerinfo</name>
|
<name>ownerinfo</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export default function JobsCreateVehicleInfoNewComponent() {
|
|||||||
...state,
|
...state,
|
||||||
vehicle: {
|
vehicle: {
|
||||||
...state.vehicle,
|
...state.vehicle,
|
||||||
|
none: false,
|
||||||
new: !state.vehicle.new,
|
new: !state.vehicle.new,
|
||||||
selectedid: null,
|
selectedid: null,
|
||||||
},
|
},
|
||||||
@@ -27,6 +28,23 @@ export default function JobsCreateVehicleInfoNewComponent() {
|
|||||||
>
|
>
|
||||||
{t("jobs.labels.create.newvehicle")}
|
{t("jobs.labels.create.newvehicle")}
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
|
<Checkbox
|
||||||
|
defaultChecked={state.vehicle.none}
|
||||||
|
checked={state.vehicle.none}
|
||||||
|
onChange={() => {
|
||||||
|
setState({
|
||||||
|
...state,
|
||||||
|
vehicle: {
|
||||||
|
...state.vehicle,
|
||||||
|
new: false,
|
||||||
|
none: !state.vehicle.none,
|
||||||
|
selectedid: null,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{t("jobs.labels.create.novehicle")}
|
||||||
|
</Checkbox>
|
||||||
|
|
||||||
<LayoutFormRow header={t("vehicles.forms.detail")} grow>
|
<LayoutFormRow header={t("vehicles.forms.detail")} grow>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
|||||||
@@ -59,9 +59,9 @@ export default function JobsCreateVehicleInfoSearchComponent({
|
|||||||
loading={loading}
|
loading={loading}
|
||||||
title={() => {
|
title={() => {
|
||||||
return (
|
return (
|
||||||
<div className='imex-table-header'>
|
<div className="imex-table-header">
|
||||||
<Input.Search
|
<Input.Search
|
||||||
className='imex-table-header__search'
|
className="imex-table-header__search"
|
||||||
placeholder={t("general.labels.search")}
|
placeholder={t("general.labels.search")}
|
||||||
onSearch={(value) => {
|
onSearch={(value) => {
|
||||||
setState({
|
setState({
|
||||||
@@ -74,11 +74,11 @@ export default function JobsCreateVehicleInfoSearchComponent({
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
size='small'
|
size="small"
|
||||||
scroll={{ x: true }}
|
scroll={{ x: true }}
|
||||||
pagination={{ position: "top" }}
|
pagination={{ position: "top" }}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
rowKey='id'
|
rowKey="id"
|
||||||
dataSource={vehicles}
|
dataSource={vehicles}
|
||||||
onChange={handleTableChange}
|
onChange={handleTableChange}
|
||||||
rowSelection={{
|
rowSelection={{
|
||||||
@@ -87,6 +87,7 @@ export default function JobsCreateVehicleInfoSearchComponent({
|
|||||||
...state,
|
...state,
|
||||||
vehicle: {
|
vehicle: {
|
||||||
...state.vehicle,
|
...state.vehicle,
|
||||||
|
none: false,
|
||||||
new: false,
|
new: false,
|
||||||
selectedid: props.id,
|
selectedid: props.id,
|
||||||
vehicleObj: props,
|
vehicleObj: props,
|
||||||
@@ -105,6 +106,7 @@ export default function JobsCreateVehicleInfoSearchComponent({
|
|||||||
...state,
|
...state,
|
||||||
vehicle: {
|
vehicle: {
|
||||||
...state.vehicle,
|
...state.vehicle,
|
||||||
|
none: false,
|
||||||
new: false,
|
new: false,
|
||||||
selectedid: record.id,
|
selectedid: record.id,
|
||||||
vehicleObj: record,
|
vehicleObj: record,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Collapse, Form, InputNumber, Select, Switch } from "antd";
|
import { Collapse, Form, InputNumber, Switch } 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";
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import { Link } from "react-router-dom";
|
|||||||
|
|
||||||
export default function VehicleTagPopoverComponent({ job }) {
|
export default function VehicleTagPopoverComponent({ job }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
if (!job.vehicle) return null;
|
||||||
|
|
||||||
const content = (
|
const content = (
|
||||||
<div style={{ width: "400px" }}>
|
<div style={{ width: "400px" }}>
|
||||||
<Row>
|
<Row>
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
{
|
{
|
||||||
title: t("jobs.labels.create.vehicleinfo"),
|
title: t("jobs.labels.create.vehicleinfo"),
|
||||||
content: <JobsCreateVehicleInfoContainer />,
|
content: <JobsCreateVehicleInfoContainer />,
|
||||||
validation: !!state.vehicle.new || !!state.vehicle.selectedid,
|
validation:
|
||||||
|
!!state.vehicle.new ||
|
||||||
|
!!state.vehicle.selectedid ||
|
||||||
|
!!state.vehicle.none,
|
||||||
error: t("vehicles.errors.selectexistingornew"),
|
error: t("vehicles.errors.selectexistingornew"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,7 +26,13 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const contextState = useState({
|
const contextState = useState({
|
||||||
vehicle: { new: false, search: "", selectedid: null, vehicleObj: null },
|
vehicle: {
|
||||||
|
new: false,
|
||||||
|
search: "",
|
||||||
|
selectedid: null,
|
||||||
|
vehicleObj: null,
|
||||||
|
none: false,
|
||||||
|
},
|
||||||
owner: { new: false, search: "", selectedid: null },
|
owner: { new: false, search: "", selectedid: null },
|
||||||
job: null,
|
job: null,
|
||||||
created: false,
|
created: false,
|
||||||
@@ -79,12 +85,16 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
console.log("Manual State", state);
|
||||||
const handleFinish = (values) => {
|
const handleFinish = (values) => {
|
||||||
let job = Object.assign(
|
let job = Object.assign(
|
||||||
{},
|
{},
|
||||||
values,
|
values,
|
||||||
{
|
{
|
||||||
vehicle: state.vehicle.selectedid ? null : values.vehicle,
|
vehicle:
|
||||||
|
state.vehicle.selectedid || state.vehicle.none
|
||||||
|
? null
|
||||||
|
: values.vehicle,
|
||||||
vehicleid: state.vehicle.selectedid || null,
|
vehicleid: state.vehicle.selectedid || null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -109,24 +119,26 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
delete ownerData.id;
|
delete ownerData.id;
|
||||||
delete ownerData.__typename;
|
delete ownerData.__typename;
|
||||||
}
|
}
|
||||||
if (!!!job.vehicleid) {
|
if (!state.vehicle.none) {
|
||||||
delete job.vehicleid;
|
if (!!!job.vehicleid) {
|
||||||
job.vehicle.data.shopid = bodyshop.id;
|
delete job.vehicleid;
|
||||||
job.plate_no = job.vehicle.data.plate_no;
|
job.vehicle.data.shopid = bodyshop.id;
|
||||||
job.plate_st = job.vehicle.data.plate_st;
|
job.plate_no = job.vehicle.data.plate_no;
|
||||||
job.v_vin = job.vehicle.data.v_vin;
|
job.plate_st = job.vehicle.data.plate_st;
|
||||||
job.v_model_yr = job.vehicle.data.v_model_yr;
|
job.v_vin = job.vehicle.data.v_vin;
|
||||||
job.v_model_desc = job.vehicle.data.v_model_desc;
|
job.v_model_yr = job.vehicle.data.v_model_yr;
|
||||||
job.v_make_desc = job.vehicle.data.v_make_desc;
|
job.v_model_desc = job.vehicle.data.v_model_desc;
|
||||||
job.v_color = job.vehicle.data.v_color;
|
job.v_make_desc = job.vehicle.data.v_make_desc;
|
||||||
} else {
|
job.v_color = job.vehicle.data.v_color;
|
||||||
job.plate_no = state.vehicle.vehicleObj.plate_no;
|
} else {
|
||||||
job.plate_st = state.vehicle.vehicleObj.plate_st;
|
job.plate_no = state.vehicle.vehicleObj.plate_no;
|
||||||
job.v_vin = state.vehicle.vehicleObj.v_vin;
|
job.plate_st = state.vehicle.vehicleObj.plate_st;
|
||||||
job.v_model_yr = state.vehicle.vehicleObj.v_model_yr;
|
job.v_vin = state.vehicle.vehicleObj.v_vin;
|
||||||
job.v_model_desc = state.vehicle.vehicleObj.v_model_desc;
|
job.v_model_yr = state.vehicle.vehicleObj.v_model_yr;
|
||||||
job.v_make_desc = state.vehicle.vehicleObj.v_make_desc;
|
job.v_model_desc = state.vehicle.vehicleObj.v_model_desc;
|
||||||
job.v_color = state.vehicle.vehicleObj.v_color;
|
job.v_make_desc = state.vehicle.vehicleObj.v_make_desc;
|
||||||
|
job.v_color = state.vehicle.vehicleObj.v_color;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
job = { ...job, ...ownerData };
|
job = { ...job, ...ownerData };
|
||||||
|
|||||||
@@ -1087,6 +1087,7 @@
|
|||||||
"jobinfo": "Job Info",
|
"jobinfo": "Job Info",
|
||||||
"newowner": "Create a new Owner instead. ",
|
"newowner": "Create a new Owner instead. ",
|
||||||
"newvehicle": "Create a new Vehicle Instead",
|
"newvehicle": "Create a new Vehicle Instead",
|
||||||
|
"novehicle": "No vehicle (only for ROs to track parts/labor only work).",
|
||||||
"ownerinfo": "Owner Info",
|
"ownerinfo": "Owner Info",
|
||||||
"vehicleinfo": "Vehicle Info"
|
"vehicleinfo": "Vehicle Info"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1087,6 +1087,7 @@
|
|||||||
"jobinfo": "",
|
"jobinfo": "",
|
||||||
"newowner": "",
|
"newowner": "",
|
||||||
"newvehicle": "",
|
"newvehicle": "",
|
||||||
|
"novehicle": "",
|
||||||
"ownerinfo": "",
|
"ownerinfo": "",
|
||||||
"vehicleinfo": ""
|
"vehicleinfo": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1087,6 +1087,7 @@
|
|||||||
"jobinfo": "",
|
"jobinfo": "",
|
||||||
"newowner": "",
|
"newowner": "",
|
||||||
"newvehicle": "",
|
"newvehicle": "",
|
||||||
|
"novehicle": "",
|
||||||
"ownerinfo": "",
|
"ownerinfo": "",
|
||||||
"vehicleinfo": ""
|
"vehicleinfo": ""
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user