Merge remote-tracking branch 'origin/modular' into modular

This commit is contained in:
2026-06-17 16:04:10 +03:30
8 changed files with 51 additions and 20 deletions
+2 -2
View File
@@ -300,7 +300,7 @@ import { isStoreClosed, getStoreClosedMessage } from '@/utils/storeHours'
import { formatCashWalletBalanceText, getWeightUnit } from '@/utils/productDealMethod'
import { formatProductWalletBalanceText, getCashWalletBalance, getProductInventoryQuantity } from '@/utils/productAssets'
import { useWalletAssets } from '@/composables/useWalletAssets'
import { isMeltedTradeGroup } from '@/utils/productCategories'
import { usesQuantityTrade } from '@/utils/productCategories'
import { useSettingsStore } from '@/store/settingsStore'
import { storeToRefs } from 'pinia'
import {
@@ -381,7 +381,7 @@ const sellPagination = ref<TableEngineInput>({
const unitPrice = computed(() => {
const product = props.ProductItem
if (isMeltedTradeGroup(product?.group_type)) {
if (usesQuantityTrade(product)) {
return isBuy.value ? getProductBuyPrice(product!) : getProductSellPrice(product!)
}
return isBuy.value ? getTradeBuyPrice(lastPrice.value) : getTradeSellPrice(lastPrice.value)
@@ -89,7 +89,7 @@ const displayImage = computed(() => {
<div class="m-1 flex flex-col gap-1 justify-center">
<div class="text-base font-500">{{ props.ProductItem.title }}</div>
<br>
<div v-if="isMeltedTradeGroup(props.ProductItem.group_type)">{{usePrice(goldPriceValue)}}</div>
<div v-if="usesQuantityTrade(props.ProductItem)">{{usePrice(goldPriceValue)}}</div>
<div v-else>{{usePrice(price)}}</div>
</div>
</div>
@@ -111,6 +111,8 @@ import type {Product} from "@/models/products";
import {usePrice} from "../../../../utils/usePrice";
import {computed, ref} from "vue";
import type {Price} from "@/models/home";
import { usesQuantityTrade } from '@/utils/productCategories'
import { getProductBuyPrice } from '@/utils/productPrice'
interface Prop {
ProductItem: Product
@@ -132,6 +134,9 @@ const price = computed(()=>{
const priceLast = computed((): Price => <Price>lastPrice.value ?? 0)
const goldPriceValue = computed(() => {
if (usesQuantityTrade(props.ProductItem)) {
return getProductBuyPrice(props.ProductItem)
}
if (!priceLast.value) return 0
return priceLast.value.buy
})
@@ -13,7 +13,7 @@
<span class="dproducts-card__badge">{{ product.group_type }}</span>
<h3 class="dproducts-card__title">{{ product.title }}</h3>
<p class="dproducts-card__price">
<template v-if="isMeltedTradeGroup(product.group_type)">
<template v-if="usesQuantityTrade(product)">
{{ usePrice(goldPriceValue) }}
</template>
<template v-else>
@@ -37,7 +37,7 @@ import type { Product } from '@/models/products'
import { usePrice } from '@/utils/usePrice'
import { getFileUrl } from '@/utils/file'
import { getProductBuyPrice } from '@/utils/productPrice'
import { isMeltedTradeGroup } from '@/utils/productCategories'
import { usesQuantityTrade } from '@/utils/productCategories'
const props = withDefaults(
defineProps<{
@@ -70,12 +70,7 @@ const displayImage = computed(() => {
return defaultImages[props.product.group_type] ?? defaultImg
})
const price = computed(() => {
if (props.product.direct_price === 0) {
return ((props.product.price ?? 0) + (props.product.cash_fee_buy ?? 0)) * props.product.amount
}
return (props.product.price ?? 0) + (props.product.cash_fee_buy ?? 0)
})
const price = computed(() => getProductBuyPrice(props.product))
const goldPriceValue = computed(() => getProductBuyPrice(props.product))
const goldPriceValue = computed(() => price.value)
</script>
+3 -3
View File
@@ -12,7 +12,7 @@
<BasicActionSheet v-if="!isDesktop" placement="bottom" v-model:show="showFilter">
<div v-if="showFilter" :key="orderSheetKey">
<indexGold
v-if="isMeltedTradeGroup(selectedProduct?.group_type)"
v-if="usesQuantityTrade(selectedProduct)"
:ProductItem="selectedProduct"
/>
<CopperSilver
@@ -33,7 +33,7 @@
>
<div v-if="showFilter" :key="orderSheetKey">
<indexGold
v-if="isMeltedTradeGroup(selectedProduct?.group_type)"
v-if="usesQuantityTrade(selectedProduct)"
:ProductItem="selectedProduct"
/>
<CopperSilver
@@ -83,7 +83,7 @@ import DealProduct from '@/views/base/products/components/DealProduct.vue'
import BasicModal from '@/components/BasicPacks/BasicModal.vue'
import ResponsiveViewPair from '@/layouts/components/ResponsiveViewPair.vue'
import { useDesktopBreakpoint } from '@/layouts/composables/useAppLayout'
import { isMetalCommodityGroup, isMeltedTradeGroup } from '@/utils/productCategories'
import { isMetalCommodityGroup, usesQuantityTrade } from '@/utils/productCategories'
import { isBoursecuDealProductGroup } from '@/utils/productDealMethod'
import { useProductsPageProvider } from './composables/useProductsPage'
import MobileProductsView from './mobile/MobileProductsView.vue'