diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue index ee3d855cd..c9fd8bdf3 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue @@ -344,6 +344,7 @@ const submitForm = async (formType, submitData) => { if(item.qty>0){ data.subList.push(item) // 拼接子表数据参数 } + } let isHave = data.subList.some((item) => { console.log("CCCCC",item.expireDate) @@ -357,7 +358,7 @@ const submitForm = async (formType, submitData) => { } // 2.2. 如果物料不允许超发,申请发货数量不能大于 计划数量 - 已发货数量 let itemCodes = [] - let itemCodeSum = [] + let itemCodeSum = [] data.subList.forEach(item=>{ if(item['allowOverShipment']!='TRUE'){ let qtyDefault = item['planQty'] - item['shippedQty'] @@ -367,9 +368,12 @@ const submitForm = async (formType, submitData) => { if(!itemCodeSum.includes(item['itemCode'])){ let planQty = item['planQty'] //计划数量 - let sumQty = data.subList.filter(item1=>item1['itemCode']==item['itemCode']).reduce((prev, item1) => prev + item1['qty'],0) + let sumQty = data.subList.filter(item1=>item1['itemCode']==item['itemCode'] && item1['poLine']==item['poLine']).reduce((prev, item1) => prev + item1['qty'],0) if(sumQty>planQty){ - itemCodeSum.push(item['itemCode']) + itemCodeSum.push({ + itemCode:item['itemCode'], + poLine:item['poLine'] + }) } } } @@ -378,8 +382,15 @@ const submitForm = async (formType, submitData) => { message.error(`${itemCodes.join(',')}${t('ts.不允许超发')}`) return } - if(itemCodeSum.length>0){ - message.error(`${itemCodeSum.join(',')}${t('ts.总数量超出计划数量')}`) + if (itemCodeSum.length > 0) { + // 去重 + const map = new Map(); + itemCodeSum = itemCodeSum.filter(v=>!map.has(v.itemCode) && map.set(v.itemCode,v.poLine)) + let str = '' + itemCodeSum.forEach(cur => { + str += `【物料号${cur.itemCode}-订单行${cur.poLine}】` + }) + message.error(`${str}${t('ts.总数量超出计划数量')}`) return } try { @@ -425,11 +436,11 @@ const inputNumberChange = (field, val,row, index) => { if(field=='qty'){ if(row['allowOverShipment']!='TRUE'){ let qtyDefault = row['planQty'] - row['shippedQty'] - if(row['qty']>qtyDefault){ + if (row['qty'] > qtyDefault) { message.error(`${row['itemCode']}${t('ts.不允许超发')}`) } let planQty = row['planQty'] //计划数量 - let sumQty = tableData.value.filter(item1=>item1['itemCode']==row['itemCode']).reduce((prev, item1) => prev + item1['qty'],0) + let sumQty = tableData.value.filter(item1=>item1['itemCode']==row['itemCode'] && item1['poLine']==row['poLine'] ).reduce((prev, item1) => prev + item1['qty'],0) if(sumQty>planQty){ message.error(`${row['itemCode']}${t('ts.总数量超出计划数量')}`) }