56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
"use client";
|
|
|
|
import { useState } from "react";
|
|
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@common/components";
|
|
|
|
import { AcntgCodeTabPanel } from "./acntg-code-tab-panel";
|
|
import { CnstpCodeTabPanel } from "./cnstp-code-tab-panel";
|
|
import { FnrsSharCodeTabPanel } from "./fnrs-shar-code-tab-panel";
|
|
|
|
const TAB = {
|
|
ACNTG: "acntg",
|
|
CNSTP: "cnstp",
|
|
FNRS_SHAR: "fnrs-shar",
|
|
} as const;
|
|
|
|
function CodeManagementPage() {
|
|
const [activeTab, setActiveTab] = useState<string>(TAB.ACNTG);
|
|
|
|
return (
|
|
<div className="space-y-6 px-[1.8rem] pb-6">
|
|
<section className="card card-border mx-0 bg-background pb-6 pt-0">
|
|
<div className="card-header">
|
|
<h3 className="text-2xl font-semibold">코드 관리</h3>
|
|
</div>
|
|
|
|
<Tabs value={activeTab} onValueChange={setActiveTab} className="pt-2">
|
|
<TabsList>
|
|
<TabsTrigger value={TAB.ACNTG} className="!px-6 !py-3 text-xl">
|
|
회계코드
|
|
</TabsTrigger>
|
|
<TabsTrigger value={TAB.CNSTP} className="!px-6 !py-3 text-xl">
|
|
공사코드
|
|
</TabsTrigger>
|
|
<TabsTrigger value={TAB.FNRS_SHAR} className="!px-6 !py-3 text-xl">
|
|
재원분담구분코드
|
|
</TabsTrigger>
|
|
</TabsList>
|
|
|
|
<TabsContent value={TAB.ACNTG} className="mt-0 border-0 p-0 shadow-none ring-0">
|
|
<AcntgCodeTabPanel />
|
|
</TabsContent>
|
|
<TabsContent value={TAB.CNSTP} className="mt-0 border-0 p-0 shadow-none ring-0">
|
|
<CnstpCodeTabPanel />
|
|
</TabsContent>
|
|
<TabsContent value={TAB.FNRS_SHAR} className="mt-0 border-0 p-0 shadow-none ring-0">
|
|
<FnrsSharCodeTabPanel />
|
|
</TabsContent>
|
|
</Tabs>
|
|
</section>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export { CodeManagementPage };
|