diff --git a/client/src/components/parts-order-list-table/parts-order-list-table-drawer.component.jsx b/client/src/components/parts-order-list-table/parts-order-list-table-drawer.component.jsx index a04ef4e1e..fe7fa0d63 100644 --- a/client/src/components/parts-order-list-table/parts-order-list-table-drawer.component.jsx +++ b/client/src/components/parts-order-list-table/parts-order-list-table-drawer.component.jsx @@ -1,4 +1,4 @@ -import { DeleteFilled, EyeFilled } from "@ant-design/icons"; +import { DeleteFilled } from "@ant-design/icons"; import { useLazyQuery, useMutation } from "@apollo/client"; import { Button, @@ -12,7 +12,6 @@ import { import queryString from "query-string"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FaTasks } from "react-icons/fa"; import { connect } from "react-redux"; import { useLocation } from "react-router-dom"; import { createStructuredSelector } from "reselect"; @@ -46,17 +45,15 @@ const mapDispatchToProps = (dispatch) => ({ setModalContext({ context: context, modal: "billEnter", - }) + }), ), setPartsReceiveContext: (context) => dispatch( setModalContext({ context: context, modal: "partsReceive", - }) + }), ), - setTaskUpsertContext: (context) => - dispatch(setModalContext({ context, modal: "taskUpsert" })), }); export function PartsOrderListTableDrawerComponent({ @@ -67,7 +64,6 @@ export function PartsOrderListTableDrawerComponent({ billsQuery, handleOnRowClick, setPartsReceiveContext, - setTaskUpsertContext, }) { const selectedBreakpoint = Object.entries(Grid.useBreakpoint()) .filter((screen) => !!screen[1]) @@ -92,8 +88,7 @@ export function PartsOrderListTableDrawerComponent({ sortedInfo: {}, }); - const [returnfrombill, setReturnFromBill] = useState(); - const [billData, setBillData] = useState(); + const [billData, setBillData] = useState(null); const search = queryString.parse(useLocation().search); const selectedpartsorder = search.partsorderid; @@ -102,37 +97,28 @@ export function PartsOrderListTableDrawerComponent({ const parts_orders = billsQuery.data ? billsQuery.data.parts_orders : []; const { refetch } = billsQuery; + const selectedPartsOrderRecord = parts_orders.find( + (r) => r.id === selectedpartsorder, + ); + useEffect(() => { - if (returnfrombill === null) { - setBillData(null); - } else { - const fetchData = async () => { - const result = await billQuery({ - variables: { billid: returnfrombill }, - }); - setBillData(result.data); - }; - fetchData(); - } - }, [returnfrombill, billQuery]); + const fetchData = async () => { + if (selectedPartsOrderRecord?.returnfrombill) { + try { + const { data } = await billQuery({ + variables: { billid: selectedPartsOrderRecord.returnfrombill }, + }); + setBillData(data); + } catch (error) { + console.error("Error fetching bill data:", error); + } + } + }; + fetchData(); + }, [selectedPartsOrderRecord, billQuery]); - const recordActions = (record, showView = false) => ( + const recordActions = (record) => ( - {showView && ( - - )} - - { //Delete the parts return.! - await deletePartsOrder({ variables: { partsOrderId: record.id }, update(cache) { @@ -188,7 +158,7 @@ export function PartsOrderListTableDrawerComponent({ fields: { parts_orders(existingPartsOrders, { readField }) { return existingPartsOrders.filter( - (billref) => record.id !== readField("id", billref) + (billref) => record.id !== readField("id", billref), ); }, }, @@ -209,7 +179,6 @@ export function PartsOrderListTableDrawerComponent({ } onClick={() => { logImEXEvent("parts_order_receive_bill"); - setBillEnterContext({ actions: { refetch: refetch }, context: { @@ -217,27 +186,23 @@ export function PartsOrderListTableDrawerComponent({ bill: { vendorid: record.vendor.id, is_credit_memo: record.return, - billlines: record.parts_order_lines.map((pol) => { - return { - joblineid: pol.job_line_id || "noline", - line_desc: pol.line_desc, - quantity: pol.quantity, - - actual_price: pol.act_price, - - cost_center: pol.jobline?.part_type - ? bodyshop.pbs_serialnumber || bodyshop.cdk_dealerid - ? pol.jobline.part_type !== "PAE" - ? pol.jobline.part_type - : null - : responsibilityCenters.defaults && - (responsibilityCenters.defaults.costs[ - pol.jobline.part_type - ] || - null) - : null, - }; - }), + billlines: record.parts_order_lines.map((pol) => ({ + joblineid: pol.job_line_id || "noline", + line_desc: pol.line_desc, + quantity: pol.quantity, + actual_price: pol.act_price, + cost_center: pol.jobline?.part_type + ? bodyshop.pbs_serialnumber || bodyshop.cdk_dealerid + ? pol.jobline.part_type !== "PAE" + ? pol.jobline.part_type + : null + : responsibilityCenters.defaults && + (responsibilityCenters.defaults.costs[ + pol.jobline.part_type + ] || + null) + : null, + })), }, }, }); @@ -268,10 +233,6 @@ export function PartsOrderListTableDrawerComponent({ setState({ ...state, filteredInfo: filters, sortedInfo: sorter }); }; - const selectedPartsOrderRecord = parts_orders.find( - (r) => r.id === selectedpartsorder - ); - const rowExpander = (record) => { const columns = [ { @@ -411,7 +372,7 @@ export function PartsOrderListTableDrawerComponent({ title={ billData ? `${record.vendor.name} - ${record.order_number} - ${t( - "bills.labels.returnfrombill" + "bills.labels.returnfrombill", )}: ${billData.bills_by_pk.invoice_number}` : `${record.vendor.name} - ${record.order_number}` } @@ -451,5 +412,5 @@ export function PartsOrderListTableDrawerComponent({ export default connect( mapStateToProps, - mapDispatchToProps + mapDispatchToProps, )(PartsOrderListTableDrawerComponent);