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