From ffbf4689f1c9d8de25833ce7d7d40e79b8457350 Mon Sep 17 00:00:00 2001 From: yueli Date: Wed, 9 Sep 2026 13:10:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(inbound/buy):=20=E4=BB=8E=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=AF=BC=E5=85=A5=E6=97=B6=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E4=B8=8D=E5=8F=97=E2=80=9C=E6=98=AF=E5=90=A6=E5=8F=AF=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=BB=B7=E6=A0=BC=E2=80=9D=E6=9D=83=E9=99=90=E6=8B=A6?= =?UTF-8?q?=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 价格填充不再包在 hasFormFieldPermission(unit_price) 里,库管(前端不显示价格)也能把采购单价格带入隐藏字段用于成本 - 前端价格列/输入框仍按字段权限对库管隐藏 --- inventory-web/src/views/stock/inbound/buy.vue | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/inventory-web/src/views/stock/inbound/buy.vue b/inventory-web/src/views/stock/inbound/buy.vue index a5be10a..ac37286 100644 --- a/inventory-web/src/views/stock/inbound/buy.vue +++ b/inventory-web/src/views/stock/inbound/buy.vue @@ -1933,25 +1933,24 @@ const confirmPurchaseImport = () => { const qty = Number(po.quantity) || 1 form.in_quantity = qty - // 价格字段:优先用含税总价反算,否则用含税单价 - if (hasFormFieldPermission('unit_price')) { - const hasUnitPrice = po.unit_price !== null && po.unit_price !== undefined && Number(po.unit_price) > 0 - const hasTotalPrice = po.total_price !== null && po.total_price !== undefined && Number(po.total_price) > 0 + // 价格字段:无论前端是否对当前角色显示价格,导入都应把采购单价格带入(隐藏字段,用于成本)。 + // 库管在前端看不到价格输入/列,由字段权限控制展示;这里只做数据带入,不因“不能看价格”而跳过。 + const hasUnitPrice = po.unit_price !== null && po.unit_price !== undefined && Number(po.unit_price) > 0 + const hasTotalPrice = po.total_price !== null && po.total_price !== undefined && Number(po.total_price) > 0 - // 税率带过来 - if (po.tax_rate != null) { - form.tax_rate = Number(po.tax_rate) - } + // 税率带过来 + if (po.tax_rate != null) { + form.tax_rate = Number(po.tax_rate) + } - if (hasTotalPrice) { - // 优先: 含税总价 → 调用 post_total 逻辑反算单价 - postTaxTotalInput.value = Number(po.total_price) - onPostTaxTotalChange(postTaxTotalInput.value) - } else if (hasUnitPrice) { - // 备选: 含税单价 → 反算不含税 - form.post_tax_unit_price = Number(po.unit_price) - updatePrices('post') - } + if (hasTotalPrice) { + // 优先: 含税总价 → 调用 post_total 逻辑反算单价 + postTaxTotalInput.value = Number(po.total_price) + onPostTaxTotalChange(postTaxTotalInput.value) + } else if (hasUnitPrice) { + // 备选: 含税单价 → 反算不含税 + form.post_tax_unit_price = Number(po.unit_price) + updatePrices('post') } if (po.supplier_link) { form.detail_link = po.supplier_link