|
|
|
@ -6066,12 +6066,10 @@ |
|
|
|
const quantityValue = pair.querySelector('.quantity-input').value.trim(); |
|
|
|
const costpriceValue = pair.querySelector('.costprice-input').value.trim(); |
|
|
|
|
|
|
|
if (specValue) { |
|
|
|
// 无论规格是否为空,都将所有对添加到数组中,以便后续验证 |
|
|
|
specifications.push(specValue); |
|
|
|
// 件数可以为0,所以只检查是否有值(包括"0") |
|
|
|
quantities.push(quantityValue); |
|
|
|
costprices.push(costpriceValue); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
@ -6128,16 +6126,17 @@ |
|
|
|
alert('请输入采购价'); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 验证规格、件数和采购价 - 确保每个对都是完整的 |
|
|
|
// 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 |
|
|
|
let allPairsValid = true; |
|
|
|
for (let i = 0; i < specifications.length; i++) { |
|
|
|
if (specifications[i].trim() === '' || quantities[i].trim() === '' || costprices[i].trim() === '') { |
|
|
|
// 如果规格不为空,则必须同时有件数和采购价 |
|
|
|
if (specifications[i].trim() !== '' && (quantities[i].trim() === '' || costprices[i].trim() === '')) { |
|
|
|
allPairsValid = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (!allPairsValid) { |
|
|
|
alert('每个规格-件数-采购价对都必须完整,缺少任何一个都无法创建'); |
|
|
|
alert('每个填写了规格的对都必须有对应的件数和采购价'); |
|
|
|
return; |
|
|
|
} |
|
|
|
if (!formData.supplyStatus) { |
|
|
|
@ -7985,16 +7984,17 @@ |
|
|
|
alert('请输入采购价'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 验证规格、件数和采购价 - 确保每个对都是完整的 |
|
|
|
// 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 |
|
|
|
let allPairsValid = true; |
|
|
|
for (let i = 0; i < specifications.length; i++) { |
|
|
|
if (specifications[i].trim() === '' || quantities[i].trim() === '' || costprices[i].trim() === '') { |
|
|
|
// 如果规格不为空,则必须同时有件数和采购价 |
|
|
|
if (specifications[i].trim() !== '' && (quantities[i].trim() === '' || costprices[i].trim() === '')) { |
|
|
|
allPairsValid = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (!allPairsValid) { |
|
|
|
alert('每个规格-件数-采购价对都必须完整,缺少任何一个都无法保存'); |
|
|
|
alert('每个填写了规格的对都必须有对应的件数和采购价'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
if (!formData.supplyStatus) { |
|
|
|
|