From 6477d7156272a6f1fe126c781958369bb10970c6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期六, 21 三月 2026 11:15:50 +0800
Subject: [PATCH] #ai 思维链
---
rsf-admin/src/i18n/en.js | 628 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 625 insertions(+), 3 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index beda28d..78cc5cb 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -126,6 +126,7 @@
},
create: {
title: 'Create',
+ init: 'Init',
empty: {
title: 'Data Empty',
desc: 'Please Create Data First',
@@ -136,6 +137,7 @@
title: 'Update'
},
menu: {
+ basStationArea: 'BasStationArea',
dashboard: 'Dashboard',
settings: 'Settings',
basicInfo: 'BasicInfo',
@@ -148,6 +150,10 @@
token: 'Token',
operation: 'Operation',
config: 'Config',
+ aiParam: 'AI Params',
+ aiPrompt: 'Prompts',
+ aiMcpMount: 'MCP Mounts',
+ aiCallLog: 'AI Observe',
tenant: 'Tenant',
userLogin: 'Token',
customer: 'Customer',
@@ -157,6 +163,7 @@
warehouse: 'Warehouse',
warehouseAreas: 'WarehouseAreas',
loc: 'Loc',
+ locItem: 'LocItem',
locType: 'LocType',
locArea: 'locArea',
locAreaMat: 'Logic Areas',
@@ -189,7 +196,7 @@
taskLog: 'TaskLog',
orderItem: 'OrderItem',
order: 'Order',
- locItem: 'LocItem',
+ locPreview: 'LocItem',
stock: 'Stock Manage',
histories: 'Histories',
wareWork: 'Warehouse Working',
@@ -210,10 +217,478 @@
basContainer: 'BasContainer',
waveRule: 'Wave Rules',
checkDiff: 'Check Diff',
-
+ transfer: 'Transfer',
+ locRevise: 'Loc Revise',
+ statisticReport: 'Statistical Report',
+ locDeadReport: 'Locs Dead Report',
+ stockStatistic: 'Stock Statistic',
+ statisticCount: 'Statistic Count',
+ preparation: "澶囨枡鍗�",
+ menuPda: 'MenuPda',
+ taskPathTemplate: 'TaskPathTemplate',
+ taskPathTemplateNode: 'TaskPathTemplateNode',
+ subsystemFlowTemplate: 'SubsystemFlowTemplate',
+ flowStepTemplate: 'FlowStepTemplate',
+ taskPathTemplateMerge: 'TaskPathTemplateMerge',
+ missionFlowStepInstance: 'Mission Flow Steps',
+ },
+ ai: {
+ common: {
+ cancel: "Cancel",
+ close: "Close",
+ save: "Save",
+ new: "New",
+ detail: "Details",
+ delete: "Delete",
+ enabled: "Enabled",
+ disabled: "Disabled",
+ saveSuccess: "Saved successfully",
+ updateSuccess: "Updated successfully",
+ deleteSuccess: "Deleted successfully",
+ deleteFailed: "Delete failed",
+ operationFailed: "Operation failed",
+ confirmDelete: "Delete \"%{name}\"?",
+ none: "None",
+ notValidated: "Not validated",
+ notTested: "Not tested",
+ lastUpdatedBy: "Last updated by",
+ lastUpdatedAt: "Last updated at",
+ target: "Target",
+ lastTest: "Last test",
+ prompt: "Prompt",
+ model: "Model",
+ error: "Error",
+ testing: "Testing...",
+ },
+ runtimeSummary: {
+ fetchFailed: "Failed to load runtime summary",
+ title: "Current Runtime",
+ description: "Shows the active model, prompt, and MCP mounts.",
+ currentModel: "Current Model",
+ validateStatus: "Validate %{status}",
+ currentPrompt: "Current Prompt",
+ lastUpdated: "Last updated: %{time} / %{user}",
+ enabledMcp: "Enabled MCP",
+ enabledMcpCount: "%{count} enabled",
+ },
+ param: {
+ fields: {
+ providerType: "Provider Type",
+ model: "Model",
+ baseUrl: "Base URL",
+ apiKey: "API Key",
+ temperature: "Temperature",
+ topP: "Top P",
+ maxTokens: "Max Tokens",
+ timeoutMs: "Timeout(ms)",
+ streamingEnabled: "Enable Streaming",
+ validateStatus: "Latest Validate Status",
+ lastValidateElapsedMs: "Latest Validate Elapsed(ms)",
+ lastValidateTime: "Latest Validate Time",
+ lastValidateMessage: "Latest Validate Result",
+ },
+ list: {
+ emptyTitle: "No AI parameter configs",
+ emptyDescription: "Create an OpenAI-compatible model card first.",
+ streaming: "Streaming",
+ nonStreaming: "Non-streaming",
+ },
+ dialog: {
+ create: "New AI Parameter",
+ edit: "Edit AI Parameter",
+ show: "View AI Parameter Details",
+ },
+ validate: {
+ success: "AI parameter validation succeeded",
+ failed: "AI parameter validation failed",
+ loading: "Validating...",
+ beforeSave: "Validate Before Save",
+ description: "Validates the current Base URL, API Key, and model directly.",
+ },
+ form: {
+ sections: {
+ main: "Main Configuration",
+ runtime: "Runtime and Audit",
+ },
+ },
+ },
+ prompt: {
+ fields: {
+ code: "Code",
+ scene: "Scene",
+ systemPrompt: "System Prompt",
+ userPromptTemplate: "User Prompt Template",
+ },
+ list: {
+ emptyTitle: "No prompt configs",
+ emptyDescription: "Once you create a prompt card, AI chat will load it dynamically.",
+ sceneValue: "Scene: %{value}",
+ },
+ dialog: {
+ create: "New Prompt",
+ edit: "Edit Prompt",
+ show: "View Prompt Details",
+ },
+ preview: {
+ defaultInput: "Please summarize what this page can do",
+ success: "Prompt preview generated",
+ failed: "Prompt preview failed",
+ title: "Prompt Preview",
+ input: "Sample Input",
+ metadata: "Sample Metadata JSON",
+ loading: "Rendering...",
+ render: "Render Preview",
+ description: "Render the System Prompt and User Prompt with the current form values.",
+ resolvedVariables: "Resolved variables: %{value}",
+ renderedSystemPrompt: "Rendered System Prompt",
+ renderedUserPrompt: "Rendered User Prompt",
+ },
+ form: {
+ sections: {
+ main: "Prompt Configuration",
+ runtime: "Runtime and Audit",
+ },
+ },
+ },
+ mcp: {
+ fields: {
+ transportType: "Transport Type",
+ builtinCode: "Built-in MCP",
+ serverUrl: "Server URL",
+ endpoint: "SSE Endpoint",
+ headersJson: "Headers JSON",
+ command: "Command",
+ argsJson: "Args JSON",
+ envJson: "Env JSON",
+ requestTimeoutMs: "Timeout(ms)",
+ sort: "Sort",
+ healthStatus: "Health Status",
+ lastInitElapsedMs: "Last Init Elapsed(ms)",
+ lastTestTime: "Last Test Time",
+ lastTestMessage: "Last Test Result",
+ },
+ groups: {
+ builtin: {
+ title: "Built-in MCP",
+ description: "Built-in tool mounts for exposing platform capabilities directly.",
+ },
+ sse: {
+ title: "Remote SSE MCP",
+ description: "Mount external tools through a remote MCP server.",
+ },
+ stdio: {
+ title: "Local STDIO MCP",
+ description: "Mount external MCP tools through a local command process.",
+ },
+ },
+ health: {
+ healthy: "Healthy",
+ unhealthy: "Failed",
+ },
+ list: {
+ emptyTitle: "No MCP mounts",
+ emptyDescription: "Create a built-in MCP, remote SSE mount, or local STDIO mount.",
+ sortValue: "Sort %{value}",
+ timeoutValue: "Timeout %{value} ms",
+ initValue: "Init %{value} ms",
+ noConnectivityTest: "No connectivity test has been run yet",
+ connectivityTest: "Connectivity Test",
+ },
+ dialog: {
+ create: "New MCP Mount",
+ edit: "Edit MCP Mount",
+ show: "View MCP Mount Details",
+ },
+ connectivity: {
+ success: "Connectivity test completed",
+ failed: "Connectivity test failed",
+ },
+ form: {
+ testBeforeSave: "Test Before Save",
+ testDescription: "Validate connectivity directly with the current draft without saving.",
+ sections: {
+ main: "MCP Mount Configuration",
+ runtime: "Runtime Info",
+ },
+ },
+ tools: {
+ schemaParseFailed: "Failed to parse input schema: %{message}",
+ loadFailed: "Failed to load tools",
+ inputRequired: "Please enter tool test JSON",
+ testSuccess: "Tool %{name} test completed",
+ testFailed: "Tool test failed",
+ saveBeforePreview: "Save the mount before previewing tools and running tests.",
+ title: "Tool Preview and Test",
+ description: "Supports connectivity checks, structured schema preview, and generated test forms from input parameters.",
+ refresh: "Refresh Tools",
+ noTools: "No tools were resolved for this mount.",
+ connectivityInit: "Init %{value} ms",
+ connectivityToolCount: "Tools %{count}",
+ purpose: "Purpose: %{value}",
+ fieldCount: "%{count} fields",
+ returnDirect: "Return Direct",
+ normal: "Normal",
+ queryBoundary: "Query boundary: %{value}",
+ exampleQuestions: "Example Questions",
+ formattedSchema: "Formatted Input Schema",
+ testInput: "Test Input JSON",
+ testInputPlaceholder: "Example: {\"code\":\"A01\"}",
+ executeTest: "Run Test",
+ testResult: "Test Result",
+ },
+ },
+ observe: {
+ fields: {
+ requestId: "Request ID",
+ promptCode: "Prompt Code",
+ userId: "User ID",
+ sessionId: "Session ID",
+ mountedMcp: "MCP Mounts",
+ },
+ summary: {
+ fetchFailed: "Failed to load AI observe stats",
+ title: "Observe Overview",
+ description: "Statistics for AI chats and MCP tool calls in the current tenant.",
+ callCount: "AI Calls",
+ successFailure: "Success %{success} / Failed %{failure}",
+ avgElapsed: "Average Elapsed",
+ firstToken: "First token %{value} ms",
+ tokenUsage: "Token Usage",
+ avgToken: "Average %{value}",
+ toolSuccessRate: "Tool Success Rate",
+ toolCallFailure: "Calls %{call} / Failed %{failure}",
+ },
+ status: {
+ completed: "Success",
+ failed: "Failed",
+ aborted: "Aborted",
+ },
+ detail: {
+ mcpLogsFailed: "Failed to load MCP call logs",
+ title: "AI Call Details",
+ mcpLogs: "MCP Tool Call Logs",
+ noMcpLogs: "No MCP tool logs were generated for this call.",
+ inputSummary: "Input Summary",
+ outputSummary: "Output Summary / Error",
+ },
+ list: {
+ emptyTitle: "No AI call logs",
+ emptyDescription: "After starting AI chats, statistics and audit records will appear here.",
+ userValue: "User %{value}",
+ elapsedValue: "Elapsed %{value} ms",
+ tokenValue: "Token %{value}",
+ mcpToolCalls: "MCP / Tool Calls",
+ mcpToolSummary: "%{mcp} mounts, %{success} tool successes, %{failure} failures",
+ },
+ },
+ drawer: {
+ title: "AI Chat",
+ runtimeFailed: "Failed to load AI runtime",
+ sessionListFailed: "Failed to load AI sessions",
+ sessionDeleted: "Session deleted",
+ deleteSessionFailed: "Failed to delete AI session",
+ pinned: "Session pinned",
+ unpinned: "Session unpinned",
+ pinFailed: "Failed to update session pin state",
+ renamed: "Session renamed",
+ renameFailed: "Failed to rename session",
+ memoryCleared: "Session memory cleared",
+ clearMemoryFailed: "Failed to clear session memory",
+ retainLatestRoundSuccess: "Only the latest round was kept",
+ retainLatestRoundFailed: "Failed to keep only the latest round",
+ stopSuccess: "Current output stopped",
+ chatFailed: "AI chat failed",
+ newSession: "New Session",
+ sessionList: "Sessions",
+ searchPlaceholder: "Search session titles",
+ noSessions: "No history sessions",
+ sessionTitle: "Session %{id}",
+ pinAction: "Pin session",
+ unpinAction: "Unpin session",
+ renameAction: "Rename session",
+ deleteAction: "Delete session",
+ toolTrace: "Tool Trace",
+ thinkingProcess: "Thinking Process",
+ thinkingExpand: "Show Thinking Process",
+ thinkingCollapse: "Hide Thinking Process",
+ thinkingEmpty: "Organizing the current stage information...",
+ thinkingStatusStarted: "Started",
+ thinkingStatusUpdated: "In Progress",
+ thinkingStatusCompleted: "Completed",
+ thinkingStatusFailed: "Failed",
+ thinkingStatusAborted: "Aborted",
+ noToolTrace: "No tool call was triggered in this round",
+ unknownTool: "Unknown tool",
+ toolStatusFailed: "Failed",
+ toolStatusCompleted: "Completed",
+ toolStatusRunning: "Running",
+ collapseDetail: "Hide Details",
+ viewDetail: "View Details",
+ toolInput: "Input: %{value}",
+ toolOutput: "Output summary: %{value}",
+ toolError: "Error: %{value}",
+ hasSummary: "Summary",
+ noSummary: "No Summary",
+ hasFacts: "Facts",
+ noFacts: "No Facts",
+ retainLatestRound: "Keep Latest Round",
+ clearMemory: "Clear Memory",
+ loadingRuntime: "Loading AI runtime info...",
+ emptyHint: "AI responses stream back through SSE here. You can also maintain parameters, prompts, and MCP mounts from the quick links above.",
+ userRole: "You",
+ assistantRole: "AI",
+ thinking: "Thinking...",
+ inputPlaceholder: "Type your question. Press Enter to send, Shift + Enter for a new line",
+ clearInput: "Clear Input",
+ stop: "Stop",
+ send: "Send",
+ renameDialogTitle: "Rename Session",
+ sessionTitleField: "Session Title",
+ requestMetric: "Req: %{value}",
+ sessionMetric: "Session: %{id}",
+ promptMetric: "Prompt: %{value}",
+ modelMetric: "Model: %{value}",
+ mcpMetric: "MCP: %{value}",
+ historyMetric: "History: %{value}",
+ recentMetric: "Recent: %{value}",
+ elapsedMetric: "Elapsed: %{value} ms",
+ firstTokenMetric: "First token: %{value} ms",
+ tokenMetric: "Tokens: prompt %{prompt} / completion %{completion} / total %{total}",
+ },
},
table: {
field: {
+ basStationArea: {
+ type: "type",
+ stationAreaName: "stationAreaName",
+ inAble: "inAble",
+ outAble: "outAble",
+ useStatus: "useStatus",
+ area: "area",
+ isCrossZone: "isCrossZone",
+ crossZoneArea: "crossZoneArea",
+ isWcs: "isWcs",
+ wcsData: "wcsData",
+ containerType: "containerType",
+ barcode: "barcode",
+ autoTransfer: "autoTransfer",
+ stationAreaId: "stationAreaId",
+ stationAlias: "stationAlias",
+ },
+ taskPathTemplateMerge: {
+ templateCode: "templateCode",
+ templateName: "templateName",
+ sourceType: "sourceType",
+ targetType: "targetType",
+ conditionExpression: "conditionExpression",
+ conditionDesc: "conditionDesc",
+ version: "version",
+ isCurrent: "isCurrent",
+ effectiveTime: "effectiveTime",
+ expireTime: "expireTime",
+ priority: "priority",
+ timeoutMinutes: "timeoutMinutes",
+ maxRetryTimes: "maxRetryTimes",
+ retryIntervalSeconds: "retryIntervalSeconds",
+ remark: "remark",
+ stepSize: "stepSize",
+ },
+ flowStepTemplate: {
+ flowId: "flowId",
+ flowCode: "flowCode",
+ stepOrder: "stepOrder",
+ stepCode: "stepCode",
+ stepName: "stepName",
+ stepType: "stepType",
+ actionType: "actionType",
+ actionConfig: "actionConfig",
+ inputMapping: "inputMapping",
+ outputMapping: "outputMapping",
+ conditionExpression: "conditionExpression",
+ skipOnFail: "skipOnFail",
+ retryEnabled: "retryEnabled",
+ retryConfig: "retryConfig",
+ timeoutSeconds: "timeoutSeconds",
+ },
+ flowStepInstance: {
+ flowInstanceId: "Flow Instance ID",
+ flowInstanceNo: "Flow Instance No",
+ stepTemplateId: "Step Template ID",
+ errorCode: "Error Code",
+ errorMessage: "Error Message",
+ startTime: "Start Time",
+ endTime: "End Time",
+ durationSeconds: "Duration(s)",
+ inputData: "Input Data",
+ outputData: "Output Data",
+ retryTimes: "Retry Times",
+ id: "ID",
+ stepOrder: "Step Order",
+ stepCode: "Step Code",
+ stepName: "Step Name",
+ stepType: "Step Type",
+ status: "Status",
+ executeResult: "Execute Result",
+ taskNo: "Task No",
+ createTime: "Create Time",
+ wmsNextTaskStatus: "WMS Next Task Status",
+ wmsNowTaskStatus: "WMS Now Task Status",
+ },
+ subsystemFlowTemplate: {
+ flowCode: "flowCode",
+ flowName: "flowName",
+ systemCode: "systemCode",
+ systemName: "systemName",
+ nodeType: "nodeType",
+ version: "version",
+ isCurrent: "isCurrent",
+ effectiveTime: "effectiveTime",
+ timeoutStrategy: "timeoutStrategy",
+ timeoutSeconds: "timeoutSeconds",
+ maxRetryTimes: "maxRetryTimes",
+ needNotify: "needNotify",
+ notifyTemplate: "notifyTemplate",
+ remark: "remark",
+ },
+ taskPathTemplateNode: {
+ templateId: "templateId",
+ templateCode: "templateCode",
+ nodeOrder: "nodeOrder",
+ nodeCode: "nodeCode",
+ nodeName: "nodeName",
+ nodeType: "nodeType",
+ systemCode: "systemCode",
+ systemName: "systemName",
+ executeParams: "executeParams",
+ resultSchema: "resultSchema",
+ timeoutMinutes: "timeoutMinutes",
+ mandatory: "mandatory",
+ parallelExecutable: "parallelExecutable",
+ preCondition: "preCondition",
+ postCondition: "postCondition",
+ nextNodeRules: "nextNodeRules",
+ },
+ taskPathTemplate: {
+ templateCode: "templateCode",
+ templateName: "templateName",
+ sourceType: "sourceType",
+ targetType: "targetType",
+ conditionExpression: "conditionExpression",
+ conditionDesc: "conditionDesc",
+ version: "version",
+ isCurrent: "isCurrent",
+ effectiveTime: "effectiveTime",
+ expireTime: "expireTime",
+ priority: "priority",
+ timeoutMinutes: "timeoutMinutes",
+ maxRetryTimes: "maxRetryTimes",
+ retryIntervalSeconds: "retryIntervalSeconds",
+ remark: "remark",
+ createdBy: "createdBy",
+ updatedBy: "updatedBy",
+ createdTime: "createdTime",
+ updatedTime: "updatedTime",
+ },
outBound: {
stockWithdrawal: 'StockWithdrawal',
withdrawal: 'Withdrawal'
@@ -221,12 +696,17 @@
basContainer: {
containerType: 'containerType',
codeType: 'codeType',
+ startNo: 'Start No',
+ code: 'Barcode',
+ endNo: 'End No',
areas: 'areas',
},
basStation: {
stationName: 'stationName',
+ stationId: 'stationId',
inAble: 'inAble',
outAble: 'outAble',
+ type: 'Site Type',
useStatus: 'useStatus',
status: 'status',
area: 'area',
@@ -280,6 +760,26 @@
sort: "sort",
},
menu: {
+ name: "name",
+ parentId: "parent id",
+ parentName: "higher",
+ path: "path",
+ pathName: "pathName",
+ route: "route",
+ component: "component",
+ brief: "brief",
+ code: "code",
+ type: "type",
+ authority: "authority",
+ icon: "icon",
+ sort: "sort",
+ meta: "meta",
+ enums: {
+ menu: 'Menu',
+ button: 'Button',
+ }
+ },
+ menuPda: {
name: "name",
parentId: "parent id",
parentName: "higher",
@@ -370,6 +870,7 @@
valid: "validity",
validWarn: "validityWarn",
flagCheck: "flagCheck",
+ tenantId: "tenantId",
},
matnrGroup: {
name: "name",
@@ -393,6 +894,7 @@
name: "name",
wareId: "ware",
code: "code",
+ sort: "Sort",
shipperId: "shipperId",
supplierId: "supplierId",
flagMinus: "flagMinus",
@@ -654,6 +1156,52 @@
checkQty: "Check Qty",
exceStatus: "Exce Status",
},
+ transfer: {
+ code: "code",
+ type: "type",
+ source: "source",
+ exceStatus: "exceStatus",
+ orgWareId: "orgWareId",
+ orgWareName: "orgWareName",
+ tarWareId: "tarWareId",
+ tarWareName: "tarWareName",
+ orgAreaId: "orgAreaId",
+ orgAreaName: "orgAreaName",
+ tarAreaId: "tarAreaId",
+ tarAreaName: "tarAreaName",
+ },
+
+ transferItem: {
+ transferId: "transferId",
+ transferCode: "transferCode",
+ matnrId: "matnrId",
+ maktx: "maktx",
+ matnrCode: "matnrCode",
+ unit: "unit",
+ anfme: "anfme",
+ qty: "qty",
+ workQty: "workQty",
+ batch: "batch",
+ splrId: "splrId",
+ spec: "spec",
+ model: "model",
+ fieldsIndex: "fieldsIndex",
+ platItemId: "platItemId",
+ platOrderCode: "platOrderCode",
+ platWorkCode: "platWorkCode",
+ projectCode: "projectCode",
+ },
+
+ transferOrder: {
+ code: 'Order No',
+ poCode: 'transfer No',
+ type: 'Type',
+ wkType: 'Work Type',
+ anfme: 'Anfme',
+ workQty: 'Work Qty',
+ qty: 'Qty',
+ },
+
checkDiffItem: {
checkId: "checkId",
orderCode: "orderCode",
@@ -665,6 +1213,7 @@
batch: "batch",
anfme: "anfme",
checkQty: "checkQty",
+ diffQty: 'Diff Qty',
exceStatus: "exceStatus",
reason: "reason",
},
@@ -775,6 +1324,24 @@
startTime: "startTime",
endTime: "endTime",
},
+ stockStatistic: {
+ id: "id",
+ dayTime: "dayTime",
+ taskType: "taskType",
+ taskStatus: "taskStatus",
+ maktx: "maktx",
+ matnrCode: "matnrCode",
+ count: "count",
+ inAnfmeCount: 'In Anfme Count',
+ outAnfmeCount: 'Count Anfme Count',
+ inAnfme: 'In Anfme',
+ outAnfme: 'Out Anfme',
+ locCode: 'Loc Code',
+ barcode: 'Barcode',
+ batch: "batch",
+ anfme: "anfme",
+ unit: "unit",
+ },
delivery: {
code: "code",
platId: "platId",
@@ -844,6 +1411,8 @@
deviceSite: "deviceSite",
flagInit: "flagInit",
channel: "channel",
+ areaIdStart: "areaIdStart",
+ areaIdEnd: "areaIdEnd",
},
waitPakin: {
code: "code",
@@ -854,8 +1423,24 @@
anfme: "anfme",
ioStatus: "ioStatus",
},
+ locRevise: {
+ code: "code",
+ type: "type",
+ anfme: "anfme",
+ reviseQty: "Revise Qty",
+ exceStatus: "Exce Status",
+ orgAreaId: "Area Id",
+ orgAreaName: "Area Name",
+ exceTime: "Exce Time"
+ },
+ reviseLog: {
+ reviseId: 'Revise Id',
+ reviseCode: 'Revise Code',
+ },
waitPakinItem: {
pakinId: "pakinId",
+ type: "type",
+ wkType: "wkType",
maktx: "maktx",
matnrId: "matnrId",
matnrCode: "matnrCode",
@@ -968,7 +1553,6 @@
wkType: 'Work Type',
orderType: "orderType",
orderItemId: "orderItemId",
- sourceCode: "sourceCode",
matnrId: "matnrId",
maktx: "maktx",
matnrCode: "matnrCode",
@@ -978,6 +1562,7 @@
batch: "batch",
spec: "spec",
model: "model",
+ sourceCode: "sourceCode",
},
stock: {
code: "Code",
@@ -1067,11 +1652,15 @@
wareArea: 'Warehouse Areas',
maktx: "maktx",
matnrCode: "matnrCode",
+ diffQty: 'Diff Qty',
trackCode: "trackCode",
unit: "unit",
anfme: "anfme",
+ outQty: 'Revise Qty',
qty: 'Qty',
+ deadTime: 'Dead (Days锛�',
workQty: 'Work Qty',
+ reviseQty: 'Revise Qty',
batch: "batch",
splrBatch: "splrBatch",
spec: "spec",
@@ -1119,6 +1708,27 @@
}
},
page: {
+ dashboard: {
+ welcome: {
+ title: 'Welcome to the WMS website',
+ },
+ header: {
+ inStockQty: '',
+ outStockQty: '',
+ taskWorkQty: '',
+ planQty: 'Plan',
+ realQty: 'Real Qty',
+ waitQty: 'Wait Qty',
+ waitOutQty: 'Wait Out Qty',
+ stockUsage: 'Stock Usage',
+ },
+ chart: {
+ histories: 'Orders Echart',
+ },
+ list: {
+ stock: 'Stock Pie',
+ }
+ },
welcome: {
index: ' Welcome to the RSF Management System.',
tech: ' Technology stack: Java 17, SpringBoot2.5.3, Mybatis-plus_3.4.1, Spring Security, Druid 1.2.6, Redis, Mysql5.7, Node18, ReactJs, Material UI5.16, Axios, React-Admin5.1'
@@ -1199,12 +1809,16 @@
detail: "Detail",
unenable: 'unenable',
locInit: 'loc init',
+ init: "Init",
siteInit: 'site init',
+ pathInit: 'Path init',
batch: 'batch',
pick: 'Pick',
check: 'Check',
confirm: 'confirm',
cancel: "cancel",
+ delete: 'Delete',
+ copy: 'copy',
query: "Query",
bulkExport: "Bulk Export",
continue: 'Continue Receipt',
@@ -1229,7 +1843,10 @@
orderPrint: 'Orders Print',
quality: "quality",
complete: "complete",
+ confirmTransfer: "Comfirm Transfer",
allComfirm: 'All Comfirm',
+ createTransfer: 'Create Transfer Order',
+ createLocRevise: 'Create Stock Revise Order',
verifyComfirm: 'Verify Comfirm',
close: "close",
asnCreate: "Create By Order",
@@ -1242,8 +1859,13 @@
order: 'Orders',
modiftySite: 'Modify SiteNo',
selectWave: 'Select Wave Rule',
+ flowStep: "Flow Step",
+ jumpCurrent: "Jump To Current",
},
+ placeholder: {
+ warehouseAreasCode: "use for warehouse areas code prefix",
+ },
request: {
error: {
stock: "Insufficient inventory to deliver 锛侊紒",
--
Gitblit v1.9.1