feat: 合併 A4 極簡奢華風列印功能與多租戶防護

This commit is contained in:
sky121113 2026-05-22 10:24:30 +08:00
commit 016cb571c4
10 changed files with 1281 additions and 411 deletions

View File

@ -1436,4 +1436,47 @@ class WarehouseController extends Controller
'items' => $items 'items' => $items
]); ]);
} }
/**
* 列印調撥單
*/
public function printTransfer($id)
{
$order = TransferOrder::with(['fromWarehouse', 'toWarehouse', 'fromMachine', 'creator'])
->findOrFail($id);
// 雙重防護:驗證租戶資料隔離安全
$user = auth()->user();
if ($user && $user->company_id && $order->company_id !== $user->company_id) {
abort(404);
}
$items = \App\Models\Warehouse\TransferOrderItem::with(['product' => fn($q) => $q->with('translations')])
->where('transfer_order_id', $id)
->get();
return view('admin.warehouses.print.transfer', compact('order', 'items'));
}
/**
* 列印機台補貨單
*/
public function printReplenishment($id)
{
$order = ReplenishmentOrder::with(['machine', 'warehouse', 'creator', 'assignee'])
->findOrFail($id);
// 雙重防護:驗證租戶資料隔離安全
$user = auth()->user();
if ($user && $user->company_id && $order->company_id !== $user->company_id) {
abort(404);
}
$items = ReplenishmentOrderItem::with(['product' => fn($q) => $q->with('translations')])
->where('replenishment_order_id', $id)
->get();
return view('admin.warehouses.print.replenishment', compact('order', 'items'));
}
} }

View File

