상세 수정
This commit is contained in:
@@ -13,7 +13,8 @@ import {
|
||||
ListItemProps,
|
||||
AllTransactionListSummaryParams,
|
||||
AllTransactionListResponse,
|
||||
AllTransactionListSummaryResponse
|
||||
AllTransactionListSummaryResponse,
|
||||
DetailData
|
||||
} from '@/entities/transaction/model/types';
|
||||
import { useAllTransactionListMutation } from '@/entities/transaction/api/use-all-transaction-list-mutation';
|
||||
import { useAllTransactionListSummaryMutation } from '@/entities/transaction/api/use-all-transaction-list-summary-mutation';
|
||||
@@ -31,6 +32,7 @@ import {
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { AllTransactionDetail } from '@/entities/transaction/ui/detail/all-transaction-detail';
|
||||
|
||||
export const AllTransactionListPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
@@ -65,6 +67,10 @@ export const AllTransactionListPage = () => {
|
||||
const [totalAmount, setTotalAmount] = useState<number>(0);
|
||||
|
||||
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
|
||||
|
||||
const [detailOn, setDetailOn] = useState<boolean>(false);
|
||||
const [detailTid, setDetailTid] = useState<string>('');
|
||||
const [detailServiceCode, setDetailServiceCode] = useState<string>('');
|
||||
|
||||
useSetHeaderTitle(t('transaction.listTitle'));
|
||||
useSetHeaderType(HeaderType.LeftArrow);
|
||||
@@ -209,6 +215,14 @@ export const AllTransactionListPage = () => {
|
||||
return rs;
|
||||
};
|
||||
|
||||
const setDetailData = (detailData: DetailData) => {
|
||||
setDetailOn(detailData.detailOn);
|
||||
setDetailTid(detailData.tid);
|
||||
if(detailData?.serviceCode){
|
||||
setDetailServiceCode(detailData?.serviceCode);
|
||||
}
|
||||
};
|
||||
|
||||
const getLocalizedServiceCodeName = (name?: string): string => {
|
||||
if (!name) return '';
|
||||
|
||||
@@ -307,6 +321,7 @@ export const AllTransactionListPage = () => {
|
||||
<AllTransactionList
|
||||
listItems={ listItems }
|
||||
transactionCategory={ TransactionCategory.AllTransaction }
|
||||
setDetailData={ setDetailData }
|
||||
></AllTransactionList>
|
||||
<div ref={ setTarget }></div>
|
||||
</div>
|
||||
@@ -341,7 +356,12 @@ export const AllTransactionListPage = () => {
|
||||
setSearchValue={ setSearchValue }
|
||||
serviceCodeOptions={ serviceCodeOptions }
|
||||
></AllTransactionFilter>
|
||||
|
||||
<AllTransactionDetail
|
||||
detailOn={ detailOn }
|
||||
setDetailOn={ setDetailOn }
|
||||
tid={ detailTid }
|
||||
serviceCode={ detailServiceCode }
|
||||
></AllTransactionDetail>
|
||||
{ !!emailBottomSheetOn &&
|
||||
<EmailBottomSheet
|
||||
bottomSheetOn={ emailBottomSheetOn }
|
||||
|
||||
@@ -14,7 +14,8 @@ import {
|
||||
BillingSearchType,
|
||||
ListItemProps,
|
||||
BillingListParams,
|
||||
BillingListResponse
|
||||
BillingListResponse,
|
||||
DetailData
|
||||
} from '@/entities/transaction/model/types';
|
||||
import { useBillingListMutation } from '@/entities/transaction/api/use-billing-list-mutation';
|
||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
||||
@@ -31,6 +32,7 @@ import {
|
||||
} from '@/widgets/sub-layout/use-sub-layout';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
import { BillingDetail } from '@/entities/transaction/ui/detail/billing-detail';
|
||||
|
||||
export const BillingListPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
@@ -55,6 +57,8 @@ export const BillingListPage = () => {
|
||||
const [maxAmount, setMaxAmount] = useState<number>();
|
||||
|
||||
const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false);
|
||||
const [detailOn, setDetailOn] = useState<boolean>(false);
|
||||
const [detailTid, setDetailTid] = useState<string>('');
|
||||
|
||||
useSetHeaderTitle(t('billing.title'));
|
||||
useSetHeaderType(HeaderType.LeftArrow);
|
||||
@@ -149,10 +153,17 @@ export const BillingListPage = () => {
|
||||
const onClickToRequestStatus = (val: BillingRequestStatus) => {
|
||||
setRequestStatus(val);
|
||||
};
|
||||
const onClickToNavigate = () => {
|
||||
navigate(PATHS.transaction.billing.charge);
|
||||
};
|
||||
|
||||
const onRequestDownload = (userEmail?: string) => {
|
||||
|
||||
};
|
||||
const setDetailData = (detailData: DetailData) => {
|
||||
setDetailOn(detailData.detailOn);
|
||||
setDetailTid(detailData.tid);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callList();
|
||||
@@ -217,11 +228,18 @@ export const BillingListPage = () => {
|
||||
<BillingList
|
||||
listItems={ listItems }
|
||||
transactionCategory={ TransactionCategory.Billing }
|
||||
setDetailData={ setDetailData }
|
||||
></BillingList>
|
||||
<div ref={ setTarget }></div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div className="apply-row">
|
||||
<button
|
||||
className="btn-50 btn-blue flex-1"
|
||||
onClick={ () => onClickToNavigate() }
|
||||
>{ t('transaction.list.paymentRequest') }</button>
|
||||
</div>
|
||||
<BillingFilter
|
||||
filterOn={ filterOn }
|
||||
setFilterOn={ setFilterOn }
|
||||
@@ -246,6 +264,11 @@ export const BillingListPage = () => {
|
||||
setMinAmount={ setMinAmount }
|
||||
setMaxAmount={ setMaxAmount }
|
||||
></BillingFilter>
|
||||
<BillingDetail
|
||||
detailOn={ detailOn }
|
||||
setDetailOn={ setDetailOn }
|
||||
tid={ detailTid }
|
||||
></BillingDetail>
|
||||
{ !!downloadBottomSheetOn &&
|
||||
<EmailBottomSheet
|
||||
bottomSheetOn={ downloadBottomSheetOn }
|
||||
|
||||
@@ -16,7 +16,8 @@ import {
|
||||
CashReceiptSearchNumberType,
|
||||
CashReceiptSummaryParams,
|
||||
CashReceiptListResponse,
|
||||
CashReceiptSummaryResponse
|
||||
CashReceiptSummaryResponse,
|
||||
DetailData
|
||||
} from '@/entities/transaction/model/types';
|
||||
import { useCashReceiptListMutation } from '@/entities/transaction/api/use-cash-receipt-list-mutation';
|
||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
||||
@@ -35,6 +36,7 @@ import { useStore } from '@/shared/model/store';
|
||||
import { useCashReceiptSummaryMutation } from '@/entities/transaction/api/use-cash-receipt-summary-mutation';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
import { CashReceiptDetail } from '@/entities/transaction/ui/detail/cash-receit-detail';
|
||||
|
||||
export const CashReceiptListPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
@@ -62,12 +64,16 @@ export const CashReceiptListPage = () => {
|
||||
|
||||
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
|
||||
|
||||
const [detailOn, setDetailOn] = useState<boolean>(false);
|
||||
const [detailTid, setDetailTid] = useState<string>('');
|
||||
const [detailServiceCode, setDetailServiceCode] = useState<string>('');
|
||||
|
||||
useSetHeaderTitle(t('cashReceipt.title'));
|
||||
useSetHeaderType(HeaderType.LeftArrow);
|
||||
useSetOnBack(() => {
|
||||
navigate(PATHS.home);
|
||||
});
|
||||
useSetFooterMode(false);
|
||||
useSetFooterMode(false);
|
||||
|
||||
const { mutateAsync: cashReceiptList } = useCashReceiptListMutation();
|
||||
const { mutateAsync: cashReceiptSummary } = useCashReceiptSummaryMutation();
|
||||
@@ -157,6 +163,14 @@ export const CashReceiptListPage = () => {
|
||||
setEmailBottomSheetOn(true);
|
||||
};
|
||||
|
||||
const setDetailData = (detailData: DetailData) => {
|
||||
setDetailOn(detailData.detailOn);
|
||||
setDetailTid(detailData.tid);
|
||||
if(detailData?.serviceCode){
|
||||
setDetailServiceCode(detailData?.serviceCode);
|
||||
}
|
||||
};
|
||||
|
||||
const onClickToOpenFilter = () => {
|
||||
setFilterOn(!filterOn);
|
||||
};
|
||||
@@ -175,6 +189,9 @@ export const CashReceiptListPage = () => {
|
||||
const onClickToTransactionType = (val: CashReceiptTransactionType) => {
|
||||
setTransactionType(val);
|
||||
};
|
||||
const onClickToNavigate = () => {
|
||||
navigate(PATHS.transaction.cashReceipt.handWrittenIssuance);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callList();
|
||||
@@ -271,11 +288,18 @@ export const CashReceiptListPage = () => {
|
||||
<CashReceiptList
|
||||
listItems={ listItems }
|
||||
transactionCategory={ TransactionCategory.CashReceipt }
|
||||
setDetailData={ setDetailData }
|
||||
></CashReceiptList>
|
||||
<div ref={ setTarget }></div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div className="apply-row">
|
||||
<button
|
||||
className="btn-50 btn-blue flex-1"
|
||||
onClick={ () => onClickToNavigate() }
|
||||
>{ t('transaction.list.manualIssuance') }</button>
|
||||
</div>
|
||||
<CashReceiptFilter
|
||||
filterOn={ filterOn }
|
||||
setFilterOn={ setFilterOn }
|
||||
@@ -296,6 +320,11 @@ export const CashReceiptListPage = () => {
|
||||
setSearchNumberType={ setSearchNumberType }
|
||||
setSearchNumber={ setSearchNumber }
|
||||
></CashReceiptFilter>
|
||||
<CashReceiptDetail
|
||||
detailOn={ detailOn }
|
||||
setDetailOn={ setDetailOn }
|
||||
tid={ detailTid }
|
||||
></CashReceiptDetail>
|
||||
{ !!emailBottomSheetOn &&
|
||||
<EmailBottomSheet
|
||||
bottomSheetOn={ emailBottomSheetOn }
|
||||
|
||||
@@ -13,7 +13,8 @@ import {
|
||||
EscrowSettlementStatus,
|
||||
ListItemProps,
|
||||
EscrowListParams,
|
||||
EscrowListResponse
|
||||
EscrowListResponse,
|
||||
DetailData
|
||||
} from '@/entities/transaction/model/types';
|
||||
import { useEscrowListMutation } from '@/entities/transaction/api/use-escrow-list-mutation';
|
||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
||||
@@ -30,6 +31,7 @@ import {
|
||||
} from '@/widgets/sub-layout/use-sub-layout';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
import { EscrowDetail } from '@/entities/transaction/ui/detail/escrow-detail';
|
||||
|
||||
export const EscrowListPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
@@ -54,6 +56,10 @@ export const EscrowListPage = () => {
|
||||
const [maxAmount, setMaxAmount] = useState<number>();
|
||||
|
||||
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
|
||||
|
||||
const [detailOn, setDetailOn] = useState<boolean>(false);
|
||||
const [detailTid, setDetailTid] = useState<string>('');
|
||||
const [detailServiceCode, setDetailServiceCode] = useState<string>('');
|
||||
|
||||
useSetHeaderTitle(t('escrow.title'));
|
||||
useSetHeaderType(HeaderType.LeftArrow);
|
||||
@@ -150,6 +156,15 @@ export const EscrowListPage = () => {
|
||||
});
|
||||
*/
|
||||
};
|
||||
|
||||
const setDetailData = (detailData: DetailData) => {
|
||||
setDetailOn(detailData.detailOn);
|
||||
setDetailTid(detailData.tid);
|
||||
if(detailData?.serviceCode){
|
||||
setDetailServiceCode(detailData?.serviceCode);
|
||||
}
|
||||
};
|
||||
|
||||
const onClickToSort = (sort: SortTypeKeys) => {
|
||||
setSortType(sort);
|
||||
};
|
||||
@@ -221,6 +236,7 @@ export const EscrowListPage = () => {
|
||||
<EscrowList
|
||||
listItems={ listItems }
|
||||
transactionCategory={ TransactionCategory.Escrow }
|
||||
setDetailData={ setDetailData }
|
||||
></EscrowList>
|
||||
<div ref={ setTarget }></div>
|
||||
</div>
|
||||
@@ -248,6 +264,12 @@ export const EscrowListPage = () => {
|
||||
setMinAmount={ setMinAmount }
|
||||
setMaxAmount={ setMaxAmount }
|
||||
></EscrowFilter>
|
||||
<EscrowDetail
|
||||
detailOn={ detailOn }
|
||||
setDetailOn={ setDetailOn }
|
||||
tid={ detailTid }
|
||||
serviceCode={ detailServiceCode }
|
||||
></EscrowDetail>
|
||||
{ !!emailBottomSheetOn &&
|
||||
<EmailBottomSheet
|
||||
bottomSheetOn={ emailBottomSheetOn }
|
||||
|
||||
@@ -2,39 +2,30 @@ import { Route } from 'react-router-dom';
|
||||
import { SentryRoutes } from '@/shared/configs/sentry';
|
||||
import { ROUTE_NAMES } from '@/shared/constants/route-names';
|
||||
import { AllTransactionListPage } from './all-transaction/list-page';
|
||||
import { AllTransactionDetailPage } from './all-transaction/detail-page';
|
||||
import { AllTransactionCancelPage } from './all-transaction/cancel-page';
|
||||
import { CashReceiptListPage } from './cash-receipt/list-page';
|
||||
import { CashReceiptDetailPage } from './cash-receipt/detail-page';
|
||||
import { CashReceitHandWrittenIssuancePage } from './cash-receipt/hand-written-issuance-page';
|
||||
import { EscrowListPage } from './escrow/list-page';
|
||||
import { EscrowDetailPage } from './escrow/detail-page';
|
||||
import { BillingListPage } from './billing/list-page';
|
||||
import { BillingDetailPage } from './billing/detail-page';
|
||||
import { BillingChargePage } from './billing/charge-page';
|
||||
|
||||
|
||||
export const TransactionPages = () => {
|
||||
return (
|
||||
<>
|
||||
<SentryRoutes>
|
||||
<Route path={ROUTE_NAMES.transaction.allTransaction.base}>
|
||||
<Route path={ROUTE_NAMES.transaction.allTransaction.list} element={<AllTransactionListPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.allTransaction.detail} element={<AllTransactionDetailPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.allTransaction.cancel} element={<AllTransactionCancelPage />} />
|
||||
</Route>
|
||||
<Route path={ROUTE_NAMES.transaction.cashReceipt.base}>
|
||||
<Route path={ROUTE_NAMES.transaction.cashReceipt.list} element={<CashReceiptListPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.cashReceipt.detail} element={<CashReceiptDetailPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.cashReceipt.handWrittenIssuance} element={<CashReceitHandWrittenIssuancePage />} />
|
||||
</Route>
|
||||
<Route path={ROUTE_NAMES.transaction.escrow.base}>
|
||||
<Route path={ROUTE_NAMES.transaction.escrow.list} element={<EscrowListPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.escrow.detail} element={<EscrowDetailPage />} />
|
||||
</Route>
|
||||
<Route path={ROUTE_NAMES.transaction.billing.base}>
|
||||
<Route path={ROUTE_NAMES.transaction.billing.list} element={<BillingListPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.billing.detail} element={<BillingDetailPage />} />
|
||||
<Route path={ROUTE_NAMES.transaction.billing.charge} element={<BillingChargePage />} />
|
||||
</Route>
|
||||
</SentryRoutes>
|
||||
|
||||
Reference in New Issue
Block a user