Обновлены компоненты CreateConsumablesSupplyPage и SuppliesDashboard для улучшения навигации. Изменено перенаправление на страницу поставок селлера с открытой вкладкой "Расходники". Добавлена логика автоматического открытия нужной вкладки при загрузке и передача параметра defaultSubTab в компонент FulfillmentSuppliesTab.
This commit is contained in:
@ -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 ||
|
||||||
|
@ -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
|
||||||
|
@ -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">
|
||||||
|
Reference in New Issue
Block a user