dashboard.vue 870 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <div class="admin--dashboard">
  3. <div class="admin--dashboard-stats">
  4. </div>
  5. </div>
  6. </template>
  7. <script setup>
  8. import { ref, onMounted } from 'vue'
  9. definePageMeta({
  10. layout: 'admin',
  11. middleware: ['auth']
  12. })
  13. const stats = ref({
  14. popups: 0,
  15. branches: 0,
  16. employees: 0,
  17. brochures: 0
  18. })
  19. const { get } = useApi()
  20. const loadDashboardStats = async () => {
  21. const { data, error } = await get('/dashboard/stats')
  22. console.log('[Dashboard] API 응답:', { data, error })
  23. if (error) {
  24. console.error('[Dashboard] 통계 로드 실패:', error)
  25. return
  26. }
  27. // API 응답: { success: true, data: { popups, branches, employees, brochures } }
  28. if (data?.success && data?.data) {
  29. stats.value = data.data
  30. console.log('[Dashboard] 통계 로드 성공:', stats.value)
  31. }
  32. }
  33. onMounted(() => {
  34. loadDashboardStats()
  35. })
  36. </script>