From 3a87b366f2266dd191a23ba1ba9fe802fb5afa4e Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Sun, 26 Apr 2026 21:33:59 +0800 Subject: [PATCH] update --- .../WorkbenchPickExecution.tsx | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/components/PickOrderSearch/WorkbenchPickExecution.tsx b/src/components/PickOrderSearch/WorkbenchPickExecution.tsx index 8817a16..8b89097 100644 --- a/src/components/PickOrderSearch/WorkbenchPickExecution.tsx +++ b/src/components/PickOrderSearch/WorkbenchPickExecution.tsx @@ -108,6 +108,7 @@ const ManualLotConfirmationModal: React.FC<{ isLoading?: boolean; }> = ({ open, onClose, onConfirm, expectedLot, scannedLot, isLoading = false }) => { const { t } = useTranslation("pickOrder"); + const [expectedLotInput, setExpectedLotInput] = useState(""); const [scannedLotInput, setScannedLotInput] = useState(""); const [error, setError] = useState(""); @@ -298,7 +299,11 @@ const WorkbenchPickExecution: React.FC = ({ filterArgs }) => { const [pickOrderLoading, setPickOrderLoading] = useState(false); const [pagingController, setPagingController] = useState({ pageNum: 1, pageSize: 10 }); const [totalCountItems, setTotalCountItems] = useState(0); - + const localizeBackendMessage = (msg: unknown, fallbackKey: string) => { + const text = typeof msg === "string" ? msg.trim() : ""; + if (!text) return t(fallbackKey); + return t(text, { defaultValue: text }); + }; const [selectedPickOrderLineId, setSelectedPickOrderLineId] = useState(null); const [selectedPickOrderId, setSelectedPickOrderId] = useState(null); const [selectedTopMeta, setSelectedTopMeta] = useState<{ @@ -579,21 +584,13 @@ const WorkbenchPickExecution: React.FC = ({ filterArgs }) => { ...(typeof qtyValue === "number" && Number.isFinite(qtyValue) ? { qty: qtyValue } : {}), userId, }); - if (res.code !== "SUCCESS") { - setError((res.message as string) || t("Scan pick failed")); - startTransition(() => { - setQrScanError(true); - setQrScanSuccess(false); - setQrScanErrorMsg((res.message as string) || t("Scan pick failed")); - }); - return; - } - setMessage((res.message as string) || t("Scan pick success")); - startTransition(() => { - setQrScanError(false); - setQrScanSuccess(true); - setQrScanSuccessMsg((res.message as string) || t("Scan pick success")); - }); + const errMsg = localizeBackendMessage(res.message, "Scan pick failed"); + setError(errMsg); + setQrScanErrorMsg(errMsg); + + const okMsg = localizeBackendMessage(res.message, "Scan pick success"); + setMessage(okMsg); + setQrScanSuccessMsg(okMsg); if (workbenchScanPickResponseNeedsFullRefresh(res)) { if (selectedPickOrderId != null && selectedPickOrderLineId != null && selectedTopMeta) { await loadLineDetailV2(selectedPickOrderId, selectedPickOrderLineId, selectedTopMeta);