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}
) : (