From c77a6ff81155b3436d7c329ebf2ea1eaa696fc97 Mon Sep 17 00:00:00 2001 From: Sirttas Date: Sun, 2 Jun 2024 08:16:20 +0200 Subject: [PATCH] acquisitions in tracking --- src/market/acquisition/acquisition.ts | 2 +- src/market/tracking/TrackingResultTable.vue | 9 +++++++++ src/pages/market/TypeInfo.vue | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/market/acquisition/acquisition.ts b/src/market/acquisition/acquisition.ts index ac9f0a3..c656bb9 100644 --- a/src/market/acquisition/acquisition.ts +++ b/src/market/acquisition/acquisition.ts @@ -67,7 +67,7 @@ export const useAcquiredTypesStore = defineStore('market-acquisition', () => { await marbasAxiosInstance.put(`${endpoint}${item.id}/`, item); log.info(`Acquired type ${item.id} remaining: ${item.remaining}`, item); }; - + marbasAxiosInstance.get(endpoint).then(res => acquiredTypes.value = res.data.map(mapRawMarbasAcquiredType)); return { acquiredTypes: types, addAcquiredType, removeAcquiredType }; diff --git a/src/market/tracking/TrackingResultTable.vue b/src/market/tracking/TrackingResultTable.vue index e2f8aa1..38a6615 100644 --- a/src/market/tracking/TrackingResultTable.vue +++ b/src/market/tracking/TrackingResultTable.vue @@ -6,6 +6,7 @@ import { getHistoryQuartils, MarketType, MarketTypeLabel, TaxInput, useMarketTax import { BookmarkSlashIcon, ShoppingCartIcon } from '@heroicons/vue/24/outline'; import { useStorage } from '@vueuse/core'; import { computed, ref } from 'vue'; +import { useAcquiredTypesStore } from '../acquisition'; import { TrackingResult } from './tracking'; type Result = { @@ -17,6 +18,7 @@ type Result = { q1: number; median: number; q3: number; + acquisitions: number; profit: number; score: number; } @@ -44,6 +46,7 @@ const props = withDefaults(defineProps(), { defineEmits(); const marketTaxStore = useMarketTaxStore(); +const acquiredTypesStore = useAcquiredTypesStore(); const days = useStorage('market-tracking-days', 365); const threshold = useStorage('market-tracking-threshold', 10); @@ -63,6 +66,9 @@ const { sortedArray, headerProps, showColumn } = useSort(computed(() => const quartils = getHistoryQuartils(r.history, days.value); const profit = quartils.q1 === 0 || quartils.q3 === 0 ? 0 : marketTaxStore.calculateProfit(quartils.q1, quartils.q3); const score = profit <= 0 ? 0 : Math.sqrt((Math.pow(quartils.totalVolume, 1.1) * Math.pow(quartils.q1, 1.2) * Math.pow(profit, 0.5) * Math.pow(Math.max(1, r.orderCount), -0.7)) / days.value); + const acquisitions = columnsToIgnore.value.includes('acquisitions') ? 0 : acquiredTypesStore.acquiredTypes + .filter(t => t.type === r.type.id) + .reduce((a, b) => a + b.remaining, 0); return { type: r.type, @@ -73,6 +79,7 @@ const { sortedArray, headerProps, showColumn } = useSort(computed(() => q1: quartils.q1, median: quartils.median, q3: quartils.q3, + acquisitions, profit, score }; @@ -128,6 +135,7 @@ const getLineColor = (result: Result) => { Q3 Profit Score + Acquisitions @@ -143,6 +151,7 @@ const getLineColor = (result: Result) => { {{ formatIsk(r.data.q3) }} {{ percentFormater.format(r.data.profit) }} {{ scoreFormater.format(r.data.score) }} + {{ r.data.acquisitions }} diff --git a/src/pages/market/TypeInfo.vue b/src/pages/market/TypeInfo.vue index ae659fc..ba1ab43 100644 --- a/src/pages/market/TypeInfo.vue +++ b/src/pages/market/TypeInfo.vue @@ -103,7 +103,7 @@ watch(useRoute(), async route => {
Market Info: - +
Acquisitions: