diff --git a/src/components/SummaryComponent.vue b/src/components/SummaryComponent.vue index 7ce9aca..8e70f5b 100644 --- a/src/components/SummaryComponent.vue +++ b/src/components/SummaryComponent.vue @@ -3,7 +3,7 @@ import { useOrdersStore } from '@/stores/orders.store' import { storeToRefs } from 'pinia' import VueDatePicker from '@vuepic/vue-datepicker' import { useSiteControlStore } from '@/stores/siteControl.store' -import { onBeforeUnmount, onMounted, ref } from 'vue' +import { onBeforeUnmount, onMounted, ref, watch } from 'vue' import { useCategoriesStore } from '@/stores/categories.store' import type { Order, OrderProduct, Product } from '@/main' import { useRoutesStore } from '@/stores/routes.store' @@ -27,6 +27,35 @@ const orderByRouteAndNipRef = ref>>(new Map>) +const watchSearchDate = watch(searchDate, async (oldSearchDate, newSeatchDate) => { + if (oldSearchDate != newSeatchDate) { + await fetchOrders() + } +}) + +const watchConfirmedOrders = watch(confirmedOrders, async (oldConfirmedOrders, newConfirmedOrders) => { + if (oldConfirmedOrders != newConfirmedOrders) { + await fetchOrders() + } +}) + +async function fetchOrders() { + isLoading.value = true + orders.value = await ordersStore.fetchOrdersByDateStartAndEnd(searchDate.value != undefined ? searchDate.value : new Date(Date.now()), + searchDate.value != undefined ? searchDate.value : new Date(Date.now()), + (confirmedOrders.value) ? false : null) + const productsMap = await categoriesStore.sumProductsFromOrders(orders.value) + summedProducts.value = [] + for (const product of productsMap.values()) { + if (product.SummedQuantity > 0) { + summedProducts.value.push(product) + } + } + await prepareProductsFromOrders() + + isLoading.value = false +} + function addRoutes() { for (const route of routes.value) { ordersByRoute.value.set(route.MZT_Nazwa1, []) @@ -63,71 +92,7 @@ function prepareProductsFromOrders() { } console.log(orders.value) console.log(ordersByRoute.value) - const newOrder: Order = { - loading: false, - MZN_Bufor: 0, - MZN_Anulowane: 0, - MZN_DataDos: "2025-02-27", - MZN_DataZam: "2025-02-27", - MZN_MZNID: 12345, - MZN_OpeID: 6789, - MZN_PodID: 1001, - MZN_PodKodPocztowy: "00-001", - MZN_PodMiasto: "Warszawa", - MZN_PodNazwa1: "Firma XYZ", - MZN_PodNazwa2: "Oddział Główny", - MZN_PodNazwa3: "", - MZN_PodNipE: "8991446786", - MZN_PodNrDomu: "10A", - MZN_PodUlica: "Marszałkowska", - MZN_PodWojewodztwo: "Mazowieckie", - MZN_TypDokumentu: 1, - MZN_UUID: "550e8400-e29b-41d4-a716-446655440000", - MZN_Uwagi: "Brak uwag", - MZN_MZTID: 2002, - MZamElem: [ - { - MZE_MZEID: 1, - MZE_MZNID: 12345, - MZE_TwrCena: "12.00", - MZE_TwrId: 2323, - MZE_TwrIlosc: "150.00", - MZE_TwrJm: "kg", - MZE_TwrNazwa: 'Twaróg półtłusty "suchy" - luz', - MZE_TwrKod: "TWS-LUZ", - MZE_TwrStawka: "8%", - suma: 1800.00 - }, - { - MZE_MZEID: 2, - MZE_MZNID: 12345, - MZE_TwrCena: "25.50", - MZE_TwrId: 102, - MZE_TwrIlosc: "10.00", - MZE_TwrJm: "szt", - MZE_TwrNazwa: "Ekologiczne jajka klasy premium", - MZE_TwrKod: "EKO-JAJ", - MZE_TwrStawka: "5%", - suma: 255.00 - } - ], - products: [] - }; - const produkciki = newOrder.MZamElem.map(product => ({ - kod: product.MZE_TwrKod, - nazwa: product.MZE_TwrNazwa, - ilosc: Number(product.MZE_TwrIlosc).toFixed(2), - jm: product.MZE_TwrJm, - cena: Number(product.MZE_TwrCena).toFixed(2), - suma: Number(Number(product.MZE_TwrCena) * Number(product.MZE_TwrIlosc)).toFixed(2) - })); - -// Aktualizacja newOrder z dodanymi produktami - newOrder.products = produkciki; - ordersByRoute.value.get("Wrocław")?.push(newOrder); - - - console.log(newOrder); + groupByNip() } function groupByNip() { @@ -148,7 +113,7 @@ function groupByNip() { if (existingProduct) { existingProduct.MZE_TwrCena =String(Number(existingProduct.MZE_TwrCena).toFixed(2)) existingProduct.MZE_TwrIlosc = String( - Number(Number(existingProduct.MZE_TwrIlosc) + Number(element.MZE_TwrIlosc)).toFixed(0) + Number(Number(existingProduct.MZE_TwrIlosc) + Number(element.MZE_TwrIlosc)).toFixed(2) ) existingProduct.suma = Number(Number(existingProduct.MZE_TwrIlosc) * Number(existingProduct.MZE_TwrCena)).toFixed(2) @@ -178,7 +143,7 @@ onMounted(async () => { await prepareProductsFromOrders(); console.log(products.value); isLoading.value=false; - groupByNip() + console.log(ordersByRoute.value) });