diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index 12de0f1..8b3f00d 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -215,8 +215,8 @@ "Filtre în BottomSheet pe mobil", "npm run build passes" ], - "passes": false, - "notes": "" + "passes": true, + "notes": "Completed in iteration 13" }, { "id": "US-110", diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt index 50308f9..875b58d 100644 --- a/scripts/ralph/progress.txt +++ b/scripts/ralph/progress.txt @@ -78,3 +78,9 @@ Mon Jan 12 09:44:54 AM UTC 2026 [2026-01-12 10:11:10] Working on story: US-108 [2026-01-12 10:11:10] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_12_US-108.log) [2026-01-12 10:13:33] SUCCESS: Story US-108 passed! +[2026-01-12 10:13:33] Changes committed +[2026-01-12 10:13:33] Progress: 11/20 stories completed +[2026-01-12 10:13:35] === Iteration 13/100 === +[2026-01-12 10:13:35] Working on story: US-109 +[2026-01-12 10:13:35] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_13_US-109.log) +[2026-01-12 10:16:15] SUCCESS: Story US-109 passed! diff --git a/src/modules/reports/views/BankCashRegisterView.vue b/src/modules/reports/views/BankCashRegisterView.vue index e9d8b53..bb378b4 100644 --- a/src/modules/reports/views/BankCashRegisterView.vue +++ b/src/modules/reports/views/BankCashRegisterView.vue @@ -1,8 +1,105 @@ - -
- -
-
- - -
-
-
- Sold Prec: - {{ formatCompact(treasuryStore.totals.sold_precedent_all) }} -
-
- Încasări: - {{ formatCompact(treasuryStore.totals.total_incasari_all) }} -
-
- Plăți: - {{ formatCompact(treasuryStore.totals.total_plati_all) }} -
-
- Sold Final: - {{ formatCompact(treasuryStore.totals.sold_final_all) }} -
+ +
+
+
+ Sold Prec: + {{ formatCompact(treasuryStore.totals.sold_precedent_all) }} +
+
+ Încasări: + {{ formatCompact(treasuryStore.totals.total_incasari_all) }} +
+
+ Plăți: + {{ formatCompact(treasuryStore.totals.total_plati_all) }} +
+
+ Sold Final: + {{ formatCompact(treasuryStore.totals.sold_final_all) }}
- - + +
+ + +
@@ -356,6 +418,12 @@ import { useAccountingPeriodStore } from "@reports/stores/sharedStores"; import { format } from "date-fns"; import { exportToExcel, exportBankCashRegisterPDF } from "@reports/utils/exportUtils"; +// US-109: Mobile Material Design components +import MobileTopBar from "@shared/components/mobile/MobileTopBar.vue"; +import MobileBottomNav from "@shared/components/mobile/MobileBottomNav.vue"; +import BottomSheet from "@shared/components/mobile/BottomSheet.vue"; +import Sidebar from "primevue/sidebar"; + const toast = useToast(); const treasuryStore = useTreasuryStore(); const companyStore = useCompanyStore(); @@ -368,6 +436,51 @@ const selectedCompanyId = ref(companyStore.selectedCompany?.id_firma || null); const isMobile = ref(window.innerWidth < 768); const showFilters = ref(false); const actionsMenu = ref(null); +const mobileMenuVisible = ref(false); + +// US-109: Toggle mobile hamburger menu +const toggleMobileMenu = () => { + mobileMenuVisible.value = !mobileMenuVisible.value; +}; + +// US-109: Mobile TopBar actions (filter, refresh, export) +const mobileTopBarActions = computed(() => [ + { + icon: "pi pi-filter", + label: "Filtre", + tooltip: "Filtre", + active: hasActiveFilters.value + }, + { + icon: "pi pi-refresh", + label: "Actualizează", + tooltip: "Actualizează" + }, + { + icon: "pi pi-download", + label: "Export", + tooltip: "Export Excel" + } +]); + +// US-109: Handle top bar action clicks +const handleTopBarAction = (action) => { + if (action.icon === "pi pi-filter") { + showFilters.value = !showFilters.value; + } else if (action.icon === "pi pi-refresh") { + refreshData(); + } else if (action.icon === "pi pi-download") { + exportExcel(); + } +}; + +// US-109: Bottom nav items for MobileBottomNav component +const mobileBottomNavItems = computed(() => [ + { to: "/data-entry", icon: "pi pi-receipt", label: "Bonuri" }, + { to: "/reports/bank-cash-register", icon: "pi pi-wallet", label: "Trezorerie", active: true }, + { to: "/reports/dashboard", icon: "pi pi-chart-bar", label: "Rapoarte" }, + { to: "/data-entry/ocr-metrics", icon: "pi pi-cog", label: "Setări" } +]); // Handle window resize const handleResize = () => { @@ -897,12 +1010,9 @@ watch(