diff --git a/src/i18n/locales/cn.js b/src/i18n/locales/cn.js index e1877bd..8ecfe54 100644 --- a/src/i18n/locales/cn.js +++ b/src/i18n/locales/cn.js @@ -5,6 +5,7 @@ import cnLabelSetting from './labelSetting/cnLabelSetting'; import cnSys from './sys/cnSys'; import cnWarehouse from './warehouse/cnWarehouse'; import cnPurchase from './purchase/cnPurchase'; +import cnShipment from './shipment/cnShipment'; export default { user: cnUser,//每个人写每个人自己负责模块的语言,通过这个js文件这种方式统一引入 @@ -14,6 +15,7 @@ export default { sys: cnSys, warehouse: cnWarehouse, purchase: cnPurchase, + shipment: cnShipment, home: { title: "旭捷", welcome: "欢迎", diff --git a/src/i18n/locales/en.js b/src/i18n/locales/en.js index 4c60438..24f5f07 100644 --- a/src/i18n/locales/en.js +++ b/src/i18n/locales/en.js @@ -5,6 +5,7 @@ import enLabelSetting from './labelSetting/enLabelSetting'; import enSys from './sys/enSys'; import enWarehouse from './warehouse/enWarehouse'; import enPurchase from './purchase/enPurchase'; +import enShipment from './shipment/enShipment'; export default { user: enUser,//每个人写每个人自己负责模块的语言,通过这个js文件这种方式统一引入 @@ -14,6 +15,7 @@ export default { sys: enSys, warehouse: enWarehouse, purchase: enPurchase, + shipment: enShipment, home: { title: "XuJie", welcome: "Welcome", diff --git a/src/i18n/locales/shipment/cnShipment.js b/src/i18n/locales/shipment/cnShipment.js new file mode 100644 index 0000000..ed5c539 --- /dev/null +++ b/src/i18n/locales/shipment/cnShipment.js @@ -0,0 +1,241 @@ +export default { + common: { + tip: '提示', + error: '错误', + confirm: '确定', + cancel: '取消', + close: '关闭', + save: '保存', + search: '查询', + add: '添加>>', + remove: '删除<<', + edit: '编辑', + modify: '修改', + delete: '删除', + print: '打印', + operation: '操作', + yes: '是', + no: '否', + pleaseSelect: '请选择', + selectDate: '选择日期', + success: '操作成功', + select: '选择', + to: '到' + }, + search: { + notifyNo: '单据号', + orderStatus: '单据状态', + pushWcs: '推送WCS', + applyDate: '申请单日期' + }, + pushWcs: { + all: '全部', + notPushed: '未推送', + partialPushed: '部分推送', + pushComplete: '推送完成', + outboundComplete: '出库完成' + }, + action: { + close: '关闭', + pushWcs: '推送WCS', + cancelIssue: '取消下达', + issue: '下达' + }, + dialog: { + inboundNotify: '收货入库通知', + inboundDetail: '收货入库单明细', + chooseWorkOrder: '选择工单', + saveWorkOrder: '保存工单', + inboundDetailView: '入库明细', + applyDetail: '申请明细', + inventoryPreview: '库存预览', + shipmentLinePrint: 'ShipmentLine打印', + labelPrintSetting: '标签打印设置' + }, + fields: { + orderType: '单据类型', + requiredInboundDate: '要求入库日期', + supplier: '供应商', + remark: '备注', + partNo: '物料编码', + partName: '物料名称', + partUnit: '物料单位', + productionOrder: '生产订单', + orderStatus: '订单状态', + optionalParts: '可选物料', + selectedParts: '已选物料', + requiredInboundQty: '要求入库数量', + orderQty: '订单数量', + availableInboundQty: '可入库数', + availableInboundRolls: '可入库卷数', + machine: '机台', + workCenter: '加工中心', + dispatchDate: '派工日期', + workOrderQty: '工单数量', + part: '物料', + requiredIssueTime: '要求发料时间', + thisIssueQty: '此次领料数量', + issueAll: '全数领料', + productionOrderNo: '生产订单号', + productCode: '产品编码', + partNumber: '物料编号', + requiredQty: '需求数量', + shipmentOrder: '发货单', + lineNo: '行号', + satisfiedFlag: '是否满足', + satisfied: '满足', + unsatisfied: '不满足', + matchedBarcode: '匹配条码', + orderStatusCol: '单据状态', + supplierCode: '供应商编码', + supplierName: '供应商名称', + applyDate: '申请单日期', + createTime: '创建时间', + createBy: '创建人', + pushWcs: '推送WCS', + updateTime: '更新时间', + updateBy: '更新人', + process: '工序', + processName: '工序名称', + reportedQty: '报工数量', + workOrderDate: '工单日期', + workCenterCode: '加工中心编码', + workCenterName: '加工中心名称', + machineCode: '机台编码', + machineName: '机台名称', + operator: '操作员', + inAsrs: '是否在立库', + availableStock: '可用库存', + partDesc: '物料描述', + issuableQty: '可发数量', + thisIssueQtyCol: '本次发料数量', + returnQty: '退料数量', + transportDate: '运输日期', + pushWcsTime: '推送WCS时间', + pushWcsFlag: '是否推送WCS', + asrsTakeOut: '立库取出', + deliveryArea: '配送区域', + workOrderEndDate: '工单结束日期', + labelBarcode: '标签条码', + inboundQty: '入库数量', + inboundWarehouse: '入库仓库', + inboundLocation: '入库库位', + operateTime: '操作时间', + orderSeq: '订单序号', + orderPartLineNo: '订单物料行号', + labelNo: '标签号', + asrsTaskNo: '立库任务号', + asrsTaskLineNo: '立库任务行号', + takeOutTime: '取出时间', + inventoryPartNo: '库存物料号', + inventoryQty: '库存数量', + qtyAssigned: '已分配数量', + qtyPicked: '已拣货数量', + qtyShipped: '已发货数量', + uom: '单位', + sourceRef1: '源引用1', + sourceRef2: '源引用2', + sourceRef3: '源引用3' + }, + options: { + productionReturn: '生产退料', + productionInbound: '生产入库', + otherInbound: '其他入库', + planned: '已计划', + issued: '已下达', + scheduled: '已排产', + started: '已开工', + cancelled: '已取消', + stopped: '已停工', + closed: '已关闭' + }, + tabs: { + appliedShipment: '已申请SHIPMENT', + reservedLabel: '预留标签清单', + shipmentLinePrint: 'shipmentline打印' + }, + table: { + inboundTask: '收货入库任务表', + dispatchOrder: '查询派工单', + workOrder: '查询工单', + issueBom: '领料申请BOM子表', + reservedLabel: '预留标签清单表', + exportName: '收货入库' + }, + preview: { + pushing: '推送中...', + pushToWcs: '推送至WCS' + }, + print: { + currentShipmentId: '当前SHIPMENTID:{id}', + inputShipment: '请输入SHIPMENT', + outerTotal: '发货数量', + inputOuterTotal: '请输入发货数量', + innerPackQty: '内箱数量', + inputInnerPackQty: '请输入内箱数量', + boxPackCount: '每箱内包数', + inputBoxPackCount: '请输入每箱内包数', + printHint: '每张外箱标签数量 = 每箱内包数 × 内箱数量;外箱/内箱余数均单独成张标签', + calcResult: '计算结果(不可修改)', + outerBoxLabel: '外箱标签', + innerBoxLabel: '内箱标签', + sheetCount: '共 {count} 张', + printTotal: '打印总数', + sheetUnit: '{count} 张', + startPrint: '开始打印', + inputPrintParams: '请先完整输入发货数量、内箱数量、每箱内包数', + qtySummaryItem: '{count}张×{qty}', + qtySummarySeparator: ',', + labelType: '标签类型', + selectLabelType: '请选择标签类型', + matchTemplateByPart: '根据物料自动匹配模板', + selectLabelTemplate: '请选择标签模板', + detectedPrinters: '已经探测到 {count} 台打印机', + selectPrinter: '请选择打印机' + }, + message: { + cannotEditPoInbound: '采购入库单据不能编辑!', + selectOrderType: '请选择单据类型!', + selectRequiredInboundDate: '请选择要求入库日期!', + selectDeleteDocs: '请勾选要删除的单据!', + confirmDeleteRecords: '是否删除该 {count} 条记录?', + confirmCloseRecord: '确认关闭 {notifyNo} 记录?', + alreadySelectedDispatch: '已经选择过此派工单,请返回点击明细直接操作!!', + selectTime: '请选择时间!', + inputIssueQty: '请填写领取数量!', + confirmChooseWorkOrder: '确定选择工单{seqno}?', + selectOptionalPart: '请选择可选物料!', + selectSelectedPart: '请选择已选物料!', + noContentToSave: '没有需要保存的内容!', + confirmDeleteWorkOrderApply: '是否删除这个工单的申请信息?', + userHasUnissueNotify: '该用户有未下达的申请单,请先处理', + confirmCancelIssue: '确定取消下达发货申请单【{notifyNo}】吗?', + cancelIssueSuccess: '取消下达成功', + cancelIssueFailed: '取消下达失败', + checkUserNotifyFailed: '检查用户申请单失败', + getInventoryPreviewFailed: '获取库存预览失败', + noPushData: '没有可推送的数据', + noSatisfiedOrder: '没有满足库存要求的订单,无法推送', + confirmPushWcs: '确认推送至WCS?', + pushWcsSuccess: '推送WCS成功', + pushWcsFailed: '推送WCS失败', + noShipmentId: '该行没有SHIPMENTID', + noReceiverId: '未获取到receiverId', + inputShipment: '请输入SHIPMENT', + queryShipmentFailed: '查询Shipment失败', + getShipmentInfoFailed: '获取shipment信息失败', + noShipmentLine: '未查询到ShipmentLine数据', + getShipmentLineFailed: '获取ShipmentLine失败', + queryShipmentFirst: '未获取到receiverId,请先查询SHIPMENT', + completePrintParams: '请完善打印参数', + cannotPrintNoReceiverId: '未获取到receiverId,无法打印', + missingIfsParams: '当前行缺少打印所需的IFS参数', + outerTotalMustGtZero: '发货数量必须大于0', + innerPackQtyMustGtZero: '内箱数量必须大于0', + boxPackCountMustGtZero: '每箱内包数必须大于0', + calcLabelQtyFailed: '标签数量计算失败,请检查输入参数', + printTaskSent: '打印任务已发送成功', + printFailed: '打印失败', + printFailedWithReason: '打印失败: {reason}' + } +} diff --git a/src/i18n/locales/shipment/enShipment.js b/src/i18n/locales/shipment/enShipment.js new file mode 100644 index 0000000..44bf48c --- /dev/null +++ b/src/i18n/locales/shipment/enShipment.js @@ -0,0 +1,241 @@ +export default { + common: { + tip: 'Tip', + error: 'Error', + confirm: 'OK', + cancel: 'Cancel', + close: 'Close', + save: 'Save', + search: 'Search', + add: 'Add >>', + remove: 'Remove <<', + edit: 'Edit', + modify: 'Modify', + delete: 'Delete', + print: 'Print', + operation: 'Actions', + yes: 'Yes', + no: 'No', + pleaseSelect: 'Please select', + selectDate: 'Select date', + success: 'Operation succeeded', + select: 'Select', + to: 'To' + }, + search: { + notifyNo: 'Document No.', + orderStatus: 'Document status', + pushWcs: 'Push WCS', + applyDate: 'Request date' + }, + pushWcs: { + all: 'All', + notPushed: 'Not pushed', + partialPushed: 'Partially pushed', + pushComplete: 'Push completed', + outboundComplete: 'Outbound completed' + }, + action: { + close: 'Close', + pushWcs: 'Push WCS', + cancelIssue: 'Cancel issue', + issue: 'Issue' + }, + dialog: { + inboundNotify: 'Inbound notification', + inboundDetail: 'Inbound notification details', + chooseWorkOrder: 'Select work order', + saveWorkOrder: 'Save work order', + inboundDetailView: 'Inbound details', + applyDetail: 'Request details', + inventoryPreview: 'Inventory preview', + shipmentLinePrint: 'ShipmentLine print', + labelPrintSetting: 'Label print settings' + }, + fields: { + orderType: 'Document type', + requiredInboundDate: 'Required inbound date', + supplier: 'Supplier', + remark: 'Remarks', + partNo: 'Part No.', + partName: 'Part name', + partUnit: 'UoM', + productionOrder: 'Production order', + orderStatus: 'Order status', + optionalParts: 'Available parts', + selectedParts: 'Selected parts', + requiredInboundQty: 'Required inbound qty', + orderQty: 'Order qty', + availableInboundQty: 'Available inbound qty', + availableInboundRolls: 'Available inbound rolls', + machine: 'Machine', + workCenter: 'Work center', + dispatchDate: 'Dispatch date', + workOrderQty: 'Work order qty', + part: 'Part', + requiredIssueTime: 'Required issue time', + thisIssueQty: 'This issue qty', + issueAll: 'Issue all', + productionOrderNo: 'Production order No.', + productCode: 'Product code', + partNumber: 'Part No.', + requiredQty: 'Required qty', + shipmentOrder: 'Shipment', + lineNo: 'Line No.', + satisfiedFlag: 'Satisfied', + satisfied: 'Satisfied', + unsatisfied: 'Not satisfied', + matchedBarcode: 'Matched barcode', + orderStatusCol: 'Document status', + supplierCode: 'Supplier code', + supplierName: 'Supplier name', + applyDate: 'Request date', + createTime: 'Created at', + createBy: 'Created by', + pushWcs: 'Push WCS', + updateTime: 'Updated at', + updateBy: 'Updated by', + process: 'Operation', + processName: 'Operation name', + reportedQty: 'Reported qty', + workOrderDate: 'Work order date', + workCenterCode: 'Work center code', + workCenterName: 'Work center name', + machineCode: 'Machine code', + machineName: 'Machine name', + operator: 'Operator', + inAsrs: 'In AS/RS', + availableStock: 'Available stock', + partDesc: 'Part description', + issuableQty: 'Issuable qty', + thisIssueQtyCol: 'This issue qty', + returnQty: 'Return qty', + transportDate: 'Transport date', + pushWcsTime: 'Push WCS time', + pushWcsFlag: 'Pushed to WCS', + asrsTakeOut: 'AS/RS take-out', + deliveryArea: 'Delivery area', + workOrderEndDate: 'Work order end date', + labelBarcode: 'Label barcode', + inboundQty: 'Inbound qty', + inboundWarehouse: 'Inbound warehouse', + inboundLocation: 'Inbound location', + operateTime: 'Operated at', + orderSeq: 'Order seq', + orderPartLineNo: 'Order part line', + labelNo: 'Label No.', + asrsTaskNo: 'AS/RS task No.', + asrsTaskLineNo: 'AS/RS task line', + takeOutTime: 'Take-out time', + inventoryPartNo: 'Inventory part No.', + inventoryQty: 'Inventory qty', + qtyAssigned: 'Assigned qty', + qtyPicked: 'Picked qty', + qtyShipped: 'Shipped qty', + uom: 'UoM', + sourceRef1: 'Source ref 1', + sourceRef2: 'Source ref 2', + sourceRef3: 'Source ref 3' + }, + options: { + productionReturn: 'Production return', + productionInbound: 'Production inbound', + otherInbound: 'Other inbound', + planned: 'Planned', + issued: 'Issued', + scheduled: 'Scheduled', + started: 'Started', + cancelled: 'Cancelled', + stopped: 'Stopped', + closed: 'Closed' + }, + tabs: { + appliedShipment: 'Applied SHIPMENT', + reservedLabel: 'Reserved labels', + shipmentLinePrint: 'ShipmentLine print' + }, + table: { + inboundTask: 'Inbound task list', + dispatchOrder: 'Dispatch order query', + workOrder: 'Work order query', + issueBom: 'Issue request BOM', + reservedLabel: 'Reserved label list', + exportName: 'Inbound' + }, + preview: { + pushing: 'Pushing...', + pushToWcs: 'Push to WCS' + }, + print: { + currentShipmentId: 'Current SHIPMENTID: {id}', + inputShipment: 'Please enter SHIPMENT', + outerTotal: 'Shipment qty', + inputOuterTotal: 'Please enter shipment qty', + innerPackQty: 'Inner-box qty', + inputInnerPackQty: 'Please enter inner-box qty', + boxPackCount: 'Inner packs per box', + inputBoxPackCount: 'Please enter inner packs per box', + printHint: 'Qty per outer-box label = inner packs per box × inner-box qty; remainders print as separate labels', + calcResult: 'Calculation result (read-only)', + outerBoxLabel: 'Outer-box label', + innerBoxLabel: 'Inner-box label', + sheetCount: '{count} label(s)', + printTotal: 'Total labels', + sheetUnit: '{count}', + startPrint: 'Start printing', + inputPrintParams: 'Please enter shipment qty, inner-box qty and inner packs per box', + qtySummaryItem: '{count} × {qty}', + qtySummarySeparator: ', ', + labelType: 'Label type', + selectLabelType: 'Please select label type', + matchTemplateByPart: 'Auto-match template by part', + selectLabelTemplate: 'Please select label template', + detectedPrinters: '{count} printer(s) detected', + selectPrinter: 'Please select printer' + }, + message: { + cannotEditPoInbound: 'PO inbound documents cannot be edited!', + selectOrderType: 'Please select document type!', + selectRequiredInboundDate: 'Please select required inbound date!', + selectDeleteDocs: 'Please select documents to delete!', + confirmDeleteRecords: 'Delete these {count} record(s)?', + confirmCloseRecord: 'Close record {notifyNo}?', + alreadySelectedDispatch: 'This dispatch order has already been selected. Please go back and operate from details!', + selectTime: 'Please select time!', + inputIssueQty: 'Please enter issue qty!', + confirmChooseWorkOrder: 'Select work order {seqno}?', + selectOptionalPart: 'Please select available parts!', + selectSelectedPart: 'Please select chosen parts!', + noContentToSave: 'Nothing to save!', + confirmDeleteWorkOrderApply: 'Delete the request info of this work order?', + userHasUnissueNotify: 'This user has an unissued request. Please handle it first.', + confirmCancelIssue: 'Cancel issue of shipment request [{notifyNo}]?', + cancelIssueSuccess: 'Issue cancelled', + cancelIssueFailed: 'Failed to cancel issue', + checkUserNotifyFailed: 'Failed to check user requests', + getInventoryPreviewFailed: 'Failed to get inventory preview', + noPushData: 'No data to push', + noSatisfiedOrder: 'No orders meet inventory requirements, cannot push', + confirmPushWcs: 'Push to WCS?', + pushWcsSuccess: 'Pushed to WCS successfully', + pushWcsFailed: 'Failed to push to WCS', + noShipmentId: 'This row has no SHIPMENTID', + noReceiverId: 'receiverId not found', + inputShipment: 'Please enter SHIPMENT', + queryShipmentFailed: 'Failed to query shipment', + getShipmentInfoFailed: 'Failed to get shipment info', + noShipmentLine: 'No ShipmentLine data found', + getShipmentLineFailed: 'Failed to get ShipmentLine', + queryShipmentFirst: 'receiverId not found, please query SHIPMENT first', + completePrintParams: 'Please complete print parameters', + cannotPrintNoReceiverId: 'Cannot print: receiverId not found', + missingIfsParams: 'Current row is missing required IFS parameters', + outerTotalMustGtZero: 'Shipment qty must be greater than 0', + innerPackQtyMustGtZero: 'Inner-box qty must be greater than 0', + boxPackCountMustGtZero: 'Inner packs per box must be greater than 0', + calcLabelQtyFailed: 'Failed to calculate label qty, please check inputs', + printTaskSent: 'Print task sent', + printFailed: 'Print failed', + printFailedWithReason: 'Print failed: {reason}' + } +} diff --git a/src/views/modules/shipment/shipmentNotification.vue b/src/views/modules/shipment/shipmentNotification.vue index c15a585..75e207b 100644 --- a/src/views/modules/shipment/shipmentNotification.vue +++ b/src/views/modules/shipment/shipmentNotification.vue @@ -2,27 +2,27 @@
- + - + - - - - - - - + + + + + + + - + + :placeholder="$t('shipment.common.selectDate')"> @@ -31,12 +31,12 @@ + :placeholder="$t('shipment.common.selectDate')"> - 查询 - 打印 + {{ $t('shipment.common.search') }} + {{ $t('shipment.common.print') }} @@ -53,7 +53,7 @@ - + @@ -95,17 +95,17 @@ - + - + - - - + + + - + @@ -114,29 +114,29 @@ - 供应商 + {{ $t('shipment.fields.supplier') }} - + - 保存 - 关闭 + {{ $t('shipment.common.save') }} + {{ $t('shipment.common.close') }} - + - {{ scope.row[item.columnProp] === 'Y' ? '是' : '否' }} + {{ scope.row[item.columnProp] === 'Y' ? $t('shipment.common.yes') : $t('shipment.common.no') }} {{scope.row[item.columnProp]}} @@ -158,7 +158,7 @@ style="width: 100px; height: 80px" /> - - + - + - {{ scope.row[item.columnProp] === 'Y' ? '是' : '否' }} + {{ scope.row[item.columnProp] === 'Y' ? $t('shipment.common.yes') : $t('shipment.common.no') }} {{ scope.row[item.columnProp] }} @@ -223,9 +223,9 @@ - +
- 当前SHIPMENTID:{{ currentShipmentId }} + {{ $t('shipment.print.currentShipmentId', { id: currentShipmentId }) }}
{{ scope.row[item.columnProp] }} - + @@ -262,48 +262,48 @@ - +
- + - + - 查询 + {{ $t('shipment.common.search') }}
- 可选物料 + {{ $t('shipment.fields.optionalParts') }} - + - + - + @@ -314,22 +314,22 @@
- 添加>> - 删除<< + {{ $t('shipment.common.add') }} + {{ $t('shipment.common.remove') }}
- 已选物料 + {{ $t('shipment.fields.selectedParts') }}
- + - + - +