From 58dc11000766a2db14fef6354d5303528133a9f1 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 27 May 2026 12:44:43 +0000 Subject: [PATCH] feat: allow admin/logistician to re-edit delivery date after agreement --- src/components/orders/OrderDetailPanel.jsx | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/components/orders/OrderDetailPanel.jsx b/src/components/orders/OrderDetailPanel.jsx index 3d6cea6..9b5fdcd 100644 --- a/src/components/orders/OrderDetailPanel.jsx +++ b/src/components/orders/OrderDetailPanel.jsx @@ -425,7 +425,8 @@ export const OrderDetailPanel = ({ React.useEffect(() => { setSelectedDriverId(order?.assignedDriverId || ""); - }, [order?.assignedDriverId]); + setIsEditingDate(false); + }, [order?.id, order?.assignedDriverId]); React.useEffect(() => { const normalizedDeliveryDate = normalizeDateForInput(order?.deliveryDate); @@ -447,6 +448,8 @@ export const OrderDetailPanel = ({ } const isDeliveryAgreed = (order.deliveryStatus || order.delivery_status) === "agreed"; + const canEditDelivery = canManageDelivery && ["admin", "mega_admin", "logistician"].includes(userRole); + const [isEditingDate, setIsEditingDate] = React.useState(false); const agreedDeliveryLabel = [ formatDeliveryDateDisplay(order.deliveryDate), order.deliveryTime || order.deliveryHalfDay, @@ -611,19 +614,31 @@ export const OrderDetailPanel = ({ : "Если клиент согласовал доставку по телефону, сохраните дату и половину дня здесь."}

- {isDeliveryAgreed ? ( -
-
-
-

- Доставка согласована -

-

- {agreedDeliveryLabel || "Дата и время сохранены"} -

+ {isDeliveryAgreed && !isEditingDate ? ( +
+
+
+
+

+ Доставка согласована +

+

+ {agreedDeliveryLabel || "Дата и время сохранены"} +

+
+ Согласовано
- Согласовано
+ {canEditDelivery ? ( + + ) : null}
) : (