@ -31,9 +31,9 @@
"Account deleted successfully.": "Account deleted successfully.", "Account deleted successfully.": "Account deleted successfully.",
"Account updated successfully.": "Account updated successfully.", "Account updated successfully.": "Account updated successfully.",
"Account:": "Account:", "Account:": "Account:",
"Accounts / Machines": "Accounts / Machines", "Accounts \/ Machines": "Accounts \/ Machines",
"Action": "Action", "Action": "Action",
"Action / Target": "Action / Target", "Action \/ Target": "Action \/ Target",
"Actions": "Actions", "Actions": "Actions",
"Active": "Active", "Active": "Active",
"Active Slots": "Active Slots", "Active Slots": "Active Slots",
@ -68,7 +68,7 @@
"Administrator": "Administrator", "Administrator": "Administrator",
"Advertisement List": "Advertisement List", "Advertisement List": "Advertisement List",
"Advertisement Management": "Advertisement Management", "Advertisement Management": "Advertisement Management",
"Advertisement Video/Image": "Advertisement Video/Image", "Advertisement Video\/Image": "Advertisement Video\/Image",
"Advertisement assigned successfully": "Advertisement assigned successfully", "Advertisement assigned successfully": "Advertisement assigned successfully",
"Advertisement assigned successfully.": "Advertisement assigned successfully.", "Advertisement assigned successfully.": "Advertisement assigned successfully.",
"Advertisement created successfully": "Advertisement created successfully", "Advertisement created successfully": "Advertisement created successfully",
@ -106,7 +106,7 @@
"All issues marked as resolved.": "All issues marked as resolved.", "All issues marked as resolved.": "All issues marked as resolved.",
"All slots are fully stocked": "All slots are fully stocked", "All slots are fully stocked": "All slots are fully stocked",
"Amount": "Amount", "Amount": "Amount",
"Amount / Payment": "Amount / Payment", "Amount \/ Payment": "Amount \/ Payment",
"An error occurred while saving.": "An error occurred while saving.", "An error occurred while saving.": "An error occurred while saving.",
"Analysis Management": "Analysis Management", "Analysis Management": "Analysis Management",
"Analysis Permissions": "Analysis Permissions", "Analysis Permissions": "Analysis Permissions",
@ -186,7 +186,7 @@
"Back to List": "Back to List", "Back to List": "Back to List",
"Badge Settings": "Badge Settings", "Badge Settings": "Badge Settings",
"Barcode": "Barcode", "Barcode": "Barcode",
"Barcode / Material": "Barcode / Material", "Barcode \/ Material": "Barcode \/ Material",
"Based on Hours": "Based on Hours", "Based on Hours": "Based on Hours",
"Basic Information": "Basic Information", "Basic Information": "Basic Information",
"Basic Settings": "Basic Settings", "Basic Settings": "Basic Settings",
@ -243,7 +243,7 @@
"Change Note": "Change Note", "Change Note": "Change Note",
"Change Stock": "Change Stock", "Change Stock": "Change Stock",
"Channel Limits": "Channel Limits", "Channel Limits": "Channel Limits",
"Channel Limits (Track/Spring)": "Channel Limits (Track/Spring)", "Channel Limits (Track\/Spring)": "Channel Limits (Track\/Spring)",
"Channel Limits Configuration": "Channel Limits Configuration", "Channel Limits Configuration": "Channel Limits Configuration",
"ChannelId": "ChannelId", "ChannelId": "ChannelId",
"ChannelSecret": "ChannelSecret", "ChannelSecret": "ChannelSecret",
@ -261,8 +261,8 @@
"Code": "Code", "Code": "Code",
"Code Copied": "Code Copied", "Code Copied": "Code Copied",
"Coin Acceptor": "Coin Acceptor", "Coin Acceptor": "Coin Acceptor",
"Coin/Banknote Machine": "Coin/Banknote Machine", "Coin\/Banknote Machine": "Coin\/Banknote Machine",
"Coin/Bill Acceptor": "Coin/Bill Acceptor", "Coin\/Bill Acceptor": "Coin\/Bill Acceptor",
"Command Center": "Command Center", "Command Center": "Command Center",
"Command Confirmation": "Command Confirmation", "Command Confirmation": "Command Confirmation",
"Command Type": "Command Type", "Command Type": "Command Type",
@ -349,7 +349,7 @@
"Creation Time": "Creation Time", "Creation Time": "Creation Time",
"Creator": "Creator", "Creator": "Creator",
"Credit Card": "Credit Card", "Credit Card": "Credit Card",
"Credit Card / Contactless": "Credit Card / Contactless", "Credit Card \/ Contactless": "Credit Card \/ Contactless",
"Critical": "Critical", "Critical": "Critical",
"Current": "Current", "Current": "Current",
"Current Password": "Current Password", "Current Password": "Current Password",
@ -404,7 +404,7 @@
"Delta": "Delta", "Delta": "Delta",
"Deposit Bonus": "Deposit Bonus", "Deposit Bonus": "Deposit Bonus",
"Describe the repair or maintenance status...": "Describe the repair or maintenance status...", "Describe the repair or maintenance status...": "Describe the repair or maintenance status...",
"Description / Name": "Description / Name", "Description \/ Name": "Description \/ Name",
"Deselect All": "Deselect All", "Deselect All": "Deselect All",
"Detail": "Detail", "Detail": "Detail",
"Details": "Details", "Details": "Details",
@ -446,7 +446,7 @@
"Draft": "Draft", "Draft": "Draft",
"Duration": "Duration", "Duration": "Duration",
"Duration (Seconds)": "Duration (Seconds)", "Duration (Seconds)": "Duration (Seconds)",
"E-Ticket (EasyCard/iPass)": "E-Ticket (EasyCard/iPass)", "E-Ticket (EasyCard\/iPass)": "E-Ticket (EasyCard\/iPass)",
"E.SUN Bank Scan": "E.SUN Bank Scan", "E.SUN Bank Scan": "E.SUN Bank Scan",
"E.SUN Pay": "E.SUN Pay", "E.SUN Pay": "E.SUN Pay",
"E.SUN QR Pay": "E.SUN QR Pay", "E.SUN QR Pay": "E.SUN QR Pay",
@ -488,7 +488,7 @@
"Elevator rising": "Elevator rising", "Elevator rising": "Elevator rising",
"Elevator sensor error": "Elevator sensor error", "Elevator sensor error": "Elevator sensor error",
"Email": "Email", "Email": "Email",
"Emblem / Label": "Emblem / Label", "Emblem \/ Label": "Emblem \/ Label",
"Employee": "Employee", "Employee": "Employee",
"Employee ID": "Employee ID", "Employee ID": "Employee ID",
"Empty": "Empty", "Empty": "Empty",
@ -500,7 +500,7 @@
"Enable Points Mechanism": "Enable Points Mechanism", "Enable Points Mechanism": "Enable Points Mechanism",
"Enabled": "Enabled", "Enabled": "Enabled",
"Enabled Features": "Enabled Features", "Enabled Features": "Enabled Features",
"Enabled/Disabled": "Enabled/Disabled", "Enabled\/Disabled": "Enabled\/Disabled",
"End Date": "End Date", "End Date": "End Date",
"End Time": "End Time", "End Time": "End Time",
"Engineer": "Engineer", "Engineer": "Engineer",
@ -535,7 +535,7 @@
"Expected Expiry Date & Time": "Expected Expiry Date & Time", "Expected Expiry Date & Time": "Expected Expiry Date & Time",
"Expected Stock": "Expected Stock", "Expected Stock": "Expected Stock",
"Expired": "Expired", "Expired": "Expired",
"Expired / Disabled": "Expired / Disabled", "Expired \/ Disabled": "Expired \/ Disabled",
"Expired Time": "Expired Time", "Expired Time": "Expired Time",
"Expires At": "Expires At", "Expires At": "Expires At",
"Expiring": "Expiring", "Expiring": "Expiring",
@ -566,87 +566,87 @@
"Fleet Avg OEE": "Fleet Avg OEE", "Fleet Avg OEE": "Fleet Avg OEE",
"Fleet Performance": "Fleet Performance", "Fleet Performance": "Fleet Performance",
"Flow ID": "Flow ID", "Flow ID": "Flow ID",
"Flow ID / Amount": "Flow ID / Amount", "Flow ID \/ Amount": "Flow ID \/ Amount",
"Flow ID / Date": "Flow ID / Date", "Flow ID \/ Date": "Flow ID \/ Date",
"Flow ID / Machine": "Flow ID / Machine", "Flow ID \/ Machine": "Flow ID \/ Machine",
"Flow ID / Order": "Flow ID / Order", "Flow ID \/ Order": "Flow ID \/ Order",
"Flow ID / Product": "Flow ID / Product", "Flow ID \/ Product": "Flow ID \/ Product",
"Flow ID / Slot": "Flow ID / Slot", "Flow ID \/ Slot": "Flow ID \/ Slot",
"Flow ID / Slot / Amount": "Flow ID / Slot / Amount", "Flow ID \/ Slot \/ Amount": "Flow ID \/ Slot \/ Amount",
"Flow ID / Slot / Date": "Flow ID / Slot / Date", "Flow ID \/ Slot \/ Date": "Flow ID \/ Slot \/ Date",
"Flow ID / Slot / Machine": "Flow ID / Slot / Machine", "Flow ID \/ Slot \/ Machine": "Flow ID \/ Slot \/ Machine",
"Flow ID / Slot / Order": "Flow ID / Slot / Order", "Flow ID \/ Slot \/ Order": "Flow ID \/ Slot \/ Order",
"Flow ID / Slot / Product": "Flow ID / Slot / Product", "Flow ID \/ Slot \/ Product": "Flow ID \/ Slot \/ Product",
"Flow ID / Slot / Product / Amount": "Flow ID / Slot / Product / Amount", "Flow ID \/ Slot \/ Product \/ Amount": "Flow ID \/ Slot \/ Product \/ Amount",
"Flow ID / Slot / Product / Amount / Date": "Flow ID / Slot / Product / Amount / Date", "Flow ID \/ Slot \/ Product \/ Amount \/ Date": "Flow ID \/ Slot \/ Product \/ Amount \/ Date",
"Flow ID / Slot / Product / Amount / Date / Order": "Flow ID / Slot / Product / Amount / Date / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Order",
"Flow ID / Slot / Product / Amount / Date / Time": "Flow ID / Slot / Product / Amount / Date / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time",
"Flow ID / Slot / Product / Amount / Date / Time / Order": "Flow ID / Slot / Product / Amount / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Machine": "Flow ID / Slot / Product / Amount / Machine", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine",
"Flow ID / Slot / Product / Amount / Machine / Date": "Flow ID / Slot / Product / Amount / Machine / Date", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date",
"Flow ID / Slot / Product / Amount / Machine / Date / Order": "Flow ID / Slot / Product / Amount / Machine / Date / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Order",
"Flow ID / Slot / Product / Amount / Machine / Date / Time": "Flow ID / Slot / Product / Amount / Machine / Date / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time",
"Flow ID / Slot / Product / Amount / Machine / Date / Time / Order": "Flow ID / Slot / Product / Amount / Machine / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Machine / Order": "Flow ID / Slot / Product / Amount / Machine / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Order",
"Flow ID / Slot / Product / Amount / Machine / Time": "Flow ID / Slot / Product / Amount / Machine / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time",
"Flow ID / Slot / Product / Amount / Machine / Time / Order": "Flow ID / Slot / Product / Amount / Machine / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Order": "Flow ID / Slot / Product / Amount / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Order",
"Flow ID / Slot / Product / Amount / Status": "Flow ID / Slot / Product / Amount / Status", "Flow ID \/ Slot \/ Product \/ Amount \/ Status": "Flow ID \/ Slot \/ Product \/ Amount \/ Status",
"Flow ID / Slot / Product / Amount / Status / Date": "Flow ID / Slot / Product / Amount / Status / Date", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date",
"Flow ID / Slot / Product / Amount / Status / Date / Order": "Flow ID / Slot / Product / Amount / Status / Date / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Order",
"Flow ID / Slot / Product / Amount / Status / Date / Time": "Flow ID / Slot / Product / Amount / Status / Date / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time",
"Flow ID / Slot / Product / Amount / Status / Date / Time / Order": "Flow ID / Slot / Product / Amount / Status / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Status / Machine": "Flow ID / Slot / Product / Amount / Status / Machine", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine",
"Flow ID / Slot / Product / Amount / Status / Machine / Date": "Flow ID / Slot / Product / Amount / Status / Machine / Date", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Order": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Order",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More / Done": "Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More / Done", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More \/ Done": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More \/ Done",
"Flow ID / Slot / Product / Amount / Status / Machine / Order": "Flow ID / Slot / Product / Amount / Status / Machine / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Order",
"Flow ID / Slot / Product / Amount / Status / Machine / Time": "Flow ID / Slot / Product / Amount / Status / Machine / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time",
"Flow ID / Slot / Product / Amount / Status / Machine / Time / Order": "Flow ID / Slot / Product / Amount / Status / Machine / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Status / Order": "Flow ID / Slot / Product / Amount / Status / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Order",
"Flow ID / Slot / Product / Amount / Status / Time": "Flow ID / Slot / Product / Amount / Status / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time",
"Flow ID / Slot / Product / Amount / Status / Time / Order": "Flow ID / Slot / Product / Amount / Status / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time \/ Order",
"Flow ID / Slot / Product / Amount / Time": "Flow ID / Slot / Product / Amount / Time", "Flow ID \/ Slot \/ Product \/ Amount \/ Time": "Flow ID \/ Slot \/ Product \/ Amount \/ Time",
"Flow ID / Slot / Product / Amount / Time / Order": "Flow ID / Slot / Product / Amount / Time / Order", "Flow ID \/ Slot \/ Product \/ Amount \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Amount \/ Time \/ Order",
"Flow ID / Slot / Product / Date": "Flow ID / Slot / Product / Date", "Flow ID \/ Slot \/ Product \/ Date": "Flow ID \/ Slot \/ Product \/ Date",
"Flow ID / Slot / Product / Date / Order": "Flow ID / Slot / Product / Date / Order", "Flow ID \/ Slot \/ Product \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Date \/ Order",
"Flow ID / Slot / Product / Date / Time": "Flow ID / Slot / Product / Date / Time", "Flow ID \/ Slot \/ Product \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Date \/ Time",
"Flow ID / Slot / Product / Date / Time / Order": "Flow ID / Slot / Product / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Machine": "Flow ID / Slot / Product / Machine", "Flow ID \/ Slot \/ Product \/ Machine": "Flow ID \/ Slot \/ Product \/ Machine",
"Flow ID / Slot / Product / Machine / Date": "Flow ID / Slot / Product / Machine / Date", "Flow ID \/ Slot \/ Product \/ Machine \/ Date": "Flow ID \/ Slot \/ Product \/ Machine \/ Date",
"Flow ID / Slot / Product / Machine / Date / Order": "Flow ID / Slot / Product / Machine / Date / Order", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Order",
"Flow ID / Slot / Product / Machine / Date / Time": "Flow ID / Slot / Product / Machine / Date / Time", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time",
"Flow ID / Slot / Product / Machine / Date / Time / Order": "Flow ID / Slot / Product / Machine / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Machine / Order": "Flow ID / Slot / Product / Machine / Order", "Flow ID \/ Slot \/ Product \/ Machine \/ Order": "Flow ID \/ Slot \/ Product \/ Machine \/ Order",
"Flow ID / Slot / Product / Machine / Time": "Flow ID / Slot / Product / Machine / Time", "Flow ID \/ Slot \/ Product \/ Machine \/ Time": "Flow ID \/ Slot \/ Product \/ Machine \/ Time",
"Flow ID / Slot / Product / Machine / Time / Order": "Flow ID / Slot / Product / Machine / Time / Order", "Flow ID \/ Slot \/ Product \/ Machine \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Machine \/ Time \/ Order",
"Flow ID / Slot / Product / Order": "Flow ID / Slot / Product / Order", "Flow ID \/ Slot \/ Product \/ Order": "Flow ID \/ Slot \/ Product \/ Order",
"Flow ID / Slot / Product / Status": "Flow ID / Slot / Product / Status", "Flow ID \/ Slot \/ Product \/ Status": "Flow ID \/ Slot \/ Product \/ Status",
"Flow ID / Slot / Product / Status / Date": "Flow ID / Slot / Product / Status / Date", "Flow ID \/ Slot \/ Product \/ Status \/ Date": "Flow ID \/ Slot \/ Product \/ Status \/ Date",
"Flow ID / Slot / Product / Status / Date / Order": "Flow ID / Slot / Product / Status / Date / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Order",
"Flow ID / Slot / Product / Status / Date / Time": "Flow ID / Slot / Product / Status / Date / Time", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time",
"Flow ID / Slot / Product / Status / Date / Time / Order": "Flow ID / Slot / Product / Status / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Status / Machine": "Flow ID / Slot / Product / Status / Machine", "Flow ID \/ Slot \/ Product \/ Status \/ Machine": "Flow ID \/ Slot \/ Product \/ Status \/ Machine",
"Flow ID / Slot / Product / Status / Machine / Date": "Flow ID / Slot / Product / Status / Machine / Date", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date",
"Flow ID / Slot / Product / Status / Machine / Date / Order": "Flow ID / Slot / Product / Status / Machine / Date / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Order",
"Flow ID / Slot / Product / Status / Machine / Date / Time": "Flow ID / Slot / Product / Status / Machine / Date / Time", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time",
"Flow ID / Slot / Product / Status / Machine / Date / Time / Order": "Flow ID / Slot / Product / Status / Machine / Date / Time / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time \/ Order",
"Flow ID / Slot / Product / Status / Machine / Order": "Flow ID / Slot / Product / Status / Machine / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Order",
"Flow ID / Slot / Product / Status / Machine / Time": "Flow ID / Slot / Product / Status / Machine / Time", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time",
"Flow ID / Slot / Product / Status / Machine / Time / Order": "Flow ID / Slot / Product / Status / Machine / Time / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time \/ Order",
"Flow ID / Slot / Product / Status / Order": "Flow ID / Slot / Product / Status / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Order",
"Flow ID / Slot / Product / Status / Time": "Flow ID / Slot / Product / Status / Time", "Flow ID \/ Slot \/ Product \/ Status \/ Time": "Flow ID \/ Slot \/ Product \/ Status \/ Time",
"Flow ID / Slot / Product / Status / Time / Order": "Flow ID / Slot / Product / Status / Time / Order", "Flow ID \/ Slot \/ Product \/ Status \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Status \/ Time \/ Order",
"Flow ID / Slot / Product / Time": "Flow ID / Slot / Product / Time", "Flow ID \/ Slot \/ Product \/ Time": "Flow ID \/ Slot \/ Product \/ Time",
"Flow ID / Slot / Product / Time / Order": "Flow ID / Slot / Product / Time / Order", "Flow ID \/ Slot \/ Product \/ Time \/ Order": "Flow ID \/ Slot \/ Product \/ Time \/ Order",
"Flow ID / Slot / Status": "Flow ID / Slot / Status", "Flow ID \/ Slot \/ Status": "Flow ID \/ Slot \/ Status",
"Flow ID / Slot / Time": "Flow ID / Slot / Time", "Flow ID \/ Slot \/ Time": "Flow ID \/ Slot \/ Time",
"Flow ID / Status": "Flow ID / Status", "Flow ID \/ Status": "Flow ID \/ Status",
"Flow ID / Time": "Flow ID / Time", "Flow ID \/ Time": "Flow ID \/ Time",
"Force End Session": "Force End Session", "Force End Session": "Force End Session",
"Force end current session": "Force end current session", "Force end current session": "Force end current session",
"From": "From", "From": "From",
@ -702,7 +702,7 @@
"Immediate": "Immediate", "Immediate": "Immediate",
"In Stock": "In Stock", "In Stock": "In Stock",
"Inactive": "Inactive", "Inactive": "Inactive",
"Includes Credit Card/Mobile Pay": "Includes Credit Card/Mobile Pay", "Includes Credit Card\/Mobile Pay": "Includes Credit Card\/Mobile Pay",
"Indefinite": "Indefinite", "Indefinite": "Indefinite",
"Info": "Info", "Info": "Info",
"Initial Admin Account": "Initial Admin Account", "Initial Admin Account": "Initial Admin Account",
@ -721,8 +721,8 @@
"Invoice Date": "Invoice Date", "Invoice Date": "Invoice Date",
"Invoice Information": "Invoice Information", "Invoice Information": "Invoice Information",
"Invoice Number": "Invoice Number", "Invoice Number": "Invoice Number",
"Invoice Number / Flow ID": "Invoice Number / Flow ID", "Invoice Number \/ Flow ID": "Invoice Number \/ Flow ID",
"Invoice Number / Time": "Invoice Number / Time", "Invoice Number \/ Time": "Invoice Number \/ Time",
"Invoice Status": "Invoice Status", "Invoice Status": "Invoice Status",
"Issued At": "Issued At", "Issued At": "Issued At",
"Item List": "Item List", "Item List": "Item List",
@ -794,17 +794,17 @@
"Low stock and out-of-stock alerts": "Low stock and out-of-stock alerts", "Low stock and out-of-stock alerts": "Low stock and out-of-stock alerts",
"Loyalty & Features": "Loyalty & Features", "Loyalty & Features": "Loyalty & Features",
"Machine": "Machine", "Machine": "Machine",
"Machine / Date": "Machine / Date", "Machine \/ Date": "Machine \/ Date",
"Machine / Employee": "Machine / Employee", "Machine \/ Employee": "Machine \/ Employee",
"Machine / Pass Code": "Machine / Pass Code", "Machine \/ Pass Code": "Machine \/ Pass Code",
"Machine / Slot": "Machine / Slot", "Machine \/ Slot": "Machine \/ Slot",
"Machine Advertisement Settings": "Machine Advertisement Settings", "Machine Advertisement Settings": "Machine Advertisement Settings",
"Machine Count": "Machine Count", "Machine Count": "Machine Count",
"Machine Details": "Machine Details", "Machine Details": "Machine Details",
"Machine Distribution": "Machine Distribution", "Machine Distribution": "Machine Distribution",
"Machine Distribution Map": "Machine Distribution Map", "Machine Distribution Map": "Machine Distribution Map",
"Machine Flow ID": "Machine Flow ID", "Machine Flow ID": "Machine Flow ID",
"Machine Flow ID / Time": "Machine Flow ID / Time", "Machine Flow ID \/ Time": "Machine Flow ID \/ Time",
"Machine Images": "Machine Images", "Machine Images": "Machine Images",
"Machine Info": "Machine Info", "Machine Info": "Machine Info",
"Machine Information": "Machine Information", "Machine Information": "Machine Information",
@ -945,9 +945,9 @@
"Movement History": "Movement History", "Movement History": "Movement History",
"Movement Logs": "Movement Logs", "Movement Logs": "Movement Logs",
"Multilingual Names": "Multilingual Names", "Multilingual Names": "Multilingual Names",
"N/A": "N/A", "N\/A": "N\/A",
"Name": "Name", "Name": "Name",
"Name / Machine": "Name / Machine", "Name \/ Machine": "Name \/ Machine",
"Name in English": "Name in English", "Name in English": "Name in English",
"Name in Japanese": "Name in Japanese", "Name in Japanese": "Name in Japanese",
"Name in Traditional Chinese": "Name in Traditional Chinese", "Name in Traditional Chinese": "Name in Traditional Chinese",
@ -1082,7 +1082,7 @@
"Order Items": "Order Items", "Order Items": "Order Items",
"Order Management": "Order Management", "Order Management": "Order Management",
"Order No.": "Order No.", "Order No.": "Order No.",
"Order Number / Time": "Order Number / Time", "Order Number \/ Time": "Order Number \/ Time",
"Order Status": "Order Status", "Order Status": "Order Status",
"Order Time": "Order Time", "Order Time": "Order Time",
"Order already completed": "Order already completed", "Order already completed": "Order already completed",
@ -1208,18 +1208,18 @@
"Points": "Points", "Points": "Points",
"Points Settings": "Points Settings", "Points Settings": "Points Settings",
"Points toggle": "Points toggle", "Points toggle": "Points toggle",
"Points/Voucher": "Points/Voucher", "Points\/Voucher": "Points\/Voucher",
"Position": "Position", "Position": "Position",
"Prepared": "Prepared", "Prepared": "Prepared",
"Preparing": "Preparing", "Preparing": "Preparing",
"Preview": "Preview", "Preview": "Preview",
"Previous": "Previous", "Previous": "Previous",
"Price / Member": "Price / Member", "Price \/ Member": "Price \/ Member",
"Pricing Information": "Pricing Information", "Pricing Information": "Pricing Information",
"Print Invoice": "Print Invoice", "Print Invoice": "Print Invoice",
"Product": "Product", "Product": "Product",
"Product / Slot": "Product / Slot", "Product \/ Slot": "Product \/ Slot",
"Product / Stock": "Product / Stock", "Product \/ Stock": "Product \/ Stock",
"Product Count": "Product Count", "Product Count": "Product Count",
"Product Details": "Product Details", "Product Details": "Product Details",
"Product ID": "Product ID", "Product ID": "Product ID",
@ -1238,7 +1238,7 @@
"Product updated successfully": "Product updated successfully", "Product updated successfully": "Product updated successfully",
"Production Company": "Production Company", "Production Company": "Production Company",
"Products": "Products", "Products": "Products",
"Products / Stock": "Products / Stock", "Products \/ Stock": "Products \/ Stock",
"Profile": "Profile", "Profile": "Profile",
"Profile Information": "Profile Information", "Profile Information": "Profile Information",
"Profile Settings": "Profile Settings", "Profile Settings": "Profile Settings",
@ -1384,13 +1384,13 @@
"Schedule": "Schedule", "Schedule": "Schedule",
"Search Company Title...": "Search Company Title...", "Search Company Title...": "Search Company Title...",
"Search Company...": "Search Company...", "Search Company...": "Search Company...",
"Search Flow ID / Slot...": "Search Flow ID / Slot...", "Search Flow ID \/ Slot...": "Search Flow ID \/ Slot...",
"Search Invoice No / Flow ID...": "Search Invoice No / Flow ID...", "Search Invoice No \/ Flow ID...": "Search Invoice No \/ Flow ID...",
"Search Machine...": "Search Machine...", "Search Machine...": "Search Machine...",
"Search Order No / Flow ID / Invoice...": "Search Order No / Flow ID / Invoice...", "Search Order No \/ Flow ID \/ Invoice...": "Search Order No \/ Flow ID \/ Invoice...",
"Search Order No / Cards & Codes...": "Search Order No / Cards & Codes...", "Search Order No \/ Cards & Codes...": "Search Order No \/ Cards & Codes...",
"Search Product": "Search Product", "Search Product": "Search Product",
"Search Product / Slot...": "Search Product / Slot...", "Search Product \/ Slot...": "Search Product \/ Slot...",
"Search accounts...": "Search accounts...", "Search accounts...": "Search accounts...",
"Search by ID or Name": "Search by ID or Name", "Search by ID or Name": "Search by ID or Name",
"Search by ID or Name...": "Search by ID or Name...", "Search by ID or Name...": "Search by ID or Name...",
@ -1398,7 +1398,7 @@
"Search by ID, Name or UID...": "Search by ID, Name or UID...", "Search by ID, Name or UID...": "Search by ID, Name or UID...",
"Search by code, machine name or serial...": "Search by code, machine name or serial...", "Search by code, machine name or serial...": "Search by code, machine name or serial...",
"Search by code, name or machine...": "Search by code, name or machine...", "Search by code, name or machine...": "Search by code, name or machine...",
"Search by name or S/N...": "Search by name or S/N...", "Search by name or S\/N...": "Search by name or S\/N...",
"Search by name...": "Search by name...", "Search by name...": "Search by name...",
"Search cargo lane": "Search cargo lane", "Search cargo lane": "Search cargo lane",
"Search categories...": "Search categories...", "Search categories...": "Search categories...",
@ -1476,7 +1476,7 @@
"Sign in to your account": "Sign in to your account", "Sign in to your account": "Sign in to your account",
"Signed in as": "Signed in as", "Signed in as": "Signed in as",
"Slot": "Slot", "Slot": "Slot",
"Slot / Product": "Slot / Product", "Slot \/ Product": "Slot \/ Product",
"Slot Mechanism (default: Conveyor, check for Spring)": "Slot Mechanism (default: Conveyor, check for Spring)", "Slot Mechanism (default: Conveyor, check for Spring)": "Slot Mechanism (default: Conveyor, check for Spring)",
"Slot No": "Slot No", "Slot No": "Slot No",
"Slot Status": "Slot Status", "Slot Status": "Slot Status",
@ -1527,15 +1527,15 @@
"Start Time": "Start Time", "Start Time": "Start Time",
"Statistics": "Statistics", "Statistics": "Statistics",
"Status": "Status", "Status": "Status",
"Status / Invoice": "Status / Invoice", "Status \/ Invoice": "Status \/ Invoice",
"Status / Temp / Sub / Card / Scan": "Status / Temp / Sub / Card / Scan", "Status \/ Temp \/ Sub \/ Card \/ Scan": "Status \/ Temp \/ Sub \/ Card \/ Scan",
"Status Timeline": "Status Timeline", "Status Timeline": "Status Timeline",
"Status updated successfully": "Status updated successfully", "Status updated successfully": "Status updated successfully",
"Stock": "Stock", "Stock": "Stock",
"Stock & Expiry": "Stock & Expiry", "Stock & Expiry": "Stock & Expiry",
"Stock & Expiry Management": "Stock & Expiry Management", "Stock & Expiry Management": "Stock & Expiry Management",
"Stock & Expiry Overview": "Stock & Expiry Overview", "Stock & Expiry Overview": "Stock & Expiry Overview",
"Stock / Capacity": "Stock / Capacity", "Stock \/ Capacity": "Stock \/ Capacity",
"Stock In": "Stock In", "Stock In": "Stock In",
"Stock Level": "Stock Level", "Stock Level": "Stock Level",
"Stock Level > 50%": "Stock Level > 50%", "Stock Level > 50%": "Stock Level > 50%",
@ -1565,7 +1565,7 @@
"Store ID": "Store ID", "Store ID": "Store ID",
"Store Management": "Store Management", "Store Management": "Store Management",
"StoreID": "StoreID", "StoreID": "StoreID",
"Sub / Card / Scan": "Sub / Card / Scan", "Sub \/ Card \/ Scan": "Sub \/ Card \/ Scan",
"Sub Account Management": "Sub Account Management", "Sub Account Management": "Sub Account Management",
"Sub Account Roles": "Sub Account Roles", "Sub Account Roles": "Sub Account Roles",
"Sub Accounts": "Sub Accounts", "Sub Accounts": "Sub Accounts",
@ -1663,7 +1663,7 @@
"Track": "Track", "Track": "Track",
"Track Channel Limit": "Track Channel Limit", "Track Channel Limit": "Track Channel Limit",
"Track Limit": "Track Limit", "Track Limit": "Track Limit",
"Track Limit (Track/Spring)": "Track Limit (Track/Spring)", "Track Limit (Track\/Spring)": "Track Limit (Track\/Spring)",
"Track device health and maintenance history": "Track device health and maintenance history", "Track device health and maintenance history": "Track device health and maintenance history",
"Track stock levels, stock-in orders, and movement history": "Track stock levels, stock-in orders, and movement history", "Track stock levels, stock-in orders, and movement history": "Track stock levels, stock-in orders, and movement history",
"Track stock-in orders and movement history": "Track stock-in orders and movement history", "Track stock-in orders and movement history": "Track stock-in orders and movement history",
@ -1696,7 +1696,7 @@
"Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.", "Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.",
"UI Elements": "UI Elements", "UI Elements": "UI Elements",
"Unassigned": "Unassigned", "Unassigned": "Unassigned",
"Unassigned / No Change": "Unassigned / No Change", "Unassigned \/ No Change": "Unassigned \/ No Change",
"Unauthorized Status": "Unauthorized Status", "Unauthorized Status": "Unauthorized Status",
"Unauthorized login attempt: :account": "Unauthorized login attempt: :account", "Unauthorized login attempt: :account": "Unauthorized login attempt: :account",
"Unauthorized: Account not authorized for this machine": "Unauthorized: Account not authorized for this machine", "Unauthorized: Account not authorized for this machine": "Unauthorized: Account not authorized for this machine",
@ -1853,7 +1853,7 @@
"data-config.sub-account-roles": "Sub Account Roles", "data-config.sub-account-roles": "Sub Account Roles",
"data-config.sub-accounts": "Sub Accounts", "data-config.sub-accounts": "Sub Accounts",
"disabled": "disabled", "disabled": "disabled",
"e.g. 500ml / 300g": "e.g. 500ml / 300g", "e.g. 500ml \/ 300g": "e.g. 500ml \/ 300g",
"e.g. John Doe": "e.g. John Doe", "e.g. John Doe": "e.g. John Doe",
"e.g. Main Warehouse": "e.g. Main Warehouse", "e.g. Main Warehouse": "e.g. Main Warehouse",
"e.g. TWSTAR": "e.g. TWSTAR", "e.g. TWSTAR": "e.g. TWSTAR",
@ -2021,7 +2021,7 @@
"Select Product for Analysis": "Select Product for Analysis", "Select Product for Analysis": "Select Product for Analysis",
"All Products (ALL)": "All Products (ALL)", "All Products (ALL)": "All Products (ALL)",
"Tenant Company": "Tenant Company", "Tenant Company": "Tenant Company",
"Cross-Company / Headquarter Global Stats": "Cross-Company / Headquarter Global Stats", "Cross-Company \/ Headquarter Global Stats": "Cross-Company \/ Headquarter Global Stats",
"Product Sales & Profit Trend": "Product Sales & Profit Trend", "Product Sales & Profit Trend": "Product Sales & Profit Trend",
"Daily operational variance curve for selected timeframe": "Daily operational variance curve for selected timeframe", "Daily operational variance curve for selected timeframe": "Daily operational variance curve for selected timeframe",
"Detailed Analysis Data": "Detailed Analysis Data", "Detailed Analysis Data": "Detailed Analysis Data",
@ -2038,7 +2038,7 @@
"Gross Margin": "Gross Margin", "Gross Margin": "Gross Margin",
"No product data matching search criteria": "No product data matching search criteria", "No product data matching search criteria": "No product data matching search criteria",
"Analyze Solely": "Analyze Solely", "Analyze Solely": "Analyze Solely",
"Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "Configure Discord Webhook alerts for hardware exceptions and connectivity logs", "Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "Configure Discord Webhook alerts for hardware exceptions and connectivity logs",
"Search company name or code...": "Search company name or code...", "Search company name or code...": "Search company name or code...",
"Company Info": "Company Info", "Company Info": "Company Info",
"Webhook URL": "Webhook URL", "Webhook URL": "Webhook URL",
@ -2138,5 +2138,32 @@
"Effective Alert Types": "Effective Alert Types", "Effective Alert Types": "Effective Alert Types",
"Machine Alert Settings": "Machine Alert Settings", "Machine Alert Settings": "Machine Alert Settings",
"Configure alert types and temperature thresholds": "Configure alert types and temperature thresholds", "Configure alert types and temperature thresholds": "Configure alert types and temperature thresholds",
"Machine model saved successfully.": "Machine model saved successfully." "Machine model saved successfully.": "Machine model saved successfully.",
"Replenishment Order": "Replenishment Order",
"Transfer Order": "Transfer Order",
"Ready to print": "Ready to print",
"Print": "Print",
"Platform Operator": "Platform Operator",
"Vending Machine Product Replenishment": "Vending Machine Product Replenishment",
"Warehouse to Warehouse Transfer": "Warehouse to Warehouse Transfer",
"Machine to Warehouse Return": "Machine to Warehouse Return",
"Order Number": "Order Number",
"Source Machine": "Source Machine",
"Assigned Personnel": "Assigned Personnel",
"Print Time": "Print Time",
"Stock Snap": "Stock Snap",
"Replenish Qty": "Replenish Qty",
"Transfer Qty": "Transfer Qty",
"Check": "Check",
"Actual Qty": "Actual Qty",
"Print Notice": "Print Notice",
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.",
"Prepared By": "Prepared By",
"Warehouse Stock Out": "Warehouse Stock Out",
"Courier\/Replenisher": "Courier\/Replenisher",
"Machine Inbound Confirmation": "Machine Inbound Confirmation",
"Transfer Out Confirmation": "Transfer Out Confirmation",
"Courier\/Dispatcher": "Courier\/Dispatcher",
"Transfer In Confirmation": "Transfer In Confirmation",
"Print Order": "Print Order"
} }

