fix product price
This commit is contained in:
@@ -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[] {
|
||||
|
||||
@@ -116,9 +116,7 @@ export function getProductBuyPrice(product: Product): number {
|
||||
}
|
||||
|
||||
const withFee = base + fee
|
||||
return product.direct_price === 0
|
||||
? withFee * productPriceAmountFactor(product)
|
||||
: withFee
|
||||
return withFee * productPriceAmountFactor(product)
|
||||
}
|
||||
|
||||
function getProductBaseSellPrice(product: Product): number {
|
||||
|
||||
Reference in New Issue
Block a user