- Added background task manager with goroutine execution and panic recovery
- Replaced SSE streaming with background task execution for:
* Price recalculation (RecalculateAll)
* Stock import (ImportStockLog)
* Pricelist creation (CreateWithProgress)
- Implemented unified polling for task status and DB connection in frontend
- Added task indicator in top bar showing running tasks count
- Added toast notifications for task completion/error
- Tasks automatically cleaned up after 10 minutes
- Tasks show progress (0-100%) with descriptive messages
- Updated handler constructors to receive task manager
- Added API endpoints for task status (/api/tasks, /api/tasks/:id)
Fixes issue with SSE disconnection on slow connections during long-running operations
- Add CSV export functionality for pricelists with download button
- Export includes all pricelist items with proper UTF-8 encoding
- Support both warehouse and estimate pricelist sources
- Remove description column from admin pricing tables
- Show description as tooltip on row hover instead
- Improve table layout by removing redundant column
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add LOT creation functionality in pricing admin
- New API endpoint POST /api/admin/pricing/lots
- Modal form for creating new LOT with auto-category detection
- Creates entries in both lot and qt_lot_metadata tables
- Implement auto-save for stock mappings
- Auto-save on change for partnumber → LOT mappings
- Visual feedback (orange during save, green on success, red on error)
- Works in both main mappings table and import suggestions
- Improve stock import suggestions UI
- Remove "Причина" column from suggestions table
- Increase LOT and Partnumber column widths to 33% each
- Better visual balance in the table layout
- Disable automatic warehouse pricelist creation on stock_log import
- Import now completes at 100% after stock_log update
- Manual pricelist creation available via UI when needed
- Faster import process without auto-generation overhead
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>