상세 수정

This commit is contained in:
focp212@naver.com
2025-11-03 20:57:55 +09:00
parent 344e5c324a
commit d2b477e7bd
38 changed files with 1569 additions and 256 deletions

View File

@@ -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 }