From 1a0058aad035e48f4bde676be531ee58d53a7e53 Mon Sep 17 00:00:00 2001 From: Default User Date: Mon, 2 Mar 2026 16:12:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=84=E6=A0=BC=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E7=A9=BA=E8=A7=84=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supply.html | 61 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 23 deletions(-) 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;