diff --git a/client/src/components/dms-cdk-makes/dms-cdk-makes.component.jsx b/client/src/components/dms-cdk-makes/dms-cdk-makes.component.jsx index b0ad42ee9..07b0ddc71 100644 --- a/client/src/components/dms-cdk-makes/dms-cdk-makes.component.jsx +++ b/client/src/components/dms-cdk-makes/dms-cdk-makes.component.jsx @@ -4,7 +4,9 @@ import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { selectBodyshop } from "../../redux/user/user.selectors"; import { useTranslation } from "react-i18next"; - +import { useLazyQuery } from "@apollo/client"; +import { SEARCH_DMS_VEHICLES } from "../../graphql/dms.queries"; +import AlertComponent from "../alert/alert.component"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser bodyshop: selectBodyshop, @@ -12,76 +14,75 @@ const mapStateToProps = createStructuredSelector({ const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); -export default connect(mapStateToProps, mapDispatchToProps)(DmsCdkMakes); +export default connect(mapStateToProps, mapDispatchToProps)(DmsCdkVehicles); -export function DmsCdkMakes({ bodyshop, form, socket }) { - const [makesList, setMakesList] = useState([]); - const [searchText, setSearchText] = useState(""); - const [loading, setLoading] = useState(false); +export function DmsCdkVehicles({ bodyshop, form, socket, job }) { const [visible, setVisible] = useState(false); const [selectedModel, setSelectedModel] = useState(null); const { t } = useTranslation(); + + const [callSearch, { loading, error, data }] = + useLazyQuery(SEARCH_DMS_VEHICLES); const columns = [ { - title: t("jobs.fields.dms.makeFullName"), - dataIndex: "makeFullName", - key: "makeFullName", + title: t("jobs.fields.dms.make"), + dataIndex: "make", + key: "make", }, { - title: t("jobs.fields.dms.modelFullName"), - dataIndex: "modelFullName", - key: "modelFullName", + title: t("jobs.fields.dms.model"), + dataIndex: "model", + key: "model", }, { - title: t("jobs.fields.dms.makeCode"), - dataIndex: "makeCode", - key: "makeCode", + title: t("jobs.fields.dms.makecode"), + dataIndex: "makecode", + key: "makecode", }, { - title: t("jobs.fields.dms.modelCode"), - dataIndex: "modelCode", - key: "modelCode", + title: t("jobs.fields.dms.modelcode"), + dataIndex: "modelcode", + key: "modelcode", }, ]; - const filteredMakes = - searchText !== "" && searchText - ? makesList.filter( - (make) => - searchText - .split(" ") - .some((v) => - make.makeFullName.toLowerCase().includes(v.toLowerCase()) - ) || - searchText - .split(" ") - .some((v) => - make.modelFullName.toLowerCase().includes(v.toLowerCase()) - ) - ) - : makesList; - + console.log( + "🚀 ~ file: dms-cdk-makes.component.jsx ~ line 95 ~ selectedModel", + selectedModel + ); return (
- setVisible(false)}> + setVisible(false)} + onOk={() => { + form.setFieldsValue({ + dms_make: selectedModel.makecode, + dms_model: selectedModel.modelcode, + }); + setVisible(false); + }} + > + {error && } ( setSearchText(val)} + onSearch={(val) => callSearch({ variables: { search: val } })} placeholder={t("general.labels.search")} /> )} columns={columns} loading={loading} - id="id" - dataSource={filteredMakes} + rowKey="id" + dataSource={data ? data.search_dms_vehicles : []} onRow={(record) => { return { - onClick: setSelectedModel(record), + onClick: () => setSelectedModel(record), }; }} rowSelection={{ - onSelect: (record, selected, ...props) => { + onSelect: (record) => { setSelectedModel(record); }, @@ -93,9 +94,14 @@ export function DmsCdkMakes({ bodyshop, form, socket }) { ); diff --git a/client/src/components/dms-post-form/dms-post-form.component.jsx b/client/src/components/dms-post-form/dms-post-form.component.jsx index df492cde0..ffb38f801 100644 --- a/client/src/components/dms-post-form/dms-post-form.component.jsx +++ b/client/src/components/dms-post-form/dms-post-form.component.jsx @@ -111,7 +111,7 @@ export function DmsPostForm({ bodyshop, socket, job }) { }, ]} > - + - + - + diff --git a/client/src/graphql/dms.queries.js b/client/src/graphql/dms.queries.js new file mode 100644 index 000000000..eaa0a82a8 --- /dev/null +++ b/client/src/graphql/dms.queries.js @@ -0,0 +1,13 @@ +import { gql } from "@apollo/client"; + +export const SEARCH_DMS_VEHICLES = gql` + query SEARCH_DMS_VEHICLES($search: String) { + search_dms_vehicles(args: { search: $search }) { + id + make + makecode + model + modelcode + } + } +`; diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 00c0b3911..81e605688 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -1888,6 +1888,7 @@ export const QUERY_JOB_EXPORT_DMS = gql` job_totals kmin kmout + v_model_desc } } `; diff --git a/client/src/pages/dms/dms.container.jsx b/client/src/pages/dms/dms.container.jsx index 79d6e9d11..15672f0f1 100644 --- a/client/src/pages/dms/dms.container.jsx +++ b/client/src/pages/dms/dms.container.jsx @@ -103,8 +103,6 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) { if (!jobId || !bodyshop.cdk_dealerid) return ; - const dmsType = determineDmsType(bodyshop); - if (loading) return ; if (error) return ; @@ -112,6 +110,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
+ {data && data.jobs_by_pk.ro_number}