添加从供应计划累加的功能
This commit is contained in:
@@ -904,54 +904,54 @@ function addData() {
|
||||
return;
|
||||
}
|
||||
let data = outTempData.value.concat(checkPlanList.value);
|
||||
let arr = []; // 去重后的最终数组
|
||||
let duplicateSapNos = ''; // 存储重复数据的sapNo
|
||||
let invalidQtySapNos = ''; // 存储入库数量有误的sapNo
|
||||
const uniqueKeys = new Set(); // 用于存储唯一的组合键 (id+pcode+realQty)
|
||||
// let arr = []; // 去重后的最终数组
|
||||
// let duplicateSapNos = ''; // 存储重复数据的sapNo
|
||||
// let invalidQtySapNos = ''; // 存储入库数量有误的sapNo
|
||||
// const uniqueKeys = new Set(); // 用于存储唯一的组合键 (id+pcode+realQty)
|
||||
|
||||
// 遍历数组,先校验数量合法性,再判断唯一性
|
||||
data.forEach(item => {
|
||||
// 1. 校验realQty是否大于0(处理空值/非数字情况)
|
||||
const realQty = Number(item.realQty);
|
||||
if (isNaN(realQty) || realQty <= 0) {
|
||||
// 避免同一个sapNo重复添加到提示中
|
||||
if (!invalidQtySapNos.includes(item.sapNo)) {
|
||||
invalidQtySapNos += item.sapNo + ',';
|
||||
}
|
||||
return; // 数量不合法,直接跳过后续唯一性判断
|
||||
}
|
||||
// // 遍历数组,先校验数量合法性,再判断唯一性
|
||||
// data.forEach(item => {
|
||||
// // 1. 校验realQty是否大于0(处理空值/非数字情况)
|
||||
// const realQty = Number(item.realQty);
|
||||
// if (isNaN(realQty) || realQty <= 0) {
|
||||
// // 避免同一个sapNo重复添加到提示中
|
||||
// if (!invalidQtySapNos.includes(item.sapNo)) {
|
||||
// invalidQtySapNos += item.sapNo + ',';
|
||||
// }
|
||||
// return; // 数量不合法,直接跳过后续唯一性判断
|
||||
// }
|
||||
|
||||
// 2. 生成唯一标识组合键
|
||||
const uniqueKey = `${item.id}_${item.pcode}_${realQty}`;
|
||||
// // 2. 生成唯一标识组合键
|
||||
// const uniqueKey = `${item.id}_${item.pcode}_${realQty}`;
|
||||
|
||||
// 3. 检查组合键是否已存在
|
||||
if (uniqueKeys.has(uniqueKey)) {
|
||||
// 存在重复,拼接sapNo(去重避免重复拼接)
|
||||
if (!duplicateSapNos.includes(item.sapNo)) {
|
||||
duplicateSapNos += item.sapNo + ',';
|
||||
}
|
||||
} else {
|
||||
// 不存在重复,加入结果数组并记录组合键
|
||||
arr.push(item);
|
||||
uniqueKeys.add(uniqueKey);
|
||||
}
|
||||
console.log(uniqueKeys)
|
||||
});
|
||||
// // 3. 检查组合键是否已存在
|
||||
// if (uniqueKeys.has(uniqueKey)) {
|
||||
// // 存在重复,拼接sapNo(去重避免重复拼接)
|
||||
// if (!duplicateSapNos.includes(item.sapNo)) {
|
||||
// duplicateSapNos += item.sapNo + ',';
|
||||
// }
|
||||
// } else {
|
||||
// // 不存在重复,加入结果数组并记录组合键
|
||||
// arr.push(item);
|
||||
// uniqueKeys.add(uniqueKey);
|
||||
// }
|
||||
// console.log(uniqueKeys)
|
||||
// });
|
||||
|
||||
// 处理入库数量有误的提示
|
||||
if (invalidQtySapNos) {
|
||||
invalidQtySapNos = invalidQtySapNos.slice(0, -1); // 去掉最后一个逗号
|
||||
proxy.$modal.msgError(`入库数量有误:${invalidQtySapNos}(入库数量需大于0)`);
|
||||
return
|
||||
}
|
||||
// // 处理入库数量有误的提示
|
||||
// if (invalidQtySapNos) {
|
||||
// invalidQtySapNos = invalidQtySapNos.slice(0, -1); // 去掉最后一个逗号
|
||||
// proxy.$modal.msgError(`入库数量有误:${invalidQtySapNos}(入库数量需大于0)`);
|
||||
// return
|
||||
// }
|
||||
|
||||
// 处理重复数据的提示
|
||||
if (duplicateSapNos) {
|
||||
duplicateSapNos = duplicateSapNos.slice(0, -1); // 去掉最后一个逗号
|
||||
proxy.$modal.msgError(`存在重复数据:${duplicateSapNos}`);
|
||||
}
|
||||
// // 处理重复数据的提示
|
||||
// if (duplicateSapNos) {
|
||||
// duplicateSapNos = duplicateSapNos.slice(0, -1); // 去掉最后一个逗号
|
||||
// proxy.$modal.msgError(`存在重复数据:${duplicateSapNos}`);
|
||||
// }
|
||||
|
||||
outTempData.value = arr
|
||||
outTempData.value = data
|
||||
}
|
||||
|
||||
// 查看所有的出库数据
|
||||
@@ -1008,7 +1008,7 @@ function searchPlan() {
|
||||
proxy.$modal.msgWarning("暂无数据");
|
||||
return;
|
||||
}
|
||||
planList.value = planData;
|
||||
planList.value = planList.value.concat(planData);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user