diff --git a/supply.html b/supply.html index 085ccf9..029ba3a 100644 --- a/supply.html +++ b/supply.html @@ -7815,11 +7815,13 @@ const costpriceValue = pair.querySelector('.costprice-input').value.trim(); const specStatusValue = pair.querySelector('.spec-status-input').value.trim() || '0'; - // 无论规格是否为空,都将所有对添加到数组中,以便后续验证 - specifications.push(specValue); - quantities.push(quantityValue); - costprices.push(costpriceValue); - specStatuses.push(specStatusValue); + // 只添加有效的规格信息(规格、件数、采购价都不为空) + if (specValue && quantityValue && costpriceValue) { + specifications.push(specValue); + quantities.push(quantityValue); + costprices.push(costpriceValue); + specStatuses.push(specStatusValue); + } }); @@ -7898,6 +7900,12 @@ alert('请输入采购价'); return; } + // 验证至少有一个有效的规格信息 + if (specifications.length === 0) { + alert('请至少添加一个有效的规格信息'); + return; + } + // 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 let allPairsValid = true; for (let i = 0; i < specifications.length; i++) { @@ -9964,12 +9972,13 @@ const costpriceValue = pair.querySelector('.costprice-input').value.trim(); const specStatusValue = pair.querySelector('.spec-status-input').value.trim() || '0'; - // 保存所有添加的规格和件数对,即使其中一个为空 - // 这样可以保持记忆功能,下次编辑时还能看到之前添加的对 - specifications.push(specValue); - quantities.push(quantityValue); - costprices.push(costpriceValue); - specStatuses.push(specStatusValue); + // 只添加有效的规格信息(规格、件数、采购价都不为空) + if (specValue && quantityValue && costpriceValue) { + specifications.push(specValue); + quantities.push(quantityValue); + costprices.push(costpriceValue); + specStatuses.push(specStatusValue); + } }); @@ -10040,19 +10049,25 @@ alert('请输入采购价'); return false; } - // 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 - let allPairsValid = true; - for (let i = 0; i < specifications.length; i++) { - // 如果规格不为空,则必须同时有件数和采购价 - if (specifications[i].trim() !== '' && (quantities[i].trim() === '' || costprices[i].trim() === '')) { - allPairsValid = false; - break; - } - } - if (!allPairsValid) { - alert('每个填写了规格的对都必须有对应的件数和采购价'); - return false; + // 验证至少有一个有效的规格信息 + if (specifications.length === 0) { + alert('请至少添加一个有效的规格信息'); + return false; + } + + // 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 + let allPairsValid = true; + for (let i = 0; i < specifications.length; i++) { + // 如果规格不为空,则必须同时有件数和采购价 + if (specifications[i].trim() !== '' && (quantities[i].trim() === '' || costprices[i].trim() === '')) { + allPairsValid = false; + break; } + } + if (!allPairsValid) { + alert('每个填写了规格的对都必须有对应的件数和采购价'); + return false; + } if (!formData.supplyStatus) { alert('请选择货源状态(预售/现货)'); return false;