fix price
This commit is contained in:
@@ -14,7 +14,10 @@ function applyPriceOffsetPercent(basePrice: number, offsetPercent?: number | nul
|
||||
/** قیمت خرید نمایشی محصول (همان مقداری که در لیست و اکشنشیت نشان داده میشود) */
|
||||
export function getProductBuyPrice(product: Product): number {
|
||||
if (isMeltedProductUsingAppPrice(product)) {
|
||||
const base = applyPriceOffsetPercent(getTradeBuyPrice(lastPrice.value), product.price_offset_percent)
|
||||
const tradeBuy = getTradeBuyPrice(lastPrice.value)
|
||||
const base = tradeBuy > 0
|
||||
? applyPriceOffsetPercent(tradeBuy, product.price_offset_percent)
|
||||
: (product.price ?? 0)
|
||||
return base + (product.cash_fee_buy ?? 0)
|
||||
}
|
||||
|
||||
@@ -36,7 +39,10 @@ export function getProductBuyPrice(product: Product): number {
|
||||
/** قیمت فروش نمایشی محصول آبشدهای */
|
||||
export function getProductSellPrice(product: Product): number {
|
||||
if (isMeltedProductUsingAppPrice(product)) {
|
||||
const base = applyPriceOffsetPercent(getTradeSellPrice(lastPrice.value), product.price_offset_percent)
|
||||
const tradeSell = getTradeSellPrice(lastPrice.value)
|
||||
const base = tradeSell > 0
|
||||
? applyPriceOffsetPercent(tradeSell, product.price_offset_percent)
|
||||
: (product.price ?? 0)
|
||||
return base - (product.cash_fee_sell ?? 0)
|
||||
}
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@ import { isProductPriceInactive } from '@/utils/productPrice'
|
||||
import { isMetalCommodityGroup, isMeltedTradeGroup } from '@/utils/productCategories'
|
||||
import { isBoursecuDealProductGroup } from '@/utils/productDealMethod'
|
||||
import { loadServiceFeeFromSettings } from '@/utils/serviceFee'
|
||||
import { getLastPrices, startLastPricePolling, stopLastPricePolling } from '@/utils/price'
|
||||
|
||||
const activekey = ref('طلا' ||'آبشده')
|
||||
const showFilter = ref(false)
|
||||
@@ -210,6 +211,8 @@ async function refreshProducts() {
|
||||
onMounted(async () => {
|
||||
try {
|
||||
loading.value = true
|
||||
await getLastPrices()
|
||||
startLastPricePolling()
|
||||
items.value = await getProducts()
|
||||
|
||||
if (items.value?.length) {
|
||||
@@ -225,7 +228,6 @@ onMounted(async () => {
|
||||
})
|
||||
firstItems.value = items.value
|
||||
await loadServiceFeeFromSettings()
|
||||
// فقط لیست محصولات هر ۱۰ ثانیه — last فقط در صفحه اصلی poll میشود
|
||||
productListInterval = setInterval(refreshProducts, 10000)
|
||||
|
||||
} catch (e) {
|
||||
@@ -247,6 +249,7 @@ onMounted(async () => {
|
||||
}
|
||||
})
|
||||
onUnmounted(() => {
|
||||
stopLastPricePolling()
|
||||
if (productListInterval) {
|
||||
clearInterval(productListInterval)
|
||||
productListInterval = undefined
|
||||
|
||||
Reference in New Issue
Block a user