Обновлены компоненты 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(""); setProductSearchQuery("");
setSearchQuery(""); setSearchQuery("");
// Перенаправляем на страницу поставок селлера // Перенаправляем на страницу поставок селлера с открытой вкладкой "Расходники"
router.push("/supplies"); router.push("/supplies?tab=consumables");
} else { } else {
toast.error( toast.error(
result.data?.createSupplyOrder?.message || result.data?.createSupplyOrder?.message ||

View File

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

View File

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