View File

@ -31,9 +31,9 @@
"Account deleted successfully.": "アカウントが正常に削除されました。", "Account deleted successfully.": "アカウントが正常に削除されました。",
"Account updated successfully.": "アカウントが正常に更新されました。", "Account updated successfully.": "アカウントが正常に更新されました。",
"Account:": "アカウント:", "Account:": "アカウント:",
"Accounts / Machines": "アカウント / 機器", "Accounts \/ Machines": "アカウント \/ 機器",
"Action": "アクション", "Action": "アクション",
"Action / Target": "操作 / 対象", "Action \/ Target": "操作 \/ 対象",
"Actions": "操作", "Actions": "操作",
"Active": "有効", "Active": "有効",
"Active Slots": "使用中のスロット", "Active Slots": "使用中のスロット",
@ -68,7 +68,7 @@
"Administrator": "管理者", "Administrator": "管理者",
"Advertisement List": "広告一覧", "Advertisement List": "広告一覧",
"Advertisement Management": "広告管理", "Advertisement Management": "広告管理",
"Advertisement Video/Image": "広告動画/画像", "Advertisement Video\/Image": "広告動画\/画像",
"Advertisement assigned successfully": "広告の割り当てが完了しました", "Advertisement assigned successfully": "広告の割り当てが完了しました",
"Advertisement assigned successfully.": "広告の割り当てが完了しました。", "Advertisement assigned successfully.": "広告の割り当てが完了しました。",
"Advertisement created successfully": "広告が作成されました", "Advertisement created successfully": "広告が作成されました",
@ -106,7 +106,7 @@
"All issues marked as resolved.": "すべての問題が解決済みとしてマークされました。", "All issues marked as resolved.": "すべての問題が解決済みとしてマークされました。",
"All slots are fully stocked": "すべてのスロットが補充完了しました", "All slots are fully stocked": "すべてのスロットが補充完了しました",
"Amount": "金額", "Amount": "金額",
"Amount / Payment": "金額 / 支払い", "Amount \/ Payment": "金額 \/ 支払い",
"An error occurred while saving.": "保存中にエラーが発生しました。", "An error occurred while saving.": "保存中にエラーが発生しました。",
"Analysis Management": "分析管理", "Analysis Management": "分析管理",
"Analysis Permissions": "分析権限", "Analysis Permissions": "分析権限",
@ -186,7 +186,7 @@
"Back to List": "一覧に戻る", "Back to List": "一覧に戻る",
"Badge Settings": "バッジ設定", "Badge Settings": "バッジ設定",
"Barcode": "バーコード", "Barcode": "バーコード",
"Barcode / Material": "バーコード / 資材", "Barcode \/ Material": "バーコード \/ 資材",
"Based on Hours": "時間ベースで計算", "Based on Hours": "時間ベースで計算",
"Basic Information": "基本情報", "Basic Information": "基本情報",
"Basic Settings": "基本設定", "Basic Settings": "基本設定",
@ -243,7 +243,7 @@
"Change Note": "変動備考", "Change Note": "変動備考",
"Change Stock": "お釣り在庫", "Change Stock": "お釣り在庫",
"Channel Limits": "スロット上限", "Channel Limits": "スロット上限",
"Channel Limits (Track/Spring)": "スロット上限 (ベルト/スプリング)", "Channel Limits (Track\/Spring)": "スロット上限 (ベルト\/スプリング)",
"Channel Limits Configuration": "スロット上限設定", "Channel Limits Configuration": "スロット上限設定",
"ChannelId": "ChannelId", "ChannelId": "ChannelId",
"ChannelSecret": "ChannelSecret", "ChannelSecret": "ChannelSecret",
@ -261,8 +261,8 @@
"Code": "コード", "Code": "コード",
"Code Copied": "コードをコピーしました", "Code Copied": "コードをコピーしました",
"Coin Acceptor": "硬貨機", "Coin Acceptor": "硬貨機",
"Coin/Banknote Machine": "硬貨・紙幣機", "Coin\/Banknote Machine": "硬貨・紙幣機",
"Coin/Bill Acceptor": "硬貨・紙幣機", "Coin\/Bill Acceptor": "硬貨・紙幣機",
"Command Center": "コマンドセンター", "Command Center": "コマンドセンター",
"Command Confirmation": "コマンド確認", "Command Confirmation": "コマンド確認",
"Command Type": "コマンドタイプ", "Command Type": "コマンドタイプ",
@ -349,7 +349,7 @@
"Creation Time": "作成時間", "Creation Time": "作成時間",
"Creator": "作成者", "Creator": "作成者",
"Credit Card": "クレジットカード", "Credit Card": "クレジットカード",
"Credit Card / Contactless": "クレジットカード/非接触決済対応", "Credit Card \/ Contactless": "クレジットカード\/非接触決済対応",
"Critical": "深刻", "Critical": "深刻",
"Current": "現在", "Current": "現在",
"Current Password": "現在のパスワード", "Current Password": "現在のパスワード",
@ -404,7 +404,7 @@
"Delta": "変動量", "Delta": "変動量",
"Deposit Bonus": "チャージボーナス", "Deposit Bonus": "チャージボーナス",
"Describe the repair or maintenance status...": "修理やメンテナンスの状況を説明してください...", "Describe the repair or maintenance status...": "修理やメンテナンスの状況を説明してください...",
"Description / Name": "説明 / 名前", "Description \/ Name": "説明 \/ 名前",
"Deselect All": "すべて解除", "Deselect All": "すべて解除",
"Detail": "詳細", "Detail": "詳細",
"Details": "明細", "Details": "明細",
@ -446,7 +446,7 @@
"Draft": "下書き", "Draft": "下書き",
"Duration": "時間", "Duration": "時間",
"Duration (Seconds)": "再生秒数", "Duration (Seconds)": "再生秒数",
"E-Ticket (EasyCard/iPass)": "電子チケット (EasyCard/iPass)", "E-Ticket (EasyCard\/iPass)": "電子チケット (EasyCard\/iPass)",
"E.SUN Bank Scan": "玉山銀行スキャン", "E.SUN Bank Scan": "玉山銀行スキャン",
"E.SUN Pay": "玉山 Pay", "E.SUN Pay": "玉山 Pay",
"E.SUN QR Pay": "玉山銀行QR決済", "E.SUN QR Pay": "玉山銀行QR決済",
@ -488,7 +488,7 @@
"Elevator rising": "昇降プラットフォーム上昇中", "Elevator rising": "昇降プラットフォーム上昇中",
"Elevator sensor error": "昇降箱センサー異常", "Elevator sensor error": "昇降箱センサー異常",
"Email": "メールアドレス", "Email": "メールアドレス",
"Emblem / Label": "エンブレム / ラベル", "Emblem \/ Label": "エンブレム \/ ラベル",
"Employee": "従業員", "Employee": "従業員",
"Employee ID": "社員番号", "Employee ID": "社員番号",
"Empty": "空", "Empty": "空",
@ -500,7 +500,7 @@
"Enable Points Mechanism": "ポイント機能を有効化", "Enable Points Mechanism": "ポイント機能を有効化",
"Enabled": "有効済み", "Enabled": "有効済み",
"Enabled Features": "有効な機能", "Enabled Features": "有効な機能",
"Enabled/Disabled": "有効/無効", "Enabled\/Disabled": "有効\/無効",
"End Date": "終了日", "End Date": "終了日",
"End Time": "終了時間", "End Time": "終了時間",
"Engineer": "メンテナンス担当者", "Engineer": "メンテナンス担当者",
@ -535,7 +535,7 @@
"Expected Expiry Date & Time": "予想期限日時", "Expected Expiry Date & Time": "予想期限日時",
"Expected Stock": "予想在庫", "Expected Stock": "予想在庫",
"Expired": "期限切れ", "Expired": "期限切れ",
"Expired / Disabled": "期限切れ / 無効", "Expired \/ Disabled": "期限切れ \/ 無効",
"Expired Time": "掲載終了時間", "Expired Time": "掲載終了時間",
"Expires At": "有効期限", "Expires At": "有効期限",
"Expiring": "期限間近", "Expiring": "期限間近",
@ -566,87 +566,87 @@
"Fleet Avg OEE": "全機器平均 OEE", "Fleet Avg OEE": "全機器平均 OEE",
"Fleet Performance": "全機器パフォーマンス", "Fleet Performance": "全機器パフォーマンス",
"Flow ID": "フローID", "Flow ID": "フローID",
"Flow ID / Amount": "フローID / 金額", "Flow ID \/ Amount": "フローID \/ 金額",
"Flow ID / Date": "フローID / 日付", "Flow ID \/ Date": "フローID \/ 日付",
"Flow ID / Machine": "フローID / 機器", "Flow ID \/ Machine": "フローID \/ 機器",
"Flow ID / Order": "フローID / 関連注文", "Flow ID \/ Order": "フローID \/ 関連注文",
"Flow ID / Product": "フローID / 商品", "Flow ID \/ Product": "フローID \/ 商品",
"Flow ID / Slot": "フローID / スロット", "Flow ID \/ Slot": "フローID \/ スロット",
"Flow ID / Slot / Amount": "フローID / スロット / 金額", "Flow ID \/ Slot \/ Amount": "フローID \/ スロット \/ 金額",
"Flow ID / Slot / Date": "フローID / スロット / 日付", "Flow ID \/ Slot \/ Date": "フローID \/ スロット \/ 日付",
"Flow ID / Slot / Machine": "フローID / スロット / 機器", "Flow ID \/ Slot \/ Machine": "フローID \/ スロット \/ 機器",
"Flow ID / Slot / Order": "フローID / スロット / 関連注文", "Flow ID \/ Slot \/ Order": "フローID \/ スロット \/ 関連注文",
"Flow ID / Slot / Product": "フローID / スロット / 商品", "Flow ID \/ Slot \/ Product": "フローID \/ スロット \/ 商品",
"Flow ID / Slot / Product / Amount": "フローID / スロット / 商品 / 金額", "Flow ID \/ Slot \/ Product \/ Amount": "フローID \/ スロット \/ 商品 \/ 金額",
"Flow ID / Slot / Product / Amount / Date": "フローID / スロット / 商品 / 金額 / 日付", "Flow ID \/ Slot \/ Product \/ Amount \/ Date": "フローID \/ スロット \/ 商品 \/ 金額 \/ 日付",
"Flow ID / Slot / Product / Amount / Date / Order": "フローID / スロット / 商品 / 金額 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Date / Time": "フローID / スロット / 商品 / 金額 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Amount / Date / Time / Order": "フローID / スロット / 商品 / 金額 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Machine": "フローID / スロット / 商品 / 金額 / 機器", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器",
"Flow ID / Slot / Product / Amount / Machine / Date": "フローID / スロット / 商品 / 金額 / 機器 / 日付", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 日付",
"Flow ID / Slot / Product / Amount / Machine / Date / Order": "フローID / スロット / 商品 / 金額 / 機器 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Machine / Date / Time": "フローID / スロット / 商品 / 金額 / 機器 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Amount / Machine / Date / Time / Order": "フローID / スロット / 商品 / 金額 / 機器 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Machine / Order": "フローID / スロット / 商品 / 金額 / 機器 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Machine / Time": "フローID / スロット / 商品 / 金額 / 機器 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 時間",
"Flow ID / Slot / Product / Amount / Machine / Time / Order": "フローID / スロット / 商品 / 金額 / 機器 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 機器 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Order": "フローID / スロット / 商品 / 金額 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status": "フローID / スロット / 商品 / 金額 / ステータス", "Flow ID \/ Slot \/ Product \/ Amount \/ Status": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス",
"Flow ID / Slot / Product / Amount / Status / Date": "フローID / スロット / 商品 / 金額 / ステータス / 日付", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 日付",
"Flow ID / Slot / Product / Amount / Status / Date / Order": "フローID / スロット / 商品 / 金額 / ステータス / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Date / Time": "フローID / スロット / 商品 / 金額 / ステータス / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Date / Time / Order": "フローID / スロット / 商品 / 金額 / ステータス / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Machine": "フローID / スロット / 商品 / 金額 / ステータス / 機器", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器",
"Flow ID / Slot / Product / Amount / Status / Machine / Date": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Order": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 時間 / 関連注文 / 追加", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 時間 \/ 関連注文 \/ 追加",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 時間 / 関連注文 / 追加 / さらに", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 時間 \/ 関連注文 \/ 追加 \/ さらに",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More / Done": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 日付 / 時間 / 関連注文 / 追加 / さらに / 完了", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More \/ Done": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 日付 \/ 時間 \/ 関連注文 \/ 追加 \/ さらに \/ 完了",
"Flow ID / Slot / Product / Amount / Status / Machine / Order": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Machine / Time": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Machine / Time / Order": "フローID / スロット / 商品 / 金額 / ステータス / 機器 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 機器 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Order": "フローID / スロット / 商品 / 金額 / ステータス / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 関連注文",
"Flow ID / Slot / Product / Amount / Status / Time": "フローID / スロット / 商品 / 金額 / ステータス / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Time / Order": "フローID / スロット / 商品 / 金額 / ステータス / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 金額 \/ ステータス \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Amount / Time": "フローID / スロット / 商品 / 金額 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Time": "フローID \/ スロット \/ 商品 \/ 金額 \/ 時間",
"Flow ID / Slot / Product / Amount / Time / Order": "フローID / スロット / 商品 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Amount \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Date": "フローID / スロット / 商品 / 日付", "Flow ID \/ Slot \/ Product \/ Date": "フローID \/ スロット \/ 商品 \/ 日付",
"Flow ID / Slot / Product / Date / Order": "フローID / スロット / 商品 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Date / Time": "フローID / スロット / 商品 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Date / Time / Order": "フローID / スロット / 商品 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Machine": "フローID / スロット / 商品 / 機器", "Flow ID \/ Slot \/ Product \/ Machine": "フローID \/ スロット \/ 商品 \/ 機器",
"Flow ID / Slot / Product / Machine / Date": "フローID / スロット / 商品 / 機器 / 日付", "Flow ID \/ Slot \/ Product \/ Machine \/ Date": "フローID \/ スロット \/ 商品 \/ 機器 \/ 日付",
"Flow ID / Slot / Product / Machine / Date / Order": "フローID / スロット / 商品 / 機器 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ 機器 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Machine / Date / Time": "フローID / スロット / 商品 / 機器 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ 機器 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Machine / Date / Time / Order": "フローID / スロット / 商品 / 機器 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 機器 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Machine / Order": "フローID / スロット / 商品 / 機器 / 関連注文", "Flow ID \/ Slot \/ Product \/ Machine \/ Order": "フローID \/ スロット \/ 商品 \/ 機器 \/ 関連注文",
"Flow ID / Slot / Product / Machine / Time": "フローID / スロット / 商品 / 機器 / 時間", "Flow ID \/ Slot \/ Product \/ Machine \/ Time": "フローID \/ スロット \/ 商品 \/ 機器 \/ 時間",
"Flow ID / Slot / Product / Machine / Time / Order": "フローID / スロット / 商品 / 機器 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Machine \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 機器 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Order": "フローID / スロット / 商品 / 関連注文", "Flow ID \/ Slot \/ Product \/ Order": "フローID \/ スロット \/ 商品 \/ 関連注文",
"Flow ID / Slot / Product / Status": "フローID / スロット / 商品 / ステータス", "Flow ID \/ Slot \/ Product \/ Status": "フローID \/ スロット \/ 商品 \/ ステータス",
"Flow ID / Slot / Product / Status / Date": "フローID / スロット / 商品 / ステータス / 日付", "Flow ID \/ Slot \/ Product \/ Status \/ Date": "フローID \/ スロット \/ 商品 \/ ステータス \/ 日付",
"Flow ID / Slot / Product / Status / Date / Order": "フローID / スロット / 商品 / ステータス / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Status / Date / Time": "フローID / スロット / 商品 / ステータス / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ ステータス \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Status / Date / Time / Order": "フローID / スロット / 商品 / ステータス / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Status / Machine": "フローID / スロット / 商品 / ステータス / 機器", "Flow ID \/ Slot \/ Product \/ Status \/ Machine": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器",
"Flow ID / Slot / Product / Status / Machine / Date": "フローID / スロット / 商品 / ステータス / 機器 / 日付", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 日付",
"Flow ID / Slot / Product / Status / Machine / Date / Order": "フローID / スロット / 商品 / ステータス / 機器 / 日付 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 日付 \/ 関連注文",
"Flow ID / Slot / Product / Status / Machine / Date / Time": "フローID / スロット / 商品 / ステータス / 機器 / 日付 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 日付 \/ 時間",
"Flow ID / Slot / Product / Status / Machine / Date / Time / Order": "フローID / スロット / 商品 / ステータス / 機器 / 日付 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 日付 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Status / Machine / Order": "フローID / スロット / 商品 / ステータス / 機器 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 関連注文",
"Flow ID / Slot / Product / Status / Machine / Time": "フローID / スロット / 商品 / ステータス / 機器 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 時間",
"Flow ID / Slot / Product / Status / Machine / Time / Order": "フローID / スロット / 商品 / ステータス / 機器 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 機器 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Status / Order": "フローID / スロット / 商品 / ステータス / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 関連注文",
"Flow ID / Slot / Product / Status / Time": "フローID / スロット / 商品 / ステータス / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Time": "フローID \/ スロット \/ 商品 \/ ステータス \/ 時間",
"Flow ID / Slot / Product / Status / Time / Order": "フローID / スロット / 商品 / ステータス / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Status \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ ステータス \/ 時間 \/ 関連注文",
"Flow ID / Slot / Product / Time": "フローID / スロット / 商品 / 時間", "Flow ID \/ Slot \/ Product \/ Time": "フローID \/ スロット \/ 商品 \/ 時間",
"Flow ID / Slot / Product / Time / Order": "フローID / スロット / 商品 / 時間 / 関連注文", "Flow ID \/ Slot \/ Product \/ Time \/ Order": "フローID \/ スロット \/ 商品 \/ 時間 \/ 関連注文",
"Flow ID / Slot / Status": "フローID / スロット / ステータス", "Flow ID \/ Slot \/ Status": "フローID \/ スロット \/ ステータス",
"Flow ID / Slot / Time": "フローID / スロット / 時間", "Flow ID \/ Slot \/ Time": "フローID \/ スロット \/ 時間",
"Flow ID / Status": "フローID / ステータス", "Flow ID \/ Status": "フローID \/ ステータス",
"Flow ID / Time": "フローID / 時間", "Flow ID \/ Time": "フローID \/ 時間",
"Force End Session": "セッションを強制終了", "Force End Session": "セッションを強制終了",
"Force end current session": "現在のセッションを強制終了", "Force end current session": "現在のセッションを強制終了",
"From": "元", "From": "元",
@ -702,7 +702,7 @@
"Immediate": "即時", "Immediate": "即時",
"In Stock": "現在庫", "In Stock": "現在庫",
"Inactive": "停止中", "Inactive": "停止中",
"Includes Credit Card/Mobile Pay": "クレジット/QR決済を含む", "Includes Credit Card\/Mobile Pay": "クレジット\/QR決済を含む",
"Indefinite": "無期限", "Indefinite": "無期限",
"Info": "情報", "Info": "情報",
"Initial Admin Account": "初期管理アカウント", "Initial Admin Account": "初期管理アカウント",
@ -721,8 +721,8 @@
"Invoice Date": "発行日", "Invoice Date": "発行日",
"Invoice Information": "領収書情報", "Invoice Information": "領収書情報",
"Invoice Number": "領収書番号", "Invoice Number": "領収書番号",
"Invoice Number / Flow ID": "領収書番号 / フローID", "Invoice Number \/ Flow ID": "領収書番号 \/ フローID",
"Invoice Number / Time": "領収書番号 / 時間", "Invoice Number \/ Time": "領収書番号 \/ 時間",
"Invoice Status": "発行ステータス", "Invoice Status": "発行ステータス",
"Issued At": "発行日時", "Issued At": "発行日時",
"Item List": "商品リスト", "Item List": "商品リスト",
@ -794,17 +794,17 @@
"Low stock and out-of-stock alerts": "低在庫と欠品のアラート", "Low stock and out-of-stock alerts": "低在庫と欠品のアラート",
"Loyalty & Features": "マーケティング・ポイント", "Loyalty & Features": "マーケティング・ポイント",
"Machine": "自販機", "Machine": "自販機",
"Machine / Date": "機器 / 日付", "Machine \/ Date": "機器 \/ 日付",
"Machine / Employee": "機器 / 従業員", "Machine \/ Employee": "機器 \/ 従業員",
"Machine / Pass Code": "機器 / パスコード", "Machine \/ Pass Code": "機器 \/ パスコード",
"Machine / Slot": "機器 / スロット", "Machine \/ Slot": "機器 \/ スロット",
"Machine Advertisement Settings": "機器広告設定", "Machine Advertisement Settings": "機器広告設定",
"Machine Count": "機器数", "Machine Count": "機器数",
"Machine Details": "機器詳細", "Machine Details": "機器詳細",
"Machine Distribution": "機器分布", "Machine Distribution": "機器分布",
"Machine Distribution Map": "機器分布マップ", "Machine Distribution Map": "機器分布マップ",
"Machine Flow ID": "機器フローID", "Machine Flow ID": "機器フローID",
"Machine Flow ID / Time": "機器フローID / 時間", "Machine Flow ID \/ Time": "機器フローID \/ 時間",
"Machine Images": "機器写真", "Machine Images": "機器写真",
"Machine Info": "機器情報", "Machine Info": "機器情報",
"Machine Information": "機器情報", "Machine Information": "機器情報",
@ -945,9 +945,9 @@
"Movement History": "変動履歴", "Movement History": "変動履歴",
"Movement Logs": "変動ログ", "Movement Logs": "変動ログ",
"Multilingual Names": "多言語名", "Multilingual Names": "多言語名",
"N/A": "なし", "N\/A": "なし",
"Name": "名前", "Name": "名前",
"Name / Machine": "名前 / 機器", "Name \/ Machine": "名前 \/ 機器",
"Name in English": "英語名", "Name in English": "英語名",
"Name in Japanese": "日本語名", "Name in Japanese": "日本語名",
"Name in Traditional Chinese": "繁体字中国語名", "Name in Traditional Chinese": "繁体字中国語名",
@ -1082,7 +1082,7 @@
"Order Items": "商品内容", "Order Items": "商品内容",
"Order Management": "注文管理", "Order Management": "注文管理",
"Order No.": "注文番号", "Order No.": "注文番号",
"Order Number / Time": "注文番号 / 時間", "Order Number \/ Time": "注文番号 \/ 時間",
"Order Status": "注文ステータス", "Order Status": "注文ステータス",
"Order Time": "注文時間", "Order Time": "注文時間",
"Order already completed": "注文は既に完了しています", "Order already completed": "注文は既に完了しています",
@ -1208,18 +1208,18 @@
"Points": "ポイント", "Points": "ポイント",
"Points Settings": "ポイント設定", "Points Settings": "ポイント設定",
"Points toggle": "ポイント切り替え", "Points toggle": "ポイント切り替え",
"Points/Voucher": "ポイント/クーポン", "Points\/Voucher": "ポイント\/クーポン",
"Position": "配信位置", "Position": "配信位置",
"Prepared": "準備完了", "Prepared": "準備完了",
"Preparing": "準備中", "Preparing": "準備中",
"Preview": "プレビュー", "Preview": "プレビュー",
"Previous": "前へ", "Previous": "前へ",
"Price / Member": "価格 / 会員価格", "Price \/ Member": "価格 \/ 会員価格",
"Pricing Information": "価格情報", "Pricing Information": "価格情報",
"Print Invoice": "領収書印刷", "Print Invoice": "領収書印刷",
"Product": "商品", "Product": "商品",
"Product / Slot": "商品 / スロット", "Product \/ Slot": "商品 \/ スロット",
"Product / Stock": "商品 / 在庫", "Product \/ Stock": "商品 \/ 在庫",
"Product Count": "商品数", "Product Count": "商品数",
"Product Details": "商品詳細", "Product Details": "商品詳細",
"Product ID": "商品ID", "Product ID": "商品ID",
@ -1238,7 +1238,7 @@
"Product updated successfully": "商品が正常に更新されました", "Product updated successfully": "商品が正常に更新されました",
"Production Company": "製造会社", "Production Company": "製造会社",
"Products": "商品", "Products": "商品",
"Products / Stock": "商品 / 在庫", "Products \/ Stock": "商品 \/ 在庫",
"Profile": "プロフィール", "Profile": "プロフィール",
"Profile Information": "プロフィール情報", "Profile Information": "プロフィール情報",
"Profile Settings": "プロフィール設定", "Profile Settings": "プロフィール設定",
@ -1384,13 +1384,13 @@
"Schedule": "スケジュール", "Schedule": "スケジュール",
"Search Company Title...": "会社名を検索...", "Search Company Title...": "会社名を検索...",
"Search Company...": "会社を検索...", "Search Company...": "会社を検索...",
"Search Flow ID / Slot...": "フローID / スロットを検索...", "Search Flow ID \/ Slot...": "フローID \/ スロットを検索...",
"Search Invoice No / Flow ID...": "領収書番号 / フローIDを検索...", "Search Invoice No \/ Flow ID...": "領収書番号 \/ フローIDを検索...",
"Search Machine...": "機器を検索...", "Search Machine...": "機器を検索...",
"Search Order No / Flow ID / Invoice...": "注文番号 / フローID / 領収書を検索...", "Search Order No \/ Flow ID \/ Invoice...": "注文番号 \/ フローID \/ 領収書を検索...",
"Search Order No / Cards & Codes...": "注文番号 / カード・コードを検索...", "Search Order No \/ Cards & Codes...": "注文番号 \/ カード・コードを検索...",
"Search Product": "商品を検索", "Search Product": "商品を検索",
"Search Product / Slot...": "商品名 / スロットを検索...", "Search Product \/ Slot...": "商品名 \/ スロットを検索...",
"Search accounts...": "アカウントを検索...", "Search accounts...": "アカウントを検索...",
"Search by ID or Name": "IDまたは名前で検索", "Search by ID or Name": "IDまたは名前で検索",
"Search by ID or Name...": "IDまたは名前で検索...", "Search by ID or Name...": "IDまたは名前で検索...",
@ -1398,7 +1398,7 @@
"Search by ID, Name or UID...": "社員番号、名前、またはカードUIDで検索...", "Search by ID, Name or UID...": "社員番号、名前、またはカードUIDで検索...",
"Search by code, machine name or serial...": "コード、機器名、またはシリアルで検索...", "Search by code, machine name or serial...": "コード、機器名、またはシリアルで検索...",
"Search by code, name or machine...": "コード、名前、または機器で検索...", "Search by code, name or machine...": "コード、名前、または機器で検索...",
"Search by name or S/N...": "名前またはシリアル番号で検索...", "Search by name or S\/N...": "名前またはシリアル番号で検索...",
"Search by name...": "名前で検索...", "Search by name...": "名前で検索...",
"Search cargo lane": "スロット番号または商品名で検索", "Search cargo lane": "スロット番号または商品名で検索",
"Search categories...": "カテゴリを検索...", "Search categories...": "カテゴリを検索...",
@ -1476,7 +1476,7 @@
"Sign in to your account": "アカウントにサインイン", "Sign in to your account": "アカウントにサインイン",
"Signed in as": "ログイン中のユーザー", "Signed in as": "ログイン中のユーザー",
"Slot": "スロット", "Slot": "スロット",
"Slot / Product": "スロット / 商品", "Slot \/ Product": "スロット \/ 商品",
"Slot Mechanism (default: Conveyor, check for Spring)": "スロット機構 (デフォルト: ベルトコンベア、スプリングの場合はチェック)", "Slot Mechanism (default: Conveyor, check for Spring)": "スロット機構 (デフォルト: ベルトコンベア、スプリングの場合はチェック)",
"Slot No": "スロット番号", "Slot No": "スロット番号",
"Slot Status": "スロット期限ステータス", "Slot Status": "スロット期限ステータス",
@ -1527,15 +1527,15 @@
"Start Time": "開始時間", "Start Time": "開始時間",
"Statistics": "統計", "Statistics": "統計",
"Status": "ステータス", "Status": "ステータス",
"Status / Invoice": "ステータス / 領収書", "Status \/ Invoice": "ステータス \/ 領収書",
"Status / Temp / Sub / Card / Scan": "ステータス / 温度 / 下位機 / カードリーダー / スキャナー", "Status \/ Temp \/ Sub \/ Card \/ Scan": "ステータス \/ 温度 \/ 下位機 \/ カードリーダー \/ スキャナー",
"Status Timeline": "ステータスタイムライン", "Status Timeline": "ステータスタイムライン",
"Status updated successfully": "ステータスが正常に更新されました", "Status updated successfully": "ステータスが正常に更新されました",
"Stock": "在庫", "Stock": "在庫",
"Stock & Expiry": "在庫と期限", "Stock & Expiry": "在庫と期限",
"Stock & Expiry Management": "在庫と期限の管理", "Stock & Expiry Management": "在庫と期限の管理",
"Stock & Expiry Overview": "在庫と期限の概要", "Stock & Expiry Overview": "在庫と期限の概要",
"Stock / Capacity": "在庫 / 容量", "Stock \/ Capacity": "在庫 \/ 容量",
"Stock In": "入庫", "Stock In": "入庫",
"Stock Level": "在庫レベル", "Stock Level": "在庫レベル",
"Stock Level > 50%": "在庫 50% 超", "Stock Level > 50%": "在庫 50% 超",
@ -1565,7 +1565,7 @@
"Store ID": "店舗ID (Store ID)", "Store ID": "店舗ID (Store ID)",
"Store Management": "店舗管理", "Store Management": "店舗管理",
"StoreID": "店舗ID", "StoreID": "店舗ID",
"Sub / Card / Scan": "下位機 / カードリーダー / スキャナー", "Sub \/ Card \/ Scan": "下位機 \/ カードリーダー \/ スキャナー",
"Sub Account Management": "サブアカウント管理", "Sub Account Management": "サブアカウント管理",
"Sub Account Roles": "サブアカウントロール", "Sub Account Roles": "サブアカウントロール",
"Sub Accounts": "サブアカウント", "Sub Accounts": "サブアカウント",
@ -1663,7 +1663,7 @@
"Track": "ベルトコンベア", "Track": "ベルトコンベア",
"Track Channel Limit": "ベルトコンベアスロット上限", "Track Channel Limit": "ベルトコンベアスロット上限",
"Track Limit": "ベルトコンベア上限", "Track Limit": "ベルトコンベア上限",
"Track Limit (Track/Spring)": "スロット上限 (ベルト/スプリング)", "Track Limit (Track\/Spring)": "スロット上限 (ベルト\/スプリング)",
"Track device health and maintenance history": "デバイスの健全性とメンテナンス履歴を追跡", "Track device health and maintenance history": "デバイスの健全性とメンテナンス履歴を追跡",
"Track stock levels, stock-in orders, and movement history": "在庫レベル、入庫伝票、および変動履歴を追跡", "Track stock levels, stock-in orders, and movement history": "在庫レベル、入庫伝票、および変動履歴を追跡",
"Track stock-in orders and movement history": "入庫伝票と在庫変動履歴を追跡", "Track stock-in orders and movement history": "入庫伝票と在庫変動履歴を追跡",
@ -1696,7 +1696,7 @@
"Type to search or leave blank for system defaults.": "入力して検索、または空白のままでシステムデフォルトを使用します。", "Type to search or leave blank for system defaults.": "入力して検索、または空白のままでシステムデフォルトを使用します。",
"UI Elements": "UI要素", "UI Elements": "UI要素",
"Unassigned": "未割り当て", "Unassigned": "未割り当て",
"Unassigned / No Change": "未割り当て / 変更なし", "Unassigned \/ No Change": "未割り当て \/ 変更なし",
"Unauthorized Status": "未承認", "Unauthorized Status": "未承認",
"Unauthorized login attempt: :account": "不正なログイン試行: :account", "Unauthorized login attempt: :account": "不正なログイン試行: :account",
"Unauthorized: Account not authorized for this machine": "未承認: アカウントはこの機器へのアクセス権がありません", "Unauthorized: Account not authorized for this machine": "未承認: アカウントはこの機器へのアクセス権がありません",
@ -1853,7 +1853,7 @@
"data-config.sub-account-roles": "サブアカウントロール", "data-config.sub-account-roles": "サブアカウントロール",
"data-config.sub-accounts": "サブアカウント管理", "data-config.sub-accounts": "サブアカウント管理",
"disabled": "無効", "disabled": "無効",
"e.g. 500ml / 300g": "例500ml / 300g", "e.g. 500ml \/ 300g": "例500ml \/ 300g",
"e.g. John Doe": "例:山田太郎", "e.g. John Doe": "例:山田太郎",
"e.g. Main Warehouse": "例:第一倉庫", "e.g. Main Warehouse": "例:第一倉庫",
"e.g. TWSTAR": "例TWSTAR", "e.g. TWSTAR": "例TWSTAR",
@ -2021,7 +2021,7 @@
"Select Product for Analysis": "分析対象商品の選択", "Select Product for Analysis": "分析対象商品の選択",
"All Products (ALL)": "全商品 (ALL)", "All Products (ALL)": "全商品 (ALL)",
"Tenant Company": "所属テナント会社", "Tenant Company": "所属テナント会社",
"Cross-Company / Headquarter Global Stats": "複数会社間 / 本部グローバル統計", "Cross-Company \/ Headquarter Global Stats": "複数会社間 \/ 本部グローバル統計",
"Product Sales & Profit Trend": "商品販売・利益推移", "Product Sales & Profit Trend": "商品販売・利益推移",
"Daily operational variance curve for selected timeframe": "選択期間における日次運営変動曲線", "Daily operational variance curve for selected timeframe": "選択期間における日次運営変動曲線",
"Detailed Analysis Data": "明細分析データ", "Detailed Analysis Data": "明細分析データ",
@ -2038,7 +2038,7 @@
"Gross Margin": "粗利益率", "Gross Margin": "粗利益率",
"No product data matching search criteria": "検索条件に一致する商品データはありません", "No product data matching search criteria": "検索条件に一致する商品データはありません",
"Analyze Solely": "個別分析", "Analyze Solely": "個別分析",
"Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "ハードウェア異常と接続ログ用のDiscord Webhookアラートを設定します", "Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "ハードウェア異常と接続ログ用のDiscord Webhookアラートを設定します",
"Search company name or code...": "会社名またはコードで検索...", "Search company name or code...": "会社名またはコードで検索...",
"Company Info": "会社情報", "Company Info": "会社情報",
"Webhook URL": "Webhook URL", "Webhook URL": "Webhook URL",
@ -2141,5 +2141,32 @@
"Effective Alert Types": "有効なアラート種別", "Effective Alert Types": "有効なアラート種別",
"Machine Alert Settings": "機台アラート設定", "Machine Alert Settings": "機台アラート設定",
"Configure alert types and temperature thresholds": "アラート種別と温度しきい値を設定", "Configure alert types and temperature thresholds": "アラート種別と温度しきい値を設定",
"Machine model saved successfully.": "機器モデルが正常に追加されました。" "Machine model saved successfully.": "機器モデルが正常に追加されました。",
"Replenishment Order": "補充伝票",
"Transfer Order": "在庫移動伝票",
"Ready to print": "印刷準備完了",
"Print": "印刷",
"Platform Operator": "プラットフォーム事業者",
"Vending Machine Product Replenishment": "自販機商品補充",
"Warehouse to Warehouse Transfer": "倉庫間移動",
"Machine to Warehouse Return": "自販機から倉庫への返品",
"Order Number": "伝票番号",
"Source Machine": "移動元自販機",
"Assigned Personnel": "担当者",
"Print Time": "印刷日時",
"Stock Snap": "在庫スナップショット",
"Replenish Qty": "補充数量",
"Transfer Qty": "移動数量",
"Check": "確認",
"Actual Qty": "実績数量",
"Print Notice": "印刷時の注意",
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "商品の画像やスタイル付きコンポーネントを正しく印刷するために、ブラウザの印刷設定で『背景のグラフィック』を有効にしてください。",
"Prepared By": "起票者",
"Warehouse Stock Out": "出庫確認",
"Courier\/Replenisher": "配送・補充担当",
"Machine Inbound Confirmation": "入庫確認",
"Transfer Out Confirmation": "出庫確認",
"Courier\/Dispatcher": "配送担当",
"Transfer In Confirmation": "入庫確認",
"Print Order": "伝票印刷"
} }

