wasrusgen
|
4abd7b2ecd
|
feat: proposal cycle — client brief + manager editor + voting
Backend:
- proposals.py: new module with full proposal cycle
(brief → draft → sent → reviewed → done),
Google Sheets «Proposals» tab, Telegram notifications
- main.py: import proposals_mod, 9 new /api/proposal_* routes
added to both dispatch map and native /api/* handlers
Frontend:
- proposals.js: self-contained Proposals module
· Client: brief form (6 items + budget + notes),
waiting screen, proposal view with ✅/❌ per variant,
overall comment + submit
· Manager: empty state → create, editor with categories,
add-variant form, send button, client votes/feedback view
- clients.js: «Подбор техники» button now opens proposals
editor page (#/clients/client/{key}/proposals); inline
Proposals.mountManager() section added to client card;
new renderClientProposalsPage() route handler
- app.js: #/c/proposal route for client side; client home
«Подобрать технику» menu item activated (was «скоро»)
- podbor.css: ~350 lines of Proposals UI styles
- index.html: proposals.js added, cache version → 20260516e
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-16 09:28:36 +03:00 |
|