Index.vue 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <script setup>
  2. import { useStatistic } from './Composables/useStatistic'
  3. import { useStatisticDualYear } from './Composables/useStatisticDualYear'
  4. import CardCart from './Components/CardCart.vue'
  5. import CardCount from './Components/CardCount.vue'
  6. import CardProductFavorite from './Components/CardProductFavorite.vue'
  7. import DashboardLayout from '@/layouts/Dashboard/DashboardLayout.vue'
  8. const props = defineProps([
  9. 'productAmount',
  10. 'productBestSelling',
  11. 'salePurchaseAmountStatistic',
  12. 'salePriceStatistic',
  13. 'purchasePriceStatistic',
  14. ])
  15. const salePurchaseAmountStatistic = useStatistic(
  16. props.salePurchaseAmountStatistic
  17. )
  18. const salePriceStatistic = useStatisticDualYear(props.salePriceStatistic)
  19. const purchasePriceStatistic = useStatisticDualYear(
  20. props.purchasePriceStatistic
  21. )
  22. </script>
  23. <template>
  24. <DashboardLayout title="Dashboard">
  25. <div class="grid">
  26. <div class="col-12">
  27. <div class="grid">
  28. <CardCount :data="productAmount" />
  29. </div>
  30. </div>
  31. <div class="col-12 xl:col-6">
  32. <div class="grid">
  33. <div class="col-12">
  34. <CardProductFavorite :data="productBestSelling" />
  35. </div>
  36. <div class="col-12">
  37. <CardCart type="line" :data="salePurchaseAmountStatistic" />
  38. </div>
  39. </div>
  40. </div>
  41. <div class="col-12 xl:col-6">
  42. <div class="grid">
  43. <div class="col-12">
  44. <CardCart type="bar" :data="salePriceStatistic" />
  45. </div>
  46. <div class="col-12">
  47. <CardCart type="bar" :data="purchasePriceStatistic" />
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </DashboardLayout>
  53. </template>