From a111565b204f8bf785eb1b9e93c7fdd4fde661cf Mon Sep 17 00:00:00 2001 From: AymaneMG <aymanemaghouti16@gmail.com> Date: Wed, 2 Oct 2024 00:33:09 +0100 Subject: [PATCH] =?UTF-8?q?Retour=20commande=20d'achat=20cot=C3=A9=20chauf?= =?UTF-8?q?feur=20et=20commande=20de=20vente=20cot=C3=A9=20BO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/_mock/_supplierOrder.ts | 6 ++-- src/shared/api/SupplierOrder.ts | 16 +++++----- src/shared/api/saleOrder.ts | 8 ++++- .../order/all-orders/order-table-row.tsx | 7 +++-- .../order/details/order-details-toolbar.tsx | 6 ++-- .../order/details/order-status-history.tsx | 6 ++-- .../driver/order/view/order-details-view.tsx | 2 +- .../order/view/supplier-order-list-view.tsx | 30 +++++++++---------- .../Order-table-toolbar.tsx | 3 -- src/shared/types/supplierOrder.ts | 12 ++++---- 10 files changed, 50 insertions(+), 46 deletions(-) diff --git a/src/shared/_mock/_supplierOrder.ts b/src/shared/_mock/_supplierOrder.ts index c2bd085b..8674589e 100644 --- a/src/shared/_mock/_supplierOrder.ts +++ b/src/shared/_mock/_supplierOrder.ts @@ -11,9 +11,9 @@ export const OrderStatus = [ ]; export const ORDER_STATUS_OPTIONS = [ - { value: IOrderStatus.Completed, label: "terminé" }, - { value: IOrderStatus.Pending, label: "à faire" }, - { value: IOrderStatus.Ongoing, label: "en cours" } + { value: IOrderStatus.Completed, label: "livré" }, + { value: IOrderStatus.Pending, label: "à collecter" }, + { value: IOrderStatus.Ongoing, label: "réceptionné" } ]; const ITEMS = [...Array(3)].map((_, index) => ({ diff --git a/src/shared/api/SupplierOrder.ts b/src/shared/api/SupplierOrder.ts index 8077a4ac..89befb8c 100644 --- a/src/shared/api/SupplierOrder.ts +++ b/src/shared/api/SupplierOrder.ts @@ -23,7 +23,7 @@ export const fetcher = async (url: string) => { const mapOrderData = (data: any[]): ISupplierOrderItem[] => { return data.map(order => ({ id: order.id, - orderNumber: `60${order.id}`, + orderNumber: `${order.id}`, createdAt: new Date(order.creationDate), deliveryDate: new Date(order.deliveryDate), fullAddress: `${order.street}, ${order.city}, ${order.state}, ${order.zipCode}, ${order.country}`, @@ -60,7 +60,7 @@ export const useGetSupplierOrderDetails = (orderId: string) => { if (data) { return { id: data.orderId, - orderNumber: `60${data.orderId}`, + orderNumber: `${data.orderId}`, status:data.status, createdAt: new Date(data.creationDate), deliveryDate: new Date(data.deliveryDate), @@ -121,11 +121,11 @@ export const updateOrderStatus = async (orderId: string, newStatus: IOrderStatus const mapStatus = (status: string) => { switch (status) { case "A_COLLECTER": - return "à faire"; + return "à collecter"; case "LIVREE": - return "en cours"; + return "livré"; case "RECEPTIONNEE": - return "terminé"; + return "réceptionné"; default: return status; } @@ -134,11 +134,11 @@ const mapStatus = (status: string) => { const reverseMapStatus = (status: IOrderStatus) => { switch (status) { - case "à faire": + case "à collecter": return "A_COLLECTER"; - case "en cours": + case "livré": return "LIVREE"; - case "terminé": + case "réceptionné": return "RECEPTIONNEE"; default: return status; diff --git a/src/shared/api/saleOrder.ts b/src/shared/api/saleOrder.ts index f9f15dc9..fe947207 100644 --- a/src/shared/api/saleOrder.ts +++ b/src/shared/api/saleOrder.ts @@ -36,7 +36,13 @@ export const deleteSaleOrderItem = async (id: string ) => { export const fetchAllSaleOrders = async (): Promise<SaleOrder[]> => { try { const response = await axiosInstance.get<SaleOrder[]>(endpoints.saleOrder.getAll); - return response.data; + + // Sort the data based on creationDate from latest to oldest + const sortedData = response.data.sort((a, b) => { + return new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime(); + }); + + return sortedData; } catch (error) { throw new Error('Failed to fetch sale orders'); } diff --git a/src/shared/sections/driver/order/all-orders/order-table-row.tsx b/src/shared/sections/driver/order/all-orders/order-table-row.tsx index f62ba9f3..d713a64e 100644 --- a/src/shared/sections/driver/order/all-orders/order-table-row.tsx +++ b/src/shared/sections/driver/order/all-orders/order-table-row.tsx @@ -43,6 +43,7 @@ export default function OrderTableRow({ <Box sx={{ cursor: 'pointer', + textAlign: 'center', '&:hover': { textDecoration: 'underline', }, @@ -103,9 +104,9 @@ export default function OrderTableRow({ <Label variant="soft" color={ - (status === 'terminé' && 'success') || - (status === 'à faire' && 'warning') || - (status === 'en cours' && 'info') || + (status === 'livré' && 'success') || + (status === 'à collecter' && 'warning') || + (status === 'réceptionné' && 'info') || 'default' } > diff --git a/src/shared/sections/driver/order/details/order-details-toolbar.tsx b/src/shared/sections/driver/order/details/order-details-toolbar.tsx index c40ac2df..d22ee88c 100644 --- a/src/shared/sections/driver/order/details/order-details-toolbar.tsx +++ b/src/shared/sections/driver/order/details/order-details-toolbar.tsx @@ -16,9 +16,9 @@ const mapStatus = (status: string): IOrderStatus => { switch (status) { case "A_COLLECTER": return IOrderStatus.Pending; - case "LIVREE": - return IOrderStatus.Ongoing; case "RECEPTIONNEE": + return IOrderStatus.Ongoing; + case "LIVREE": return IOrderStatus.Completed; default: return status as IOrderStatus; // Fallback case @@ -146,7 +146,7 @@ export default function OrderDetailsToolbar({ onClick={handleValidéClick} disabled={selectedStatus === mappedStatus} > - Validé + Valider </Button> </Stack> </Stack> diff --git a/src/shared/sections/driver/order/details/order-status-history.tsx b/src/shared/sections/driver/order/details/order-status-history.tsx index e7231efa..257d699a 100644 --- a/src/shared/sections/driver/order/details/order-status-history.tsx +++ b/src/shared/sections/driver/order/details/order-status-history.tsx @@ -48,8 +48,8 @@ export default function OrderStatusHistory({ history }: Props) { <Table> <TableHead> <TableRow> - <StyledTableHeadCell>Old Status</StyledTableHeadCell> - <StyledTableHeadCell>New Status</StyledTableHeadCell> + <StyledTableHeadCell>Ancien Status</StyledTableHeadCell> + <StyledTableHeadCell>Nouveau Status</StyledTableHeadCell> <StyledTableHeadCell>Date de changement</StyledTableHeadCell> </TableRow> </TableHead> @@ -59,7 +59,7 @@ export default function OrderStatusHistory({ history }: Props) { <StyledTableCell>{item.oldstatus}</StyledTableCell> <StyledTableCell>{item.newstatus}</StyledTableCell> <StyledTableCell> - {format(new Date(item.date), 'dd MMMM yyyy HH:mm')} + {format(new Date(item.date), 'dd-MM-yyyy HH:mm')} </StyledTableCell> </StyledTableRow> ))} diff --git a/src/shared/sections/driver/order/view/order-details-view.tsx b/src/shared/sections/driver/order/view/order-details-view.tsx index b364d3c7..b20b70cd 100644 --- a/src/shared/sections/driver/order/view/order-details-view.tsx +++ b/src/shared/sections/driver/order/view/order-details-view.tsx @@ -51,7 +51,7 @@ export default function OrderDetailsView({ id }: Props) { <OrderDetailsToolbar orderId={orderDetails.id} backLink={backLink} - orderNumber={`60${orderDetails.id}`} + orderNumber={orderDetails.id} createdAt={orderDetails.createdAt} deliveryDate={orderDetails.deliveryDate} status={orderDetails.status} diff --git a/src/shared/sections/driver/order/view/supplier-order-list-view.tsx b/src/shared/sections/driver/order/view/supplier-order-list-view.tsx index b1273977..36e8c125 100644 --- a/src/shared/sections/driver/order/view/supplier-order-list-view.tsx +++ b/src/shared/sections/driver/order/view/supplier-order-list-view.tsx @@ -59,9 +59,9 @@ interface IOrderStatusOption { const STATUS_OPTIONS: IOrderStatusOption[] = [ { value: 'all', label: 'All' }, - { value: 'à faire', label: 'À Faire' }, - { value: 'en cours', label: 'En Cours' }, - { value: 'terminé', label: 'Terminé' }, + { value: 'à collecter', label: 'à collecter' }, + { value: 'réceptionné', label: 'réceptionné' }, + { value: 'livré', label: 'livré' }, ]; const TABLE_HEAD = [ @@ -205,15 +205,15 @@ export default function OrderListView() { const statusCounts = useMemo(() => { const allCount = dataFiltered.length; - const completedCount = dataFiltered.filter(order => order.status === 'terminé').length; - const pendingCount = dataFiltered.filter(order => order.status === 'à faire').length; - const ongoingCount = dataFiltered.filter(order => order.status === 'en cours').length; + const completedCount = dataFiltered.filter(order => order.status === 'livré').length; + const pendingCount = dataFiltered.filter(order => order.status === 'à collecter').length; + const ongoingCount = dataFiltered.filter(order => order.status === 'réceptionné').length; return { all: allCount, - terminé: completedCount, - 'à faire': pendingCount, - 'en cours': ongoingCount, + livré: completedCount, + 'à collecter': pendingCount, + 'réceptionné': ongoingCount, }; }, [dataFiltered]); @@ -272,16 +272,16 @@ export default function OrderListView() { <Label variant={(tab.value === filters.status && 'filled') || 'soft'} color={ - (tab.value === 'terminé' && 'success') || - (tab.value === 'à faire' && 'warning') || - (tab.value === 'en cours' && 'info') || + (tab.value === 'livré' && 'success') || + (tab.value === 'à collecter' && 'warning') || + (tab.value === 'réceptionné' && 'info') || 'default' } > {tab.value === 'all' ? statusCounts.all : - tab.value === 'terminé' ? statusCounts.terminé : - tab.value === 'à faire' ? statusCounts['à faire'] : - statusCounts['en cours']} + tab.value === 'livré' ? statusCounts.livré : + tab.value === 'à collecter' ? statusCounts['à collecter'] : + statusCounts['réceptionné']} </Label> } /> diff --git a/src/shared/sections/supplier/All-OrderSaleSupplier/Order-table-toolbar.tsx b/src/shared/sections/supplier/All-OrderSaleSupplier/Order-table-toolbar.tsx index 3d1d3a96..6c627c0c 100644 --- a/src/shared/sections/supplier/All-OrderSaleSupplier/Order-table-toolbar.tsx +++ b/src/shared/sections/supplier/All-OrderSaleSupplier/Order-table-toolbar.tsx @@ -105,9 +105,6 @@ export default function InvoiceTableToolbar({ }} /> - <IconButton onClick={popover.onOpen}> - <Iconify icon="eva:more-vertical-fill" /> - </IconButton> </Stack> </Stack> </> diff --git a/src/shared/types/supplierOrder.ts b/src/shared/types/supplierOrder.ts index 90c6b8f9..4f837fd5 100644 --- a/src/shared/types/supplierOrder.ts +++ b/src/shared/types/supplierOrder.ts @@ -21,15 +21,15 @@ export type ISupplierOrderTableFilters = { }; export enum IOrderSupplierStatus { - Completed = "terminé", - Pending = "à faire", - Ongoing= "en cours" + Completed = "livré", + Pending = "à collecter", + Ongoing= "réceptionné" } export enum IOrderStatus { - Completed = "terminé", - Pending = "à faire", - Ongoing= "en cours" + Completed = "livré", + Pending = "à collecter", + Ongoing= "réceptionné" } // ---------------------------------------------------------------------- -- GitLab