修复 退料 物料选择问题

master
hou 4 years ago
parent 91a2e9ea75
commit 04678636b6

@ -1,369 +1,369 @@
export default { export default {
message: { message: {
hello: "你好", hello: '你好',
//登录 //登录
PleaseInputUserName: "请输入用户名", PleaseInputUserName: '请输入用户名',
PleaseInputPassword: "请输入密码", PleaseInputPassword: '请输入密码',
Login: "登录", Login: '登录',
Tip: "请先设置服务器地址", Tip: '请先设置服务器地址',
SetUp: "设置", SetUp: '设置',
Cancel: "取消", Cancel: '取消',
LoginSuccessful: "登录成功", LoginSuccessful: '登录成功',
Loading: "加载中", Loading: '加载中',
request_Tip1: "请求错误", request_Tip1: '请求错误',
request_Tip2: "未授权,请登录", request_Tip2: '未授权,请登录',
request_Tip3: "拒绝访问", request_Tip3: '拒绝访问',
request_Tip4: "请求地址出错", request_Tip4: '请求地址出错',
request_Tip5: "请求超时", request_Tip5: '请求超时',
request_Tip6: "服务器内部错误", request_Tip6: '服务器内部错误',
request_Tip7: "服务未实现", request_Tip7: '服务未实现',
request_Tip8: "网关错误", request_Tip8: '网关错误',
request_Tip9: "服务不可用", request_Tip9: '服务不可用',
request_Tip10: "网关超时", request_Tip10: '网关超时',
request_Tip11: "HTTP版本不受支持", request_Tip11: 'HTTP版本不受支持',
success: "操作成功", success: '操作成功',
error: "操作失败", error: '操作失败',
operation: "操作", operation: '操作',
//服务器设置 //服务器设置
ServerSetting: "服务器设置", ServerSetting: '服务器设置',
PleaseInputIPAddress: "请输入IP地址", PleaseInputIPAddress: '请输入IP地址',
PleaseInputPortNumber: "请输入端口号", PleaseInputPortNumber: '请输入端口号',
Save: "保存", Save: '保存',
TryAgain: "地址无效或服务不可用,请重试", TryAgain: '地址无效或服务不可用,请重试',
SetServerSuccessfully: "设置服务器成功", SetServerSuccessfully: '设置服务器成功',
//工作区选择 //工作区选择
workArea_Title: "工作区列表", workArea_Title: '工作区列表',
workArea_SubTitle: "您好,请从列表中选择您的工作区~", workArea_SubTitle: '您好,请从列表中选择您的工作区~',
workArea_SelelctOne: "请选择一个工作区", workArea_SelelctOne: '请选择一个工作区',
workArea_Selelct: "请选择", workArea_Selelct: '请选择',
workArea_Warehouse: "仓库", workArea_Warehouse: '仓库',
workArea_WarehouseName: "仓库名称", workArea_WarehouseName: '仓库名称',
workArea_RegionName: "区域名称", workArea_RegionName: '区域名称',
workArea_WorkAreaName: "工作区名称", workArea_WorkAreaName: '工作区名称',
workArea_WarehouseClassify: "仓库类", workArea_WarehouseClassify: '仓库类',
workArea_Confirm: "确定", workArea_Confirm: '确定',
//原材料菜单 //原材料菜单
rawMenu_ReceivingGoods: "收货", rawMenu_ReceivingGoods: '收货',
rawMenu_Handover: "交接", rawMenu_Handover: '交接',
rawMenu_virtual_Handover: "虚拟单交接", rawMenu_virtual_Handover: '虚拟单交接',
rawMenu_virtual_Handover_QR: "虚拟单交接-确认", rawMenu_virtual_Handover_QR: '虚拟单交接-确认',
LBWK: "列表为空", LBWK: '列表为空',
rawMenu_InTheLibrary: "库内", rawMenu_InTheLibrary: '库内',
rawMenu_ReturnGoods: "退货", rawMenu_ReturnGoods: '退货',
rawMenu_SignOut: "退出", rawMenu_SignOut: '退出',
Purchase: "采购单", Purchase: '采购单',
//po收货 //po收货
po_ReceivingGoods: "PO收货", po_ReceivingGoods: 'PO收货',
po_ReturnGoods: "DN退货", po_ReturnGoods: 'DN退货',
po_OddNumbers: "PO单号", po_OddNumbers: 'PO单号',
po_Supplier: "供应商", po_Supplier: '供应商',
po_OrderType: "订单类型", po_OrderType: '订单类型',
po_Location: "库存地点", po_Location: '库存地点',
po_PleaseScan: "请扫描PO单号", po_PleaseScan: '请扫描PO单号',
po_PleaseScanMATcode: "请扫描物料条码", po_PleaseScanMATcode: '请扫描物料条码',
PleaseScan: "请扫描", PleaseScan: '请扫描',
po_PleaseInput: "请输入内容", po_PleaseInput: '请输入内容',
po_PleaseInputcar: "请输入周转车", po_PleaseInputcar: '请输入周转车',
po_PleaseSlect: "请选择库存地点", po_PleaseSlect: '请选择库存地点',
po_Detailed: "PO单明细", po_Detailed: 'PO单明细',
detailed: "明细", detailed: '明细',
po_Total: "共", po_Total: '共',
po_Records: "条", po_Records: '条',
po_SelectAll: "全选", po_SelectAll: '全选',
po_noSelectAll: "取消全选", po_noSelectAll: '取消全选',
po_Submit: "提交", po_Submit: '提交',
po_Continue: "继续", po_Continue: '继续',
po_Return: "返回", po_Return: '返回',
po_MaterielNo: "物料号", po_MaterielNo: '物料号',
Materiel: "物料", Materiel: '物料',
po_MaterielDes: "物料描述", po_MaterielDes: '物料描述',
returned: "应退货数量", returned: '应退货数量',
quantity: "累计退货数量", quantity: '累计退货数量',
po_DemandQuantity: "需求数量", po_DemandQuantity: '需求数量',
DemandQuantity: "需求", DemandQuantity: '需求',
po_ActualQuantity: "实际数量", po_ActualQuantity: '实际数量',
po_ReturnGoodsQuantity: "退货数量", po_ReturnGoodsQuantity: '退货数量',
po_RemainingQuantity: "剩余数量", po_RemainingQuantity: '剩余数量',
Cumulative: "累计", Cumulative: '累计',
//dn收货 //dn收货
dn_ReceivingGoods: "DN收货", dn_ReceivingGoods: 'DN收货',
dn_OddNumbers: "DN单号", dn_OddNumbers: 'DN单号',
dn_PleaseScan: "请扫描DN单号", dn_PleaseScan: '请扫描DN单号',
barcode_PleaseScan: "请扫描条码", barcode_PleaseScan: '请扫描条码',
dn_CarNumber: "车牌号", dn_CarNumber: '车牌号',
dn_Time: "预约时间", dn_Time: '预约时间',
dn_Detailed: "DN单明细", dn_Detailed: 'DN单明细',
dn_Number: "数量", dn_Number: '数量',
dn_Confirm: "确认", dn_Confirm: '确认',
dn_Select: "请选择要修改的行", dn_Select: '请选择要修改的行',
dn_Tip: "实际收货数量不能大于需求数量", dn_Tip: '实际收货数量不能大于需求数量',
dn_Tip2: "实际退货数量不能大于需求数量", dn_Tip2: '实际退货数量不能大于需求数量',
dn_Tip3: "实际收货数量小于需求数量", dn_Tip3: '实际收货数量小于需求数量',
Line: "行项目", Line: '行项目',
//交接菜单页 //交接菜单页
Handover: "交接", Handover: '交接',
Picking: "拣配", Picking: '拣配',
SummaryAndHandover: "汇总交接", SummaryAndHandover: '汇总交接',
FillingMaterials: "补料", FillingMaterials: '补料',
ReturnedMaterials: "退料", ReturnedMaterials: '退料',
Inventory_query: "库存查询", Inventory_query: '库存查询',
//拣配 //拣配
Pi_PickingQuery: "拣配查询", Pi_PickingQuery: '拣配查询',
Pi_OrderNo: "订单号", Pi_OrderNo: '订单号',
Pi_factory: "工厂", Pi_factory: '工厂',
Pi_materielNo: "物料号", Pi_materielNo: '物料号',
Pi_order: "订单查询", Pi_order: '订单查询',
Query: "查询", Query: '查询',
time: "请先选择时间", time: '请先选择时间',
Pi_InputMrp: "请输入MRP", Pi_InputMrp: '请输入MRP',
Pi_InputFactory: "请输入工厂代码", Pi_InputFactory: '请输入工厂代码',
Pi_OrderNoNotSelected: "未选中订单号", Pi_OrderNoNotSelected: '未选中订单号',
Pi_NoDataFound: "未查询到数据", Pi_NoDataFound: '未查询到数据',
Pi_QueryResults: "查询结果", Pi_QueryResults: '查询结果',
Pi_Summary: "汇总", Pi_Summary: '汇总',
Pi_ByOrder: "按单", Pi_ByOrder: '按单',
Pi_ByOrderPicking: "按单拣配", Pi_ByOrderPicking: '按单拣配',
Pi_SummaryPicking: "汇总拣配", Pi_SummaryPicking: '汇总拣配',
Pi_upload: "上传", Pi_upload: '上传',
Pi_tip1: "请输入拣配数量", Pi_tip1: '请输入拣配数量',
Pi_tip2: "本次拣配数量为大于0的数字", Pi_tip2: '本次拣配数量为大于0的数字',
Pi_tip3: "请修改拣配数量后再上传", Pi_tip3: '请修改拣配数量后再上传',
Pi_tip10: "请修改补料数量后再上传", Pi_tip10: '请修改补料数量后再上传',
Pi_tip4: "没有可用上传的数据", Pi_tip4: '没有可用上传的数据',
Pi_tip: "提示", Pi_tip: '提示',
Pi_tip5: "上传成功", Pi_tip5: '上传成功',
Pi_tip6: "本次拣配数量+拣配数量不允许大于需求数量", Pi_tip6: '本次拣配数量+拣配数量不允许大于需求数量',
Pi_tip8: "本次交接数量+交接数量不允许大于拣配数量", Pi_tip8: '本次交接数量+交接数量不允许大于拣配数量',
Pi_tip9: "本次补料数量+已补数量不允许大于需求数量", Pi_tip9: '本次补料数量+已补数量不允许大于需求数量',
JJSLBNWK: "交接数量不能为空", JJSLBNWK: '交接数量不能为空',
Pi_tip7: "请选中要修改的行", Pi_tip7: '请选中要修改的行',
Pi_tip11: "交接数量大于拣配数量,将产生虚拟库存", Pi_tip11: '交接数量大于拣配数量,将产生虚拟库存',
Pi_unit: "单位", Pi_unit: '单位',
Pi_CumulativePickingQuantity: "累计拣配数量", Pi_CumulativePickingQuantity: '累计拣配数量',
Pi_HandoverQuantity: "交接数量", Pi_HandoverQuantity: '交接数量',
Pi_Station: "工位", Pi_Station: '工位',
Pi_FinishedProductModel: "成品型号", Pi_FinishedProductModel: '成品型号',
Pi_CurrentPickingQuantity: "本次拣配数量", Pi_CurrentPickingQuantity: '本次拣配数量',
Pi_PickedQuantity: "已拣配数量", Pi_PickedQuantity: '已拣配数量',
Pi_QuantityHandedOver: "已交接数量", Pi_QuantityHandedOver: '已交接数量',
Pi_distribution: "分配", Pi_distribution: '分配',
//汇总交接 //汇总交接
Summary_Query: "汇总查询", Summary_Query: '汇总查询',
Summary_Contain: "包含", Summary_Contain: '包含',
Summary_Exclude: "刨除", Summary_Exclude: '刨除',
Summary_To: "到", Summary_To: '到',
Summary_DemandDate: "需求日期", Summary_DemandDate: '需求日期',
Summary_ProductionDate: "生产日期", Summary_ProductionDate: '生产日期',
Summary_BatchNo: "批次号", Summary_BatchNo: '批次号',
Summary_Result: "查询结果", Summary_Result: '查询结果',
Summary_SummaryAndHandover: "汇总交接", Summary_SummaryAndHandover: '汇总交接',
Summary_HandoverByOrder: "按单交接", Summary_HandoverByOrder: '按单交接',
Summary_Number: "数量", Summary_Number: '数量',
Summary_Receiver: "接收人", Summary_Receiver: '接收人',
Summary_Password: "口令", Summary_Password: '口令',
screen: "筛选", screen: '筛选',
Summary_PleaseInputNumber: "请输入数量", Summary_PleaseInputNumber: '请输入数量',
Summary_PleaseInputReceiver: "请输入接收人", Summary_PleaseInputReceiver: '请输入接收人',
Summary_PleaseInputPassword: "请输入口令", Summary_PleaseInputPassword: '请输入口令',
Summary_Tip: "解锁失败,详情:", Summary_Tip: '解锁失败,详情:',
Summary_FinishedProductMaterialNumber: "成品物料号", Summary_FinishedProductMaterialNumber: '成品物料号',
Summary_QuantityOfThisHandover: "本次交接数量", Summary_QuantityOfThisHandover: '本次交接数量',
//补料 //补料
Feeding_VoucherNo: "凭证号", Feeding_VoucherNo: '凭证号',
Feeding_VoucherDate: "凭证日期", Feeding_VoucherDate: '凭证日期',
Feeding_ReplenishmentDetails: "补料明细", Feeding_ReplenishmentDetails: '补料明细',
Feeding_Tip1: "请输入补料数量", Feeding_Tip1: '请输入补料数量',
Feeding_Tip2: "本次补料数量为大于0的整数", Feeding_Tip2: '本次补料数量为大于0的整数',
Feeding_Tip3: "请输入口令/密码!", Feeding_Tip3: '请输入口令/密码!',
Feeding_Tip4: "请输入接收人!", Feeding_Tip4: '请输入接收人!',
Feeding_ReplenishedQuantity: "已补数量", Feeding_ReplenishedQuantity: '已补数量',
//退料 //退料
return_OperatorName: "工位退料人", return_OperatorName: '工位退料人',
return_Type: "退料类型", return_Type: '退料类型',
return_Tip1: "退料人不能为空", return_Tip1: '退料人不能为空',
return_Tip2: "工厂代码不能为空", return_Tip2: '工厂代码不能为空',
return_Tip3: "数量不能为空", return_Tip3: '数量不能为空',
return_Tip4: "退料数量不能大于总数", return_Tip4: '退料数量不能大于总数',
quantitys: "不能大于应退货数量", quantitys: '不能大于应退货数量',
actual: "实际退货数量不等于应退货数量", actual: '实际退货数量不等于应退货数量',
//库内主菜单 //库内主菜单
Warehouse: "成品库内", Warehouse: '成品库内',
Relocation: "成品移库", Relocation: '成品移库',
Scrap: "成品报废", Scrap: '成品报废',
CollectionAndBorrowing: "成品领用借用", CollectionAndBorrowing: '成品领用借用',
Inventory: "成品盘点", Inventory: '成品盘点',
raw_Inventory: "原材料盘点", raw_Inventory: '原材料盘点',
Transfer: "移库码", Transfer: '移库码',
generate: "生成", generate: '生成',
RowWarehouse: "原材料库内", RowWarehouse: '原材料库内',
SemiProductZC: "半成品转储", SemiProductZC: '半成品转储',
RowScrap: "原材料报废", RowScrap: '原材料报废',
RowRelocation: "原材料移库", RowRelocation: '原材料移库',
RowCollectionAndBorrowing: "原材料领用借用", RowCollectionAndBorrowing: '原材料领用借用',
// 原材料盘点 // 原材料盘点
InventoryOrderNo: "单号", InventoryOrderNo: '单号',
InventoryMaterielNo: "物料号", InventoryMaterielNo: '物料号',
InventoryMateriel: "物料名", InventoryMateriel: '物料名',
InventoryTotalNumber: "盘点总数", InventoryTotalNumber: '盘点总数',
InventoryPleaseScan: "请扫描单号", InventoryPleaseScan: '请扫描单号',
InventoryFinish: "完成", InventoryFinish: '完成',
// 委外-入库 // 委外-入库
CommissionEntrant: "委外入库", CommissionEntrant: '委外入库',
CommissionedSingleNumber: "单号", CommissionedSingleNumber: '单号',
CommissionedMaterielNo: "物料号", CommissionedMaterielNo: '物料号',
CommissionedMaterielDesc: "物料描述", CommissionedMaterielDesc: '物料描述',
CommissionedDemandData: "需求数据", CommissionedDemandData: '需求数据',
CommissionedCumulativeData: "累计数据", CommissionedCumulativeData: '累计数据',
CommissionedLocation: "库位", CommissionedLocation: '库位',
CommissionedThisNumber: "本次数量", CommissionedThisNumber: '本次数量',
CommissionedNumber: "入库数量", CommissionedNumber: '入库数量',
CommissionedEntrantDetails: "入库明细", CommissionedEntrantDetails: '入库明细',
CommissionedReceiptQuantity: "收货数量", CommissionedReceiptQuantity: '收货数量',
subcontract: "委外", subcontract: '委外',
// 委外-出库 // 委外-出库
CommissionGoOut: "委外出库", CommissionGoOut: '委外出库',
CommissionedGoOutDetails: "出库明细", CommissionedGoOutDetails: '出库明细',
CommissionedGoOutNumber: "出库数量", CommissionedGoOutNumber: '出库数量',
// 委外-提示 // 委外-提示
Commission_tips1: "请输入单号", Commission_tips1: '请输入单号',
Commission_tips2: "请输入正确的库位和数量", Commission_tips2: '请输入正确的库位和数量',
Commission_tips3: "请输入大于0的数量", Commission_tips3: '请输入大于0的数量',
Commission_tips4: "不能大于需求数量", Commission_tips4: '不能大于需求数量',
Commission_tips5: "请确保所选物料已分配库位", Commission_tips5: '请确保所选物料已分配库位',
Commission_tips6: "请先选择一个物料", Commission_tips6: '请先选择一个物料',
Commission_tips7: "请选择正确的库位", Commission_tips7: '请选择正确的库位',
endtime: "请选择结束时间", endtime: '请选择结束时间',
end: "结束时间", end: '结束时间',
starttime: "请选择开始时间", starttime: '请选择开始时间',
start: "开始时间", start: '开始时间',
_tips5: "请选择相同库位", _tips5: '请选择相同库位',
_tips6: "请先输入要查询的单号", _tips6: '请先输入要查询的单号',
Out: "出", Out: '出',
enter: "入", enter: '入',
//移库 //移库
Warehouse_QueryCriteria: "查询条件", Warehouse_QueryCriteria: '查询条件',
Warehouse_TransferOrderNo: "移库单号", Warehouse_TransferOrderNo: '移库单号',
Warehouse_TransferDetails: "移库明细", Warehouse_TransferDetails: '移库明细',
Warehouse_OrderNo: "单号", Warehouse_OrderNo: '单号',
Warehouse_OriginalLocation: "原库位", Warehouse_OriginalLocation: '原库位',
Warehouse_TargetLocation: "目标库位", Warehouse_TargetLocation: '目标库位',
Warehouse_Tip: "请输入移库单号", Warehouse_Tip: '请输入移库单号',
transfer_barcode: "移库批次", transfer_barcode: '移库批次',
Product_code: "产品编码", Product_code: '产品编码',
Access_type: "出入类型", Access_type: '出入类型',
//报废 //报废
Scrap_ScrapNo: "报废单号", Scrap_ScrapNo: '报废单号',
Scrap_Tip: "请输入报废单号", Scrap_Tip: '请输入报废单号',
Scrap_ScrapDetails: "报废明细", Scrap_ScrapDetails: '报废明细',
//领用借用 //领用借用
borrow_OrderNo: "单号", borrow_OrderNo: '单号',
borrow_Tip: "请输入单号", borrow_Tip: '请输入单号',
borrow_CollectionAndBorrowingDetails: "领用借用明细", borrow_CollectionAndBorrowingDetails: '领用借用明细',
//成品主菜单 //成品主菜单
EnterTheWarehouse: "入库", EnterTheWarehouse: '入库',
GetOutOfTheWarehouse: "成品出库", GetOutOfTheWarehouse: '成品出库',
InTheWarehouse: "成品库内", InTheWarehouse: '成品库内',
SemiProductEnterTheWarehouse: "半成品入库", SemiProductEnterTheWarehouse: '半成品入库',
SemiProductGetOutOfTheWarehouse: "半成品出库", SemiProductGetOutOfTheWarehouse: '半成品出库',
FinishProductEnterTheWarehouse: "成品入库", FinishProductEnterTheWarehouse: '成品入库',
DumpList: "转储单", DumpList: '转储单',
DumpListFH: "转储单发货", DumpListFH: '转储单发货',
DumpListFHMX: "转储单发货明细", DumpListFHMX: '转储单发货明细',
DumpListSH: "转储单收货", DumpListSH: '转储单收货',
DumpListSHMX: "转储单收货明细", DumpListSHMX: '转储单收货明细',
deliver: "DN发货", deliver: 'DN发货',
//成品入库主菜单 //成品入库主菜单
product_item1: "成品下线", product_item1: '成品下线',
product_item2: "周转车下线", product_item2: '周转车下线',
product_item3: "半成品空调/洗衣机下线", product_item3: '半成品空调/洗衣机下线',
product_item4: "半成品门体上线", product_item4: '半成品门体上线',
product_item5: "半成品箱体上线", product_item5: '半成品箱体上线',
//成品下线 //成品下线
product_Location: "库位", product_Location: '库位',
product_barCode: "条码", product_barCode: '条码',
product_TransferCar: "周转车", product_TransferCar: '周转车',
product_MaterialCode: "物料条码", product_MaterialCode: '物料条码',
product_FGCode: "成品编码", product_FGCode: '成品编码',
product_FGDes: "成品描述", product_FGDes: '成品描述',
product_MaterialDes: "物料描述", product_MaterialDes: '物料描述',
product_Number: "数量", product_Number: '数量',
product_costCenter: "成本中心", product_costCenter: '成本中心',
product_Unit: "单位", product_Unit: '单位',
product_Cancel: "取消", product_Cancel: '取消',
product_Delete: "删除", product_Delete: '删除',
product_Empty: "清空", product_Empty: '清空',
product_AllSelect: "全选", product_AllSelect: '全选',
product_add: "添加", product_add: '添加',
product_Confirm: "确认", product_Confirm: '确认',
product_Upload: "提交", product_Upload: '提交',
product_Tip1: "库位不能为空", product_Tip1: '库位不能为空',
product_Tip2: "请至少选择一条数据", product_Tip2: '请至少选择一条数据',
product_Tip3: "请选择库位", product_Tip3: '请选择库位',
product_Tip7: "同一条码不可重复录入!", product_Tip7: '同一条码不可重复录入!',
product_Tip8: "扫码成功", product_Tip8: '扫码成功',
product_Tip9: "该条码未入库", product_Tip9: '该条码未入库',
//半成品冰箱下线 //半成品冰箱下线
product_unit1: "件/个", product_unit1: '件/个',
product_unit2: "双", product_unit2: '双',
product_unit3: "码", product_unit3: '码',
product_unit4: "套", product_unit4: '套',
product_unit5: "箱", product_unit5: '箱',
product_unit6: "其他", product_unit6: '其他',
product_unit7: "请输入物料条码", product_unit7: '请输入物料条码',
//成品空调/洗衣机下线 //成品空调/洗衣机下线
//半成品门体上线 //半成品门体上线
//半成品箱体上线 //半成品箱体上线
product_BoxCode: "箱体条码", product_BoxCode: '箱体条码',
//STO出库 //STO出库
product_Platform: "月台", product_Platform: '月台',
product_DocumentNumber: "单据号", product_DocumentNumber: '单据号',
product_STONumber: "STO单", product_STONumber: 'STO单',
product_TotalNumber: "单据总数", product_TotalNumber: '单据总数',
product_Swept: "已扫", product_Swept: '已扫',
product_MaterilTotalNumber: "物料总数", product_MaterilTotalNumber: '物料总数',
product_BarCode: "条码", product_BarCode: '条码',
product_PickingDetails: "拣货明细", product_PickingDetails: '拣货明细',
product_Bookkeeping: "记账", product_Bookkeeping: '记账',
product_Tip4: "单号不能为空", product_Tip4: '单号不能为空',
product_Tip5: "条码不规范", product_Tip5: '条码不规范',
product_Tip6: "扫描出库数量不可大于物料总数", product_Tip6: '扫描出库数量不可大于物料总数',
product_StoListDetails: "STO单明细", product_StoListDetails: 'STO单明细',
//领用借用 //领用借用
Warehouse_Tip1: "请输入DN单号", Warehouse_Tip1: '请输入DN单号',
Warehouse_Tip2: "请选择库位地点", Warehouse_Tip2: '请选择库位地点',
Warehouse_Tip3: "请选择目标库位地点", Warehouse_Tip3: '请选择目标库位地点',
Warehouse_Tip4: "请选择类型", Warehouse_Tip4: '请选择类型',
Warehouse_Tip5: "请扫描单号", Warehouse_Tip5: '请扫描单号',
Warehouse_Tip6: "请选择物料", Warehouse_Tip6: '请选择物料',
Warehouse_Tip7: "盘点未完成,确定继续吗", Warehouse_Tip7: '盘点未完成,确定继续吗',
Warehouse_Tip8: "请输入成本中心", Warehouse_Tip8: '请输入成本中心',
Warehouse_Tip9: "操作成功", Warehouse_Tip9: '操作成功',
Warehouse_Tip10: "请选择sap库存地点", Warehouse_Tip10: '请选择sap库存地点',
Warehouse_Tip11: "该单号不存在或已经操作完成", Warehouse_Tip11: '该单号不存在或已经操作完成',
Warehouse_TotalNumber: "总数", Warehouse_TotalNumber: '总数',
Warehouse_ScanCode: "扫码", Warehouse_ScanCode: '扫码',
Warehouse_NX: "内销", Warehouse_NX: '内销',
Warehouse_WX: "外销", Warehouse_WX: '外销',
Warehouse_YJ: "样机", Warehouse_YJ: '样机',
Warehouse_BCP: "半成品", Warehouse_BCP: '半成品',
}, },
}; };

