| @@ -15,7 +15,7 @@ const ItemPriceSetting: React.FC = async () => { | |||||
| <> | <> | ||||
| <PageTitleBar title={t("Price Inquiry")} className="mb-4" /> | <PageTitleBar title={t("Price Inquiry")} className="mb-4" /> | ||||
| <I18nProvider namespaces={["itemPrice","navigation","common","inventory","importExcel"]}> | |||||
| <I18nProvider namespaces={["itemPrice","navigation","common","importExcel"]}> | |||||
| <Suspense fallback={<ItemPriceSearch.Loading />}> | <Suspense fallback={<ItemPriceSearch.Loading />}> | ||||
| <ItemPriceSearch /> | <ItemPriceSearch /> | ||||
| </Suspense> | </Suspense> | ||||
| @@ -24,7 +24,7 @@ type ItemPriceSearchComponent = React.FC & { | |||||
| type SearchParamNames = keyof SearchQuery; | type SearchParamNames = keyof SearchQuery; | ||||
| const ItemPriceSearch: ItemPriceSearchComponent = () => { | const ItemPriceSearch: ItemPriceSearchComponent = () => { | ||||
| const { t } = useTranslation(["itemPrice", "inventory", "common", "importExcel"]); | |||||
| const { t } = useTranslation(["itemPrice", "common", "importExcel"]); | |||||
| const [item, setItem] = useState<ItemsResult | null>(null); | const [item, setItem] = useState<ItemsResult | null>(null); | ||||
| const [isSearching, setIsSearching] = useState(false); | const [isSearching, setIsSearching] = useState(false); | ||||
| @@ -275,7 +275,7 @@ const ItemPriceSearch: ItemPriceSearchComponent = () => { | |||||
| <Card variant="outlined" sx={{ borderRadius: 2, flex: 1, display: "flex", flexDirection: "column", minHeight: 0 }}> | <Card variant="outlined" sx={{ borderRadius: 2, flex: 1, display: "flex", flexDirection: "column", minHeight: 0 }}> | ||||
| <CardContent sx={{ py: 2, flex: 1, minHeight: 0, "&:last-child": { pb: 2 }, display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "flex-start" }}> | <CardContent sx={{ py: 2, flex: 1, minHeight: 0, "&:last-child": { pb: 2 }, display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "flex-start" }}> | ||||
| <Typography variant="subtitle2" color="text.secondary" sx={{ mb: 1, flexShrink: 0 }}> | <Typography variant="subtitle2" color="text.secondary" sx={{ mb: 1, flexShrink: 0 }}> | ||||
| {t("Average unit price", { ns: "inventory" })} | |||||
| {t("Average unit price")} | |||||
| </Typography> | </Typography> | ||||
| <Typography variant="h5" sx={{ width: "100%", flex: 1, display: "flex", alignItems: "center", justifyContent: "center", textAlign: "center", fontWeight: 500, color: "black", minHeight: 0 }}> | <Typography variant="h5" sx={{ width: "100%", flex: 1, display: "flex", alignItems: "center", justifyContent: "center", textAlign: "center", fontWeight: 500, color: "black", minHeight: 0 }}> | ||||
| {avgPrice != null && avgPrice !== 0 | {avgPrice != null && avgPrice !== 0 | ||||
| @@ -292,7 +292,7 @@ const ItemPriceSearch: ItemPriceSearchComponent = () => { | |||||
| <Card variant="outlined" sx={{ borderRadius: 2, flex: 1, display: "flex", flexDirection: "column", minHeight: 0 }}> | <Card variant="outlined" sx={{ borderRadius: 2, flex: 1, display: "flex", flexDirection: "column", minHeight: 0 }}> | ||||
| <CardContent sx={{ py: 2, flex: 1, minHeight: 0, "&:last-child": { pb: 2 }, display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "flex-start" }}> | <CardContent sx={{ py: 2, flex: 1, minHeight: 0, "&:last-child": { pb: 2 }, display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "flex-start" }}> | ||||
| <Typography variant="subtitle2" color="text.secondary" sx={{ mb: 1, flexShrink: 0 }}> | <Typography variant="subtitle2" color="text.secondary" sx={{ mb: 1, flexShrink: 0 }}> | ||||
| {t("Latest market unit price", { ns: "inventory" })} | |||||
| {t("Latest market unit price")} | |||||
| </Typography> | </Typography> | ||||
| <Typography variant="h5" sx={{ width: "100%", textAlign: "center", fontWeight: 500, color: "black", flex: 1, minHeight: 0, display: "flex", alignItems: "center", justifyContent: "center" }}> | <Typography variant="h5" sx={{ width: "100%", textAlign: "center", fontWeight: 500, color: "black", flex: 1, minHeight: 0, display: "flex", alignItems: "center", justifyContent: "center" }}> | ||||
| {item.latestMarketUnitPrice != null && Number(item.latestMarketUnitPrice) !== 0 | {item.latestMarketUnitPrice != null && Number(item.latestMarketUnitPrice) !== 0 | ||||
| @@ -1,75 +1,28 @@ | |||||
| { | { | ||||
| "-{{Variance}}≤Variance Percentage ≤{{Variance}} will be filtered out": "-{{Variance}}≤Variance Percentage ≤{{Variance}} will be filtered out", | |||||
| "AVAILABLE": "AVAILABLE", | |||||
| "Action": "Action", | "Action": "Action", | ||||
| "Add": "Add", | "Add": "Add", | ||||
| "Add entry": "Add entry", | "Add entry": "Add entry", | ||||
| "Add entry for items without inventory": "Add entry for items without inventory", | "Add entry for items without inventory": "Add entry for items without inventory", | ||||
| "Adjusted Qty": "Adjusted Qty", | "Adjusted Qty": "Adjusted Qty", | ||||
| "Approve": "Approve", | |||||
| "Approver All": "Approver All", | |||||
| "Approver search empty hint": "Set search criteria and click Search", | |||||
| "ApproverAll": "ApproverAll", | |||||
| "Available": "Available", | |||||
| "Available Qty": "Available Qty", | "Available Qty": "Available Qty", | ||||
| "Available Qty Per Smallest Unit": "Available Qty Per Smallest Unit", | |||||
| "Average unit price": "Average unit price", | |||||
| "Back": "Back", | |||||
| "Bad Item Handle": "Bad Item Handle", | |||||
| "Bad Item Qty": "Bad Item Qty", | |||||
| "Bad Item Records": "Bad Item Records", | |||||
| "Balance Qty": "Balance Qty", | |||||
| "Base UoM": "Base UoM", | |||||
| "Batch Save Completed": "Batch Save Completed", | |||||
| "Batch Save Inputted": "Batch Save Inputted", | |||||
| "Batch Submit All": "Batch Submit All", | |||||
| "Batch approver save completed: {{success}} success, {{skipped}} skipped, {{errors}} errors": "Batch approver save completed: {{success}} success, {{skipped}} skipped, {{errors}} errors", | |||||
| "Body is unavailable": "Body is unavailable", | |||||
| "Bom Req. Qty": "Bom Req. Qty", | |||||
| "CMB": "Consumables", | "CMB": "Consumables", | ||||
| "CO": "Consumables", | "CO": "Consumables", | ||||
| "Clear selection": "Clear selection", | |||||
| "Cancel": "Cancel", | |||||
| "Code": "Code", | "Code": "Code", | ||||
| "Collapse floor sections": "Collapse sections for this floor", | |||||
| "Confirm Adjustment": "Confirm Adjustment", | |||||
| "Confirm create stock take for all sections?": "Confirm create stock take for all sections?", | |||||
| "Confirm remove": "Confirm remove", | "Confirm remove": "Confirm remove", | ||||
| "Counted Qty": "Counted Qty", | |||||
| "Create Stock Take for All Sections": "Create Stock Take for All Sections", | |||||
| "Current Stock": "Current Stock", | "Current Stock": "Current Stock", | ||||
| "Delivery Order": "Delivery Order", | |||||
| "Difference": "Difference", | "Difference": "Difference", | ||||
| "Download QR Code": "Download QR Code", | "Download QR Code": "Download QR Code", | ||||
| "Edit mode": "Edit mode", | "Edit mode": "Edit mode", | ||||
| "End Date": "End Date", | |||||
| "Enter item code or name to search": "Enter item code or name to search", | "Enter item code or name to search": "Enter item code or name to search", | ||||
| "Expand floor sections": "Expand sections for this floor", | |||||
| "Expiry Date": "Expiry Date", | "Expiry Date": "Expiry Date", | ||||
| "Expiry End Date": "Expiry End Date", | |||||
| "Expiry Item Handle": "Expiry Item Handle", | |||||
| "Expiry Item Qty": "Expiry Item Qty", | |||||
| "Expiry Item Records": "Expiry Item Records", | |||||
| "Expiry Qty": "Expiry Qty", | |||||
| "Expiry Start Date": "Expiry Start Date", | |||||
| "FG": "Finished good", | "FG": "Finished good", | ||||
| "Failed to transfer stock": "Failed to transfer stock", | "Failed to transfer stock": "Failed to transfer stock", | ||||
| "Failed to transfer stock. Please try again.": "Failed to transfer stock. Please try again.", | "Failed to transfer stock. Please try again.": "Failed to transfer stock. Please try again.", | ||||
| "Filtered out": "Filtered out", | |||||
| "First Qty": "First Qty", | |||||
| "Handled Date": "Handled Date", | |||||
| "Handler": "Handler", | |||||
| "Hide Search Filters": "Hide Search Filters", | |||||
| "In Qty": "In Qty", | |||||
| "Input": "Input", | |||||
| "Invalid QTY": "Invalid quantity", | |||||
| "Inventory": "Inventory", | "Inventory": "Inventory", | ||||
| "Inventory Exception Management": "Inventory Exception Management", | |||||
| "Item Name": "Item Name", | |||||
| "Item": "Item", | |||||
| "Item selected": "Item selected", | "Item selected": "Item selected", | ||||
| "Item-lotNo": "Item-lotNo", | |||||
| "Job Order": "Job Order", | |||||
| "Latest market unit price": "Latest market unit price", | |||||
| "Loading": "Loading", | |||||
| "Location": "Location", | |||||
| "Lot No": "Lot No", | "Lot No": "Lot No", | ||||
| "MA": "Material", | "MA": "Material", | ||||
| "MI": "Miscellaneous", | "MI": "Miscellaneous", | ||||
| @@ -77,130 +30,59 @@ | |||||
| "NM": "Miscellaneous / non-consumables", | "NM": "Miscellaneous / non-consumables", | ||||
| "Name": "Name", | "Name": "Name", | ||||
| "No Data": "No Data", | "No Data": "No Data", | ||||
| "No changes to submit": "No changes to submit", | |||||
| "No issues found": "No issues found", | |||||
| "No data": "No data", | |||||
| "No items are selected yet.": "No items are selected yet.", | "No items are selected yet.": "No items are selected yet.", | ||||
| "No lot no entered, will be generated by system.": "No lot no entered, will be generated by system.", | "No lot no entered, will be generated by system.": "No lot no entered, will be generated by system.", | ||||
| "No record found": "No record found", | |||||
| "Opening Inventory": "Opening Inventory", | "Opening Inventory": "Opening Inventory", | ||||
| "Optional - system will generate": "Optional - system will generate", | "Optional - system will generate": "Optional - system will generate", | ||||
| "Original Qty": "Original Qty", | "Original Qty": "Original Qty", | ||||
| "Out Qty": "Out Qty", | |||||
| "Perform Stock Take": "Perform Stock Take", | |||||
| "Pick Order, Issue No, Item, Lot...": "Pick Order, Issue No, Item, Lot...", | |||||
| "Please enter QTY and Bad QTY": "Please enter QTY and Bad QTY", | |||||
| "Please scan...": "Please scan...", | "Please scan...": "Please scan...", | ||||
| "Please set at least one search criterion": "Please set at least one search criterion", | |||||
| "Print": "Print", | "Print": "Print", | ||||
| "Print QR Code": "Print QR Code", | "Print QR Code": "Print QR Code", | ||||
| "Print Qty": "Print Qty", | "Print Qty": "Print Qty", | ||||
| "Print failed": "Print failed", | "Print failed": "Print failed", | ||||
| "Print sent": "Print sent", | "Print sent": "Print sent", | ||||
| "Printer": "Printer", | "Printer": "Printer", | ||||
| "Qty": "Qty", | |||||
| "Qty To Be Transferred": "Qty To Be Transferred", | "Qty To Be Transferred": "Qty To Be Transferred", | ||||
| "Quantity exceeds available quantity": "Quantity exceeds available quantity", | |||||
| "RM": "Raw material", | "RM": "Raw material", | ||||
| "Reason for adjustment": "Reason for adjustment", | "Reason for adjustment": "Reason for adjustment", | ||||
| "Reason for removal": "Reason for removal", | "Reason for removal": "Reason for removal", | ||||
| "Refresh": "Refresh", | |||||
| "Remaining Qty": "Remaining Qty", | "Remaining Qty": "Remaining Qty", | ||||
| "Remarks": "Remarks", | "Remarks": "Remarks", | ||||
| "Remove": "Remove", | "Remove": "Remove", | ||||
| "Resolved": "Resolved", | |||||
| "Review Variance": "Review Variance", | |||||
| "Rows per page": "Rows per page", | |||||
| "Reset": "Reset", | |||||
| "SFG": "Semi-finished good", | "SFG": "Semi-finished good", | ||||
| "Sales UoM": "Sales UoM", | |||||
| "Save": "Save", | |||||
| "Save failed": "Save failed", | "Save failed": "Save failed", | ||||
| "Saved successfully": "Saved successfully", | "Saved successfully": "Saved successfully", | ||||
| "Search lot by QR code": "Search lot by QR code", | "Search lot by QR code": "Search lot by QR code", | ||||
| "Search to load lot lines": "Search to load lot lines", | |||||
| "Second Qty": "Second Qty", | |||||
| "Select": "Select", | |||||
| "Select Section": "Select Section", | |||||
| "Select Stock Take Section": "Select Stock Take Section", | |||||
| "Select all sections": "Select all sections", | |||||
| "Select sections placeholder": "Select one or more", | |||||
| "Select stock take sections to create hint": "Choose warehouse stock take sections to start a new round (selected sections share one new round id in this batch).", | |||||
| "Selected section count": "Selected: {{count}} section(s)", | |||||
| "Show Search Filters": "Show Search Filters", | |||||
| "Something went wrong fetching data in server.": "Something went wrong fetching data in server.", | |||||
| "Start Date": "Start Date", | |||||
| "Start Location": "Start Location", | "Start Location": "Start Location", | ||||
| "Start New Stock Take": "Start New Stock Take", | |||||
| "Start Time": "Start Time", | |||||
| "Stock Adjustment": "Stock Adjustment", | "Stock Adjustment": "Stock Adjustment", | ||||
| "Stock Record": "Stock Record", | |||||
| "Stock Take Variance": "Stock Take Variance", | |||||
| "Stock Transfer": "Stock Transfer", | "Stock Transfer": "Stock Transfer", | ||||
| "Stock UoM": "Stock UoM", | "Stock UoM": "Stock UoM", | ||||
| "Stock take adjustment confirmed! (Demo only)": "Stock take adjustment confirmed! (Demo only)", | |||||
| "Stock take adjustment has been confirmed successfully!": "Stock take adjustment has been confirmed successfully!", | |||||
| "Stock take qty exceeds maximum": "Stock take quantity cannot exceed 999,999,999,999", | |||||
| "Stock transfer created new lot": "Stock transfer completed (created new lot line).", | "Stock transfer created new lot": "Stock transfer completed (created new lot line).", | ||||
| "Stock transfer merged ambiguous": "Merged into the earliest available batch (multiple available lines for the same lot).", | "Stock transfer merged ambiguous": "Merged into the earliest available batch (multiple available lines for the same lot).", | ||||
| "Stock transfer merged existing lot": "Stock transfer completed (merged into existing lot).", | "Stock transfer merged existing lot": "Stock transfer completed (merged into existing lot).", | ||||
| "Stock transfer successful": "Stock transfer completed", | "Stock transfer successful": "Stock transfer completed", | ||||
| "Stop QR Scan": "Stop QR Scan", | "Stop QR Scan": "Stop QR Scan", | ||||
| "Submit": "Submit", | "Submit": "Submit", | ||||
| "Submit completed: {{success}} success, {{errors}} errors": "Submit completed: {{success}} success, {{errors}} errors", | |||||
| "System Qty": "System Qty", | |||||
| "Target Location": "Target Location", | "Target Location": "Target Location", | ||||
| "Total Approved": "Total Approved", | |||||
| "Total Issues": "Total Issues", | |||||
| "Total Item Number": "Total Item Number", | |||||
| "Total Stock Takes": "Total Stock Takes", | |||||
| "Total need stock take": "Total need stock take", | |||||
| "Type": "Type", | "Type": "Type", | ||||
| "UNAVAILABLE": "UNAVAILABLE", | |||||
| "Variance filter strict bounds": "Exclude boundaries (use > <)", | |||||
| "View": "View", | |||||
| "UoM": "UoM", | |||||
| "WIP": "Work in progress", | "WIP": "Work in progress", | ||||
| "Waiting for Approver": "Waiting for Approver", | |||||
| "Warehouse": "Warehouse", | "Warehouse": "Warehouse", | ||||
| "adj": "adj", | |||||
| "approver": "approver", | |||||
| "approving": "approving", | |||||
| "available": "available", | |||||
| "bad": "bad", | |||||
| "cmb": "Consumables", | "cmb": "Consumables", | ||||
| "complete": "complete", | |||||
| "completed": "completed", | |||||
| "completed by": "completed by", | |||||
| "completed date": "completed date", | |||||
| "completed remarks": "completed remarks", | |||||
| "completed status": "completed status", | |||||
| "consumable": "Consumable", | "consumable": "Consumable", | ||||
| "consumables": "Consumables", | "consumables": "Consumables", | ||||
| "dnNo": "dnNo", | "dnNo": "dnNo", | ||||
| "expiry": "expiry", | |||||
| "fg": "Finished good", | "fg": "Finished good", | ||||
| "item": "Item", | "item": "Item", | ||||
| "mat": "Raw material", | "mat": "Raw material", | ||||
| "miss": "miss", | |||||
| "nm": "Miscellaneous / non-consumables", | "nm": "Miscellaneous / non-consumables", | ||||
| "non-consumables": "Non-consumables", | "non-consumables": "Non-consumables", | ||||
| "nor": "nor", | |||||
| "not available": "not available", | |||||
| "not match": "not match", | |||||
| "not pass": "not pass", | |||||
| "notMatch": "notMatch", | |||||
| "notmatch": "notmatch", | |||||
| "open": "open", | |||||
| "pass": "pass", | |||||
| "pending": "pending", | |||||
| "productLotNo": "productLotNo", | "productLotNo": "productLotNo", | ||||
| "rejected": "rejected", | |||||
| "save": "save", | |||||
| "section": "section", | |||||
| "sfg": "Semi-finished good", | "sfg": "Semi-finished good", | ||||
| "stockTaking": "stockTaking", | |||||
| "tke": "tke", | |||||
| "to": "to", | "to": "to", | ||||
| "trf": "trf", | |||||
| "unavailable": "unavailable", | |||||
| "variance": "variance", | |||||
| "wip": "Work in progress", | "wip": "Work in progress", | ||||
| "材料": "Material" | "材料": "Material" | ||||
| } | } | ||||
| @@ -1,206 +1,88 @@ | |||||
| { | { | ||||
| "Inventory": "存貨", | |||||
| "Action": "操作", | |||||
| "Add": "新增", | |||||
| "Add entry": "新增倉存", | |||||
| "Add entry for items without inventory": "為無庫存貨品新增倉存", | |||||
| "Adjusted Qty": "調整後倉存", | |||||
| "Available Qty": "可用數量", | |||||
| "CMB": "消耗品", | |||||
| "CO": "消耗品", | |||||
| "Cancel": "取消", | |||||
| "Code": "編號", | "Code": "編號", | ||||
| "Name": "名稱", | |||||
| "Type": "類型", | |||||
| "Lot No": "批號", | |||||
| "Confirm remove": "確認移除", | |||||
| "Current Stock": "現有庫存", | |||||
| "Difference": "差異", | |||||
| "Download QR Code": "下載", | |||||
| "Edit mode": "編輯模式", | |||||
| "Enter item code or name to search": "輸入貨品編號或名稱以搜索", | |||||
| "Expiry Date": "到期日", | "Expiry Date": "到期日", | ||||
| "Warehouse": "倉庫", | |||||
| "材料": "材料", | |||||
| "consumable": "消耗品", | |||||
| "Qty": "盤點數量", | |||||
| "Total need stock take": "總需盤點數量", | |||||
| "Waiting for Approver": "待審核數量", | |||||
| "Total Approved": "已審核數量", | |||||
| "mat": "原料", | |||||
| "variance": "差異", | |||||
| "ApproverAll": "審核員", | |||||
| "Approver All": "審核員全部盤點", | |||||
| "fg": "成品", | |||||
| "FG": "成品", | "FG": "成品", | ||||
| "sfg": "半成品", | |||||
| "SFG": "半成品", | |||||
| "consumables": "消耗品", | |||||
| "non-consumables": "非消耗品", | |||||
| "item": "貨品", | |||||
| "NM": "雜項及非消耗品", | |||||
| "CMB": "消耗品", | |||||
| "RM": "原料", | |||||
| "Failed to transfer stock": "轉倉失敗", | |||||
| "Failed to transfer stock. Please try again.": "轉倉失敗,請重試。", | |||||
| "Inventory": "存貨", | |||||
| "Item": "貨品", | |||||
| "Item selected": "已選擇貨品", | |||||
| "Location": "位置", | |||||
| "Lot No": "批號", | |||||
| "MA": "材料", | "MA": "材料", | ||||
| "CO": "消耗品", | |||||
| "MI": "雜項", | "MI": "雜項", | ||||
| "wip": "半成品", | |||||
| "WIP": "半成品", | |||||
| "cmb": "消耗品", | |||||
| "nm": "雜項及非消耗品", | |||||
| "available": "可用", | |||||
| "unavailable": "不可用", | |||||
| "tke": "盤點", | |||||
| "Total Stock Takes": "總盤點數量", | |||||
| "Submit completed: {{success}} success, {{errors}} errors": "提交完成:{{success}} 成功,{{errors}} 失敗", | |||||
| "Body is unavailable": "輸入不可用", | |||||
| "Confirm create stock take for all sections?": "確認為所有區域創建盤點?", | |||||
| "not available": "不可用", | |||||
| "Batch Submit All": "批量提交所有", | |||||
| "not match": "要求重點", | |||||
| "Show Search Filters": "顯示搜索器", | |||||
| "Hide Search Filters": "隱藏搜索器", | |||||
| "-{{Variance}}≤Variance Percentage ≤{{Variance}} will be filtered out": "-{{Variance}}%≤差異百分比≤{{Variance}}%將被過濾掉", | |||||
| "Variance filter strict bounds": "不使用=", | |||||
| "Filtered out": "過濾掉", | |||||
| "Total Item Number": "貨品數量", | |||||
| "Please enter QTY and Bad QTY": "請輸入盤點數量和不良數量", | |||||
| "Invalid QTY": "無效的數量", | |||||
| "Stock take qty exceeds maximum": "盤點數量不可超過 999,999,999,999", | |||||
| "Start Time": "開始時間", | |||||
| "stockTaking": "盤點中", | |||||
| "rejected": "已拒絕", | |||||
| "miss": "缺貨", | |||||
| "bad": "不良", | |||||
| "expiry": "過期", | |||||
| "open": "開倉", | |||||
| "Bom Req. Qty": "需求數(BOM單位)", | |||||
| "notmatch": "要求重點", | |||||
| "pass": "已盤點", | |||||
| "not pass": "不通過", | |||||
| "Available": "可用", | |||||
| "approving": "審核中", | |||||
| "pending": "待處理", | |||||
| "notMatch": "要求重點", | |||||
| "Input": "輸入", | |||||
| "Something went wrong fetching data in server.": "在伺服器上取得資料時發生錯誤。", | |||||
| "save": "保存", | |||||
| "AVAILABLE": "可用", | |||||
| "View": "查看", | |||||
| "approver": "審核員", | |||||
| "Create Stock Take for All Sections": "為所有區域創建盤點", | |||||
| "Select stock take sections to create hint": "請選擇要建立新盤點輪次的盤點區域(同一批次將共用同一輪次編號)。", | |||||
| "Select sections placeholder": "可多選", | |||||
| "Select all sections": "全選區域", | |||||
| "Clear selection": "清除選取", | |||||
| "Selected section count": "已選擇 {{count}} 個區域", | |||||
| "Expand floor sections": "展開此樓層區域", | |||||
| "Collapse floor sections": "收合此樓層區域", | |||||
| "section": "區域", | |||||
| "First Qty": "第一次盤點數量", | |||||
| "Second Qty": "第二次盤點數量", | |||||
| "Remarks": "備註", | |||||
| "Available Qty": "可用數量", | |||||
| "Sales UoM": "銷售單位", | |||||
| "Stock UoM": "庫存單位", | |||||
| "Available Qty Per Smallest Unit": "可用數量 (基本單位)", | |||||
| "Base UoM": "基本單位", | |||||
| "No items are selected yet.": "未選擇貨品", | |||||
| "Item selected": "已選擇貨品", | |||||
| "Delivery Order": "交貨單", | |||||
| "Job Order": "工單", | |||||
| "Material": "物料", | "Material": "物料", | ||||
| "UNAVAILABLE": "不可用", | |||||
| "No issues found": "未找到問題", | |||||
| "Batch approver save completed: {{success}} success, {{skipped}} skipped, {{errors}} errors": "批次審核儲存完成:成功 {{success}} 筆,略過 {{skipped}} 筆,錯誤 {{errors}} 筆", | |||||
| "Approve": "審核", | |||||
| "complete": "完成", | |||||
| "completed": "已完成", | |||||
| "completed by": "完成者", | |||||
| "completed date": "完成日期", | |||||
| "completed remarks": "完成備註", | |||||
| "completed status": "完成狀態", | |||||
| "Pick Order, Issue No, Item, Lot...": "揀貨單, 問題編號, 貨品, 批號...", | |||||
| "Refresh": "刷新", | |||||
| "Resolved": "已解決", | |||||
| "Total Issues": "總問題數量", | |||||
| "Inventory Exception Management": "存貨異常管理", | |||||
| "Back": "返回", | |||||
| "Confirm Adjustment": "確認調整", | |||||
| "Counted Qty": "盤點數量", | |||||
| "Item Name": "貨品名稱", | |||||
| "Perform Stock Take": "執行盤點", | |||||
| "Review Variance": "審核差異", | |||||
| "Select": "選擇", | |||||
| "Select Section": "選擇區域", | |||||
| "Select Stock Take Section": "選擇盤點區域", | |||||
| "Start New Stock Take": "開始新的盤點", | |||||
| "Stock Take Variance": "盤點差異", | |||||
| "Stock take adjustment confirmed! (Demo only)": "盤點調整確認!(僅演示)", | |||||
| "Stock take adjustment has been confirmed successfully!": "盤點調整確認成功!", | |||||
| "System Qty": "系統數量", | |||||
| "Batch Save Inputted": "批量保存已輸入", | |||||
| "Batch Save Completed": "批量保存完成", | |||||
| "Bad Item Handle": "不良品處理", | |||||
| "Search to load lot lines": "請按搜索以載入批號", | |||||
| "No changes to submit": "沒有可提交的變更", | |||||
| "No record found": "沒有記錄", | |||||
| "Rows per page": "每頁行數", | |||||
| "Bad Item Records": "不良品處理紀錄", | |||||
| "Expiry Item Handle": "過期品處理", | |||||
| "Expiry Item Records": "過期品處理紀錄", | |||||
| "Handled Date": "處理日期", | |||||
| "Expiry Start Date": "到期日(開始)", | |||||
| "Expiry End Date": "到期日(結束)", | |||||
| "Bad Item Qty": "不良品數量", | |||||
| "Expiry Item Qty": "過期品數量", | |||||
| "Handler": "處理人", | |||||
| "Quantity exceeds available quantity": "數量超過可用數量", | |||||
| "Stock Record": "庫存記錄", | |||||
| "Item-lotNo": "貨品-批號", | |||||
| "In Qty": "入庫數量", | |||||
| "Expiry Qty": "過期數量", | |||||
| "Out Qty": "出庫數量", | |||||
| "Balance Qty": "庫存數量", | |||||
| "Start Date": "開始日期", | |||||
| "End Date": "結束日期", | |||||
| "Loading": "加載中", | |||||
| "adj": "調整", | |||||
| "nor": "正常", | |||||
| "trf": "轉倉", | |||||
| "Stock transfer successful": "轉倉成功", | |||||
| "Stock transfer merged ambiguous": "已併入較早建立的批次(同批號有多筆可用)", | |||||
| "Stock transfer merged existing lot": "轉倉成功(已併入既有批號)", | |||||
| "Stock transfer created new lot": "轉倉成功(已建立新批號庫存)", | |||||
| "Failed to transfer stock": "轉倉失敗", | |||||
| "Failed to transfer stock. Please try again.": "轉倉失敗,請重試。", | |||||
| "Download QR Code": "下載", | |||||
| "Print QR Code": "列印", | |||||
| "Stock Transfer": "轉倉", | |||||
| "Start Location": "起點倉位", | |||||
| "to": "轉倉至", | |||||
| "Target Location": "目標倉位", | |||||
| "NM": "雜項及非消耗品", | |||||
| "Name": "名稱", | |||||
| "No Data": "沒有數據", | |||||
| "No data": "沒有數據", | |||||
| "No items are selected yet.": "未選擇貨品", | |||||
| "No lot no entered, will be generated by system.": "未輸入批號,將由系統生成。", | |||||
| "Opening Inventory": "開倉", | |||||
| "Optional - system will generate": "選填,系統將自動生成", | |||||
| "Original Qty": "原有數量", | "Original Qty": "原有數量", | ||||
| "Qty To Be Transferred": "待轉數量", | |||||
| "Remaining Qty": "剩餘數量", | |||||
| "Submit": "確認", | |||||
| "Printer": "列印機", | |||||
| "Print Qty": "列印數量", | |||||
| "Please scan...": "請掃描...", | |||||
| "Print": "列印", | "Print": "列印", | ||||
| "Print sent": "已送出列印", | |||||
| "Print QR Code": "列印", | |||||
| "Print Qty": "列印數量", | |||||
| "Print failed": "列印失敗", | "Print failed": "列印失敗", | ||||
| "Stock Adjustment": "庫存調整", | |||||
| "Edit mode": "編輯模式", | |||||
| "Add entry": "新增倉存", | |||||
| "productLotNo": "產品批號", | |||||
| "dnNo": "送貨單編號", | |||||
| "Optional - system will generate": "選填,系統將自動生成", | |||||
| "Add": "新增", | |||||
| "Opening Inventory": "開倉", | |||||
| "Print sent": "已送出列印", | |||||
| "Printer": "列印機", | |||||
| "Qty To Be Transferred": "待轉數量", | |||||
| "RM": "原料", | |||||
| "Reason for adjustment": "調整原因", | "Reason for adjustment": "調整原因", | ||||
| "No lot no entered, will be generated by system.": "未輸入批號,將由系統生成。", | |||||
| "Reason for removal": "移除原因", | "Reason for removal": "移除原因", | ||||
| "Confirm remove": "確認移除", | |||||
| "Adjusted Qty": "調整後倉存", | |||||
| "Difference": "差異", | |||||
| "Action": "操作", | |||||
| "Saved successfully": "儲存成功", | |||||
| "Save failed": "儲存失敗", | |||||
| "Remaining Qty": "剩餘數量", | |||||
| "Remarks": "備註", | |||||
| "Remove": "移除", | "Remove": "移除", | ||||
| "Average unit price": "平均單位價格", | |||||
| "Latest market unit price": "最新市場價格", | |||||
| "Add entry for items without inventory": "為無庫存貨品新增倉存", | |||||
| "Enter item code or name to search": "輸入貨品編號或名稱以搜索", | |||||
| "Current Stock": "現有庫存", | |||||
| "Reset": "重置", | |||||
| "SFG": "半成品", | |||||
| "Save": "儲存", | |||||
| "Save failed": "儲存失敗", | |||||
| "Saved successfully": "儲存成功", | |||||
| "Search lot by QR code": "尋找批次(掃描二維碼)", | "Search lot by QR code": "尋找批次(掃描二維碼)", | ||||
| "Please scan...": "請掃描...", | |||||
| "Start Location": "起點倉位", | |||||
| "Stock Adjustment": "庫存調整", | |||||
| "Stock Transfer": "轉倉", | |||||
| "Stock UoM": "庫存單位", | |||||
| "Stock transfer created new lot": "轉倉成功(已建立新批號庫存)", | |||||
| "Stock transfer merged ambiguous": "已併入較早建立的批次(同批號有多筆可用)", | |||||
| "Stock transfer merged existing lot": "轉倉成功(已併入既有批號)", | |||||
| "Stock transfer successful": "轉倉成功", | |||||
| "Stop QR Scan": "停止掃碼", | "Stop QR Scan": "停止掃碼", | ||||
| "No Data": "沒有數據", | |||||
| "Please set at least one search criterion": "請至少設定一項搜索條件", | |||||
| "Approver search empty hint": "請設定搜索條件後點擊搜索" | |||||
| "Submit": "確認", | |||||
| "Target Location": "目標倉位", | |||||
| "Type": "類型", | |||||
| "UoM": "單位", | |||||
| "WIP": "半成品", | |||||
| "Warehouse": "倉庫", | |||||
| "cmb": "消耗品", | |||||
| "consumable": "消耗品", | |||||
| "consumables": "消耗品", | |||||
| "dnNo": "送貨單編號", | |||||
| "fg": "成品", | |||||
| "item": "貨品", | |||||
| "mat": "原料", | |||||
| "nm": "雜項及非消耗品", | |||||
| "non-consumables": "非消耗品", | |||||
| "productLotNo": "產品批號", | |||||
| "sfg": "半成品", | |||||
| "to": "轉倉至", | |||||
| "wip": "半成品", | |||||
| "材料": "材料" | |||||
| } | } | ||||