import { Box, Button, Flex } from '@chakra-ui/react'; import FillRowTabs from '@fastgpt/web/components/common/Tabs/FillRowTabs'; import dynamic from 'next/dynamic'; import { useState } from 'react'; import { useTranslation } from 'next-i18next'; import ApplyInvoiceModal from './components/ApplyInvoiceModal'; import { useRouter } from 'next/router'; import AccountContainer, { TabEnum } from '../components/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; export enum InvoiceTabEnum { bill = 'bill', invoice = 'invoice', invoiceHeader = 'invoiceHeader' } const BillTable = dynamic(() => import('./components/BillTable')); const InvoiceHeaderForm = dynamic(() => import('./components/InvoiceHeaderForm')); const InvoiceTable = dynamic(() => import('./components/InvoiceTable')); const BillAndInvoice = () => { const { t } = useTranslation(); const router = useRouter(); const { invoiceTab = InvoiceTabEnum.bill } = router.query as { invoiceTab: `${InvoiceTabEnum}` }; const [isOpenInvoiceModal, setIsOpenInvoiceModal] = useState(false); return ( { router.replace({ query: { ...router.query, invoiceTab: e } }); }} > {invoiceTab !== InvoiceTabEnum.invoiceHeader && ( )} {invoiceTab === InvoiceTabEnum.bill && } {invoiceTab === InvoiceTabEnum.invoice && } {invoiceTab === InvoiceTabEnum.invoiceHeader && } {isOpenInvoiceModal && ( { setIsOpenInvoiceModal(false); }} /> )} ); }; export async function getServerSideProps(content: any) { return { props: { ...(await serviceSideProps(content, ['account_bill', 'account'])) } }; } export default BillAndInvoice;