174dbae808
Backend TenantChargesController: - GET /api/billing/charges — paginated list, filters period (current_month / last_month / 90d) + charge_source. - POST /api/billing/charges/export — StreamedResponse CSV (BOM + UTF-8) с chunkById(500). - auth:sanctum + tenant middleware — RLS изолирует tenant_id. - 6 Pest integration tests (RLS isolation + filters + pagination + CSV export). Frontend ChargesTab.vue: - v-data-table-server с paginated load + period/charge_source filters. - CSV-download через blob → createObjectURL. - Forest-palette + JetBrains Mono tnum. BillingView.vue — добавлен tab «Списания» с импортом ChargesTab. ChargesTab.story.vue + 4 Vitest tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>