fix product price

This commit is contained in:
2026-06-27 18:06:44 +03:30
parent 9e0cefebf2
commit 0c36917735
3 changed files with 23 additions and 29 deletions
+15 -7
View File
@@ -84,8 +84,20 @@ export function hasProductUnitWeight(product?: ProductUnitSource | null) {
return amount > 0
}
/** ضریب قیمت — محصول بدون وزن قطعه همیشه ۱ */
/** ضریب قیمت — فقط «متغیر» بدون مرجع اتوماتیک: قیمت هر گرم × وزن */
export function productPriceAmountFactor(product?: ProductUnitSource | null) {
if (product?.reading_method) {
return 1
}
if (isCountBasedProduct(product)) {
return 1
}
if (Number(product?.direct_price ?? 0) !== 0) {
return 1
}
if (hasProductUnitWeight(product)) {
const amount = Number(product?.amount ?? 0)
return amount > 0 ? amount : 1
@@ -358,9 +370,7 @@ export function resolveProductTradeBuyUnitPrice(product?: Product | null) {
}
const basePrice = (product.price ?? 0) + (product.cash_fee_buy ?? 0)
return product.direct_price === 0
? basePrice * (product.amount ?? 0)
: basePrice
return basePrice * productPriceAmountFactor(product)
}
export function resolveProductTradeSellUnitPrice(product?: Product | null) {
@@ -369,9 +379,7 @@ export function resolveProductTradeSellUnitPrice(product?: Product | null) {
}
const basePrice = (product.price ?? 0) - (product.cash_fee_sell ?? 0)
return product.direct_price === 0
? basePrice * (product.amount ?? 0)
: basePrice
return basePrice * productPriceAmountFactor(product)
}
function getDefaultTypeDealOptions(context?: ProductDealMethodContext | null, isBuy = true): SelectItem[] {