@ -4,36 +4,19 @@
<view class="left"> <view class="left">
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" /> <u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" />
</view> </view>
<view class="title">{{ $t("message.Summary_SummaryAndHandover") }}</view> <view class="title">{{ $t('message.Summary_SummaryAndHandover') }}</view>
<view class="right"></view> <view class="right"></view>
</view> </view>
<view class="table-wrapper"> <view class="table-wrapper">
<wyb-table <wyb-table class="table" ref="table" width="100%" show-left-and-right-border enable-check="multiple" :headers="headers" :contents="model.aggregateList" :show-vert-border="false"></wyb-table>
class="table"
ref="table"
width="100%"
show-left-and-right-border
enable-check="multiple"
:headers="headers"
:contents="model.aggregateList"
:show-vert-border="false"
></wyb-table>
</view> </view>
<view class="bottom-bar"> <view class="bottom-bar">
<view class="extra"> <view class="extra">
<u-form ref="amountForm" :model="amountForm" :error-type="['toast']"> <u-form ref="amountForm" :model="amountForm" :error-type="['toast']">
<u-row class="bottom-info"> <u-row class="bottom-info">
<u-col :span="12"> <u-col :span="12">
<u-form-item <u-form-item prop="amount" :label="this.$t('message.Summary_Number')" label-width="120rpx">
prop="amount" <u-input type="number" v-model="amountForm.amount" :placeholder="this.$t('message.po_PleaseInput')" />
:label="this.$t('message.Summary_Number')"
label-width="120rpx"
>
<u-input
type="number"
v-model="amountForm.amount"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
@ -41,28 +24,13 @@
<u-form ref="submitForm" :model="submitForm" :error-type="['toast']"> <u-form ref="submitForm" :model="submitForm" :error-type="['toast']">
<u-row class="bottom-info"> <u-row class="bottom-info">
<u-col :span="6"> <u-col :span="6">
<u-form-item <u-form-item prop="receiverName" :label="this.$t('message.Summary_Receiver')" label-width="120rpx">
prop="receiverName" <u-input v-model="submitForm.receiverName" @confirm="onReceiverConfirm" :placeholder="this.$t('message.po_PleaseInput')" />
:label="this.$t('message.Summary_Receiver')"
label-width="120rpx"
>
<u-input
v-model="submitForm.receiverName"
@confirm="onReceiverConfirm"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-form-item <u-form-item prop="password" :label="this.$t('message.Summary_Password')">
prop="password" <u-input type="password" v-model="submitForm.password" :placeholder="this.$t('message.po_PleaseInput')" />
:label="this.$t('message.Summary_Password')"
>
<u-input
type="password"
v-model="submitForm.password"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
@ -72,17 +40,17 @@
<u-row> <u-row>
<u-col :span="4"> <u-col :span="4">
<u-button type="warning" @click="onSelectAll"> <u-button type="warning" @click="onSelectAll">
{{ $t("message.po_SelectAll") }} {{ $t('message.po_SelectAll') }}
</u-button> </u-button>
</u-col> </u-col>
<u-col :span="4"> <u-col :span="4">
<u-button type="primary" @click="onOk"> <u-button type="primary" @click="onOk">
{{ $t("message.dn_Confirm") }} {{ $t('message.dn_Confirm') }}
</u-button> </u-button>
</u-col> </u-col>
<u-col :span="4"> <u-col :span="4">
<u-button type="success" @click="onSubmit"> <u-button type="success" @click="onSubmit">
{{ $t("message.po_Submit") }} {{ $t('message.po_Submit') }}
</u-button> </u-button>
</u-col> </u-col>
</u-row> </u-row>
@ -92,24 +60,24 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Ref } from "vue-property-decorator"; import { Component, Ref } from 'vue-property-decorator';
import { BasePage } from "@/components/base/page"; import { BasePage } from '@/components/base/page';
import model from "./model"; import model from './model';
import { summaryHeaders } from "./config"; import { summaryHeaders } from './config';
import { VForm, VFormRules } from "vue/types/form"; import { VForm, VFormRules } from 'vue/types/form';
import { auth } from "@/store/modules/auth"; import { auth } from '@/store/modules/auth';
import { pick } from "lodash/fp"; import { pick } from 'lodash/fp';
import http from "@/utils/request"; import http from '@/utils/request';
import { url } from "@/utils/url"; import { url } from '@/utils/url';
import { session } from "@/store/modules/session"; import { session } from '@/store/modules/session';
@Component @Component
export default class AggregatingSummary extends BasePage { export default class AggregatingSummary extends BasePage {
/** /**
* 表单引用 * 表单引用
*/ */
@Ref("amountForm") readonly $amountForm!: VForm; @Ref('amountForm') readonly $amountForm!: VForm;
@Ref("submitForm") readonly $submitForm!: VForm; @Ref('submitForm') readonly $submitForm!: VForm;
/** /**
* 页面Module * 页面Module
@ -130,23 +98,23 @@ export default class AggregatingSummary extends BasePage {
* 更改数量表单 * 更改数量表单
*/ */
amountForm = { amountForm = {
amount: "", amount: '',
}; };
/** /**
* 上传表单 * 上传表单
*/ */
submitForm = { submitForm = {
receiver: "", receiver: '',
receiverName: "", receiverName: '',
password: "", password: '',
}; };
amountFormRules: VFormRules<any> = { amountFormRules: VFormRules<any> = {
amount: [ amount: [
{ {
required: true, required: true,
message: this.$t("message.Summary_PleaseInputNumber") as string, message: this.$t('message.Summary_PleaseInputNumber') as string,
}, },
], ],
}; };
@ -155,13 +123,13 @@ export default class AggregatingSummary extends BasePage {
receiver: [ receiver: [
{ {
required: true, required: true,
message: this.$t("message.Summary_PleaseInputReceiver") as string, message: this.$t('message.Summary_PleaseInputReceiver') as string,
}, },
], ],
password: [ password: [
{ {
required: true, required: true,
message: this.$t("message.Summary_PleaseInputPassword") as string, message: this.$t('message.Summary_PleaseInputPassword') as string,
}, },
], ],
}; };
@ -206,8 +174,8 @@ export default class AggregatingSummary extends BasePage {
const firstSelection = this.model.aggregateList.find((_) => _.checked); const firstSelection = this.model.aggregateList.find((_) => _.checked);
if (firstSelection === undefined) { if (firstSelection === undefined) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.Pi_tip7") as string, title: this.$t('message.Pi_tip7') as string,
}); });
} else { } else {
// //
@ -228,10 +196,10 @@ export default class AggregatingSummary extends BasePage {
// } // }
if (currentPickNum + totalHvAmount - totalMoAmount > 0.000001) { if (currentPickNum + totalHvAmount - totalMoAmount > 0.000001) {
uni.showModal({ uni.showModal({
title: "Tip", title: 'Tip',
content: this.$t("message.Pi_tip11") as string, content: this.$t('message.Pi_tip11') as string,
confirmText: this.$t("message.workArea_Confirm") as string, confirmText: this.$t('message.workArea_Confirm') as string,
cancelText: this.$t("message.Cancel") as string, cancelText: this.$t('message.Cancel') as string,
showCancel: true, showCancel: true,
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
@ -260,8 +228,8 @@ export default class AggregatingSummary extends BasePage {
if (valid) { if (valid) {
if (model.aggregateList.length === 0) { if (model.aggregateList.length === 0) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.Pi_tip4") as string, title: this.$t('message.Pi_tip4') as string,
}); });
} else { } else {
await auth.checkPassword({ await auth.checkPassword({
@ -284,15 +252,15 @@ export default class AggregatingSummary extends BasePage {
}); });
if (selectsta) { if (selectsta) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.Pi_tip4") as string, title: this.$t('message.Pi_tip4') as string,
}); });
return; return;
} }
if (submit) { if (submit) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.Summary_PleaseInputNumber") as string, title: this.$t('message.Summary_PleaseInputNumber') as string,
}); });
return; return;
} }
@ -305,24 +273,21 @@ export default class AggregatingSummary extends BasePage {
}); });
if (List.length == 0) { if (List.length == 0) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: "请先选择要提交的物料" as string, title: '请先选择要提交的物料' as string,
}); });
return; return;
} }
List.forEach((item: any) => { List.forEach((item: any) => {
if ( if (parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) != parseFloat(this.amountForm.amount)) {
parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) !=
parseFloat(this.amountForm.amount)
) {
isTrue = false; isTrue = false;
return; return;
} }
}); });
if (isTrue != true) { if (isTrue != true) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: "请确保交接数量等于需求数量" as string, title: '请确保交接数量等于需求数量' as string,
}); });
return; return;
} }
@ -331,42 +296,28 @@ export default class AggregatingSummary extends BasePage {
factoryCode: session.factoryCode as string, factoryCode: session.factoryCode as string,
loginName: session.loginName as string, loginName: session.loginName as string,
dataList: List.map((item: any) => ({ dataList: List.map((item: any) => ({
...pick( ...pick(['materialCode', 'sapFactoryCode', 'materialDesc', 'unit', 'prdMaterialDesc', 'wkposCode', 'mrpCode', 'sendSpot'], item),
[
"materialCode",
"sapFactoryCode",
"materialDesc",
"unit",
"prdMaterialDesc",
"wkposCode",
"mrpCode",
"sendSpot",
],
item
),
amount: String(item.amount), amount: String(item.amount),
hvAmount: item.hvAmount == null ? "0" : String(item.hvAmount), hvAmount: item.hvAmount == null ? '0' : String(item.hvAmount),
serialNo: item.serialNo == null ? "" : item.serialNo, serialNo: item.serialNo == null ? '' : item.serialNo,
totalMoAmount: String(item.totalMoAmount), totalMoAmount: String(item.totalMoAmount),
totalHvAmount: String(item.totalHvAmount), totalHvAmount: String(item.totalHvAmount),
prdMaterialDesc: String(item.prdMaterialCode), prdMaterialDesc: String(item.prdMaterialCode),
})), })),
includeOrderOutIdList: model.proOrderResultList.map( includeOrderOutIdList: model.proOrderResultList.map((item: any) => item.orderOutId),
(item: any) => item.orderOutId
),
}); });
this.submitForm.receiver = ""; this.submitForm.receiver = '';
this.submitForm.receiverName = ""; this.submitForm.receiverName = '';
this.submitForm.password = ""; this.submitForm.password = '';
this.isBusinessFinished = true; this.isBusinessFinished = true;
// uni.navigateBack({ delta: 2 }); // uni.navigateBack({ delta: 2 });
// setTimeout(() => { // setTimeout(() => {
// uni.navigateBack({ delta: 2 }); // uni.navigateBack({ delta: 2 });
// }, 2000); // }, 2000);
uni.showModal({ uni.showModal({
title: this.$t("message.Pi_tip") as string, title: this.$t('message.Pi_tip') as string,
content: this.$t("message.Warehouse_Tip9") as string, content: this.$t('message.Warehouse_Tip9') as string,
confirmText: this.$t("message.workArea_Confirm") as string, confirmText: this.$t('message.workArea_Confirm') as string,
showCancel: false, showCancel: false,
success: () => { success: () => {
this.toPage(this.page.raw.handover.aggregating.index); this.toPage(this.page.raw.handover.aggregating.index);
@ -383,9 +334,7 @@ export default class AggregatingSummary extends BasePage {
* 解锁 * 解锁
*/ */
async unlock() { async unlock() {
const orderOutIdList = model.proOrderResultList.map( const orderOutIdList = model.proOrderResultList.map((_: any) => _.orderOutId);
(_: any) => _.orderOutId
);
try { try {
await http.post(url.sumscan.unlock.list, { await http.post(url.sumscan.unlock.list, {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
@ -394,8 +343,8 @@ export default class AggregatingSummary extends BasePage {
}); });
} catch (e) { } catch (e) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: (this.$t("message.Summary_Tip") as string) + e.message, title: (this.$t('message.Summary_Tip') as string) + e.message,
}); });
} }
} }
@ -404,8 +353,7 @@ export default class AggregatingSummary extends BasePage {
<style lang="scss" scoped> <style lang="scss" scoped>
.page-aggregating-order { .page-aggregating-order {
background: #f2f2f2 background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx; background-size: 100% 600rpx;
padding: 30rpx; padding: 30rpx;
min-height: 100%; min-height: 100%;

@ -1,83 +1,35 @@
<template> <template>
<view class="page-raw-returning"> <view class="page-raw-returning">
<view <view class="header" :style="{ backgroundColor: `rgba(23, 83, 234, ${scrollTop / 100})` }">
class="header"
:style="{ backgroundColor: `rgba(23, 83, 234, ${scrollTop / 100})` }"
>
<view class="left"> <view class="left">
<u-icon class="icon" name="arrow-left" @click="back" /> <u-icon class="icon" name="arrow-left" @click="back" />
</view> </view>
<view class="title">{{ $t("message.screen") }}</view> <view class="title">{{ $t('message.screen') }}</view>
<view class="right"></view> <view class="right"></view>
</view> </view>
<!-- 开始时间 --> <!-- 开始时间 -->
<view style="display: flex"> <view style="display: flex">
<u-field <u-field style="background: white; border-radius: 10rpx" v-model="startMobile" :placeholder="$t('message.starttime')" :label="$t('message.start')"> </u-field>
style="background: white; border-radius: 10rpx" <u-picker :confirm-text="this.$t('message.product_Confirm')" :cancel-text="this.$t('message.product_Cancel')" v-model="startShow" :params="startParams" mode="time" @confirm="startConfirm"></u-picker>
v-model="startMobile" <u-button @click="startShow = true" type="primary">{{ $t('message.workArea_Selelct') }}</u-button>
:placeholder="$t('message.starttime')"
:label="$t('message.start')"
>
</u-field>
<u-picker
:confirm-text="this.$t('message.product_Confirm')"
:cancel-text="this.$t('message.product_Cancel')"
v-model="startShow"
:params="startParams"
mode="time"
@confirm="startConfirm"
></u-picker>
<u-button @click="startShow = true" type="primary">{{
$t("message.workArea_Selelct")
}}</u-button>
</view> </view>
<!-- 结束时间 --> <!-- 结束时间 -->
<view style="display: flex; margin-top: 20rpx"> <view style="display: flex; margin-top: 20rpx">
<u-field <u-field style="background: white; border-radius: 10rpx" v-model="endMobile" :placeholder="$t('message.endtime')" :label="$t('message.end')"> </u-field>
style="background: white; border-radius: 10rpx" <u-picker :confirm-text="this.$t('message.product_Confirm')" :cancel-text="this.$t('message.product_Cancel')" v-model="endShow" :params="endParams" mode="time" @confirm="endConfirm"></u-picker>
v-model="endMobile" <u-button @click="endShow = true" type="primary">{{ $t('message.workArea_Selelct') }}</u-button>
:placeholder="$t('message.endtime')"
:label="$t('message.end')"
>
</u-field>
<u-picker
:confirm-text="this.$t('message.product_Confirm')"
:cancel-text="this.$t('message.product_Cancel')"
v-model="endShow"
:params="endParams"
mode="time"
@confirm="endConfirm"
></u-picker>
<u-button @click="endShow = true" type="primary">{{
$t("message.workArea_Selelct")
}}</u-button>
</view> </view>
<!-- 表格 --> <!-- 表格 -->
<view class="table-wrapper" style="margin-top: 10rpx"> <view class="table-wrapper" style="margin-top: 10rpx">
<wyb-table <wyb-table class="table" ref="table" width="100%" enable-check="single" checkType="single" show-left-and-right-border :headers="headers" :contents="OddList" :show-vert-border="false" @onCheck="onCheck"></wyb-table>
class="table"
ref="table"
width="100%"
enable-check="single"
checkType="single"
show-left-and-right-border
:headers="headers"
:contents="OddList"
:show-vert-border="false"
@onCheck="onCheck"
></wyb-table>
</view> </view>
<view class="bottom-bar"> <view class="bottom-bar">
<u-row class="button-bar"> <u-row class="button-bar">
<u-col :span="6"> <u-col :span="6">
<u-button type="primary" @click="onSubmit">{{ <u-button type="primary" @click="onSubmit">{{ $t('message.Query') }}</u-button>
$t("message.Query")
}}</u-button>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-button type="error" @click="back">{{ <u-button type="error" @click="back">{{ $t('message.workArea_Confirm') }}</u-button>
$t("message.workArea_Confirm")
}}</u-button>
</u-col> </u-col>
</u-row> </u-row>
</view> </view>
@ -85,10 +37,10 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component } from "vue-property-decorator"; import { Component } from 'vue-property-decorator';
import { BasePage } from "@/components/base/page"; import { BasePage } from '@/components/base/page';
import model from "./model"; import model from './model';
import { headers } from "./config"; import { headers } from './config';
@Component({ @Component({
components: {}, components: {},
}) })
@ -96,11 +48,11 @@ export default class returningDom extends BasePage {
model = model; model = model;
startShow = false; startShow = false;
endShow = false; endShow = false;
startMobile = ""; startMobile = '';
endMobile = ""; endMobile = '';
materialList = []; materialList = [];
OddList: any = []; OddList: any = [];
label: any = ""; label: any = '';
startParams = { startParams = {
year: true, year: true,
month: true, month: true,
@ -119,22 +71,20 @@ export default class returningDom extends BasePage {
}; };
headers = headers; headers = headers;
startConfirm(startParams: any) { startConfirm(startParams: any) {
this.startMobile = this.startMobile = startParams.year + '-' + startParams.month + '-' + startParams.day;
startParams.year + "-" + startParams.month + "-" + startParams.day;
} }
endConfirm(endParams: any) { endConfirm(endParams: any) {
this.endMobile = this.endMobile = endParams.year + '-' + endParams.month + '-' + endParams.day;
endParams.year + "-" + endParams.month + "-" + endParams.day;
} }
onCheck(e: any) { onCheck(e: any) {
console.log("eeeee", e.data[0].lineData.label); console.log('eeeee', e.data[0].lineData.label);
this.label = e.data[0].lineData.label; this.label = e.data[0].lineData.label;
} }
back() { back() {
if (this.label == "" || this.label == null) { if (this.label == '' || this.label == null) {
this.redirectTo(this.page.raw.handover.returning.index); this.redirectTo(this.page.raw.handover.returning.index);
} else { } else {
sessionStorage.setItem("labelCode", JSON.stringify(this.label)); sessionStorage.setItem('labelCode', JSON.stringify(this.label));
this.redirectTo(this.page.raw.handover.returning.index); this.redirectTo(this.page.raw.handover.returning.index);
} }
} }
@ -142,10 +92,10 @@ export default class returningDom extends BasePage {
* 上传 * 上传
*/ */
async onSubmit() { async onSubmit() {
if (this.startMobile == "" || this.endMobile == "") { if (this.startMobile == '' || this.endMobile == '') {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.time") as string, title: this.$t('message.time') as string,
}); });
return; return;
} }
@ -160,8 +110,7 @@ export default class returningDom extends BasePage {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.page-raw-returning { .page-raw-returning {
background: #f2f2f2 background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx; background-size: 100% 600rpx;
padding: 118rpx 30rpx 162rpx; padding: 118rpx 30rpx 162rpx;
min-height: 100%; min-height: 100%;

@ -1,48 +1,21 @@
<template> <template>
<view class="page-raw-returning"> <view class="page-raw-returning">
<view <view class="header" :style="{ backgroundColor: `rgba(23, 83, 234, ${scrollTop / 100})` }">
class="header"
:style="{ backgroundColor: `rgba(23, 83, 234, ${scrollTop / 100})` }"
>
<view class="left"> <view class="left">
<u-icon class="icon" name="arrow-left" @click="back" /> <u-icon class="icon" name="arrow-left" @click="back" />
</view> </view>
<view class="title">{{ $t("message.ReturnedMaterials") }}</view> <view class="title">{{ $t('message.ReturnedMaterials') }}</view>
<view class="right"></view> <view class="right"></view>
</view> </view>
<u-form <u-form class="form" ref="form" :model="form" :error-type="['toast']" label-width="150rpx">
class="form"
ref="form"
:model="form"
:error-type="['toast']"
label-width="150rpx"
>
<!-- 工位 --> <!-- 工位 -->
<u-form-item :label="this.$t('message.Pi_Station')"> <u-form-item :label="this.$t('message.Pi_Station')">
<u-input <u-input v-model="form.sendSpot" :placeholder="this.$t('message.po_PleaseInput')" />
v-model="form.sendSpot"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
<!-- 订单号 --> <!-- 订单号 -->
<u-form-item <u-form-item :required="true" :label="this.$t('message.Pi_OrderNo')" prop="prdOrder">
:required="true" <u-search :placeholder="this.$t('message.po_PleaseInput')" v-model="form.prdOrder" @search="model.queryOrderInInfo" :show-action="false"></u-search>
:label="this.$t('message.Pi_OrderNo')" <u-button size="mini" style="margin-left: 10rpx" type="primary" @click="screen">{{ $t('message.screen') }}</u-button>
prop="prdOrder"
>
<u-search
:placeholder="this.$t('message.po_PleaseInput')"
v-model="form.prdOrder"
@search="model.queryOrderInInfo"
:show-action="false"
></u-search>
<u-button
size="mini"
style="margin-left: 10rpx"
type="primary"
@click="screen"
>{{ $t("message.screen") }}</u-button
>
<!-- <jPicker <!-- <jPicker
sureColor="#ff0000" sureColor="#ff0000"
style="width: 230rpx" style="width: 230rpx"
@ -55,115 +28,52 @@
/> --> /> -->
</u-form-item> </u-form-item>
<!-- 物料号 --> <!-- 物料号 -->
<u-form-item <u-form-item :required="true" :label="this.$t('message.Pi_materielNo')" prop="wlName">
:required="true" <u-input v-model="form.wlName" type="select" @click="materialCodeSelect = true" :placeholder="this.$t('message.po_PleaseInput')" />
:label="this.$t('message.Pi_materielNo')" <u-select :confirm-text="this.$t('message.product_Confirm')" :cancel-text="this.$t('message.product_Cancel')" v-model="materialCodeSelect" :list="model.materielList" @confirm="materialConfirm"></u-select>
prop="wlName"
>
<u-input
v-model="form.wlName"
type="select"
@click="materialCodeSelect = true"
:placeholder="this.$t('message.po_PleaseInput')"
/>
<u-select
:confirm-text="this.$t('message.product_Confirm')"
:cancel-text="this.$t('message.product_Cancel')"
v-model="materialCodeSelect"
:list="model.materielList"
@confirm="materialConfirm"
></u-select>
</u-form-item> </u-form-item>
<!-- 库存 --> <!-- 库存 -->
<view class="newly"> <view class="newly">
<u-form-item :label="this.$t('message.po_Location')" style="width: 50%"> <u-form-item :label="this.$t('message.po_Location')" style="width: 50%">
<u-input <u-input v-model="form.wkposCode" @blur="cnoso" :placeholder="this.$t('message.po_PleaseInput')" />
v-model="form.wkposCode"
@blur="cnoso"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
<u-form-item <u-form-item :label="this.$t('message.product_Location')" style="width: 50%; margin-top: 16rpx">
:label="this.$t('message.product_Location')"
style="width: 50%; margin-top: 16rpx"
>
<!-- <u-input <!-- <u-input
v-model="form.wkposCode" v-model="form.wkposCode"
:placeholder="this.$t('message.po_PleaseInput')" :placeholder="this.$t('message.po_PleaseInput')"
/> --> /> -->
<jPicker <jPicker sureColor="#ff0000" style="width: 230rpx" @bindpicker="LocationChoice" showKey="value" valKey="value" :val="wlCode" class="search" :options="Location" />
sureColor="#ff0000"
style="width: 230rpx"
@bindpicker="LocationChoice"
showKey="value"
valKey="value"
:val="wlCode"
class="search"
:options="Location"
/>
</u-form-item> </u-form-item>
</view> </view>
<!-- 工厂 --> <!-- 工厂 -->
<u-row gutter="0"> <u-row gutter="0">
<u-col :span="7"> <u-col :span="7">
<u-form-item <u-form-item :label="this.$t('message.Pi_factory')" prop="sapFactoryCode">
:label="this.$t('message.Pi_factory')" <u-input :disabled="true" v-model="model.orderInInfo.sapFactoryCode" placeholder="" />
prop="sapFactoryCode"
>
<u-input
:disabled="true"
v-model="model.orderInInfo.sapFactoryCode"
placeholder=""
/>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col :span="5"> <u-col :span="5">
<u-form-item <u-form-item :required="true" :label="this.$t('message.Summary_Number')" prop="amount" label-width="80rpx">
:required="true" <u-input v-model="form.amount" :placeholder="this.$t('message.po_PleaseInput')" style="margin-left: 12px" />
:label="this.$t('message.Summary_Number')"
prop="amount"
label-width="80rpx"
>
<u-input
v-model="form.amount"
:placeholder="this.$t('message.po_PleaseInput')"
style="margin-left: 12px"
/>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
<!-- 工位退料人 --> <!-- 工位退料人 -->
<u-form-item <u-form-item :required="true" :label="this.$t('message.return_OperatorName')" prop="operator">
:required="true" <u-input v-model="operatorName" @confirm="onOperatorConfirm" :placeholder="this.$t('message.po_PleaseInput')" />
:label="this.$t('message.return_OperatorName')"
prop="operator"
>
<u-input
v-model="operatorName"
@confirm="onOperatorConfirm"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
<!-- 口令 --> <!-- 口令 -->
<u-form-item :label="this.$t('message.Summary_Password')"> <u-form-item :label="this.$t('message.Summary_Password')">
<u-input <u-input v-model="form.rfPwd" type="password" :placeholder="this.$t('message.po_PleaseInput')" />
v-model="form.rfPwd"
type="password"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
</u-form> </u-form>
<view class="bottom-bar"> <view class="bottom-bar">
<u-row class="button-bar"> <u-row class="button-bar">
<u-col :span="6"> <u-col :span="6">
<u-button type="primary" @click="onSubmit">{{ <u-button type="primary" @click="onSubmit">{{ $t('message.po_Submit') }}</u-button>
$t("message.po_Submit")
}}</u-button>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-button type="error" @click="back">{{ <u-button type="error" @click="back">{{ $t('message.po_Return') }}</u-button>
$t("message.po_Return")
}}</u-button>
</u-col> </u-col>
</u-row> </u-row>
</view> </view>
@ -171,13 +81,13 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Ref } from "vue-property-decorator"; import { Component, Ref } from 'vue-property-decorator';
import { BasePage } from "@/components/base/page"; import { BasePage } from '@/components/base/page';
import { VForm, VFormRules } from "vue/types/form"; import { VForm, VFormRules } from 'vue/types/form';
import { auth } from "@/store/modules/auth"; import { auth } from '@/store/modules/auth';
import model from "./model"; import model from './model';
import jPicker from "@/components/J-Picker/jPicker.vue"; import jPicker from '@/components/J-Picker/jPicker.vue';
import { session } from "@/store/modules/session"; import { session } from '@/store/modules/session';
@Component({ @Component({
components: { components: {
@ -188,7 +98,7 @@ export default class returningDom extends BasePage {
/** /**
* 表单引用 * 表单引用
*/ */
@Ref("form") readonly $form!: VForm; @Ref('form') readonly $form!: VForm;
/** /**
* 页面Module * 页面Module
@ -198,26 +108,26 @@ export default class returningDom extends BasePage {
* 表单数据 * 表单数据
*/ */
form = { form = {
sendSpot: "", sendSpot: '',
prdOrder: null, prdOrder: null,
sapFactoryCode: null, sapFactoryCode: null,
operator: "", operator: '',
amount: "", amount: '',
rfPwd: null, rfPwd: null,
wkposCode: "", wkposCode: '',
// tlType: null, // 退code // tlType: null, // 退code
// tlName: null, // 退name // tlName: null, // 退name
materialCode: null, // code materialCode: null, // code
wlName: "", // name wlName: '', // name
wlCode: "", wlCode: '',
}; };
prdOrder: any = []; prdOrder: any = [];
wlCode: any = ""; wlCode: any = '';
Location: any = []; Location: any = [];
/** /**
* 工位退料人名称 * 工位退料人名称
*/ */
operatorName = ""; operatorName = '';
/** /**
* 退料类型选择 * 退料类型选择
*/ */
@ -228,24 +138,16 @@ export default class returningDom extends BasePage {
* 表单验证规则 * 表单验证规则
*/ */
rules: VFormRules<any> = { rules: VFormRules<any> = {
operator: [ operator: [{ required: true, message: this.$t('message.return_Tip1') as string }],
{ required: true, message: this.$t("message.return_Tip1") as string }, prdOrder: [{ required: true, message: this.$t('message.Warehouse_Tip5') as string }],
], wlName: [{ required: true, message: this.$t('message.Warehouse_Tip6') as string }],
prdOrder: [ amount: [{ required: true, message: this.$t('message.return_Tip3') as string }],
{ required: true, message: this.$t("message.Warehouse_Tip5") as string },
],
wlName: [
{ required: true, message: this.$t("message.Warehouse_Tip6") as string },
],
amount: [
{ required: true, message: this.$t("message.return_Tip3") as string },
],
}; };
screen() { screen() {
this.redirectTo(this.page.raw.handover.returning.filter); this.redirectTo(this.page.raw.handover.returning.filter);
} }
LocationChoice(e: any) { LocationChoice(e: any) {
console.log("e>>>>>>>>>>>>>>>>>>>>>>>>", e); console.log('e>>>>>>>>>>>>>>>>>>>>>>>>', e);
this.form.wlCode = e.pickerName.label; this.form.wlCode = e.pickerName.label;
} }
// onReadyonLoad // onReadyonLoad
@ -254,12 +156,13 @@ export default class returningDom extends BasePage {
// this.model.queryReturningTypeList(); // this.model.queryReturningTypeList();
this.form.sapFactoryCode = await this.model.queryDefaultFactoryCode(); this.form.sapFactoryCode = await this.model.queryDefaultFactoryCode();
// //
let means: any = JSON.parse( let means: any = JSON.parse(localStorage.getItem('__GWMS_APP_STATE_DATA__') as any);
localStorage.getItem("__GWMS_APP_STATE_DATA__") as any let sendSpot = JSON.parse(localStorage.getItem('sendSpot') as any);
); this.form.prdOrder = JSON.parse(sessionStorage.getItem('labelCode') as any);
let sendSpot = JSON.parse(localStorage.getItem("sendSpot") as any); if (this.form.prdOrder != null) {
this.form.prdOrder = JSON.parse(sessionStorage.getItem("labelCode") as any); model.queryOrderInInfo(this.form.prdOrder);
sessionStorage.removeItem("labelCode"); }
sessionStorage.removeItem('labelCode');
let content = { let content = {
loginName: means.session.user.loginName, loginName: means.session.user.loginName,
sendSpot: sendSpot, sendSpot: sendSpot,
@ -270,7 +173,7 @@ export default class returningDom extends BasePage {
res.forEach((item: any) => { res.forEach((item: any) => {
let pickerName: any = {}; let pickerName: any = {};
pickerName.label = item.locationCode; pickerName.label = item.locationCode;
pickerName.value = item.locationCode + "(" + item.sendSpot + ")"; pickerName.value = item.locationCode + '(' + item.sendSpot + ')';
pickerName.sendSpot = item.sendSpot; pickerName.sendSpot = item.sendSpot;
this.Location.push(pickerName); this.Location.push(pickerName);
}); });
@ -281,8 +184,8 @@ export default class returningDom extends BasePage {
back() { back() {
// this.form.sendSpot = ''; // this.form.sendSpot = '';
// this.form.wkposCode = ''; // this.form.wkposCode = '';
this.model.orderInInfo.sapFactoryCode = ""; this.model.orderInInfo.sapFactoryCode = '';
this.operatorName = ""; this.operatorName = '';
// this.form.rfPwd = null; // this.form.rfPwd = null;
this.model.materielList.length = 0; this.model.materielList.length = 0;
uni.navigateBack({ delta: 1 }); uni.navigateBack({ delta: 1 });
@ -298,7 +201,7 @@ export default class returningDom extends BasePage {
this.form.wkposCode = item.wkposCode; this.form.wkposCode = item.wkposCode;
} }
}); });
console.log("this.form", this.form); console.log('this.form', this.form);
} }
/** /**
* 上传 * 上传
@ -306,28 +209,27 @@ export default class returningDom extends BasePage {
onSubmit() { onSubmit() {
if (this.form.amount > this.model.orderInInfo.amount) { if (this.form.amount > this.model.orderInInfo.amount) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.return_Tip4") as string, title: this.$t('message.return_Tip4') as string,
}); });
} else { } else {
this.$form.validate(async (valid: boolean) => { this.$form.validate(async (valid: boolean) => {
if (!valid) return; if (!valid) return;
if (!this.model.orderInInfo.sapFactoryCode) { if (!this.model.orderInInfo.sapFactoryCode) {
uni.showToast({ uni.showToast({
icon: "none", icon: 'none',
title: this.$t("message.return_Tip2") as string, title: this.$t('message.return_Tip2') as string,
}); });
} }
// (this.form.sendSpot as any) = this.model.orderInInfo.sendSpot; // (this.form.sendSpot as any) = this.model.orderInInfo.sendSpot;
(this.form (this.form.sapFactoryCode as any) = this.model.orderInInfo.sapFactoryCode;
.sapFactoryCode as any) = this.model.orderInInfo.sapFactoryCode;
// delete this.form.wlName; // delete this.form.wlName;
await this.model.tluSubmit(this.form); await this.model.tluSubmit(this.form);
this.$form.resetFields(); this.$form.resetFields();
this.operatorName = ""; this.operatorName = '';
// this.form.sendSpot = ''; // this.form.sendSpot = '';
// this.form.wkposCode = ''; // this.form.wkposCode = '';
this.model.orderInInfo.sapFactoryCode = ""; this.model.orderInInfo.sapFactoryCode = '';
this.model.materielList = []; this.model.materielList = [];
}); });
} }
@ -342,8 +244,8 @@ export default class returningDom extends BasePage {
this.form.operator = loginName; this.form.operator = loginName;
this.operatorName = userName; this.operatorName = userName;
} catch { } catch {
this.form.operator = ""; this.form.operator = '';
this.operatorName = ""; this.operatorName = '';
} }
} }
} }
@ -351,8 +253,7 @@ export default class returningDom extends BasePage {
<style lang="scss" scoped> <style lang="scss" scoped>
.page-raw-returning { .page-raw-returning {
background: #f2f2f2 background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx; background-size: 100% 600rpx;
padding: 118rpx 30rpx 162rpx; padding: 118rpx 30rpx 162rpx;
min-height: 100%; min-height: 100%;

Loading…
Cancel
Save