feat(supplier-orders): добавить параметры поставки в таблицу заявок

- Добавлены колонки Объём и Грузовые места между Цена товаров и Статус
- Реализованы инпуты для ввода volume и packagesCount в статусе PENDING для роли WHOLESALE
- Добавлена мутация UPDATE_SUPPLY_PARAMETERS с проверками безопасности
- Скрыта строка Поставщик для роли WHOLESALE (поставщик знает свои данные)
- Исправлено выравнивание таблицы при скрытии уровня поставщика
- Реорганизованы документы: legacy-rules/, docs/, docs-and-reports/

ВНИМАНИЕ: Компонент multilevel-supplies-table.tsx (1697 строк) нарушает правило модульной архитектуры (>800 строк требует рефакторинга)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Veronika Smirnova
2025-08-23 18:47:23 +03:00
parent 35cbbac504
commit 12fd8ddf61
27 changed files with 1250 additions and 208 deletions

View File

@ -902,11 +902,11 @@ function getMarketLabel(market: string): string {
}
```
#### **2. ОПЦИОНАЛЬНЫЕ ПОЛЯ УПАКОВКИ ПРИ ОДОБРЕНИИ:**
#### **2. ОПЦИОНАЛЬНЫЕ ПАРАМЕТРЫ ПОСТАВКИ ПРИ ОДОБРЕНИИ:**
```jsx
{
/* ОПЦИОНАЛЬНЫЕ поля для поставщика - отображаются сразу при одобрении заказа */
/* ОПЦИОНАЛЬНЫЕ параметры поставки для поставщика - отображаются при одобрении заказа */
}
;<div className="grid grid-cols-2 gap-4">
<div>
@ -918,7 +918,7 @@ function getMarketLabel(market: string): string {
aria-describedby="packages-help"
/>
<p id="packages-help" className="text-xs text-white/60 mt-1">
Используется логистикой для расчета тарифов
Параметр поставки для логистических расчетов
</p>
</div>
@ -926,7 +926,27 @@ function getMarketLabel(market: string): string {
<Label htmlFor="volume">Объем груза (м³)</Label>
<Input id="volume" type="number" step="0.01" placeholder="0.00 (опционально)" aria-describedby="volume-help" />
<p id="volume-help" className="text-xs text-white/60 mt-1">
Помогает логистике в планировании маршрутов
Параметр поставки для планирования маршрутов
</p>
</div>
<div>
<Label htmlFor="deliveryDate">Дата поставки</Label>
<GlassDatePicker
id="deliveryDate"
placeholder="Выберите дату поставки"
aria-describedby="delivery-help"
/>
<p id="delivery-help" className="text-xs text-white/60 mt-1">
Основной параметр поставки - когда товары должны быть доставлены
</p>
</div>
<div>
<Label htmlFor="totalAmount">Общая стоимость товаров</Label>
<Input id="totalAmount" type="number" readOnly className="bg-white/5" />
<p className="text-xs text-white/60 mt-1">
Ключевой параметр поставки - автоматически рассчитывается
</p>
</div>