Files
roa2web-service-auto/reports-app/frontend/src/main.js
Marius Mutu 8eed1566a3 feat: Enhance invoice management with PDF optimization and date fixes
Optimize PDF export layout with compact columns and more space for partner names.
Add accounting period display to invoices matching Trial Balance format. Fix date
filtering to use local timezone instead of UTC. Update invoice ordering to
chronological sequence (DATAACT, NRACT, NUME).

**Backend changes:**
- Add accounting period query from calendar table
- Add currency (valuta) and cont filter support
- Change invoice ordering to chronological (DATAACT ASC, NRACT ASC, NUME)
- Add accounting_period field to InvoiceListResponse model

**Frontend changes:**
- Optimize PDF column widths (37% for partner names, compact numeric columns)
- Add custom column width support in exportUtils
- Fix date conversion from UTC to local timezone (prevents day shift)
- Add accounting period display in PDF exports
- Enhance E2E test coverage

**Cleanup:**
- Remove obsolete Trial Balance feature documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 15:29:24 +02:00

81 lines
2.2 KiB
JavaScript

import { createApp } from "vue";
import { createPinia } from "pinia";
import PrimeVue from "primevue/config";
// import Aura from '@primevue/themes/aura'
import ToastService from "primevue/toastservice";
import ConfirmationService from "primevue/confirmationservice";
import Tooltip from "primevue/tooltip";
// Core components
import Button from "primevue/button";
import InputText from "primevue/inputtext";
import Password from "primevue/password";
import DataTable from "primevue/datatable";
import Column from "primevue/column";
import Card from "primevue/card";
import Toast from "primevue/toast";
import ConfirmDialog from "primevue/confirmdialog";
import Menu from "primevue/menu";
import Menubar from "primevue/menubar";
import Badge from "primevue/badge";
import Tag from "primevue/tag";
import Dropdown from "primevue/dropdown";
import AutoComplete from "primevue/autocomplete";
import Calendar from "primevue/calendar";
import ProgressSpinner from "primevue/progressspinner";
import Dialog from "primevue/dialog";
// PrimeVue CSS
import "primevue/resources/themes/saga-blue/theme.css";
import "primevue/resources/primevue.min.css";
// Icons
import "primeicons/primeicons.css";
// ROA2WEB CSS System (replaces global.css)
import "./assets/css/main.css";
import App from "./App.vue";
import router from "./router";
const app = createApp(App);
// Pinia store
app.use(createPinia());
// Vue Router
app.use(router);
// PrimeVue with default theme
app.use(PrimeVue, {
ripple: true,
});
// PrimeVue services
app.use(ToastService);
app.use(ConfirmationService);
// PrimeVue directives
app.directive("tooltip", Tooltip);
// Global PrimeVue components
app.component("Button", Button);
app.component("InputText", InputText);
app.component("Password", Password);
app.component("DataTable", DataTable);
app.component("Column", Column);
app.component("Card", Card);
app.component("Toast", Toast);
app.component("ConfirmDialog", ConfirmDialog);
app.component("Menu", Menu);
app.component("Menubar", Menubar);
app.component("Badge", Badge);
app.component("Tag", Tag);
app.component("Dropdown", Dropdown);
app.component("AutoComplete", AutoComplete);
app.component("Calendar", Calendar);
app.component("ProgressSpinner", ProgressSpinner);
app.component("Dialog", Dialog);
app.mount("#app");