View File

@ -31,9 +31,9 @@
"Account deleted successfully.": "帳號已成功刪除。", "Account deleted successfully.": "帳號已成功刪除。",
"Account updated successfully.": "帳號已成功更新。", "Account updated successfully.": "帳號已成功更新。",
"Account:": "帳號:", "Account:": "帳號:",
"Accounts / Machines": "帳號 / 機台", "Accounts \/ Machines": "帳號 \/ 機台",
"Action": "操作", "Action": "操作",
"Action / Target": "操作 / 對象", "Action \/ Target": "操作 \/ 對象",
"Actions": "操作", "Actions": "操作",
"Active": "已啟用", "Active": "已啟用",
"Active Slots": "使用中貨道", "Active Slots": "使用中貨道",
@ -68,7 +68,7 @@
"Administrator": "管理員", "Administrator": "管理員",
"Advertisement List": "廣告列表", "Advertisement List": "廣告列表",
"Advertisement Management": "廣告管理", "Advertisement Management": "廣告管理",
"Advertisement Video/Image": "廣告影片/圖片", "Advertisement Video\/Image": "廣告影片\/圖片",
"Advertisement assigned successfully": "廣告投放完成", "Advertisement assigned successfully": "廣告投放完成",
"Advertisement assigned successfully.": "廣告投放完成。", "Advertisement assigned successfully.": "廣告投放完成。",
"Advertisement created successfully": "廣告建立成功", "Advertisement created successfully": "廣告建立成功",
@ -106,7 +106,7 @@
"All issues marked as resolved.": "所有異常已標記為已排除。", "All issues marked as resolved.": "所有異常已標記為已排除。",
"All slots are fully stocked": "所有貨道已滿貨", "All slots are fully stocked": "所有貨道已滿貨",
"Amount": "金額", "Amount": "金額",
"Amount / Payment": "金額 / 支付", "Amount \/ Payment": "金額 \/ 支付",
"An error occurred while saving.": "儲存時發生錯誤。", "An error occurred while saving.": "儲存時發生錯誤。",
"Analysis Management": "分析管理", "Analysis Management": "分析管理",
"Analysis Permissions": "分析管理權限", "Analysis Permissions": "分析管理權限",
@ -186,7 +186,7 @@
"Back to List": "返回列表", "Back to List": "返回列表",
"Badge Settings": "識別證", "Badge Settings": "識別證",
"Barcode": "條碼", "Barcode": "條碼",
"Barcode / Material": "條碼 / 物料編碼", "Barcode \/ Material": "條碼 \/ 物料編碼",
"Based on Hours": "依據時數計算", "Based on Hours": "依據時數計算",
"Basic Information": "基本資訊", "Basic Information": "基本資訊",
"Basic Settings": "基本設定", "Basic Settings": "基本設定",
@ -230,7 +230,7 @@
"Card Terminal": "刷卡機端", "Card Terminal": "刷卡機端",
"Card Terminal System": "刷卡機系統", "Card Terminal System": "刷卡機系統",
"Card UID": "卡片 UID", "Card UID": "卡片 UID",
"Cash Module": "硬幣機 / 紙鈔機模組", "Cash Module": "硬幣機 \/ 紙鈔機模組",
"Cash Module Feature": "現金模組功能", "Cash Module Feature": "現金模組功能",
"Cash Module Function": "現金模組功能", "Cash Module Function": "現金模組功能",
"Category": "類別", "Category": "類別",
@ -243,7 +243,7 @@
"Change Note": "異動備註", "Change Note": "異動備註",
"Change Stock": "零錢庫存", "Change Stock": "零錢庫存",
"Channel Limits": "貨道上限", "Channel Limits": "貨道上限",
"Channel Limits (Track/Spring)": "貨道上限 (履帶/彈簧)", "Channel Limits (Track\/Spring)": "貨道上限 (履帶\/彈簧)",
"Channel Limits Config": "貨道上限配置", "Channel Limits Config": "貨道上限配置",
"Channel Limits Configuration": "貨道上限配置", "Channel Limits Configuration": "貨道上限配置",
"ChannelId": "ChannelId", "ChannelId": "ChannelId",
@ -262,8 +262,8 @@
"Code": "代碼", "Code": "代碼",
"Code Copied": "代碼已複製", "Code Copied": "代碼已複製",
"Coin Acceptor": "硬幣機", "Coin Acceptor": "硬幣機",
"Coin/Banknote Machine": "硬幣機/紙鈔機", "Coin\/Banknote Machine": "硬幣機\/紙鈔機",
"Coin/Bill Acceptor": "硬幣機/紙鈔機", "Coin\/Bill Acceptor": "硬幣機\/紙鈔機",
"Command Center": "指令中心", "Command Center": "指令中心",
"Command Confirmation": "指令確認", "Command Confirmation": "指令確認",
"Command Type": "指令類型", "Command Type": "指令類型",
@ -352,7 +352,7 @@
"Creation Time": "建立時間", "Creation Time": "建立時間",
"Creator": "建立者", "Creator": "建立者",
"Credit Card": "信用卡", "Credit Card": "信用卡",
"Credit Card / Contactless": "支援信用卡 / 感應支付", "Credit Card \/ Contactless": "支援信用卡 \/ 感應支付",
"Critical": "嚴重", "Critical": "嚴重",
"Current": "當前", "Current": "當前",
"Current Password": "當前密碼", "Current Password": "當前密碼",
@ -408,7 +408,7 @@
"Delta": "變化量", "Delta": "變化量",
"Deposit Bonus": "儲值回饋", "Deposit Bonus": "儲值回饋",
"Describe the repair or maintenance status...": "請描述維修或保養狀況...", "Describe the repair or maintenance status...": "請描述維修或保養狀況...",
"Description / Name": "描述 / 名稱", "Description \/ Name": "描述 \/ 名稱",
"Deselect All": "取消全選", "Deselect All": "取消全選",
"Detail": "詳細", "Detail": "詳細",
"Details": "明細", "Details": "明細",
@ -450,7 +450,7 @@
"Draft": "草稿", "Draft": "草稿",
"Duration": "時長", "Duration": "時長",
"Duration (Seconds)": "播放秒數", "Duration (Seconds)": "播放秒數",
"E-Ticket (EasyCard/iPass)": "電子票證 (悠遊卡/一卡通)", "E-Ticket (EasyCard\/iPass)": "電子票證 (悠遊卡\/一卡通)",
"E.SUN Bank Scan": "玉山銀行掃碼", "E.SUN Bank Scan": "玉山銀行掃碼",
"E.SUN Pay": "玉山 Pay", "E.SUN Pay": "玉山 Pay",
"E.SUN QR Pay": "玉山銀行掃碼", "E.SUN QR Pay": "玉山銀行掃碼",
@ -492,7 +492,7 @@
"Elevator rising": "升降平台上升中", "Elevator rising": "升降平台上升中",
"Elevator sensor error": "升降箱感測異常", "Elevator sensor error": "升降箱感測異常",
"Email": "電子郵件", "Email": "電子郵件",
"Emblem / Label": "標章 / 標籤", "Emblem \/ Label": "標章 \/ 標籤",
"Employee": "員工", "Employee": "員工",
"Employee ID": "員工編號", "Employee ID": "員工編號",
"Empty": "空白", "Empty": "空白",
@ -504,7 +504,7 @@
"Enable Points Mechanism": "啟用點數機制", "Enable Points Mechanism": "啟用點數機制",
"Enabled": "已啟用", "Enabled": "已啟用",
"Enabled Features": "啟用功能", "Enabled Features": "啟用功能",
"Enabled/Disabled": "啟用/停用", "Enabled\/Disabled": "啟用\/停用",
"End Date": "截止日", "End Date": "截止日",
"End Time": "結束時間", "End Time": "結束時間",
"Engineer": "維修人員", "Engineer": "維修人員",
@ -539,7 +539,7 @@
"Expected Expiry Date & Time": "預計到期時間", "Expected Expiry Date & Time": "預計到期時間",
"Expected Stock": "預期庫存", "Expected Stock": "預期庫存",
"Expired": "已過期", "Expired": "已過期",
"Expired / Disabled": "已過期 / 停用", "Expired \/ Disabled": "已過期 \/ 停用",
"Expired Time": "下架時間", "Expired Time": "下架時間",
"Expires At": "到期時間", "Expires At": "到期時間",
"Expiring": "效期將屆", "Expiring": "效期將屆",
@ -573,87 +573,87 @@
"Fleet Avg OEE": "全機台平均 OEE", "Fleet Avg OEE": "全機台平均 OEE",
"Fleet Performance": "全機台效能", "Fleet Performance": "全機台效能",
"Flow ID": "流水號", "Flow ID": "流水號",
"Flow ID / Amount": "流水號 / 金額", "Flow ID \/ Amount": "流水號 \/ 金額",
"Flow ID / Date": "流水號 / 日期", "Flow ID \/ Date": "流水號 \/ 日期",
"Flow ID / Machine": "流水號 / 機台", "Flow ID \/ Machine": "流水號 \/ 機台",
"Flow ID / Order": "流水號 / 關聯訂單", "Flow ID \/ Order": "流水號 \/ 關聯訂單",
"Flow ID / Product": "流水號 / 商品", "Flow ID \/ Product": "流水號 \/ 商品",
"Flow ID / Slot": "流水號 / 貨道", "Flow ID \/ Slot": "流水號 \/ 貨道",
"Flow ID / Slot / Amount": "流水號 / 貨道 / 金額", "Flow ID \/ Slot \/ Amount": "流水號 \/ 貨道 \/ 金額",
"Flow ID / Slot / Date": "流水號 / 貨道 / 日期", "Flow ID \/ Slot \/ Date": "流水號 \/ 貨道 \/ 日期",
"Flow ID / Slot / Machine": "流水號 / 貨道 / 機台", "Flow ID \/ Slot \/ Machine": "流水號 \/ 貨道 \/ 機台",
"Flow ID / Slot / Order": "流水號 / 貨道 / 關聯訂單", "Flow ID \/ Slot \/ Order": "流水號 \/ 貨道 \/ 關聯訂單",
"Flow ID / Slot / Product": "流水號 / 貨道 / 商品", "Flow ID \/ Slot \/ Product": "流水號 \/ 貨道 \/ 商品",
"Flow ID / Slot / Product / Amount": "流水號 / 貨道 / 商品 / 金額", "Flow ID \/ Slot \/ Product \/ Amount": "流水號 \/ 貨道 \/ 商品 \/ 金額",
"Flow ID / Slot / Product / Amount / Date": "流水號 / 貨道 / 商品 / 金額 / 日期", "Flow ID \/ Slot \/ Product \/ Amount \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 日期",
"Flow ID / Slot / Product / Amount / Date / Order": "流水號 / 貨道 / 商品 / 金額 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Date / Time": "流水號 / 貨道 / 商品 / 金額 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Amount / Date / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Machine": "流水號 / 貨道 / 商品 / 金額 / 機台", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台",
"Flow ID / Slot / Product / Amount / Machine / Date": "流水號 / 貨道 / 商品 / 金額 / 機台 / 日期", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 日期",
"Flow ID / Slot / Product / Amount / Machine / Date / Order": "流水號 / 貨道 / 商品 / 金額 / 機台 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Machine / Date / Time": "流水號 / 貨道 / 商品 / 金額 / 機台 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Amount / Machine / Date / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 機台 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Machine / Order": "流水號 / 貨道 / 商品 / 金額 / 機台 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Machine / Time": "流水號 / 貨道 / 商品 / 金額 / 機台 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 時間",
"Flow ID / Slot / Product / Amount / Machine / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 機台 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Machine \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 機台 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Order": "流水號 / 貨道 / 商品 / 金額 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status": "流水號 / 貨道 / 商品 / 金額 / 狀態", "Flow ID \/ Slot \/ Product \/ Amount \/ Status": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態",
"Flow ID / Slot / Product / Amount / Status / Date": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 日期", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 日期",
"Flow ID / Slot / Product / Amount / Status / Date / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Date / Time": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Date / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Machine": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台",
"Flow ID / Slot / Product / Amount / Status / Machine / Date": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 時間 / 關聯訂單 / 額外", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單 \/ 額外",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 時間 / 關聯訂單 / 額外 / 更多", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單 \/ 額外 \/ 更多",
"Flow ID / Slot / Product / Amount / Status / Machine / Date / Time / Order / Extra / More / Done": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 日期 / 時間 / 關聯訂單 / 額外 / 更多 / 完成", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Date \/ Time \/ Order \/ Extra \/ More \/ Done": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單 \/ 額外 \/ 更多 \/ 完成",
"Flow ID / Slot / Product / Amount / Status / Machine / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Machine / Time": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Machine / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 機台 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Machine \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 機台 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Status / Time": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 時間",
"Flow ID / Slot / Product / Amount / Status / Time / Order": "流水號 / 貨道 / 商品 / 金額 / 狀態 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Status \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 狀態 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Amount / Time": "流水號 / 貨道 / 商品 / 金額 / 時間", "Flow ID \/ Slot \/ Product \/ Amount \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 金額 \/ 時間",
"Flow ID / Slot / Product / Amount / Time / Order": "流水號 / 貨道 / 商品 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Amount \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Date": "流水號 / 貨道 / 商品 / 日期", "Flow ID \/ Slot \/ Product \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 日期",
"Flow ID / Slot / Product / Date / Order": "流水號 / 貨道 / 商品 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Date / Time": "流水號 / 貨道 / 商品 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Date / Time / Order": "流水號 / 貨道 / 商品 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Machine": "流水號 / 貨道 / 商品 / 機台", "Flow ID \/ Slot \/ Product \/ Machine": "流水號 \/ 貨道 \/ 商品 \/ 機台",
"Flow ID / Slot / Product / Machine / Date": "流水號 / 貨道 / 商品 / 機台 / 日期", "Flow ID \/ Slot \/ Product \/ Machine \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 日期",
"Flow ID / Slot / Product / Machine / Date / Order": "流水號 / 貨道 / 商品 / 機台 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Machine / Date / Time": "流水號 / 貨道 / 商品 / 機台 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Machine / Date / Time / Order": "流水號 / 貨道 / 商品 / 機台 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Machine \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Machine / Order": "流水號 / 貨道 / 商品 / 機台 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Machine \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 關聯訂單",
"Flow ID / Slot / Product / Machine / Time": "流水號 / 貨道 / 商品 / 機台 / 時間", "Flow ID \/ Slot \/ Product \/ Machine \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 時間",
"Flow ID / Slot / Product / Machine / Time / Order": "流水號 / 貨道 / 商品 / 機台 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Machine \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 機台 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Order": "流水號 / 貨道 / 商品 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 關聯訂單",
"Flow ID / Slot / Product / Status": "流水號 / 貨道 / 商品 / 狀態", "Flow ID \/ Slot \/ Product \/ Status": "流水號 \/ 貨道 \/ 商品 \/ 狀態",
"Flow ID / Slot / Product / Status / Date": "流水號 / 貨道 / 商品 / 狀態 / 日期", "Flow ID \/ Slot \/ Product \/ Status \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 日期",
"Flow ID / Slot / Product / Status / Date / Order": "流水號 / 貨道 / 商品 / 狀態 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Date / Time": "流水號 / 貨道 / 商品 / 狀態 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Status / Date / Time / Order": "流水號 / 貨道 / 商品 / 狀態 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Machine": "流水號 / 貨道 / 商品 / 狀態 / 機台", "Flow ID \/ Slot \/ Product \/ Status \/ Machine": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台",
"Flow ID / Slot / Product / Status / Machine / Date": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 日期", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 日期",
"Flow ID / Slot / Product / Status / Machine / Date / Order": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 日期 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 日期 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Machine / Date / Time": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 日期 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 日期 \/ 時間",
"Flow ID / Slot / Product / Status / Machine / Date / Time / Order": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 日期 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Date \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 日期 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Machine / Order": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Machine / Time": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 時間",
"Flow ID / Slot / Product / Status / Machine / Time / Order": "流水號 / 貨道 / 商品 / 狀態 / 機台 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Machine \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 機台 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Order": "流水號 / 貨道 / 商品 / 狀態 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 關聯訂單",
"Flow ID / Slot / Product / Status / Time": "流水號 / 貨道 / 商品 / 狀態 / 時間", "Flow ID \/ Slot \/ Product \/ Status \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 時間",
"Flow ID / Slot / Product / Status / Time / Order": "流水號 / 貨道 / 商品 / 狀態 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Status \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 狀態 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Product / Time": "流水號 / 貨道 / 商品 / 時間", "Flow ID \/ Slot \/ Product \/ Time": "流水號 \/ 貨道 \/ 商品 \/ 時間",
"Flow ID / Slot / Product / Time / Order": "流水號 / 貨道 / 商品 / 時間 / 關聯訂單", "Flow ID \/ Slot \/ Product \/ Time \/ Order": "流水號 \/ 貨道 \/ 商品 \/ 時間 \/ 關聯訂單",
"Flow ID / Slot / Status": "流水號 / 貨道 / 狀態", "Flow ID \/ Slot \/ Status": "流水號 \/ 貨道 \/ 狀態",
"Flow ID / Slot / Time": "流水號 / 貨道 / 時間", "Flow ID \/ Slot \/ Time": "流水號 \/ 貨道 \/ 時間",
"Flow ID / Status": "流水號 / 狀態", "Flow ID \/ Status": "流水號 \/ 狀態",
"Flow ID / Time": "流水號 / 時間", "Flow ID \/ Time": "流水號 \/ 時間",
"Force End Session": "強制結束當前會話", "Force End Session": "強制結束當前會話",
"Force end current session": "強制結束目前的連線", "Force end current session": "強制結束目前的連線",
"From": "來源", "From": "來源",
@ -710,7 +710,7 @@
"Immediate": "立即", "Immediate": "立即",
"In Stock": "當前庫存", "In Stock": "當前庫存",
"Inactive": "已停用", "Inactive": "已停用",
"Includes Credit Card/Mobile Pay": "含信用卡/行動支付", "Includes Credit Card\/Mobile Pay": "含信用卡\/行動支付",
"Indefinite": "無限期", "Indefinite": "無限期",
"Info": "一般", "Info": "一般",
"Initial Admin Account": "初始管理帳號", "Initial Admin Account": "初始管理帳號",
@ -729,8 +729,8 @@
"Invoice Date": "開立日期", "Invoice Date": "開立日期",
"Invoice Information": "發票資訊", "Invoice Information": "發票資訊",
"Invoice Number": "發票號碼", "Invoice Number": "發票號碼",
"Invoice Number / Flow ID": "發票號碼 / 流水號", "Invoice Number \/ Flow ID": "發票號碼 \/ 流水號",
"Invoice Number / Time": "發票號碼 / 時間", "Invoice Number \/ Time": "發票號碼 \/ 時間",
"Invoice Status": "發票開立狀態", "Invoice Status": "發票開立狀態",
"Issued At": "開立時間", "Issued At": "開立時間",
"Item List": "商品清單", "Item List": "商品清單",
@ -802,17 +802,17 @@
"Low stock and out-of-stock alerts": "低庫存與缺貨警示", "Low stock and out-of-stock alerts": "低庫存與缺貨警示",
"Loyalty & Features": "行銷與點數", "Loyalty & Features": "行銷與點數",
"Machine": "機台", "Machine": "機台",
"Machine / Date": "機台 / 日期", "Machine \/ Date": "機台 \/ 日期",
"Machine / Employee": "機台 / 員工", "Machine \/ Employee": "機台 \/ 員工",
"Machine / Pass Code": "機台 / 通行碼", "Machine \/ Pass Code": "機台 \/ 通行碼",
"Machine / Slot": "機台 / 貨道", "Machine \/ Slot": "機台 \/ 貨道",
"Machine Advertisement Settings": "機台廣告設置", "Machine Advertisement Settings": "機台廣告設置",
"Machine Count": "機台數量", "Machine Count": "機台數量",
"Machine Details": "機台詳情", "Machine Details": "機台詳情",
"Machine Distribution": "機台分布", "Machine Distribution": "機台分布",
"Machine Distribution Map": "機台分布地圖", "Machine Distribution Map": "機台分布地圖",
"Machine Flow ID": "機台流水號", "Machine Flow ID": "機台流水號",
"Machine Flow ID / Time": "機台流水號 / 時間", "Machine Flow ID \/ Time": "機台流水號 \/ 時間",
"Machine Images": "機台照片", "Machine Images": "機台照片",
"Machine Info": "機台資訊", "Machine Info": "機台資訊",
"Machine Information": "機台資訊", "Machine Information": "機台資訊",
@ -956,9 +956,9 @@
"Movement History": "異動紀錄", "Movement History": "異動紀錄",
"Movement Logs": "異動紀錄", "Movement Logs": "異動紀錄",
"Multilingual Names": "多語系名稱", "Multilingual Names": "多語系名稱",
"N/A": "不適用", "N\/A": "不適用",
"Name": "名稱", "Name": "名稱",
"Name / Machine": "名稱 / 機台", "Name \/ Machine": "名稱 \/ 機台",
"Name in English": "英文名稱", "Name in English": "英文名稱",
"Name in Japanese": "日文名稱", "Name in Japanese": "日文名稱",
"Name in Traditional Chinese": "繁體中文名稱", "Name in Traditional Chinese": "繁體中文名稱",
@ -1101,7 +1101,7 @@
"Order Items": "商品內容", "Order Items": "商品內容",
"Order Management": "訂單管理", "Order Management": "訂單管理",
"Order No.": "單號", "Order No.": "單號",
"Order Number / Time": "訂單編號 / 時間", "Order Number \/ Time": "訂單編號 \/ 時間",
"Order Status": "訂單狀態", "Order Status": "訂單狀態",
"Order Time": "訂單時間", "Order Time": "訂單時間",
"Order already completed": "訂單已完成", "Order already completed": "訂單已完成",
@ -1227,18 +1227,18 @@
"Points": "點數功能", "Points": "點數功能",
"Points Settings": "點數設定", "Points Settings": "點數設定",
"Points toggle": "點數開關", "Points toggle": "點數開關",
"Points/Voucher": "點數/優惠券", "Points\/Voucher": "點數\/優惠券",
"Position": "投放位置", "Position": "投放位置",
"Prepared": "已備貨", "Prepared": "已備貨",
"Preparing": "備貨中", "Preparing": "備貨中",
"Preview": "預覽", "Preview": "預覽",
"Previous": "上一頁", "Previous": "上一頁",
"Price / Member": "售價 / 會員價", "Price \/ Member": "售價 \/ 會員價",
"Pricing Information": "價格資訊", "Pricing Information": "價格資訊",
"Print Invoice": "列印發票", "Print Invoice": "列印發票",
"Product": "商品", "Product": "商品",
"Product / Slot": "商品 / 貨道", "Product \/ Slot": "商品 \/ 貨道",
"Product / Stock": "商品 / 庫存", "Product \/ Stock": "商品 \/ 庫存",
"Product Count": "商品數量", "Product Count": "商品數量",
"Product Details": "商品明細", "Product Details": "商品明細",
"Product ID": "商品編號", "Product ID": "商品編號",
@ -1257,7 +1257,7 @@
"Product updated successfully": "商品已成功更新", "Product updated successfully": "商品已成功更新",
"Production Company": "生產公司", "Production Company": "生產公司",
"Products": "商品", "Products": "商品",
"Products / Stock": "商品 / 庫存", "Products \/ Stock": "商品 \/ 庫存",
"Profile": "個人檔案", "Profile": "個人檔案",
"Profile Information": "個人基本資料", "Profile Information": "個人基本資料",
"Profile Settings": "個人設定", "Profile Settings": "個人設定",
@ -1403,13 +1403,13 @@
"Schedule": "排程區間", "Schedule": "排程區間",
"Search Company Title...": "搜尋公司名稱...", "Search Company Title...": "搜尋公司名稱...",
"Search Company...": "搜尋公司...", "Search Company...": "搜尋公司...",
"Search Flow ID / Slot...": "搜尋 流水號 / 貨道...", "Search Flow ID \/ Slot...": "搜尋 流水號 \/ 貨道...",
"Search Invoice No / Flow ID...": "搜尋 發票號碼 / 流水號...", "Search Invoice No \/ Flow ID...": "搜尋 發票號碼 \/ 流水號...",
"Search Machine...": "搜尋機台...", "Search Machine...": "搜尋機台...",
"Search Order No / Flow ID / Invoice...": "搜尋 訂單號 / 流水號 / 發票號碼...", "Search Order No \/ Flow ID \/ Invoice...": "搜尋 訂單號 \/ 流水號 \/ 發票號碼...",
"Search Order No / Cards & Codes...": "搜尋 訂單號 / 卡號與代碼...", "Search Order No \/ Cards & Codes...": "搜尋 訂單號 \/ 卡號與代碼...",
"Search Product": "搜尋商品", "Search Product": "搜尋商品",
"Search Product / Slot...": "搜尋商品名稱 / 貨道...", "Search Product \/ Slot...": "搜尋商品名稱 \/ 貨道...",
"Search accounts...": "搜尋帳號...", "Search accounts...": "搜尋帳號...",
"Search by ID or Name": "搜尋員工編號或姓名", "Search by ID or Name": "搜尋員工編號或姓名",
"Search by ID or Name...": "搜尋員工編號或姓名...", "Search by ID or Name...": "搜尋員工編號或姓名...",
@ -1417,7 +1417,7 @@
"Search by ID, Name or UID...": "搜尋員工編號、姓名或卡號...", "Search by ID, Name or UID...": "搜尋員工編號、姓名或卡號...",
"Search by code, machine name or serial...": "搜尋代碼、機台名稱或序號...", "Search by code, machine name or serial...": "搜尋代碼、機台名稱或序號...",
"Search by code, name or machine...": "搜尋代碼、名稱或機台...", "Search by code, name or machine...": "搜尋代碼、名稱或機台...",
"Search by name or S/N...": "搜尋名稱或序號...", "Search by name or S\/N...": "搜尋名稱或序號...",
"Search by name...": "搜尋名稱...", "Search by name...": "搜尋名稱...",
"Search cargo lane": "搜尋貨道編號或商品名稱", "Search cargo lane": "搜尋貨道編號或商品名稱",
"Search categories...": "搜尋分類...", "Search categories...": "搜尋分類...",
@ -1496,7 +1496,7 @@
"Sign in to your account": "隨時隨地掌控您的業務。", "Sign in to your account": "隨時隨地掌控您的業務。",
"Signed in as": "登入身份", "Signed in as": "登入身份",
"Slot": "貨道", "Slot": "貨道",
"Slot / Product": "貨道 / 商品", "Slot \/ Product": "貨道 \/ 商品",
"Slot Mechanism (default: Conveyor, check for Spring)": "貨道機制 (預設履帶,勾選為彈簧)", "Slot Mechanism (default: Conveyor, check for Spring)": "貨道機制 (預設履帶,勾選為彈簧)",
"Slot No": "貨道編號", "Slot No": "貨道編號",
"Slot Status": "貨道效期", "Slot Status": "貨道效期",
@ -1547,15 +1547,15 @@
"Start Time": "開始時間", "Start Time": "開始時間",
"Statistics": "數據統計", "Statistics": "數據統計",
"Status": "狀態", "Status": "狀態",
"Status / Invoice": "狀態 / 發票", "Status \/ Invoice": "狀態 \/ 發票",
"Status / Temp / Sub / Card / Scan": "狀態 / 溫度 / 下位機 / 刷卡機 / 掃碼機", "Status \/ Temp \/ Sub \/ Card \/ Scan": "狀態 \/ 溫度 \/ 下位機 \/ 刷卡機 \/ 掃碼機",
"Status Timeline": "狀態時間線", "Status Timeline": "狀態時間線",
"Status updated successfully": "狀態更新成功", "Status updated successfully": "狀態更新成功",
"Stock": "庫存", "Stock": "庫存",
"Stock & Expiry": "庫存與效期", "Stock & Expiry": "庫存與效期",
"Stock & Expiry Management": "庫存與效期管理", "Stock & Expiry Management": "庫存與效期管理",
"Stock & Expiry Overview": "庫存與效期一覽", "Stock & Expiry Overview": "庫存與效期一覽",
"Stock / Capacity": "庫存/上限", "Stock \/ Capacity": "庫存\/上限",
"Stock In": "庫存入庫", "Stock In": "庫存入庫",
"Stock Level": "庫存水準", "Stock Level": "庫存水準",
"Stock Level > 50%": "庫存高於 50%", "Stock Level > 50%": "庫存高於 50%",
@ -1585,7 +1585,7 @@
"Store ID": "商店代號", "Store ID": "商店代號",
"Store Management": "店家管理", "Store Management": "店家管理",
"StoreID": "商店代號 (StoreID)", "StoreID": "商店代號 (StoreID)",
"Sub / Card / Scan": "下位機 / 刷卡機 / 掃碼機", "Sub \/ Card \/ Scan": "下位機 \/ 刷卡機 \/ 掃碼機",
"Sub Account Management": "子帳號管理", "Sub Account Management": "子帳號管理",
"Sub Account Roles": "子帳號角色", "Sub Account Roles": "子帳號角色",
"Sub Accounts": "子帳號", "Sub Accounts": "子帳號",
@ -1685,7 +1685,7 @@
"Track": "履帶", "Track": "履帶",
"Track Channel Limit": "履帶貨道上限", "Track Channel Limit": "履帶貨道上限",
"Track Limit": "履帶貨道上限", "Track Limit": "履帶貨道上限",
"Track Limit (Track/Spring)": "貨道上限(履帶/彈簧)", "Track Limit (Track\/Spring)": "貨道上限(履帶\/彈簧)",
"Track device health and maintenance history": "追蹤設備健康與維修歷史", "Track device health and maintenance history": "追蹤設備健康與維修歷史",
"Track stock levels, stock-in orders, and movement history": "追蹤庫存水位、進貨單與異動紀錄", "Track stock levels, stock-in orders, and movement history": "追蹤庫存水位、進貨單與異動紀錄",
"Track stock-in orders and movement history": "追蹤進貨單據與庫存異動紀錄", "Track stock-in orders and movement history": "追蹤進貨單據與庫存異動紀錄",
@ -1718,7 +1718,7 @@
"Type to search or leave blank for system defaults.": "輸入關鍵字搜尋,或留空以使用系統預設。", "Type to search or leave blank for system defaults.": "輸入關鍵字搜尋,或留空以使用系統預設。",
"UI Elements": "UI元素", "UI Elements": "UI元素",
"Unassigned": "未指派", "Unassigned": "未指派",
"Unassigned / No Change": "未指派 / 不變動", "Unassigned \/ No Change": "未指派 \/ 不變動",
"Unauthorized Status": "未授權", "Unauthorized Status": "未授權",
"Unauthorized login attempt: :account": "越權登入嘗試::account", "Unauthorized login attempt: :account": "越權登入嘗試::account",
"Unauthorized: Account not authorized for this machine": "授權失敗:此帳號無存取該機台的權限", "Unauthorized: Account not authorized for this machine": "授權失敗:此帳號無存取該機台的權限",
@ -1884,7 +1884,7 @@
"data-config.sub-accounts": "子帳號管理", "data-config.sub-accounts": "子帳號管理",
"description": "商品描述", "description": "商品描述",
"disabled": "停用", "disabled": "停用",
"e.g. 500ml / 300g": "例如500ml / 300g", "e.g. 500ml \/ 300g": "例如500ml \/ 300g",
"e.g. John Doe": "例如:張曉明", "e.g. John Doe": "例如:張曉明",
"e.g. Main Warehouse": "如總倉A", "e.g. Main Warehouse": "如總倉A",
"e.g. TWSTAR": "例如TWSTAR", "e.g. TWSTAR": "例如TWSTAR",
@ -2070,7 +2070,7 @@
"Select Product for Analysis": "選擇分析商品", "Select Product for Analysis": "選擇分析商品",
"All Products (ALL)": "全部商品 (ALL)", "All Products (ALL)": "全部商品 (ALL)",
"Tenant Company": "所屬租戶公司", "Tenant Company": "所屬租戶公司",
"Cross-Company / Headquarter Global Stats": "跨公司 / 總部全域統計", "Cross-Company \/ Headquarter Global Stats": "跨公司 \/ 總部全域統計",
"Product Sales & Profit Trend": "商品銷售利潤走勢", "Product Sales & Profit Trend": "商品銷售利潤走勢",
"Daily operational variance curve for selected timeframe": "所選統計區間之每日營運變動曲線", "Daily operational variance curve for selected timeframe": "所選統計區間之每日營運變動曲線",
"Detailed Analysis Data": "明細分析數據", "Detailed Analysis Data": "明細分析數據",
@ -2091,7 +2091,7 @@
"Product Items": "商品品項", "Product Items": "商品品項",
"Original Amount": "應付金額", "Original Amount": "應付金額",
"Discount Amount": "折扣金額", "Discount Amount": "折扣金額",
"Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "配置各公司的 Discord Webhook 以接收硬體異常與連線狀態告警", "Configure Discord Webhook alerts for hardware exceptions and connectivity logs": "配置各公司的 Discord Webhook 以接收硬體異常與連線狀態告警",
"Search company name or code...": "搜尋公司名稱或代碼...", "Search company name or code...": "搜尋公司名稱或代碼...",
"Company Info": "公司資訊", "Company Info": "公司資訊",
"Webhook URL": "Webhook 網址", "Webhook URL": "Webhook 網址",
@ -2197,5 +2197,31 @@
"Effective Alert Types": "目前生效的告警類型", "Effective Alert Types": "目前生效的告警類型",
"Machine Alert Settings": "機台告警設定", "Machine Alert Settings": "機台告警設定",
"Configure alert types and temperature thresholds": "設定告警類型與溫度門檻", "Configure alert types and temperature thresholds": "設定告警類型與溫度門檻",
"Machine model saved successfully.": "機台型號已成功新增。" "Machine model saved successfully.": "機台型號已成功新增。",
"Replenishment Order": "機台補貨單",
"Transfer Order": "庫存調撥單",
"Ready to print": "準備列印",
"Print": "列印",
"Platform Operator": "平台營運商",
"Vending Machine Product Replenishment": "機台商品補貨",
"Warehouse to Warehouse Transfer": "倉庫至倉庫調撥",
"Machine to Warehouse Return": "機台退庫至倉庫",
"Source Machine": "來源機台",
"Assigned Personnel": "指派人員",
"Print Time": "列印時間",
"Stock Snap": "庫存快照",
"Replenish Qty": "補貨數量",
"Transfer Qty": "調撥數量",
"Check": "核對",
"Actual Qty": "實補數量",
"Print Notice": "列印提示",
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "請確保在瀏覽器列印設定中啟用「背景圖形」,以便正確列印商品圖片和樣式元件。",
"Prepared By": "經辦人",
"Warehouse Stock Out": "倉庫出庫確認",
"Courier\/Replenisher": "物流經辦\/補貨員",
"Machine Inbound Confirmation": "機台入庫確認",
"Transfer Out Confirmation": "調出確認",
"Courier\/Dispatcher": "物流經辦\/派送員",
"Transfer In Confirmation": "調入確認",
"Print Order": "列印單據"
} }

