diff --git a/src/app/(main)/jodetail/page.tsx b/src/app/(main)/jodetail/page.tsx index 19e2640..26b13e7 100644 --- a/src/app/(main)/jodetail/page.tsx +++ b/src/app/(main)/jodetail/page.tsx @@ -7,7 +7,7 @@ import React, { Suspense } from "react"; import GeneralLoading from "@/components/General/GeneralLoading"; export const metadata: Metadata = { - title: "Job Order detail" + title: "Job Order Detail" } const jo: React.FC = async () => { @@ -24,7 +24,7 @@ const jo: React.FC = async () => { rowGap={2} > - {t("Job Order detail")} + {t("Job Order Detail")} diff --git a/src/components/Jodetail/FinishedGoodSearchWrapper.tsx b/src/components/Jodetail/FinishedGoodSearchWrapper.tsx index 1df245d..da633c5 100644 --- a/src/components/Jodetail/FinishedGoodSearchWrapper.tsx +++ b/src/components/Jodetail/FinishedGoodSearchWrapper.tsx @@ -1,6 +1,6 @@ import { fetchPickOrders } from "@/app/api/pickOrder"; import GeneralLoading from "../General/GeneralLoading"; -import PickOrderSearch from "./FinishedGoodSearch"; +import PickOrderSearch from "./FinishedGoodSearchWrapper"; interface SubComponents { Loading: typeof GeneralLoading; @@ -18,7 +18,7 @@ const FinishedGoodSearchWrapper: React.FC & SubComponents = async () => { }), ]); - return ; + return ; }; FinishedGoodSearchWrapper.Loading = GeneralLoading; diff --git a/src/components/Jodetail/JobPickExecution.tsx b/src/components/Jodetail/JobPickExecution.tsx index 87c6bf2..11c27a9 100644 --- a/src/components/Jodetail/JobPickExecution.tsx +++ b/src/components/Jodetail/JobPickExecution.tsx @@ -68,7 +68,7 @@ const QrCodeModal: React.FC<{ onQrCodeSubmit: (lotNo: string) => void; combinedLotData: any[]; }> = ({ open, onClose, lot, onQrCodeSubmit, combinedLotData }) => { - const { t } = useTranslation("pickOrder"); + const { t } = useTranslation("jo"); const { values: qrValues, isScanning, startScan, stopScan, resetScan } = useQrCodeScannerContext(); const [manualInput, setManualInput] = useState(''); @@ -315,7 +315,7 @@ const QrCodeModal: React.FC<{ }; const JobPickExecution: React.FC = ({ filterArgs }) => { - const { t } = useTranslation("pickOrder"); + const { t } = useTranslation("jo"); const router = useRouter(); const { data: session } = useSession() as { data: SessionWithTokens | null }; @@ -1301,7 +1301,7 @@ const JobPickExecution: React.FC = ({ filterArgs }) => { {t("Route")} {t("Item Code")} {t("Item Name")} - {t("Lot#")} + {t("Lot No")} {t("Lot Required Pick Qty")} {t("Scan Result")} {t("Submit Required Pick Qty")} diff --git a/src/components/Jodetail/JobPickExecutionsecondscan.tsx b/src/components/Jodetail/JobPickExecutionsecondscan.tsx index fbc2122..1e56bd0 100644 --- a/src/components/Jodetail/JobPickExecutionsecondscan.tsx +++ b/src/components/Jodetail/JobPickExecutionsecondscan.tsx @@ -61,7 +61,7 @@ const QrCodeModal: React.FC<{ onQrCodeSubmit: (lotNo: string) => void; combinedLotData: any[]; }> = ({ open, onClose, lot, onQrCodeSubmit, combinedLotData }) => { - const { t } = useTranslation("pickOrder"); + const { t } = useTranslation("jo"); const { values: qrValues, isScanning, startScan, stopScan, resetScan } = useQrCodeScannerContext(); const [manualInput, setManualInput] = useState(''); @@ -308,7 +308,7 @@ const QrCodeModal: React.FC<{ }; const JobPickExecution: React.FC = ({ filterArgs }) => { - const { t } = useTranslation("pickOrder"); + const { t } = useTranslation("jo"); const router = useRouter(); const { data: session } = useSession() as { data: SessionWithTokens | null }; @@ -1082,7 +1082,7 @@ const paginatedData = useMemo(() => { {t("Route")} {t("Item Code")} {t("Item Name")} - {t("Lot#")} + {t("Lot No")} {t("Lot Required Pick Qty")} {t("Scan Result")} {t("Submit Required Pick Qty")} diff --git a/src/components/Jodetail/JodetailSearch.tsx b/src/components/Jodetail/JodetailSearch.tsx index 96f07b6..e5d819c 100644 --- a/src/components/Jodetail/JodetailSearch.tsx +++ b/src/components/Jodetail/JodetailSearch.tsx @@ -43,7 +43,7 @@ type SearchQuery = Partial< type SearchParamNames = keyof SearchQuery; const JodetailSearch: React.FC = ({ pickOrders }) => { - const { t } = useTranslation("pickOrder"); + const { t } = useTranslation("jo"); const { data: session } = useSession() as { data: SessionWithTokens | null }; const currentUserId = session?.id ? parseInt(session.id) : undefined; @@ -422,7 +422,7 @@ const [isLoadingUnassigned, setIsLoadingUnassigned] = useState(false); }}> - + diff --git a/src/components/NavigationContent/NavigationContent.tsx b/src/components/NavigationContent/NavigationContent.tsx index c23515a..22ae2a9 100644 --- a/src/components/NavigationContent/NavigationContent.tsx +++ b/src/components/NavigationContent/NavigationContent.tsx @@ -210,7 +210,7 @@ const NavigationContent: React.FC = () => { }, { icon: , - label: "Job Order detail", + label: "Job Order Detail", path: "/jodetail", }, ], diff --git a/src/i18n/zh/common.json b/src/i18n/zh/common.json index f898cbf..2fd3abf 100644 --- a/src/i18n/zh/common.json +++ b/src/i18n/zh/common.json @@ -89,6 +89,20 @@ "Put Away Scan": "上架掃碼", "Finished Good Order": "成品出倉", "finishedGood": "成品", - "Router": "執貨路線" + "Router": "執貨路線", + "Job Order Detail": "工單細節", + "No data available": "沒有資料", + "Start Scan": "開始掃碼", + "Stop Scan": "停止掃碼", + "Scan Result": "掃碼結果", + "Expiry Date": "有效期", + "Pick Order Code": "提料單編號", + "Target Date": "需求日期", + "Lot Required Pick Qty": "批號需求數量", + "Job Order Match": "工單匹配", + "All Pick Order Lots": "所有提料單批號", + "Row per page": "每頁行數", + "No data available": "沒有資料", + "jodetail": "工單細節" } diff --git a/src/i18n/zh/jo.json b/src/i18n/zh/jo.json index 0ed0760..874a134 100644 --- a/src/i18n/zh/jo.json +++ b/src/i18n/zh/jo.json @@ -17,5 +17,30 @@ "Planning": "計劃中", "Scanned": "已掃碼", "Scan Status": "掃碼狀態", - "Start Job Order": "開始工單" + "Start Job Order": "開始工單", + "Job Order Detail": "工單細節", + "Pick Order Detail": "提料單細節", + "Finished Job Order Record": "已完成工單記錄", + "Index": "索引", + "Route": "路線", + "Item Code": "物料編號", + "Item Name": "物料名稱", + "Qty": "數量", + "Unit": "單位", + "Location": "位置", + "Scan Result": "掃碼結果", + "Expiry Date": "有效期", + "Pick Order Code": "提料單編號", + "Target Date": "需求日期", + "Lot Required Pick Qty": "批號需求數量", + "Job Order Match": "工單匹配", + "Lot No": "批號", + "Submit Required Pick Qty": "提交需求數量", + "All Pick Order Lots": "所有提料單批號", + "Row per page": "每頁行數", + "No data available": "沒有資料", + "jodetail": "工單細節", + "Start QR Scan": "開始QR掃碼", + "Stop QR Scan": "停止QR掃碼", + "Rows per page": "每頁行數" }