From e78f8a68f47495fd9e3455c89bd4553335a3d6e9 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 28 Jun 2026 11:10:14 +0600 Subject: [PATCH] [2026-06-28] eagle: personal/projects/budget-app/index.md --- personal/projects/budget-app/index.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/personal/projects/budget-app/index.md b/personal/projects/budget-app/index.md index 535f0fc2..75cd585b 100644 --- a/personal/projects/budget-app/index.md +++ b/personal/projects/budget-app/index.md @@ -455,6 +455,30 @@ API возвращает `t.date.isoformat()` → `2026-05-29T17:00:00`. Файлы: `frontend/src/pages/Transactions.vue`, `Accounts.vue`, `TaxRecords.vue` — каждая содержит `CURRENCY_SYMBOLS` маппинг и функцию `getCurrencySymbol`/`currencySymbol`. +### Страница быстрого ввода наличных + +**Файл:** `frontend/src/pages/CashInput.vue` +**Маршрут:** `/cash` + +Одна страница с двумя режимами, переключаемыми сегмент-кнопкой: + +**Режим «Расход» (по умолчанию):** +- Выбор наличного счёта (type=cash) — чипами, последний сохраняется в localStorage +- Поле суммы (крупное, центрированное) +- Чипы с топ-категориями наличных расходов (Grocery, Рестораны, Стройка, Быт/Техника, Дети, Отдых, Медицина, Авто, Транспорт/АЗС, Жена, Одежда, Кредиты, Квартплата, Аренда, Прочее) +- Кнопка «Другое» → раскрывающийся список всех остальных категорий по группам +- Опциональный комментарий +- POST /api/transactions (source_account → NULL) + +**Режим «Обмен валюты»:** +- Селекты счёт-источник / счёт-получатель (фильтр: другая валюта) +- Сумма (отдаю), Курс, Получу — три поля с двусторонним пересчётом: + - меняешь сумму → получу = сумма * курс + - меняешь курс → получу = сумма * курс + - меняешь получу → курс = получу / сумма +- Комментарий (предзаполнен «Обмен валюты») +- POST /api/transactions (source → dest с cross_rate) + ### Пароль - `admin123` — совпадает с `ADMIN_PASSWORD` в `.env` @@ -478,6 +502,7 @@ API возвращает `t.date.isoformat()` → `2026-05-29T17:00:00`. | Налоговый учёт | ✅ | Кит | | DateTime в транзакциях (date → DateTime, datetime-local на фронте, миграция) | ✅ | Кит | | Символ валюты вместо колонки (Transactions, Accounts, TaxRecords) | ✅ | Кит | +| Страница быстрого ввода наличных / обмена валюты (CashInput.vue) | ✅ | Кит | ### Phase 2 — что сделано (подробно)