View File

@ -15,9 +15,17 @@
</template> </template>
</p> </p>
</div> </div>
<button type="button" @click="showOrderDetails = false" class="p-2.5 rounded-full hover:bg-slate-50 dark:hover:bg-slate-800 text-slate-400 transition-colors border border-slate-100 dark:border-slate-800 shadow-sm"> <div class="flex items-center gap-3">
<svg class="w-5 h-5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg> <button type="button" @click="window.open('/admin/warehouses/replenishments/' + activeOrder.id + '/print', '_blank')" class="p-2.5 rounded-full hover:bg-slate-50 dark:hover:bg-slate-800 text-cyan-500 hover:text-cyan-600 transition-colors border border-slate-100 dark:border-slate-800 shadow-sm flex items-center justify-center" title="{{ __('Print Order') }}">
</button> <svg class="w-5 h-5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
</svg>
</button>
<button type="button" @click="showOrderDetails = false" class="p-2.5 rounded-full hover:bg-slate-50 dark:hover:bg-slate-800 text-slate-400 transition-colors border border-slate-100 dark:border-slate-800 shadow-sm">
<svg class="w-5 h-5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div> </div>
{{-- Content --}} {{-- Content --}}
@ -68,23 +76,35 @@
</div> </div>
{{-- Action Buttons --}} {{-- Action Buttons --}}
<template x-if="activeOrder.status !== 'completed' && activeOrder.status !== 'cancelled'"> <div class="flex flex-wrap gap-2">
<div class="flex flex-wrap gap-2"> {{-- 列印按鈕永遠顯示 --}}
<button type="button" @click="openAssignModal(activeOrder.id)" class="px-4 py-2 rounded-xl text-xs font-black bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-700 transition-all border border-slate-200 dark:border-slate-700"> <button type="button" @click="window.open('/admin/warehouses/replenishments/' + activeOrder.id + '/print', '_blank')" class="px-4 py-2 rounded-xl text-xs font-black bg-cyan-500 text-white hover:bg-cyan-600 transition-all shadow-lg shadow-cyan-500/10 flex items-center gap-1.5">
{{ __('Assign Personnel') }} <svg class="w-3.5 h-3.5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
</button> <path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
<template x-if="activeOrder.status === 'pending'"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
<button type="button" @click="advanceStatus(activeOrder.id, 'prepared')" class="px-4 py-2 rounded-xl text-xs font-black bg-cyan-500/10 text-cyan-500 border border-cyan-500/20 hover:bg-cyan-500 hover:text-white transition-all">{{ __('Confirm Prepare') }}</button> </svg>
</template> {{ __('Print Order') }}
<template x-if="activeOrder.status === 'prepared'"> </button>
<button type="button" @click="advanceStatus(activeOrder.id, 'delivering')" class="px-4 py-2 rounded-xl text-xs font-black bg-indigo-500/10 text-indigo-500 border border-indigo-500/20 hover:bg-indigo-500 hover:text-white transition-all">{{ __('Start Delivery') }}</button>
</template> {{-- 其他需要依狀態顯示的動作 --}}
<template x-if="activeOrder.status === 'delivering'"> <template x-if="activeOrder.status !== 'completed' && activeOrder.status !== 'cancelled'">
<button type="button" @click="advanceStatus(activeOrder.id, 'completed')" class="px-4 py-2 rounded-xl text-xs font-black bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 hover:bg-emerald-500 hover:text-white transition-all">{{ __('Confirm Complete') }}</button> <div class="flex flex-wrap gap-2">
</template> <button type="button" @click="openAssignModal(activeOrder.id)" class="px-4 py-2 rounded-xl text-xs font-black bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-700 transition-all border border-slate-200 dark:border-slate-700">
<button type="button" @click="confirmCancel(activeOrder.id)" class="px-4 py-2 rounded-xl text-xs font-black bg-rose-500/10 text-rose-500 border border-rose-500/20 hover:bg-rose-500 hover:text-white transition-all">{{ __('Cancel Order') }}</button> {{ __('Assign Personnel') }}
</div> </button>
</template> <template x-if="activeOrder.status === 'pending'">
<button type="button" @click="advanceStatus(activeOrder.id, 'prepared')" class="px-4 py-2 rounded-xl text-xs font-black bg-cyan-500/10 text-cyan-500 border border-cyan-500/20 hover:bg-cyan-500 hover:text-white transition-all">{{ __('Confirm Prepare') }}</button>
</template>
<template x-if="activeOrder.status === 'prepared'">
<button type="button" @click="advanceStatus(activeOrder.id, 'delivering')" class="px-4 py-2 rounded-xl text-xs font-black bg-indigo-500/10 text-indigo-500 border border-indigo-500/20 hover:bg-indigo-500 hover:text-white transition-all">{{ __('Start Delivery') }}</button>
</template>
<template x-if="activeOrder.status === 'delivering'">
<button type="button" @click="advanceStatus(activeOrder.id, 'completed')" class="px-4 py-2 rounded-xl text-xs font-black bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 hover:bg-emerald-500 hover:text-white transition-all">{{ __('Confirm Complete') }}</button>
</template>
<button type="button" @click="confirmCancel(activeOrder.id)" class="px-4 py-2 rounded-xl text-xs font-black bg-rose-500/10 text-rose-500 border border-rose-500/20 hover:bg-rose-500 hover:text-white transition-all">{{ __('Cancel Order') }}</button>
</div>
</template>
</div>
{{-- Items List --}} {{-- Items List --}}
<div class="space-y-5"> <div class="space-y-5">

