Обновлены компоненты CreateConsumablesSupplyPage и SuppliesDashboard для улучшения навигации. Изменено перенаправление на страницу поставок селлера с открытой вкладкой "Расходники". Добавлена логика автоматического открытия нужной вкладки при загрузке и передача параметра defaultSubTab в компонент FulfillmentSuppliesTab.

This commit is contained in:
Bivekich
2025-07-24 15:16:23 +03:00
parent c6b1b15c80
commit c7f91468c6
3 changed files with 27 additions and 6 deletions

View File

@ -256,8 +256,8 @@ export function CreateConsumablesSupplyPage() {
setProductSearchQuery("");
setSearchQuery("");
// Перенаправляем на страницу поставок селлера
router.push("/supplies");
// Перенаправляем на страницу поставок селлера с открытой вкладкой "Расходники"
router.push("/supplies?tab=consumables");
} else {
toast.error(
result.data?.createSupplyOrder?.message ||

View File

@ -1,14 +1,25 @@
"use client";
import React, { useState } from "react";
import React, { useState, useEffect } from "react";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { FulfillmentGoodsTab } from "./fulfillment-goods-tab";
import { RealSupplyOrdersTab } from "./real-supply-orders-tab";
import { PvzReturnsTab } from "./pvz-returns-tab";
export function FulfillmentSuppliesTab() {
interface FulfillmentSuppliesTabProps {
defaultSubTab?: string;
}
export function FulfillmentSuppliesTab({ defaultSubTab }: FulfillmentSuppliesTabProps) {
const [activeSubTab, setActiveSubTab] = useState("goods");
// Устанавливаем активную подвкладку при получении defaultSubTab
useEffect(() => {
if (defaultSubTab) {
setActiveSubTab(defaultSubTab);
}
}, [defaultSubTab]);
return (
<div className="h-full overflow-hidden">
<Tabs

View File

@ -1,10 +1,11 @@
"use client";
import React, { useState } from "react";
import React, { useState, useEffect } from "react";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Button } from "@/components/ui/button";
import { Sidebar } from "@/components/dashboard/sidebar";
import { useSidebar } from "@/hooks/useSidebar";
import { useSearchParams } from "next/navigation";
import { Plus, Package, Wrench, ChevronDown } from "lucide-react";
import { FulfillmentSuppliesTab } from "./fulfillment-supplies/fulfillment-supplies-tab";
import { MarketplaceSuppliesTab } from "./marketplace-supplies/marketplace-supplies-tab";
@ -17,8 +18,17 @@ import {
export function SuppliesDashboard() {
const { getSidebarMargin } = useSidebar();
const searchParams = useSearchParams();
const [activeTab, setActiveTab] = useState("fulfillment");
// Автоматически открываем нужную вкладку при загрузке
useEffect(() => {
const tab = searchParams.get('tab');
if (tab === 'consumables') {
setActiveTab('fulfillment'); // Устанавливаем основную вкладку "Поставки на ФФ"
}
}, [searchParams]);
return (
<div className="h-screen flex overflow-hidden">
<Sidebar />
@ -83,7 +93,7 @@ export function SuppliesDashboard() {
</div>
<TabsContent value="fulfillment" className="mt-0 flex-1 overflow-hidden">
<FulfillmentSuppliesTab />
<FulfillmentSuppliesTab defaultSubTab={searchParams.get('tab') === 'consumables' ? 'supplies' : undefined} />
</TabsContent>
<TabsContent value="marketplace" className="mt-0 flex-1 overflow-hidden">