| @@ -52,7 +52,7 @@ const ProductProcessList: React.FC<ProductProcessListProps> = ({ onSelectProcess | |||||
| const handleAssignPickOrder = useCallback(async (pickOrderId: number, jobOrderId?: number, productProcessId?: number) => { | const handleAssignPickOrder = useCallback(async (pickOrderId: number, jobOrderId?: number, productProcessId?: number) => { | ||||
| if (!currentUserId) { | if (!currentUserId) { | ||||
| alert(t("无法获取用户ID")); | |||||
| alert(t("Unable to get user ID")); | |||||
| return; | return; | ||||
| } | } | ||||
| @@ -74,16 +74,16 @@ const ProductProcessList: React.FC<ProductProcessListProps> = ({ onSelectProcess | |||||
| if (onSelectMatchingStock && jobOrderId) { | if (onSelectMatchingStock && jobOrderId) { | ||||
| onSelectMatchingStock(jobOrderId, productProcessId); | onSelectMatchingStock(jobOrderId, productProcessId); | ||||
| } else { | } else { | ||||
| alert(t("分配成功")); | |||||
| alert(t("Assignment successful")); | |||||
| } | } | ||||
| } else { | } else { | ||||
| // 分配失败 | // 分配失败 | ||||
| console.error("❌ Assignment failed:", assignResult.message); | |||||
| alert(t(`分配失败: ${assignResult.message || "未知错误"}`)); | |||||
| console.error("Assignment failed:", assignResult.message); | |||||
| alert(t(`Assignment failed: ${assignResult.message || "Unknown error"}`)); | |||||
| } | } | ||||
| } catch (error: any) { | } catch (error: any) { | ||||
| console.error("❌ Error assigning pick order:", error); | |||||
| alert(t(`分配时出错: ${error?.message || "未知错误"}。请稍后重试。`)); | |||||
| console.error(" Error assigning pick order:", error); | |||||
| alert(t(`Unknown error: ${error?.message || "Unknown error"}。Please try again later.`)); | |||||
| } | } | ||||
| }, [currentUserId, t, onSelectMatchingStock]); | }, [currentUserId, t, onSelectMatchingStock]); | ||||
| const handleViewStockIn = useCallback((process: AllJoborderProductProcessInfoResponse) => { | const handleViewStockIn = useCallback((process: AllJoborderProductProcessInfoResponse) => { | ||||
| @@ -46,7 +46,7 @@ const ProductionProcessPage: React.FC<ProductionProcessPageProps> = ({ printerCo | |||||
| // 验证数据有效性 | // 验证数据有效性 | ||||
| if (parsed && typeof parsed.jobOrderId === 'number' && typeof parsed.productProcessId === 'number') { | if (parsed && typeof parsed.jobOrderId === 'number' && typeof parsed.productProcessId === 'number') { | ||||
| setSelectedMatchingStock(parsed); | setSelectedMatchingStock(parsed); | ||||
| console.log("📦 Restored selectedMatchingStock from sessionStorage:", parsed); | |||||
| console.log(" Restored selectedMatchingStock from sessionStorage:", parsed); | |||||
| } | } | ||||
| } | } | ||||
| } catch (error) { | } catch (error) { | ||||
| @@ -61,7 +61,7 @@ const ProductionProcessPage: React.FC<ProductionProcessPageProps> = ({ printerCo | |||||
| if (typeof window !== 'undefined') { | if (typeof window !== 'undefined') { | ||||
| if (selectedMatchingStock) { | if (selectedMatchingStock) { | ||||
| sessionStorage.setItem(STORAGE_KEY, JSON.stringify(selectedMatchingStock)); | sessionStorage.setItem(STORAGE_KEY, JSON.stringify(selectedMatchingStock)); | ||||
| console.log("💾 Saved selectedMatchingStock to sessionStorage:", selectedMatchingStock); | |||||
| console.log(" Saved selectedMatchingStock to sessionStorage:", selectedMatchingStock); | |||||
| } else { | } else { | ||||
| sessionStorage.removeItem(STORAGE_KEY); | sessionStorage.removeItem(STORAGE_KEY); | ||||
| } | } | ||||
| @@ -12,10 +12,15 @@ | |||||
| "Code": "編號", | "Code": "編號", | ||||
| "code": "編號", | "code": "編號", | ||||
| "Name": "名稱", | "Name": "名稱", | ||||
| "Assignment successful": "分配成功", | |||||
| "Unable to get user ID": "無法獲取用戶ID", | |||||
| "Unknown error: ": "未知錯誤: ", | |||||
| "Please try again later.": "請稍後重試。", | |||||
| "Type": "類型", | "Type": "類型", | ||||
| "Update Job Order": "更新工單", | "Update Job Order": "更新工單", | ||||
| "No": "沒有", | "No": "沒有", | ||||
| "Assignment failed: ": "分配失敗: ", | |||||
| "Unknown error": "未知錯誤", | |||||
| "WIP": "半成品", | "WIP": "半成品", | ||||
| "R&D": "研發", | "R&D": "研發", | ||||
| "STF": "樣品", | "STF": "樣品", | ||||
| @@ -37,8 +37,13 @@ | |||||
| "Scanned": "已掃碼", | "Scanned": "已掃碼", | ||||
| "Scan Status": "掃碼狀態", | "Scan Status": "掃碼狀態", | ||||
| "Start Job Order": "開始工單", | "Start Job Order": "開始工單", | ||||
| "Unable to get user ID": "無法獲取用戶ID", | |||||
| "Assignment successful": "分配成功", | |||||
| "Target Production Date": "預計生產日期", | "Target Production Date": "預計生產日期", | ||||
| "Production Priority": "生產優先度", | "Production Priority": "生產優先度", | ||||
| "Assignment failed: ": "分配失敗: ", | |||||
| "Unknown error": "未知錯誤", | |||||
| "Unknown error: ": "未知錯誤: ", | |||||
| "Sequence": "序", | "Sequence": "序", | ||||
| "Item Code": "成品/半成品編號", | "Item Code": "成品/半成品編號", | ||||
| "Paused": "已暫停", | "Paused": "已暫停", | ||||