View File

@ -0,0 +1,264 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="h-full bg-white">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ __('Replenishment Order') }} - {{ $order->order_no }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800;900&family=Plus+Jakarta+Sans:wght@400;500;700;800&display=swap" rel="stylesheet">
<!-- Tailwind CSS (Vite setup) -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
<style>
body {
font-family: 'Plus Jakarta Sans', sans-serif;
background-color: #fff;
color: #0f172a;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
.font-display {
font-family: 'Outfit', sans-serif;
}
@media print {
.no-print {
display: none !important;
}
body {
background: #ffffff !important;
color: #000000 !important;
font-size: 12px;
}
.print-border {
border-color: #94a3b8 !important;
}
.print-bg-gray {
background-color: #f1f5f9 !important;
}
@page {
size: A4 portrait;
margin: 15mm;
}
}
</style>
</head>
<body class="p-6 sm:p-12 min-h-screen flex flex-col justify-between">
<!-- Container -->
<div class="max-w-4xl mx-auto w-full flex-1">
<!-- Top Operations (No Print) -->
<div class="no-print flex items-center justify-between gap-4 mb-8 p-4 bg-slate-50 dark:bg-slate-900 rounded-2xl border border-slate-200/50 dark:border-slate-800/50">
<div class="flex items-center gap-2">
<span class="w-2.5 h-2.5 rounded-full bg-cyan-500 animate-pulse"></span>
<span class="text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest">{{ __('Ready to print') }}</span>
</div>
<div class="flex gap-3">
<button onclick="window.print()" class="px-5 py-2.5 bg-cyan-500 text-white rounded-xl text-xs font-black uppercase tracking-widest hover:bg-cyan-600 transition-all active:scale-95 flex items-center gap-2 shadow-lg shadow-cyan-500/20">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
</svg>
{{ __('Print') }}
</button>
<button onclick="window.close()" class="px-5 py-2.5 bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300 rounded-xl text-xs font-black uppercase tracking-widest hover:bg-slate-200 dark:hover:bg-slate-700 transition-all active:scale-95">
{{ __('Close') }}
</button>
</div>
</div>
<!-- Header -->
<div class="flex flex-col sm:flex-row sm:items-start justify-between gap-6 pb-6 border-b-2 border-slate-900 print-border">
<div>
<!-- Brand -->
<p class="text-xs font-black text-cyan-600 uppercase tracking-[0.3em] font-display mb-1">Star Cloud System</p>
<p class="text-[10px] font-bold text-slate-400 uppercase tracking-widest mb-4">Tenant: {{ Auth::user()->company?->name ?? __('Platform Operator') }}</p>
<!-- Document Title -->
<h1 class="text-3xl font-black text-slate-900 tracking-tight font-display uppercase">{{ __('Replenishment Order') }}</h1>
<p class="text-xs font-bold text-slate-500 mt-1 uppercase tracking-widest">{{ __('Vending Machine Product Replenishment') }}</p>
</div>
<div class="text-left sm:text-right flex flex-col sm:items-end">
<!-- Status Badge -->
<span class="inline-flex items-center px-3 py-1.5 rounded-xl text-xs font-black uppercase tracking-widest border border-slate-900 print-border text-slate-900 mb-3 w-fit">
{{ __($order->status) }}
</span>
<!-- Mono Order No -->
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest mb-1">{{ __('Order Number') }}</p>
<p class="text-2xl font-black text-slate-900 font-mono tracking-tighter">{{ $order->order_no }}</p>
</div>
</div>
<!-- Info Grid -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-y-4 gap-x-8 py-8 border-b border-slate-200">
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Source Warehouse') }}</p>
<p class="text-sm font-extrabold text-slate-800">{{ $order->warehouse?->name ?? '-' }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Target Machine') }}</p>
<p class="text-sm font-extrabold text-slate-800">{{ $order->machine?->name ?? '-' }} <span class="text-xs font-mono font-bold text-slate-400 tracking-widest uppercase">({{ $order->machine?->serial_no }})</span></p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Created By') }}</p>
<p class="text-sm font-bold text-slate-700">{{ $order->creator?->name ?? __('System') }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Assigned Personnel') }}</p>
<p class="text-sm font-bold text-slate-700">{{ $order->assignee?->name ?? __('Unassigned') }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Created At') }}</p>
<p class="text-sm font-mono font-bold text-slate-600">{{ $order->created_at->timezone('Asia/Taipei')->format('Y-m-d H:i:s') }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Print Time') }}</p>
<p class="text-sm font-mono font-bold text-slate-600">{{ now()->timezone('Asia/Taipei')->format('Y-m-d H:i:s') }}</p>
</div>
@if($order->note)
<div class="col-span-1 md:col-span-2 space-y-1 pt-2 border-t border-dashed border-slate-200">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Note') }}</p>
<p class="text-xs font-bold text-slate-600 italic">{{ $order->note }}</p>
</div>
@endif
</div>
<!-- Items Table -->
<div class="py-8">
<h3 class="text-xs font-black text-slate-900 uppercase tracking-[0.2em] mb-4 font-display">{{ __('Replenishment Details') }} ({{ $items->count() }} {{ __('Items') }})</h3>
<table class="w-full text-left border-collapse table-fixed">
<thead>
<tr class="border-b-2 border-slate-900 print-border bg-slate-50 print-bg-gray">
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-16 text-center whitespace-nowrap">
{{ __('Slot') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-16 text-center whitespace-nowrap">
{{ __('Image') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest min-w-[200px] whitespace-nowrap">
{{ __('Product Name') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-28 whitespace-nowrap">
{{ __('Barcode') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-24 text-right whitespace-nowrap">
{{ __('Stock Snap') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-24 text-right whitespace-nowrap">
{{ __('Replenish Qty') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-20 text-center no-print whitespace-nowrap">
{{ __('Check') }}
</th>
<!-- 列印時顯示的手寫格 -->
<th class="hidden print:table-cell px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-24 text-center whitespace-nowrap">
{{ __('Actual Qty') }}
</th>
</tr>
</thead>
<tbody class="divide-y divide-slate-200">
@foreach($items as $index => $item)
<tr class="hover:bg-slate-50/50 transition-colors">
<td class="px-4 py-3 font-mono font-black text-slate-900 text-center text-sm">
<span class="inline-block px-2 py-1 rounded bg-slate-100 print-bg-gray border border-slate-200 print-border">
{{ $item->slot_no }}
</span>
</td>
<td class="px-4 py-3">
<div class="mx-auto w-10 h-10 rounded-lg border border-slate-200 print-border overflow-hidden bg-slate-50 flex items-center justify-center shrink-0">
@if($item->product?->image_url)
<img src="{{ $item->product->image_url }}" class="w-full h-full object-cover">
@else
<svg class="w-5 h-5 text-slate-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" /></svg>
@endif
</div>
</td>
<td class="px-4 py-3 min-w-[200px] break-words">
<p class="text-sm font-extrabold text-slate-800 tracking-tight whitespace-normal">{{ $item->product?->localized_name ?? __('Unknown') }}</p>
<p class="text-[9px] font-mono font-bold text-slate-400 uppercase tracking-widest mt-0.5">ID: {{ $item->product_id }}</p>
</td>
<td class="px-4 py-3 font-mono text-xs font-bold text-slate-500 break-all">
{{ $item->product?->barcode ?? '-' }}
</td>
<td class="px-4 py-3 text-right text-xs font-bold text-slate-500 font-mono whitespace-nowrap">
{{ $item->current_stock }} / {{ $item->max_stock }}
</td>
<td class="px-4 py-3 text-right whitespace-nowrap">
<p class="text-lg font-black text-cyan-600 font-display tracking-tight">x{{ $item->quantity }}</p>
</td>
<!-- UI 頁面上的 check 欄位 -->
<td class="px-4 py-3 text-center no-print">
<div class="inline-flex items-center justify-center w-5 h-5 border-2 border-slate-300 rounded-md"></div>
</td>
<!-- 列印時的手寫框 -->
<td class="hidden print:table-cell px-4 py-3 text-center vertical-middle">
<div class="mx-auto w-12 h-6 border border-slate-400 print-border rounded"></div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- Print Footer Warning (No Print) -->
<div class="no-print mt-4 p-4 bg-amber-500/10 border border-amber-500/20 text-amber-600 rounded-2xl flex items-start gap-4 font-bold text-xs">
<svg class="w-4 h-4 shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<div>
<p class="font-extrabold uppercase tracking-widest mb-1">{{ __('Print Notice') }}</p>
<p>{{ __('Please make sure to enable "Background graphics" in your browser print settings to print product images and styled components correctly.') }}</p>
</div>
</div>
</div>
<!-- Sign-off Section -->
<div class="max-w-4xl mx-auto w-full mt-12 pt-8 border-t border-slate-200">
<div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Prepared By') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Warehouse Stock Out') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Courier/Replenisher') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Machine Inbound Confirmation') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
</div>
<div class="mt-8 text-center text-[10px] font-bold text-slate-400 uppercase tracking-widest">
Star Cloud © 2026. All rights reserved.
</div>
</div>
<!-- Auto Print Script -->
<script>
window.addEventListener('DOMContentLoaded', () => {
// 自動觸發列印
setTimeout(() => {
window.print();
}, 500);
});
</script>
</body>
</html>

View File

@ -0,0 +1,268 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="h-full bg-white">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ __('Transfer Order') }} - {{ $order->order_no }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800;900&family=Plus+Jakarta+Sans:wght@400;500;700;800&display=swap" rel="stylesheet">
<!-- Tailwind CSS (Vite setup) -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
<style>
body {
font-family: 'Plus Jakarta Sans', sans-serif;
background-color: #fff;
color: #0f172a;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
.font-display {
font-family: 'Outfit', sans-serif;
}
@media print {
.no-print {
display: none !important;
}
body {
background: #ffffff !important;
color: #000000 !important;
font-size: 12px;
}
.print-border {
border-color: #94a3b8 !important;
}
.print-bg-gray {
background-color: #f1f5f9 !important;
}
@page {
size: A4 portrait;
margin: 15mm;
}
}
</style>
</head>
<body class="p-6 sm:p-12 min-h-screen flex flex-col justify-between">
<!-- Container -->
<div class="max-w-4xl mx-auto w-full flex-1">
<!-- Top Operations (No Print) -->
<div class="no-print flex items-center justify-between gap-4 mb-8 p-4 bg-slate-50 dark:bg-slate-900 rounded-2xl border border-slate-200/50 dark:border-slate-800/50">
<div class="flex items-center gap-2">
<span class="w-2.5 h-2.5 rounded-full bg-cyan-500 animate-pulse"></span>
<span class="text-xs font-bold text-slate-500 dark:text-slate-400 uppercase tracking-widest">{{ __('Ready to print') }}</span>
</div>
<div class="flex gap-3">
<button onclick="window.print()" class="px-5 py-2.5 bg-cyan-500 text-white rounded-xl text-xs font-black uppercase tracking-widest hover:bg-cyan-600 transition-all active:scale-95 flex items-center gap-2 shadow-lg shadow-cyan-500/20">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
</svg>
{{ __('Print') }}
</button>
<button onclick="window.close()" class="px-5 py-2.5 bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300 rounded-xl text-xs font-black uppercase tracking-widest hover:bg-slate-200 dark:hover:bg-slate-700 transition-all active:scale-95">
{{ __('Close') }}
</button>
</div>
</div>
<!-- Header -->
<div class="flex flex-col sm:flex-row sm:items-start justify-between gap-6 pb-6 border-b-2 border-slate-900 print-border">
<div>
<!-- Brand -->
<p class="text-xs font-black text-cyan-600 uppercase tracking-[0.3em] font-display mb-1">Star Cloud System</p>
<p class="text-[10px] font-bold text-slate-400 uppercase tracking-widest mb-4">Tenant: {{ Auth::user()->company?->name ?? __('Platform Operator') }}</p>
<!-- Document Title -->
<h1 class="text-3xl font-black text-slate-900 tracking-tight font-display uppercase">{{ __('Transfer Order') }}</h1>
<p class="text-xs font-bold text-slate-500 mt-1 uppercase tracking-widest">
{{ $order->type === \App\Models\Warehouse\TransferOrder::TYPE_W2W ? __('Warehouse to Warehouse Transfer') : __('Machine to Warehouse Return') }}
</p>
</div>
<div class="text-left sm:text-right flex flex-col sm:items-end">
<!-- Status Badge -->
<span class="inline-flex items-center px-3 py-1.5 rounded-xl text-xs font-black uppercase tracking-widest border border-slate-900 print-border text-slate-900 mb-3 w-fit">
{{ __($order->status) }}
</span>
<!-- Mono Order No -->
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest mb-1">{{ __('Order Number') }}</p>
<p class="text-2xl font-black text-slate-900 font-mono tracking-tighter">{{ $order->order_no }}</p>
</div>
</div>
<!-- Info Grid -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-y-4 gap-x-8 py-8 border-b border-slate-200">
<div class="space-y-1">
@if($order->type === \App\Models\Warehouse\TransferOrder::TYPE_W2W)
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Source Warehouse') }}</p>
<p class="text-sm font-extrabold text-slate-800">{{ $order->fromWarehouse?->name ?? '-' }}</p>
@else
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Source Machine') }}</p>
<p class="text-sm font-extrabold text-slate-800">
{{ $order->fromMachine?->name ?? '-' }}
<span class="text-xs font-mono font-bold text-slate-400 tracking-widest uppercase">({{ $order->fromMachine?->serial_no }})</span>
</p>
@endif
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Target Warehouse') }}</p>
<p class="text-sm font-extrabold text-slate-800">{{ $order->toWarehouse?->name ?? '-' }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Created By') }}</p>
<p class="text-sm font-bold text-slate-700">{{ $order->creator?->name ?? __('System') }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Transfer Type') }}</p>
<p class="text-sm font-bold text-slate-700">
{{ $order->type === \App\Models\Warehouse\TransferOrder::TYPE_W2W ? __('Warehouse to Warehouse') : __('Machine to Warehouse') }}
</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Created At') }}</p>
<p class="text-sm font-mono font-bold text-slate-600">{{ $order->created_at->timezone('Asia/Taipei')->format('Y-m-d H:i:s') }}</p>
</div>
<div class="space-y-1">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Print Time') }}</p>
<p class="text-sm font-mono font-bold text-slate-600">{{ now()->timezone('Asia/Taipei')->format('Y-m-d H:i:s') }}</p>
</div>
@if($order->note)
<div class="col-span-1 md:col-span-2 space-y-1 pt-2 border-t border-dashed border-slate-200">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Note') }}</p>
<p class="text-xs font-bold text-slate-600 italic">{{ $order->note }}</p>
</div>
@endif
</div>
<!-- Items Table -->
<div class="py-8">
<h3 class="text-xs font-black text-slate-900 uppercase tracking-[0.2em] mb-4 font-display">{{ __('Transfer Details') }} ({{ $items->count() }} {{ __('Items') }})</h3>
<table class="w-full text-left border-collapse table-fixed">
<thead>
<tr class="border-b-2 border-slate-900 print-border bg-slate-50 print-bg-gray">
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-16 text-center whitespace-nowrap">
#
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-16 text-center whitespace-nowrap">
{{ __('Image') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest min-w-[200px] whitespace-nowrap">
{{ __('Product Name') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-32 whitespace-nowrap">
{{ __('Barcode') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-24 text-right whitespace-nowrap">
{{ __('Transfer Qty') }}
</th>
<th class="px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-20 text-center no-print whitespace-nowrap">
{{ __('Check') }}
</th>
<!-- 列印時顯示的手寫格 -->
<th class="hidden print:table-cell px-4 py-3 text-[10px] font-black text-slate-500 uppercase tracking-widest w-24 text-center whitespace-nowrap">
{{ __('Actual Qty') }}
</th>
</tr>
</thead>
<tbody class="divide-y divide-slate-200">
@foreach($items as $index => $item)
<tr class="hover:bg-slate-50/50 transition-colors">
<td class="px-4 py-3 font-mono font-black text-slate-900 text-center text-sm">
{{ $index + 1 }}
</td>
<td class="px-4 py-3">
<div class="mx-auto w-10 h-10 rounded-lg border border-slate-200 print-border overflow-hidden bg-slate-50 flex items-center justify-center shrink-0">
@if($item->product?->image_url)
<img src="{{ $item->product->image_url }}" class="w-full h-full object-cover">
@else
<svg class="w-5 h-5 text-slate-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" /></svg>
@endif
</div>
</td>
<td class="px-4 py-3 min-w-[200px] break-words">
<p class="text-sm font-extrabold text-slate-800 tracking-tight whitespace-normal">{{ $item->product?->localized_name ?? __('Unknown') }}</p>
<p class="text-[9px] font-mono font-bold text-slate-400 uppercase tracking-widest mt-0.5">ID: {{ $item->product_id }}</p>
</td>
<td class="px-4 py-3 font-mono text-xs font-bold text-slate-500 break-all">
{{ $item->product?->barcode ?? '-' }}
</td>
<td class="px-4 py-3 text-right whitespace-nowrap">
<p class="text-lg font-black text-cyan-600 font-display tracking-tight">x{{ $item->quantity }}</p>
</td>
<!-- UI 頁面上的 check 欄位 -->
<td class="px-4 py-3 text-center no-print">
<div class="inline-flex items-center justify-center w-5 h-5 border-2 border-slate-300 rounded-md"></div>
</td>
<!-- 列印時的手寫框 -->
<td class="hidden print:table-cell px-4 py-3 text-center vertical-middle">
<div class="mx-auto w-12 h-6 border border-slate-400 print-border rounded"></div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- Print Footer Warning (No Print) -->
<div class="no-print mt-4 p-4 bg-amber-500/10 border border-amber-500/20 text-amber-600 rounded-2xl flex items-start gap-4 font-bold text-xs">
<svg class="w-4 h-4 shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<div>
<p class="font-extrabold uppercase tracking-widest mb-1">{{ __('Print Notice') }}</p>
<p>{{ __('Please make sure to enable "Background graphics" in your browser print settings to print product images and styled components correctly.') }}</p>
</div>
</div>
</div>
<!-- Sign-off Section -->
<div class="max-w-4xl mx-auto w-full mt-12 pt-8 border-t border-slate-200">
<div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Prepared By') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Transfer Out Confirmation') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Courier/Dispatcher') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
<div class="space-y-6">
<p class="text-[10px] font-black text-slate-400 uppercase tracking-widest">{{ __('Transfer In Confirmation') }}</p>
<div class="mx-auto w-32 border-b border-slate-400 print-border h-8"></div>
</div>
</div>
<div class="mt-8 text-center text-[10px] font-bold text-slate-400 uppercase tracking-widest">
Star Cloud © 2026. All rights reserved.
</div>
</div>
<!-- Auto Print Script -->
<script>
window.addEventListener('DOMContentLoaded', () => {
// 自動觸發列印
setTimeout(() => {
window.print();
}, 500);
});
</script>
</body>
</html>

View File

@ -707,12 +707,20 @@
</div> </div>
</template> </template>
</div> </div>
<button type="button" @click="showOrderDetails = false" <div class="flex items-center gap-3">
class="bg-white dark:bg-slate-800 rounded-full p-2 text-slate-400 hover:text-slate-500 hover:bg-slate-100 dark:hover:bg-slate-700 focus:outline-none transition duration-300 shadow-sm border border-slate-200 dark:border-slate-700"> <button type="button" @click="window.open('/admin/warehouses/transfers/' + activeOrder.id + '/print', '_blank')" class="p-2 text-cyan-500 hover:text-cyan-600 bg-white dark:bg-slate-800 hover:bg-slate-100 dark:hover:bg-slate-700 rounded-full focus:outline-none transition duration-300 shadow-sm border border-slate-200 dark:border-slate-700 flex items-center justify-center" title="{{ __('Print Order') }}">
<svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"> <svg class="w-5 h-5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> <path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
</svg> <path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
</button> </svg>
</button>
<button type="button" @click="showOrderDetails = false"
class="bg-white dark:bg-slate-800 rounded-full p-2 text-slate-400 hover:text-slate-500 hover:bg-slate-100 dark:hover:bg-slate-700 focus:outline-none transition duration-300 shadow-sm border border-slate-200 dark:border-slate-700">
<svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div> </div>
</div> </div>
@ -792,6 +800,17 @@
</template> </template>
</div> </div>
<!-- Action Buttons -->
<div class="flex flex-wrap gap-2">
<button type="button" @click="window.open('/admin/warehouses/transfers/' + activeOrder.id + '/print', '_blank')" class="px-4 py-2 rounded-xl text-xs font-black bg-cyan-500 text-white hover:bg-cyan-600 transition-all shadow-lg shadow-cyan-500/10 flex items-center gap-1.5">
<svg class="w-3.5 h-3.5 stroke-[2.5]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" d="M6.72 13.82l-.024-.03c-1.285-1.56-1.93-3.19-1.93-5.166C4.766 4.902 6.713 3 9.12 3c2.407 0 4.354 1.902 4.354 4.624 0 1.977-.645 3.607-1.93 5.167-.004.005-.008.01-.012.015L9.12 15.652l-2.4-1.832z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M19 12h2m-2 4h2m-2-8h2M3 12h2m-2 4h2m-2-8h2M12 18H8.5c-.83 0-1.5-.67-1.5-1.5V14m8.5 4H16m0 0v-4.5c0-.83-.67-1.5-1.5-1.5H11" />
</svg>
{{ __('Print Order') }}
</button>
</div>
<!-- Items List --> <!-- Items List -->
<div class="space-y-5"> <div class="space-y-5">
<div class="flex items-center justify-between px-1"> <div class="flex items-center justify-between px-1">

View File

@ -99,6 +99,7 @@ Route::middleware(['auth', 'auth.session', 'verified', 'tenant.access'])->prefix
Route::patch('/transfers/{transferOrder}/confirm', [App\Http\Controllers\Admin\WarehouseController::class, 'confirmTransfer'])->name('transfers.confirm'); Route::patch('/transfers/{transferOrder}/confirm', [App\Http\Controllers\Admin\WarehouseController::class, 'confirmTransfer'])->name('transfers.confirm');
Route::delete('/transfers/{transferOrder}', [App\Http\Controllers\Admin\WarehouseController::class, 'destroyTransfer'])->name('transfers.destroy'); Route::delete('/transfers/{transferOrder}', [App\Http\Controllers\Admin\WarehouseController::class, 'destroyTransfer'])->name('transfers.destroy');
Route::get('/transfers/{id}/details', [App\Http\Controllers\Admin\WarehouseController::class, 'transferOrderDetails'])->name('transfers.details'); Route::get('/transfers/{id}/details', [App\Http\Controllers\Admin\WarehouseController::class, 'transferOrderDetails'])->name('transfers.details');
Route::get('/transfers/{id}/print', [App\Http\Controllers\Admin\WarehouseController::class, 'printTransfer'])->name('transfers.print');
// 模組 4機台庫存總覽 (Force Route Refresh) // 模組 4機台庫存總覽 (Force Route Refresh)
Route::get('/machine-inventory', [App\Http\Controllers\Admin\WarehouseController::class, 'machineInventory'])->name('machine-inventory'); Route::get('/machine-inventory', [App\Http\Controllers\Admin\WarehouseController::class, 'machineInventory'])->name('machine-inventory');
@ -114,6 +115,7 @@ Route::middleware(['auth', 'auth.session', 'verified', 'tenant.access'])->prefix
Route::patch('/replenishments/{replenishmentOrder}/assign', [App\Http\Controllers\Admin\WarehouseController::class, 'assignReplenishment'])->name('replenishments.assign'); Route::patch('/replenishments/{replenishmentOrder}/assign', [App\Http\Controllers\Admin\WarehouseController::class, 'assignReplenishment'])->name('replenishments.assign');
Route::get('/replenishments/machine-slots/{machine}', [App\Http\Controllers\Admin\WarehouseController::class, 'getMachineSlotsForReplenishment'])->name('replenishments.machine-slots'); Route::get('/replenishments/machine-slots/{machine}', [App\Http\Controllers\Admin\WarehouseController::class, 'getMachineSlotsForReplenishment'])->name('replenishments.machine-slots');
Route::get('/replenishments/{order}/details', [App\Http\Controllers\Admin\WarehouseController::class, 'replenishmentOrderDetails'])->name('replenishments.details'); Route::get('/replenishments/{order}/details', [App\Http\Controllers\Admin\WarehouseController::class, 'replenishmentOrderDetails'])->name('replenishments.details');
Route::get('/replenishments/{id}/print', [App\Http\Controllers\Admin\WarehouseController::class, 'printReplenishment'])->name('replenishments.print');
// AJAX 庫存查詢 // AJAX 庫存查詢
Route::get('/ajax/stock', [App\Http\Controllers\Admin\WarehouseController::class, 'getStockAjax'])->name('ajax.stock'); Route::get('/ajax/stock', [App\Http\Controllers\Admin\WarehouseController::class, 'getStockAjax'])->name('ajax.stock');

View File

@ -0,0 +1,174 @@
<?php
namespace Tests\Feature\Admin;
use App\Models\Machine\Machine;
use App\Models\System\Company;
use App\Models\System\User;
use App\Models\Warehouse\Warehouse;
use App\Models\Warehouse\TransferOrder;
use App\Models\Warehouse\ReplenishmentOrder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class PrintStockOrdersTest extends TestCase
{
use RefreshDatabase;
private $companyA;
private $companyB;
private $userA;
private $userB;
private $warehouseA;
private $warehouseB;
private $machineA;
private $machineB;
protected function setUp(): void
{
parent::setUp();
// 1. 建立租戶公司
$this->companyA = Company::create(['name' => 'Company A', 'code' => 'COA']);
$this->companyB = Company::create(['name' => 'Company B', 'code' => 'COB']);
// 2. 建立使用者
$this->userA = User::factory()->create([
'company_id' => $this->companyA->id,
'name' => 'User A',
'email' => 'userA@star-cloud.com'
]);
$this->userB = User::factory()->create([
'company_id' => $this->companyB->id,
'name' => 'User B',
'email' => 'userB@star-cloud.com'
]);
// 3. 建立倉庫與機台(包含 serial_no 避免 Integrity constraint violation 錯誤)
$this->warehouseA = Warehouse::create([
'company_id' => $this->companyA->id,
'name' => 'Warehouse A',
'type' => 'main',
'is_active' => true
]);
$this->warehouseB = Warehouse::create([
'company_id' => $this->companyB->id,
'name' => 'Warehouse B',
'type' => 'main',
'is_active' => true
]);
$this->machineA = Machine::create([
'company_id' => $this->companyA->id,
'name' => 'Machine A',
'serial_no' => 'SN-MAA-01'
]);
$this->machineB = Machine::create([
'company_id' => $this->companyB->id,
'name' => 'Machine B',
'serial_no' => 'SN-MBB-02'
]);
}
/**
* 測試租戶可以成功列印自己公司的庫存調撥單
*/
public function test_tenant_can_print_own_transfer_order()
{
$this->actingAs($this->userA);
// 建立調撥單
$transfer = TransferOrder::create([
'company_id' => $this->companyA->id,
'order_no' => 'TF-202605210001',
'type' => 'warehouse_to_warehouse',
'from_warehouse_id' => $this->warehouseA->id,
'to_warehouse_id' => $this->warehouseA->id, // 本地測試可以使用同一個以簡化
'status' => 'draft',
'created_by' => $this->userA->id
]);
$response = $this->get("/admin/warehouses/transfers/{$transfer->id}/print");
$response->assertStatus(200);
$response->assertSee('TF-202605210001');
$response->assertSee('Star Cloud System');
$response->assertSee('經辦人');
$response->assertSee('調出確認');
}
/**
* 測試租戶可以成功列印自己公司的機台補貨單
*/
public function test_tenant_can_print_own_replenishment_order()
{
$this->actingAs($this->userA);
// 建立補貨單
$replenishment = ReplenishmentOrder::create([
'company_id' => $this->companyA->id,
'order_no' => 'RP-202605210002',
'warehouse_id' => $this->warehouseA->id,
'machine_id' => $this->machineA->id,
'status' => 'pending',
'created_by' => $this->userA->id
]);
$response = $this->get("/admin/warehouses/replenishments/{$replenishment->id}/print");
$response->assertStatus(200);
$response->assertSee('RP-202605210002');
$response->assertSee('Star Cloud System');
$response->assertSee('經辦人');
$response->assertSee('倉庫出庫確認');
}
/**
* 測試租戶嘗試越權存取(列印)其他租戶的調撥單會被阻斷(返回 404
*/
public function test_tenant_cannot_print_other_tenant_transfer_order()
{
// 先以 User B 建立調撥單
$this->actingAs($this->userB);
$transferB = TransferOrder::create([
'company_id' => $this->companyB->id,
'order_no' => 'TF-B-9999',
'type' => 'warehouse_to_warehouse',
'from_warehouse_id' => $this->warehouseB->id,
'to_warehouse_id' => $this->warehouseB->id,
'status' => 'draft',
'created_by' => $this->userB->id
]);
// 切換為 User A 請求列印 User B 的調撥單
$this->actingAs($this->userA);
$response = $this->get("/admin/warehouses/transfers/{$transferB->id}/print");
// 由於 TenantScoped Trait 自動隔離,會直接拋出 ModelNotFoundException 進而由 Laravel 轉換為 404
$response->assertStatus(404);
}
/**
* 測試租戶嘗試越權存取(列印)其他租戶的補貨單會被阻斷(返回 404
*/
public function test_tenant_cannot_print_other_tenant_replenishment_order()
{
// 先以 User B 建立補貨單
$this->actingAs($this->userB);
$replenishmentB = ReplenishmentOrder::create([
'company_id' => $this->companyB->id,
'order_no' => 'RP-B-9999',
'warehouse_id' => $this->warehouseB->id,
'machine_id' => $this->machineB->id,
'status' => 'pending',
'created_by' => $this->userB->id
]);
// 切換為 User A 請求列印 User B 的補貨單
$this->actingAs($this->userA);
$response = $this->get("/admin/warehouses/replenishments/{$replenishmentB->id}/print");
// 由於 TenantScoped Trait 自動隔離,會直接拋出 ModelNotFoundException 進而由 Laravel 轉換為 404
$response->assertStatus(404);
}
}