From a2e22e37e7842197ec8791d06b68713f723de446 Mon Sep 17 00:00:00 2001 From: Default User Date: Fri, 9 Jan 2026 17:12:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=A7=84=E6=A0=BC-?= =?UTF-8?q?=E4=BB=B6=E6=95=B0-=E9=87=87=E8=B4=AD=E4=BB=B7=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E6=80=A7=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E6=AD=A3=E7=A1=AE=E9=AA=8C=E8=AF=81=E6=89=80?= =?UTF-8?q?=E6=9C=89=E8=A7=84=E6=A0=BC=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supply.html | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/supply.html b/supply.html index 196fbce..56b439c 100644 --- a/supply.html +++ b/supply.html @@ -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); - } + // 无论规格是否为空,都将所有对添加到数组中,以便后续验证 + specifications.push(specValue); + 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,18 +7984,19 @@ 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; + // 验证规格、件数和采购价 - 确保每个填写了规格的对都有对应的件数和采购价 + 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 (!allPairsValid) { - alert('每个规格-件数-采购价对都必须完整,缺少任何一个都无法保存'); - return false; - } if (!formData.supplyStatus) { alert('请选择货源状态(预售/现货)'); return false;