diff --git a/src/entities/common/model/constant.ts b/src/entities/common/model/constant.ts index b5647e2..4df811d 100644 --- a/src/entities/common/model/constant.ts +++ b/src/entities/common/model/constant.ts @@ -3,7 +3,7 @@ import { SortTypeKeys } from "./types"; export const DEFAULT_PAGE_PARAM = { cursor: null, - size: 0, + size: 20, sortType: SortTypeKeys.LATEST, limit: 0 }; diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts index faf8381..bb84251 100644 --- a/src/entities/transaction/model/types.ts +++ b/src/entities/transaction/model/types.ts @@ -176,6 +176,7 @@ export interface CashReceiptListItem { transactionTime?: string; customerName?: string; issueNumber?: string; + tid?: string; approvalNumber?: string; amount?: number; processResult?: string; @@ -310,10 +311,10 @@ export interface AllTransactionDetailParams { tid?: string; }; export interface CashReceiptDetailParams { - approvalNumber?: string; + tid?: string; }; export interface EscrowDetailParams { - issueNumber?: number; + tid?: string; }; export interface BillingDetailParams { billKey?: string; @@ -333,6 +334,12 @@ export interface AmountInfo { multiCouponAmount?: number; receiptAmount?: number; cupDepositAmount?: number; + + amount?: number; + supplyAmount?: number; + vat?: number; + serviceAmount?: number; + taxFreeAmount?: number; }; export interface ImportantInfo { moid?: string; @@ -478,6 +485,7 @@ export interface MerchantInfo { } export interface DetailResponse { + amountDetail?: AmountInfo; amountInfo?: AmountInfo; importantInfo?: ImportantInfo; paymentInfo?: PaymentInfo; @@ -501,6 +509,7 @@ export interface InfoSectionProps extends DetailResponse { serviceCode?: string; purposeType?: CashReceiptPurposeType | string; onClickToOpenInfo?: (info: InfoSectionKeys) => void; + canDownloadReceipt?: boolean; } @@ -675,7 +684,7 @@ export interface BillingFilterProps extends FilterProps { }; export interface CashReceiptPurposeUpdateParams { - approvalNumber: string; + tid: string; newPurpose: string; }; export interface CashReceiptPurposeUpdateResponse { diff --git a/src/entities/transaction/ui/filter/all-transaction-filter.tsx b/src/entities/transaction/ui/filter/all-transaction-filter.tsx index ff29cb6..eef2b3b 100644 --- a/src/entities/transaction/ui/filter/all-transaction-filter.tsx +++ b/src/entities/transaction/ui/filter/all-transaction-filter.tsx @@ -9,16 +9,11 @@ import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; import { FilterRangeAmount } from '@/shared/ui/filter/range-amount'; import { AllTransactionMoidTidOptionsGroup, - AllTransactionStatusCodeBtnGroup, - AllTransactionServiceCodeOptionsGroup, - AllTransactionCardBankCodeOptionsGroup, AllTracsactionStatusCode, } from '@/entities/transaction/model/contant'; import { AllTransactionFilterProps, AllTransactionSearchCl, - AllTransactionStatusCode, - AllTransactionServiceCode, AllTransactionMoidTid } from '../../model/types'; import { diff --git a/src/entities/transaction/ui/list-item.tsx b/src/entities/transaction/ui/list-item.tsx index d865978..dff44b4 100644 --- a/src/entities/transaction/ui/list-item.tsx +++ b/src/entities/transaction/ui/list-item.tsx @@ -58,14 +58,14 @@ export const ListItem = ({ else if(transactionCategory === TransactionCategory.CashReceipt){ navigate(PATHS.transaction.cashReceipt.detail, { state: { - approvalNumber: approvalNumber + tid: tid } }); } else if(transactionCategory === TransactionCategory.Escrow){ navigate(PATHS.transaction.escrow.detail, { state: { - issueNumber: issueNumber + tid: tid } }); } diff --git a/src/entities/transaction/ui/section/amount-info-section.tsx b/src/entities/transaction/ui/section/amount-info-section.tsx index 3d6865a..167a134 100644 --- a/src/entities/transaction/ui/section/amount-info-section.tsx +++ b/src/entities/transaction/ui/section/amount-info-section.tsx @@ -12,7 +12,8 @@ export const AmountInfoSection = ({ isOpen, tid, serviceCode, - onClickToOpenInfo + onClickToOpenInfo, + canDownloadReceipt }: InfoSectionProps) => { const { mutateAsync: downloadConfirmation } = useDownloadConfirmationMutation(); let newAmountInfo: Record | undefined = amountInfo; @@ -186,7 +187,7 @@ export const AmountInfoSection = ({
- { + { (transactionCategory === TransactionCategory.AllTransaction) && (serviceCode === '01' || serviceCode === '02' || serviceCode === '03' || serviceCode === '26') && } - { + { (transactionCategory === TransactionCategory.AllTransaction) && (serviceCode === '05' || serviceCode === '14' || serviceCode === '21' || serviceCode === '24' || serviceCode === '31') && + } + { (transactionCategory === TransactionCategory.CashReceipt) && + @@ -222,7 +230,48 @@ export const AmountInfoSection = ({ subLi() } { (transactionCategory === TransactionCategory.CashReceipt) && - <> + <> +
  • + ·  공급가액 + + + +
  • +
  • + ·  VAT + + + +
  • +
  • + ·  봉사료 + + + +
  • +
  • + ·  면세금액 + + + +
  • + } { (transactionCategory === TransactionCategory.Escrow) && <> @@ -231,21 +280,24 @@ export const AmountInfoSection = ({
    } -
    - { amountInfo?.mid } -
    - { - ((transactionCategory === TransactionCategory.CashReceipt) || - (transactionCategory === TransactionCategory.Escrow) || - (transactionCategory === TransactionCategory.Billing)) && -
    + { (transactionCategory === TransactionCategory.AllTransaction) && +
    + { amountInfo?.mid } +
    + } +
    + { + ((transactionCategory === TransactionCategory.CashReceipt) || + (transactionCategory === TransactionCategory.Escrow) || + (transactionCategory === TransactionCategory.Billing)) && + !!canDownloadReceipt && -
    - } + } +
    ); diff --git a/src/entities/vat-return/ui/section/amount-section.tsx b/src/entities/vat-return/ui/section/amount-section.tsx index cb1037e..a7c32e9 100644 --- a/src/entities/vat-return/ui/section/amount-section.tsx +++ b/src/entities/vat-return/ui/section/amount-section.tsx @@ -84,7 +84,11 @@ export const AmountSection = ({ { detail.mid }
    - { moment(detail.issueDate).format('YYYY.MM.DD') } + + { !!detail.issueDate && + moment(detail.issueDate).format('YYYY.MM.DD') + } +
    - { !!detailInfo?.canDownloadReceipt && -
    - -
    + { (issueInfo?.transactionType === CashReceiptTransactionType.APPROVAL) && + (issueInfo?.processResult === '발급완료') && +
    + +
    } diff --git a/src/pages/transaction/escrow/detail-page.tsx b/src/pages/transaction/escrow/detail-page.tsx index 482e9c6..4ec4ac1 100644 --- a/src/pages/transaction/escrow/detail-page.tsx +++ b/src/pages/transaction/escrow/detail-page.tsx @@ -34,6 +34,7 @@ import { MerchantInfoSection } from '@/entities/transaction/ui/section/merchant- export const EscrowDetailPage = () => { const { navigate } = useNavigate(); const location = useLocation(); + const paramTid = location?.state.tid; const [amountInfo, setAmountInfo] = useState(); const [importantInfo, setImportantInfo] = useState(); @@ -54,7 +55,7 @@ export const EscrowDetailPage = () => { const [bottomSheetOn, setBottomSheetOn] = useState(false); const [orderNumber, setOrderNumber] = useState(); - const [tid, setTid] = useState(); + const [tid, setTid] = useState(paramTid); useSetHeaderTitle('에스크로 상세'); useSetHeaderType(HeaderType.RightClose); @@ -68,7 +69,7 @@ export const EscrowDetailPage = () => { const callDetail = () => { let escroDetailParams: EscrowDetailParams = { - issueNumber: location?.state.issueNumber, + tid: tid || paramTid, }; escrowDetail(escroDetailParams).then((rs: DetailResponse) => { setImportantInfo(rs.importantInfo || {}); diff --git a/src/pages/vat-return/detail-page.tsx b/src/pages/vat-return/detail-page.tsx index 73cbca6..3f02c25 100644 --- a/src/pages/vat-return/detail-page.tsx +++ b/src/pages/vat-return/detail-page.tsx @@ -64,7 +64,7 @@ export const DetailPage = () => { return ( <>
    -
    +
    diff --git a/src/widgets/sub-layout/index.tsx b/src/widgets/sub-layout/index.tsx index 031c20a..9fa7080 100644 --- a/src/widgets/sub-layout/index.tsx +++ b/src/widgets/sub-layout/index.tsx @@ -29,6 +29,7 @@ import { useShortcutDefaultMutation } from '@/entities/user/api/use-shortcut-det import { useBusinessPropertyMutation } from '@/entities/user/api/use-business-property-mutation'; import { useUserFindAuthMethodMutation } from '@/entities/user/api/use-user-find-authmethod-mutation'; import { useCodesSelectMutation } from '@/entities/common/api/use-codes-select-mutation'; +import { MenuItems } from '@/entities/common/model/constant'; export interface ContextType { setOnBack: (onBack: () => void) => void; @@ -127,18 +128,41 @@ export const SubLayout = () => { }; shortcutUser(params).then((rs: ShortcutUserResponse) => { // Modify iconFilePath to use menu_icon_{menuId}.svg format - console.log("============================rs", rs) const modifiedShortcuts = rs.shortcuts.map(shortcut => ({ ...shortcut, iconFilePath: `menu_icon_${shortcut.menuId}.svg` })); - console.log("============================modifiedShortcuts", modifiedShortcuts) useStore.getState().UserStore.setUserFavorite(modifiedShortcuts); }); } }; + // 맵 형태로 상수로 만들어 놓을 필요가 있다. 무의미한 반복문 너무 많이 사용 + const getProgramPath = (menuId: number) => { + let programPath: string = ''; + Loop1: + for(let i=0;i { console.log("============================callShortcutUser") let userInfo = useStore.getState().UserStore.userInfo; @@ -152,8 +176,10 @@ export const SubLayout = () => { if(rs.shortcuts.length > 0){ const modifiedShortcuts = rs.shortcuts.map(shortcut => ({ ...shortcut, - iconFilePath: `/images/menu_icon_${shortcut.menuId}.svg` + iconFilePath: `/images/menu_icon_${shortcut.menuId}.svg`, + programPath: getProgramPath(shortcut.menuId) })); + console.log(modifiedShortcuts) console.log("============================modifiedShortcuts", modifiedShortcuts) useStore.getState().UserStore.setUserFavorite(modifiedShortcuts);