Основные изменения: 1. CSV экспорт и веб-интерфейс: - Компоненты теперь сортируются по иерархии категорий (display_order) - Категории отображаются в правильном порядке: BB, CPU, MEM, GPU и т.д. - Компоненты без категории отображаются в конце 2. Раздел PCI в конфигураторе: - Разделен на секции: GPU/DPU, NIC/HCA, HBA - Улучшена навигация и выбор компонентов 3. Сохранение "своей цены": - Добавлено поле custom_price в модель Configuration - Создана миграция 002_add_custom_price.sql - "Своя цена" сохраняется при сохранении конфигурации - При загрузке конфигурации восстанавливается сохраненная цена 4. Автосохранение: - Конфигурация автоматически сохраняется через 1 секунду после изменений - Debounce предотвращает избыточные запросы - Автосохранение работает для всех изменений (компоненты, количество, цена) 5. Дополнительно: - Добавлен cmd/importer для импорта метаданных из таблицы lot - Создан скрипт apply_migration.sh для применения миграций - Оптимизирована работа с категориями в ExportService Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// Lot represents existing lot table
|
|
type Lot struct {
|
|
LotName string `gorm:"column:lot_name;primaryKey;size:255" json:"lot_name"`
|
|
LotDescription string `gorm:"column:lot_description;size:10000" json:"lot_description"`
|
|
LotCategory *string `gorm:"column:lot_category;size:50" json:"lot_category"`
|
|
}
|
|
|
|
func (Lot) TableName() string {
|
|
return "lot"
|
|
}
|
|
|
|
// LotLog represents existing lot_log table (READ-ONLY)
|
|
type LotLog struct {
|
|
LotLogID uint `gorm:"column:lot_log_id;primaryKey;autoIncrement"`
|
|
Lot string `gorm:"column:lot;size:255;not null"`
|
|
Supplier string `gorm:"column:supplier;size:255;not null"`
|
|
Date time.Time `gorm:"column:date;type:date;not null"`
|
|
Price float64 `gorm:"column:price;not null"`
|
|
Quality string `gorm:"column:quality;size:255"`
|
|
Comments string `gorm:"column:comments;size:15000"`
|
|
}
|
|
|
|
func (LotLog) TableName() string {
|
|
return "lot_log"
|
|
}
|
|
|
|
// Supplier represents existing supplier table (READ-ONLY)
|
|
type Supplier struct {
|
|
SupplierName string `gorm:"column:supplier_name;primaryKey;size:255"`
|
|
SupplierComment string `gorm:"column:supplier_comment;size:10000"`
|
|
}
|
|
|
|
func (Supplier) TableName() string {
|
|
return "supplier"
|
|
}
|