Index.vue 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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
  38. type="line"
  39. :title="salePurchaseAmountStatistic.title"
  40. :description="salePurchaseAmountStatistic.description"
  41. :data="salePurchaseAmountStatistic.data"
  42. />
  43. </div>
  44. </div>
  45. </div>
  46. <div class="col-12 xl:col-6">
  47. <div class="grid">
  48. <div class="col-12">
  49. <CardCart
  50. type="bar"
  51. :title="salePriceStatistic.title"
  52. :description="salePriceStatistic.description"
  53. :data="salePriceStatistic.data"
  54. />
  55. </div>
  56. <div class="col-12">
  57. <CardCart
  58. type="bar"
  59. :title="purchasePriceStatistic.title"
  60. :description="purchasePriceStatistic.description"
  61. :data="purchasePriceStatistic.data"
  62. />
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </DashboardLayout>
  68. </template>