- {/* Аватар и основная информация */}
-
-
-
-
- {supplier.name || supplier.fullName || "Поставщик"}
-
-
- {renderStars()}
-
- 4.5
-
-
-
-
- Поставщик расходников
-
-
-
-
- {/* Контактная информация */}
-
- {supplier.address && (
-
-
- {supplier.address}
-
- )}
- {supplier.phones && supplier.phones.length > 0 && (
-
-
-
{supplier.phones[0].value}
-
- )}
- {supplier.emails && supplier.emails.length > 0 && (
-
-
-
- {supplier.emails[0].value}
-
-
- )}
-
-
- {/* Дополнительная информация */}
-
-
- ИНН:
- {supplier.inn}
-
-
-
- {/* Кнопка выбора */}
+ {/* Основной контент с двумя блоками */}
+
+ {/* Левая колонка - Поставщики и Расходники */}
+
+ {/* Блок "Поставщики" */}
+
+
+
+
+
+ Поставщики
+
+ {selectedSupplier && (
+ )}
+
+
+
+ setSearchQuery(e.target.value)}
+ className="bg-white/10 border-white/20 text-white placeholder-white/40 pl-10"
+ />
+
+
+
+
+ {counterpartiesLoading ? (
+
+
+
Загрузка поставщиков...
-
- ))}
+ ) : filteredSuppliers.length === 0 ? (
+
+
+
+ {searchQuery
+ ? "Поставщики не найдены"
+ : "У вас пока нет партнеров-поставщиков расходников"}
+
+
+ ) : (
+
+ {filteredSuppliers.map((supplier: ConsumableSupplier) => (
+
setSelectedSupplier(supplier)}
+ >
+
+
({
+ id: user.id,
+ avatar: user.avatar,
+ })),
+ }}
+ size="sm"
+ />
+
+
+ {supplier.name ||
+ supplier.fullName ||
+ "Поставщик"}
+
+
+ {renderStars(4.5)}
+
+ 4.5
+
+
+
+ ИНН: {supplier.inn}
+
+
+ {selectedSupplier?.id === supplier.id && (
+
+
+ Выбран
+
+
+ )}
+
+
+ ))}
+
+ )}
+
+
+
+ {/* Блок "Расходники" */}
+
+
+
+
+
+ Расходники
+ {selectedSupplier && (
+
+ - {selectedSupplier.name || selectedSupplier.fullName}
+
+ )}
+
+
+ {selectedSupplier && (
+
+
+ setProductSearchQuery(e.target.value)}
+ className="bg-white/10 border-white/20 text-white placeholder-white/40 pl-10"
+ />
+
+ )}
+
+
+
+ {!selectedSupplier ? (
+
+
+
+ Выберите поставщика для просмотра расходников
+
+
+ ) : productsLoading ? (
+
+
+
Загрузка расходников...
+
+ ) : supplierProducts.length === 0 ? (
+
+
+
+ У данного поставщика нет доступных расходников
+
+
+ ) : (
+
+ {supplierProducts.map((product: ConsumableProduct) => {
+ const selectedQuantity = getSelectedQuantity(
+ product.id
+ );
+ return (
+
+
+ {/* Изображение товара */}
+
+ {product.images && product.images.length > 0 ? (
+
+ ) : (
+
+
+
+ )}
+
+
+ {/* Информация о товаре */}
+
+
+ {product.name}
+
+ {product.category && (
+
+ {product.category.name}
+
+ )}
+
+ {product.description ||
+ "Описание отсутствует"}
+
+
+
+ {formatCurrency(product.price)}
+ {product.unit && (
+
+ / {product.unit}
+
+ )}
+
+ {product.stock && (
+
+ В наличии: {product.stock}
+
+ )}
+
+
+
+ {/* Управление количеством */}
+
+
+
+
+ {selectedQuantity}
+
+
+
+ {selectedQuantity > 0 && (
+
+ {formatCurrency(
+ product.price * selectedQuantity
+ )}
+
+ )}
+
+
+
+ );
+ })}
+
+ )}
+
+
+
+
+ {/* Правая колонка - Корзина */}
+ {selectedConsumables.length > 0 && (
+
+
+
+
+ Корзина ({getTotalItems()} шт)
+
+
+
+ {selectedConsumables.map((consumable) => (
+
+
+
+ {consumable.name}
+
+
+ {formatCurrency(consumable.price)} ×{" "}
+ {consumable.selectedQuantity}
+
+
+
+
+ {formatCurrency(
+ consumable.price * consumable.selectedQuantity
+ )}
+
+
+
+
+ ))}
+
+
+
+
+
+ setDeliveryDate(e.target.value)}
+ className="bg-white/10 border-white/20 text-white"
+ min={new Date().toISOString().split("T")[0]}
+ required
+ />
+
+
+ Итого:
+
+ {formatCurrency(getTotalAmount())}
+
+
+
+
+
)}