|
|
|
@@ -69,7 +69,6 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
const fetchReleasedOrderCount = useCallback(async () => { |
|
|
|
try { |
|
|
|
const releasedOrders = await fetchReleasedDoPickOrders(); |
|
|
|
// Count only orders that have a valid doOrderId |
|
|
|
const validCount = releasedOrders.filter(order => order.doOrderId).length; |
|
|
|
setReleasedOrderCount(validCount); |
|
|
|
} catch (error) { |
|
|
|
@@ -105,7 +104,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
if(response.success){ |
|
|
|
Swal.fire({ |
|
|
|
position: "bottom-end", |
|
|
|
icon: "info", |
|
|
|
icon: "success", |
|
|
|
text: t("Printed Successfully."), |
|
|
|
showConfirmButton: false, |
|
|
|
timer: 1500 |
|
|
|
@@ -130,21 +129,30 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
console.log("Found released orders:", releasedOrders); |
|
|
|
|
|
|
|
const confirmResult = await Swal.fire({ |
|
|
|
title: t("Confirm Print"), |
|
|
|
text: t(`Do you want to print ${releasedOrders.length} draft(s)?`), |
|
|
|
title: t("Batch Print"), |
|
|
|
text: t("Confirm print: (") + releasedOrders.length.toString() + t("piece(s))"), |
|
|
|
icon: "question", |
|
|
|
showCancelButton: true, |
|
|
|
confirmButtonText: t("Yes, print"), |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
cancelButtonText: t("Cancel"), |
|
|
|
confirmButtonColor: "#3085d6", |
|
|
|
cancelButtonColor: "#d33" |
|
|
|
confirmButtonColor: "#8dba00", |
|
|
|
cancelButtonColor: "#F04438" |
|
|
|
}); |
|
|
|
|
|
|
|
// If user cancels, exit the function |
|
|
|
if (!confirmResult.isConfirmed) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
Swal.fire({ |
|
|
|
title: t("Printing..."), |
|
|
|
text: t("Please wait..."), |
|
|
|
allowOutsideClick: false, |
|
|
|
allowEscapeKey: false, |
|
|
|
didOpen: () => { |
|
|
|
Swal.showLoading(); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
for (const order of releasedOrders) { |
|
|
|
const { doOrderId, pickOrderId } = order; |
|
|
|
|
|
|
|
@@ -170,7 +178,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
Swal.fire({ |
|
|
|
position: "bottom-end", |
|
|
|
icon: "success", |
|
|
|
text: t(`Printed ${releasedOrders.length} draft(s) successfully.`), |
|
|
|
text: t("Printed Successfully."), |
|
|
|
showConfirmButton: false, |
|
|
|
timer: 1500 |
|
|
|
}); |
|
|
|
@@ -183,6 +191,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
const handleDN = useCallback(async () =>{ |
|
|
|
const askNumofCarton = await Swal.fire({ |
|
|
|
title: t("Enter the number of cartons: "), |
|
|
|
icon: "info", |
|
|
|
input: "number", |
|
|
|
inputPlaceholder: t("Number of cartons"), |
|
|
|
inputAttributes:{ |
|
|
|
@@ -201,6 +210,8 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
showCancelButton: true, |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
cancelButtonText: t("Cancel"), |
|
|
|
confirmButtonColor: "#8dba00", |
|
|
|
cancelButtonColor: "#F04438", |
|
|
|
showLoaderOnConfirm: true, |
|
|
|
allowOutsideClick: () => !Swal.isLoading() |
|
|
|
}); |
|
|
|
@@ -233,7 +244,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
if(response.success){ |
|
|
|
Swal.fire({ |
|
|
|
position: "bottom-end", |
|
|
|
icon: "info", |
|
|
|
icon: "success", |
|
|
|
text: t("Printed Successfully."), |
|
|
|
showConfirmButton: false, |
|
|
|
timer: 1500 |
|
|
|
@@ -250,6 +261,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
const handleDNandLabel = useCallback(async () =>{ |
|
|
|
const askNumofCarton = await Swal.fire({ |
|
|
|
title: t("Enter the number of cartons: "), |
|
|
|
icon: "info", |
|
|
|
input: "number", |
|
|
|
inputPlaceholder: t("Number of cartons"), |
|
|
|
inputAttributes:{ |
|
|
|
@@ -268,6 +280,8 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
showCancelButton: true, |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
cancelButtonText: t("Cancel"), |
|
|
|
confirmButtonColor: "#8dba00", |
|
|
|
cancelButtonColor: "#F04438", |
|
|
|
showLoaderOnConfirm: true, |
|
|
|
allowOutsideClick: () => !Swal.isLoading() |
|
|
|
}); |
|
|
|
@@ -310,7 +324,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
if(LabelsResponse.success && DNResponse.success){ |
|
|
|
Swal.fire({ |
|
|
|
position: "bottom-end", |
|
|
|
icon: "info", |
|
|
|
icon: "success", |
|
|
|
text: t("Printed Successfully."), |
|
|
|
showConfirmButton: false, |
|
|
|
timer: 1500 |
|
|
|
@@ -332,6 +346,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
const handleLabel = useCallback(async () =>{ |
|
|
|
const askNumofCarton = await Swal.fire({ |
|
|
|
title: t("Enter the number of cartons: "), |
|
|
|
icon: "info", |
|
|
|
input: "number", |
|
|
|
inputPlaceholder: t("Number of cartons"), |
|
|
|
inputAttributes:{ |
|
|
|
@@ -350,6 +365,8 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
showCancelButton: true, |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
cancelButtonText: t("Cancel"), |
|
|
|
confirmButtonColor: "#8dba00", |
|
|
|
cancelButtonColor: "#F04438", |
|
|
|
showLoaderOnConfirm: true, |
|
|
|
allowOutsideClick: () => !Swal.isLoading() |
|
|
|
}); |
|
|
|
@@ -380,7 +397,7 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
if(response.success){ |
|
|
|
Swal.fire({ |
|
|
|
position: "bottom-end", |
|
|
|
icon: "info", |
|
|
|
icon: "success", |
|
|
|
text: t("Printed Successfully."), |
|
|
|
showConfirmButton: false, |
|
|
|
timer: 1500 |
|
|
|
@@ -454,19 +471,40 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders }) => { |
|
|
|
window.dispatchEvent(new CustomEvent('pickOrderAssigned')); |
|
|
|
} else if (res.code === "USER_BUSY") { |
|
|
|
console.warn("⚠️ User already has pick orders in progress:", res.message); |
|
|
|
Swal.fire({ |
|
|
|
icon: "warning", |
|
|
|
title: t("Warning"), |
|
|
|
text: t("You already have a pick order in progess. Please complete it first before taking next pick order."), |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
confirmButtonColor: "#8dba00" |
|
|
|
}); |
|
|
|
// ✅ Show warning but still refresh to show existing orders |
|
|
|
alert(`Warning: ${res.message}`); |
|
|
|
//alert(`Warning: ${res.message}`); |
|
|
|
window.dispatchEvent(new CustomEvent('pickOrderAssigned')); |
|
|
|
} else if (res.code === "NO_ORDERS") { |
|
|
|
console.log("ℹ️ No available pick orders for store", storeId); |
|
|
|
alert(`Info: ${res.message}`); |
|
|
|
Swal.fire({ |
|
|
|
icon: "info", |
|
|
|
title: t("Info"), |
|
|
|
text: t("No available pick order(s) for this floor."), |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
confirmButtonColor: "#8dba00" |
|
|
|
}); |
|
|
|
//alert(`Info: ${res.message}`); |
|
|
|
} else { |
|
|
|
console.log("ℹ️ Assignment result:", res.message); |
|
|
|
alert(`Info: ${res.message}`); |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.error("❌ Error assigning by store:", error); |
|
|
|
alert("Error occurred during assignment"); |
|
|
|
Swal.fire({ |
|
|
|
icon: "error", |
|
|
|
title: t("Error"), |
|
|
|
text: t("Error occurred during assignment."), |
|
|
|
confirmButtonText: t("Confirm"), |
|
|
|
confirmButtonColor: "#8dba00" |
|
|
|
}); |
|
|
|
//alert("Error occurred during assignment"); |
|
|
|
} finally { |
|
|
|
setIsAssigning(false); |
|
|
|
} |
|
|
|
|