fix(tv): show board prices from tv_price instead of list price

The monitor uses the TV formula field so the catalog list price stays unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-06 21:35:54 +03:30
co-authored by Cursor
parent 4104235546
commit 065a0b3178
4 changed files with 46 additions and 9 deletions
+4 -4
View File
@@ -35,7 +35,7 @@ import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
import { getTvProducts } from '@/api/products'
import type { Product } from '@/models/products'
import { getConfigApp } from '@/utils/config'
import { getProductBuyPrice, getProductSellPrice, isProductPriceInactive } from '@/utils/productPrice'
import { getTvProductBuyPrice, getTvProductSellPrice, isTvProductPriceInactive } from '@/utils/productPrice'
import { lastPrice, getLastPrices, startLastPricePolling, stopLastPricePolling } from '@/utils/price'
import { getPriceDisplayMessage, getPriceDisplayState, NO_QUOTE_MESSAGE } from '@/utils/storeHours'
import { usePriceWithoutType } from '@/utils/usePrice'
@@ -81,7 +81,7 @@ const rows = computed(() => {
const marked = list.filter(isShowOnTv)
const source = marked.length ? marked : list
return source.map((product) => {
if (isProductPriceInactive(product)) {
if (isTvProductPriceInactive(product)) {
return {
id: product.id,
title: product.title,
@@ -93,8 +93,8 @@ const rows = computed(() => {
return {
id: product.id,
title: product.title,
buyText: usePriceWithoutType(getProductBuyPrice(product)),
sellText: usePriceWithoutType(getProductSellPrice(product)),
buyText: usePriceWithoutType(getTvProductBuyPrice(product)),
sellText: usePriceWithoutType(getTvProductSellPrice(product)),
}
})
})
+5 -5
View File
@@ -3,7 +3,7 @@ import { useFullscreen } from '@vueuse/core'
import type { Product } from '@/models/products'
import { getTvProducts } from '@/api/products'
import { getConfigApp } from '@/utils/config'
import { getProductBuyPrice, getProductSellPrice, isProductPriceInactive } from '@/utils/productPrice'
import { getTvProductBuyPrice, getTvProductSellPrice, isTvProductPriceInactive } from '@/utils/productPrice'
import { getLastPrices, getTradeBuyPrice, getTradeSellPrice, lastPrice, startLastPricePolling, stopLastPricePolling } from '@/utils/price'
import { getPriceDisplayMessage, getPriceDisplayState, NO_QUOTE_MESSAGE } from '@/utils/storeHours'
import { isMeltedTradeGroup } from '@/utils/productCategories'
@@ -239,14 +239,14 @@ export function useTvMonitorPage() {
}
function productBuyLabel(product: Product) {
if (isProductPriceInactive(product)) return NO_QUOTE_MESSAGE
const value = getProductBuyPrice(product)
if (isTvProductPriceInactive(product)) return NO_QUOTE_MESSAGE
const value = getTvProductBuyPrice(product)
return value > 0 ? usePrice(value) : '—'
}
function productSellLabel(product: Product) {
if (isProductPriceInactive(product)) return NO_QUOTE_MESSAGE
const value = getProductSellPrice(product)
if (isTvProductPriceInactive(product)) return NO_QUOTE_MESSAGE
const value = getTvProductSellPrice(product)
return value > 0 ? usePrice(value) : '—'
}