diff --git a/inventory-web/src/App.vue b/inventory-web/src/App.vue index 7895ea6..03e3fb2 100644 --- a/inventory-web/src/App.vue +++ b/inventory-web/src/App.vue @@ -239,7 +239,7 @@ const handleLogout = () => { diff --git a/inventory-web/src/views/stock/inbound/buy.vue b/inventory-web/src/views/stock/inbound/buy.vue index bb9d003..c264ade 100644 --- a/inventory-web/src/views/stock/inbound/buy.vue +++ b/inventory-web/src/views/stock/inbound/buy.vue @@ -1929,20 +1929,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 - if (hasUnitPrice && hasTotalPrice) { - form.unit_price = Number(po.unit_price) - form.total_price = Number(po.total_price) + // 税率带过来 + 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.unit_price = Number(po.unit_price) - form.total_price = Number((qty * form.unit_price).toFixed(2)) - } else if (hasTotalPrice) { - form.total_price = Number(po.total_price) - form.unit_price = Number((form.total_price / qty).toFixed(4)) + // 备选: 含税单价 → 反算不含税 + form.post_tax_unit_price = Number(po.unit_price) + updatePrices('post') } } if (po.supplier_link) {