diff --git a/src/pages/04_product-service/MainPage.vue b/src/pages/04_product-service/MainPage.vue index 9df04619..d3fddabb 100644 --- a/src/pages/04_product-service/MainPage.vue +++ b/src/pages/04_product-service/MainPage.vue @@ -47,6 +47,7 @@ const { editProductService, deleteProductService, + fetchStatsProduct, fetchListProduct, createProduct, @@ -438,7 +439,11 @@ async function submitProduct() { formDataProduct.value.image = imageProduct.value; } - await createProduct(formDataProduct.value); + const res = await createProduct(formDataProduct.value); + + if (res) { + stat.value[3].count = stat.value[3].count + 1; + } dialogProduct.value = false; await fetchListOfProduct(currentIdType.value); @@ -463,8 +468,11 @@ async function submitGroup() { onMounted(async () => { const resStatsGroup = await fetchStatsProductGroup(); const resStatsType = await fetchStatsProductType(); + const resStatsProduct = await fetchStatsProduct(); + stat.value[0].count = resStatsGroup ?? 0; stat.value[1].count = resStatsType ?? 0; + stat.value[3].count = resStatsProduct ?? 0; await fetchListGroups(); }); diff --git a/src/stores/product-service/index.ts b/src/stores/product-service/index.ts index 42945558..73290434 100644 --- a/src/stores/product-service/index.ts +++ b/src/stores/product-service/index.ts @@ -239,6 +239,17 @@ const useProductServiceStore = defineStore('api-product-service', () => { } // Product + + async function fetchStatsProduct() { + const res = await api.get('/product/stats'); + + if (!res) return false; + + if (res.status === 200) { + return res.data; + } + } + async function fetchListProduct( opts?: { query?: string; @@ -500,6 +511,7 @@ const useProductServiceStore = defineStore('api-product-service', () => { editProductService, deleteProductService, + fetchStatsProduct, fetchListProduct, createProduct, fetchListProductById,