mid 관련 수정
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { ChangeEvent, useEffect, useState } from 'react';
|
||||
import { PATHS } from '@/shared/constants/paths';
|
||||
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||
@@ -8,16 +8,17 @@ import { UserListItem } from '@/entities/user/model/types';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
|
||||
export const UserManageWrap = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const { navigate } = useNavigate();
|
||||
const { mutateAsync: userFind } = useUserFindMutation();
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [userItems, setUserItems] = useState<Array<UserListItem>>([]);
|
||||
const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM);
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
|
||||
const { mutateAsync: userFind } = useUserFindMutation();
|
||||
|
||||
const callList = (mid: string) => {
|
||||
const callList = () => {
|
||||
setPageParam(pageParam);
|
||||
userFind({ mid: mid, page: pageParam }).then((rs) => {
|
||||
console.log('API Response:', rs);
|
||||
@@ -35,7 +36,7 @@ export const UserManageWrap = () => {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callList(mid);
|
||||
callList();
|
||||
}, [mid]);
|
||||
|
||||
return (
|
||||
@@ -44,15 +45,14 @@ export const UserManageWrap = () => {
|
||||
<div style={{ flexShrink: 0 }}>
|
||||
<div className="input-wrapper top-select mt-16">
|
||||
<select
|
||||
value={mid}
|
||||
onChange={e => setMid(e.target.value)}
|
||||
value={ mid }
|
||||
onChange={ (e: ChangeEvent<HTMLSelectElement>) => setMid(e.target.value)}
|
||||
>
|
||||
{
|
||||
midOptions.map((value, index) => (
|
||||
<option
|
||||
key={ value.value }
|
||||
value={ value.value }
|
||||
selected={ (userMid === value.value)? true: false }
|
||||
>{ value.name }</option>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ export const BoxContainer1 = () => {
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [searchDate, setSearchDate] = useState<string>(moment().format('YYYY-MM-DD'));
|
||||
const [searchDate, setSearchDate] = useState<string>(moment().format('YYYYMMDD'));
|
||||
|
||||
const [sales, setSales] = useState<Sales>();
|
||||
const [settlement, setSettlement] = useState<Settlement>();
|
||||
@@ -60,7 +60,7 @@ export const BoxContainer1 = () => {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callToday();
|
||||
// callToday();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
|
||||
@@ -14,7 +14,7 @@ export const BoxContainer2 = () => {
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [searchDate, setSearchDate] = useState<string>(moment().format('YYYY-MM-DD'));
|
||||
const [searchDate, setSearchDate] = useState<string>(moment().format('YYYYMMDD'));
|
||||
|
||||
const [sales, setSales] = useState<Sales>();
|
||||
const [settlement, setSettlement] = useState<Settlement>();
|
||||
@@ -74,8 +74,8 @@ export const BoxContainer2 = () => {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callMonth();
|
||||
callOverview();
|
||||
// callMonth();
|
||||
// callOverview();
|
||||
}, []);
|
||||
|
||||
const onClickToNavigate = () => {
|
||||
|
||||
@@ -6,9 +6,9 @@ import { useTranslation } from 'react-i18next';
|
||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||
|
||||
export const HomeNoticeItem = ({
|
||||
id,
|
||||
seq,
|
||||
title,
|
||||
category,
|
||||
informCl,
|
||||
regDate,
|
||||
isNew
|
||||
}: NoticeItemProps) => {
|
||||
@@ -18,7 +18,7 @@ export const HomeNoticeItem = ({
|
||||
const onClickToDetail = () => {
|
||||
navigate(PATHS.support.notice.detail, {
|
||||
state: {
|
||||
id: id,
|
||||
seq: seq,
|
||||
from: PATHS.home
|
||||
}
|
||||
})
|
||||
@@ -32,7 +32,7 @@ export const HomeNoticeItem = ({
|
||||
>
|
||||
<div className="notice-content">
|
||||
<div className="notice-title">{ title }</div>
|
||||
<div className="notice-meta">{ t(`support.notice.categories.${category}`) }<span>{ moment(regDate).format('YY년 MM월 DD일') }</span></div>
|
||||
<div className="notice-meta">{ t(`support.notice.categories.${informCl}`) }<span>{ moment(regDate).format('YY년 MM월 DD일') }</span></div>
|
||||
</div>
|
||||
<div className="notice-arrow">
|
||||
<img
|
||||
|
||||
@@ -20,9 +20,9 @@ export const HomeNoticeList = () => {
|
||||
rs.push(
|
||||
<HomeNoticeItem
|
||||
key={ `key-home-notice-item-${i}` }
|
||||
id={ resultList[i]?.id }
|
||||
seq={ resultList[i]?.seq }
|
||||
title={ resultList[i]?.title }
|
||||
category={ resultList[i]?.category }
|
||||
informCl={ resultList[i]?.informCl }
|
||||
regDate={ resultList[i]?.regDate }
|
||||
isNew={ resultList[i]?.isNew }
|
||||
></HomeNoticeItem>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { ChangeEvent, useEffect, useState } from 'react';
|
||||
import { useMerchantMidMutation } from '../api/use-merchant-mid-mutation';
|
||||
import { BusinessSection } from './section/business-section';
|
||||
import { ManagerSection } from './section/manager-section';
|
||||
@@ -11,47 +11,43 @@ import {
|
||||
import { useStore } from '@/shared/model/store';
|
||||
|
||||
export const InfoWrap = () => {
|
||||
const userMids = useStore.getState().UserStore.userMids;
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const mid = useStore.getState().UserStore.mid;
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [data, setData] = useState<MerchantMidResponse>();
|
||||
|
||||
const [openChild, setOpenChild] = useState<SectionKeys | null>(null);
|
||||
|
||||
const { mutateAsync: merchantMid } = useMerchantMidMutation();
|
||||
|
||||
const callInfo = (selectedMid: string) => {
|
||||
const callInfo = () => {
|
||||
let params: MerchantMidParams = {
|
||||
mid: selectedMid
|
||||
mid: mid
|
||||
};
|
||||
merchantMid(params).then((rs: MerchantMidResponse) => {
|
||||
setData(rs);
|
||||
});
|
||||
};
|
||||
|
||||
const onChangeMid = (value: string) => {
|
||||
callInfo(value);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if(!!mid){
|
||||
callInfo(mid);
|
||||
callInfo();
|
||||
}
|
||||
}, []);
|
||||
}, [mid]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="input-wrapper top-select mt-30">
|
||||
<select
|
||||
onChange={ (e) => onChangeMid(e.target.value) }
|
||||
value={ mid }
|
||||
onChange={ (e: ChangeEvent<HTMLSelectElement>) => setMid(e.target.value) }
|
||||
>
|
||||
{
|
||||
midOptions.map((value, index) => (
|
||||
<option
|
||||
key={ value.value }
|
||||
value={ value.value }
|
||||
selected={ (mid === value.value)? true: false }
|
||||
>{ value.name }</option>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { ChangeEvent, useEffect, useState } from 'react';
|
||||
import { useMerchantMidStatusMutation } from '../api/use-merchant-mid-status-mutation';
|
||||
import {
|
||||
CardApplications,
|
||||
@@ -15,10 +15,10 @@ import { EscrowSection } from './section/escrow-section';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
|
||||
export const RegistrationStatusWrap = () => {
|
||||
const userMids = useStore.getState().UserStore.userMids;
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const mid = useStore.getState().UserStore.mid;
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [onlineInfomation, setOnlineInfomation] = useState<OnlineInfomation>();
|
||||
const [offlineInfomation, setOfflineInfomation] = useState<OfflineInfomation>();
|
||||
const [cardApplications, setCardApplications] = useState<Array<CardApplications>>();
|
||||
@@ -27,9 +27,9 @@ export const RegistrationStatusWrap = () => {
|
||||
const [openChild, setOpenChild] = useState<SectionKeys | null>(null);
|
||||
const { mutateAsync: merchantMidStatus } = useMerchantMidStatusMutation();
|
||||
|
||||
const callInfo = (selectedMid: string) => {
|
||||
const callInfo = () => {
|
||||
let params: MerchantMidStatusParams = {
|
||||
mid: selectedMid
|
||||
mid: mid
|
||||
};
|
||||
merchantMidStatus(params).then((rs: MerchantMidStatusResponse) => {
|
||||
setOnlineInfomation(rs.onlineInfomation);
|
||||
@@ -39,28 +39,24 @@ export const RegistrationStatusWrap = () => {
|
||||
});
|
||||
};
|
||||
|
||||
const onChangeMid = (value: string) => {
|
||||
callInfo(value);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if(!!mid){
|
||||
callInfo(mid);
|
||||
callInfo();
|
||||
}
|
||||
}, []);
|
||||
}, [mid]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="input-wrapper top-select mt-30">
|
||||
<select
|
||||
onChange={ (e) => onChangeMid(e.target.value) }
|
||||
value={ mid }
|
||||
onChange={ (e: ChangeEvent<HTMLSelectElement>) => setMid(e.target.value) }
|
||||
>
|
||||
{
|
||||
midOptions.map((value, index) => (
|
||||
<option
|
||||
key={ value.value }
|
||||
value={ value.value }
|
||||
selected={ (mid === value.value)? true: false }
|
||||
>{ value.name }</option>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { ChangeEvent, useEffect, useState } from 'react';
|
||||
import { NotifyRowKeys } from '../model/types';
|
||||
import { usePaymentNotificationDataMutation } from '../api/use-payment-notification-data-mutation';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
@@ -8,6 +8,7 @@ export const NotificationDataWrap = () => {
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [merchantInfo, setMerchantInfo] = useState<Record<string, any>>();
|
||||
const [creditCard, setCreditCard] = useState<Record<string, any>>();
|
||||
const [accountTransfer, setAccountTransfer] = useState<Record<string, any>>();
|
||||
@@ -19,10 +20,10 @@ export const NotificationDataWrap = () => {
|
||||
|
||||
const { mutateAsync: paymentNotificationData } = usePaymentNotificationDataMutation();
|
||||
|
||||
const callPaymentNotificationData = (selectedMid: string) => {
|
||||
const callPaymentNotificationData = () => {
|
||||
let params = {
|
||||
mid: selectedMid,
|
||||
gid: selectedMid
|
||||
mid: mid,
|
||||
gid: mid
|
||||
};
|
||||
|
||||
paymentNotificationData(params).then((rs) => {
|
||||
@@ -35,26 +36,23 @@ export const NotificationDataWrap = () => {
|
||||
setEscrowPayment(rs?.escrowPayment.detail);
|
||||
});
|
||||
};
|
||||
const onChangeMid = (value: string) => {
|
||||
callPaymentNotificationData(value);
|
||||
};
|
||||
useEffect(() => {
|
||||
if(!!userMid){
|
||||
callPaymentNotificationData(userMid);
|
||||
}
|
||||
}, []);
|
||||
callPaymentNotificationData();
|
||||
}, [mid]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="ing-list">
|
||||
<div className="input-wrapper top-select mt-16">
|
||||
<select onChange={ (e) => onChangeMid(e.target.value) }>
|
||||
<select
|
||||
value={ mid }
|
||||
onChange={ (e: ChangeEvent<HTMLSelectElement>) => setMid(e.target.value) }
|
||||
>
|
||||
{
|
||||
midOptions.map((value, index) => (
|
||||
<option
|
||||
key={ value.value }
|
||||
value={ value.value }
|
||||
selected={ (userMid === value.value)? true: false }
|
||||
>{ value.name }</option>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import moment from 'moment';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { ChangeEvent, useEffect, useState } from 'react';
|
||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||
import { useSettlementsCalendarMutation } from '../api/use-settlements-calendar-mutation';
|
||||
import { CalendarAmountRow } from './calandar-amount-row';
|
||||
@@ -31,9 +31,9 @@ export const CalendarWrap = () => {
|
||||
|
||||
const { mutateAsync: settlementsCalendar } = useSettlementsCalendarMutation();
|
||||
|
||||
const callCalendar = (selectedMid: string) => {
|
||||
const callCalendar = () => {
|
||||
let params: SettlementsCalendarParams = {
|
||||
mid: selectedMid,
|
||||
mid: mid,
|
||||
yearMonth: yearMonth
|
||||
};
|
||||
settlementsCalendar(params).then((rs: SettlementsCalendarResponse) => {
|
||||
@@ -88,25 +88,26 @@ export const CalendarWrap = () => {
|
||||
setYearMonth(newYearMonth);
|
||||
}
|
||||
};
|
||||
|
||||
const onChangeMid = (value: string) => {
|
||||
callCalendar(value);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
callCalendar(userMid);
|
||||
}, [yearMonth]);
|
||||
if(!!mid){
|
||||
callCalendar();
|
||||
}
|
||||
}, [yearMonth, mid]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="calendar-wrap pt-30">
|
||||
<div className="input-wrapper top-select">
|
||||
<select onChange={ (e) => onChangeMid(e.target.value) }>
|
||||
<select
|
||||
value={ mid }
|
||||
onChange={ (e: ChangeEvent<HTMLSelectElement>) => setMid(e.target.value) }
|
||||
>
|
||||
{
|
||||
midOptions.map((value, index) => (
|
||||
<option
|
||||
key={ value.value }
|
||||
value={ value.value }
|
||||
selected={ (userMid === value.value)? true: false }
|
||||
>{ value.name }</option>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -109,12 +109,12 @@ export const ListWrap = ({
|
||||
setSettlementDateListItems(rs.content);
|
||||
});
|
||||
settlementsHistorySummary(listSummaryParams).then((rs: SettlementsHistorySummaryResponse) => {
|
||||
setSettlementAmount(rs.settlementAmount);
|
||||
setTransactionAmount(rs.transactionAmount);
|
||||
setPgFeeAmount(rs.pgFeeAmount);
|
||||
setHoldAmount(rs.holdAmount);
|
||||
setReleaseAmount(rs.releaseAmount);
|
||||
setOffsetAmount(rs.offsetAmount);
|
||||
setSettlementAmount(rs.settlementAmount || 0);
|
||||
setTransactionAmount(rs.transactionAmount || 0);
|
||||
setPgFeeAmount(rs.pgFeeAmount || 0);
|
||||
setHoldAmount(rs.holdAmount || 0);
|
||||
setReleaseAmount(rs.releaseAmount || 0);
|
||||
setOffsetAmount(rs.offsetAmount || 0);
|
||||
});
|
||||
};
|
||||
const callTransactionList = (option?: {
|
||||
@@ -137,7 +137,7 @@ export const ListWrap = ({
|
||||
}
|
||||
};
|
||||
if(params.page){
|
||||
params.page.sortType = (option?.sortType)? option.sortType: sortType;
|
||||
params.page.sortType = option?.sortType || sortType;
|
||||
setPageParam(params.page);
|
||||
}
|
||||
|
||||
@@ -195,9 +195,6 @@ export const ListWrap = ({
|
||||
let date = '';
|
||||
let list: Array<SettlementsHistoryContent> = [];
|
||||
|
||||
if(settlementDateListItems){
|
||||
|
||||
}
|
||||
for(let i=0;i<settlementDateListItems.length;i++){
|
||||
let listItem = settlementDateListItems[i];
|
||||
if(!!listItem){
|
||||
@@ -306,7 +303,7 @@ export const ListWrap = ({
|
||||
<input
|
||||
className="credit-period"
|
||||
type="text"
|
||||
value={`${startDate} ~ ${endDate}`}
|
||||
value={ moment(startDate).format('YYYY.MM.DD') + '-' + moment(endDate).format('YYYY.MM.DD') }
|
||||
readOnly={ true }
|
||||
/>
|
||||
<button className="filter-btn">
|
||||
|
||||
@@ -5,7 +5,7 @@ export interface SupportParams {
|
||||
};
|
||||
export interface FaqListParams {
|
||||
category?: string;
|
||||
searchCl?: string | null;
|
||||
searchCl?: SearchCl | null;
|
||||
searchValue?: string;
|
||||
page?: DefaultRequestPagination;
|
||||
};
|
||||
@@ -59,15 +59,16 @@ export interface QnaSaveResponse {
|
||||
|
||||
};
|
||||
export interface NoticeListParams extends SupportParams {
|
||||
searchKeyword: string;
|
||||
category: string;
|
||||
informCl?: InformCl | string;
|
||||
searchCl?: SearchCl | null;
|
||||
searchValue?: string;
|
||||
page?: DefaultRequestPagination;
|
||||
};
|
||||
export interface NoticeItem {
|
||||
id?: number;
|
||||
seq?: number;
|
||||
title?: string;
|
||||
content?: string;
|
||||
category?: string;
|
||||
contents?: string;
|
||||
informCl?: InformCl | string;
|
||||
regDate?: string;
|
||||
isNew?: boolean;
|
||||
viewCount?: number;
|
||||
@@ -77,8 +78,25 @@ export interface NoticeListResponse {
|
||||
nextCursor: string;
|
||||
hasNext: boolean;
|
||||
};
|
||||
|
||||
export enum SearchCl {
|
||||
HEAD = 'HEAD',
|
||||
BODY = 'BODY',
|
||||
ALL = 'ALL',
|
||||
};
|
||||
export enum InformCl {
|
||||
INTEREST_FREE_INSTALLMENT = 'INTEREST_FREE_INSTALLMENT',
|
||||
NEWS = 'NEWS',
|
||||
SERVICE_DISRUPTION_NOTICE = 'SERVICE_DISRUPTION_NOTICE',
|
||||
MAINTENANCE_NOTICE = 'MAINTENANCE_NOTICE',
|
||||
EVENT = 'EVENT',
|
||||
SERVICE_CHANGE_OR_ADDITION = 'SERVICE_CHANGE_OR_ADDITION',
|
||||
IMPORTANT_NOTICE = 'IMPORTANT_NOTICE',
|
||||
ADDITIONAL_SERVICE = 'ADDITIONAL_SERVICE',
|
||||
OTHERS = 'OTHERS'
|
||||
};
|
||||
export interface NoticeDetailParams {
|
||||
noticeId: number;
|
||||
seq: number;
|
||||
};
|
||||
export interface NoticeDetailResponse extends NoticeItem {
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ import { NoticeItemProps } from '../model/types';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const SupportNoticeItem = ({
|
||||
id,
|
||||
seq,
|
||||
title,
|
||||
category,
|
||||
informCl,
|
||||
regDate,
|
||||
isNew
|
||||
}: NoticeItemProps) => {
|
||||
@@ -17,7 +17,7 @@ export const SupportNoticeItem = ({
|
||||
const onClickToDetail = () => {
|
||||
navigate(PATHS.support.notice.detail, {
|
||||
state: {
|
||||
id: id,
|
||||
seq: seq,
|
||||
from: PATHS.support.notice.list
|
||||
}
|
||||
})
|
||||
@@ -32,7 +32,7 @@ export const SupportNoticeItem = ({
|
||||
<div className="notice-txt">
|
||||
<div className="notice-title-114">{ title }</div>
|
||||
<div className="notice-meta-114">
|
||||
<span className="blue">{ t(`support.notice.categories.${category}`) }</span> ㅣ <span>{ moment(regDate).format('YYYY.MM.DD HH:mm:ss') }</span>
|
||||
<span className="blue">{ t(`support.notice.categories.${informCl}`) }</span> ㅣ <span>{ moment(regDate).format('YYYY.MM.DD HH:mm:ss') }</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10,9 +10,9 @@ export const AllTransactionList = ({
|
||||
let date = '';
|
||||
let list: Array<ListItemProps> = [];
|
||||
for(let i=0;i<listItems.length;i++){
|
||||
let items = listItems[i];
|
||||
if(!!items){
|
||||
let transactionDateTime = items.transactionDateTime;
|
||||
let item = listItems[i];
|
||||
if(!!item){
|
||||
let transactionDateTime = item.transactionDateTime;
|
||||
let transactionDate = transactionDateTime?.substr(0, 8);
|
||||
if(!!transactionDate){
|
||||
if(i === 0){
|
||||
@@ -32,7 +32,7 @@ export const AllTransactionList = ({
|
||||
}
|
||||
list = [];
|
||||
}
|
||||
list.push(items);
|
||||
list.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@ export const BillingList = ({
|
||||
let date = '';
|
||||
let list = [];
|
||||
for(let i=0;i<listItems.length;i++){
|
||||
let items = listItems[i];
|
||||
if(!!items){
|
||||
let transactionDate = items?.transactionDate;
|
||||
let item = listItems[i];
|
||||
if(!!item){
|
||||
let transactionDate = item?.transactionDate;
|
||||
if(!!transactionDate){
|
||||
if(i === 0){
|
||||
date = transactionDate;
|
||||
@@ -35,7 +35,7 @@ export const BillingList = ({
|
||||
}
|
||||
list = [];
|
||||
}
|
||||
list.push(items);
|
||||
list.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@ export const CashReceiptList = ({
|
||||
let date = '';
|
||||
let list = [];
|
||||
for(let i=0;i<listItems.length;i++){
|
||||
let items = listItems[i];
|
||||
if(!!items){
|
||||
let transactionDate = items.transactionDate;
|
||||
let item = listItems[i];
|
||||
if(!!item){
|
||||
let transactionDate = item.transactionDate;
|
||||
if(!!transactionDate){
|
||||
if(i === 0){
|
||||
date = transactionDate;
|
||||
@@ -35,7 +35,7 @@ export const CashReceiptList = ({
|
||||
}
|
||||
list = [];
|
||||
}
|
||||
list.push(items);
|
||||
list.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,9 +11,9 @@ export const EscrowList = ({
|
||||
let date = '';
|
||||
let list = [];
|
||||
for(let i=0;i<listItems.length;i++){
|
||||
let items = listItems[i];
|
||||
if(!!items){
|
||||
let transactionDate = items.transactionDate;
|
||||
let item = listItems[i];
|
||||
if(!!item){
|
||||
let transactionDate = item.transactionDate;
|
||||
if(!!transactionDate){
|
||||
if(i === 0){
|
||||
date = transactionDate;
|
||||
@@ -32,7 +32,7 @@ export const EscrowList = ({
|
||||
}
|
||||
list = [];
|
||||
}
|
||||
list.push(items);
|
||||
list.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ export interface VatReturnListParams {
|
||||
endDate?: string;
|
||||
receiptType?: VatReturnReceiptType;
|
||||
targetType?: VatReturnTargetType;
|
||||
pagination?: DefaultRequestPagination;
|
||||
page?: DefaultRequestPagination;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ import { useEffect, useState } from 'react';
|
||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||
import { ListFilter } from './filter/list-filter';
|
||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||
import { SortTypeKeys } from '@/entities/common/model/types';
|
||||
import { DefaultRequestPagination, SortTypeKeys } from '@/entities/common/model/types';
|
||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||
import {
|
||||
VatReturnListContent,
|
||||
VatReturnListParams,
|
||||
VatReturnListResponse,
|
||||
VatReturnReceiptType,
|
||||
VatReturnTargetType
|
||||
} from '../model/types';
|
||||
@@ -21,33 +22,33 @@ export const ListWrap = () => {
|
||||
|
||||
const [filterOn, setFilterOn] = useState<boolean>(false);
|
||||
const [sortType, setSortType] = useState<SortTypeKeys>(SortTypeKeys.LATEST);
|
||||
const [listItems, setListItems] = useState<Record<string, Array<VatReturnListContent>>>({});
|
||||
const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM);
|
||||
const [listItems, setListItems] = useState<Array<VatReturnListContent>>([]);
|
||||
const [pageParam, setPageParam] = useState<DefaultRequestPagination>(DEFAULT_PAGE_PARAM);
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [startDate, setStartDate] = useState(moment().subtract(1, 'month').format('YYYY.MM'));
|
||||
const [endDate, setEndDate] = useState(moment().format('YYYY.MM'));
|
||||
const [startDate, setStartDate] = useState(moment().subtract(1, 'month').format('YYYYMM'));
|
||||
const [endDate, setEndDate] = useState(moment().format('YYYYMM'));
|
||||
const [receiptType, setReceiptType] = useState<VatReturnReceiptType>(VatReturnReceiptType.ALL);
|
||||
const [targetType, setTargetType] = useState<VatReturnTargetType>(VatReturnTargetType.ALL);
|
||||
|
||||
const { mutateAsync: vatReturnList } = useVatReturnListMutation();
|
||||
|
||||
const callList = () => {
|
||||
let strStartDate = moment(startDate).format('YYYYMM');
|
||||
let newStartDate = moment(strStartDate+'01').format('YYYY-MM-DD');
|
||||
|
||||
let strEndtDate = moment(endDate).format('YYYYMM');
|
||||
let lastDate = moment(endDate).endOf('month').date();
|
||||
let newEndDate = moment(strEndtDate+lastDate).format('YYYY-MM-DD');
|
||||
|
||||
const callList = (option?: {
|
||||
sortType?: SortTypeKeys
|
||||
}) => {
|
||||
let params: VatReturnListParams = {
|
||||
mid: mid,
|
||||
startDate: newStartDate,
|
||||
endDate: newEndDate,
|
||||
startDate: startDate,
|
||||
endDate: endDate,
|
||||
receiptType: receiptType,
|
||||
targetType: targetType,
|
||||
page: pageParam
|
||||
};
|
||||
vatReturnList(params).then((rs) => {
|
||||
setListItems(assembleData(rs.content));
|
||||
if(params.page){
|
||||
params.page.sortType = option?.sortType || sortType;
|
||||
setPageParam(params.page);
|
||||
}
|
||||
vatReturnList(params).then((rs: VatReturnListResponse) => {
|
||||
setListItems(rs.content);
|
||||
});
|
||||
|
||||
};
|
||||
@@ -65,35 +66,47 @@ export const ListWrap = () => {
|
||||
|
||||
const getListDateGroup = () => {
|
||||
let rs = [];
|
||||
if(Object.keys(listItems).length > 0){
|
||||
for (const [key, value] of Object.entries(listItems)) {
|
||||
rs.push(
|
||||
<ListDateGroup
|
||||
key={ key }
|
||||
date={ key }
|
||||
items={ value }
|
||||
></ListDateGroup>
|
||||
);
|
||||
let date = '';
|
||||
let list: Array<VatReturnListContent> = [];
|
||||
|
||||
for(let i=0;i<listItems.length;i++){
|
||||
let item = listItems[i];
|
||||
if(!!item){
|
||||
let issueDateTime = item?.issueDate;
|
||||
let issueDate = issueDateTime?.substr(0, 8);
|
||||
if(!!issueDate){
|
||||
if(i === 0){
|
||||
date = issueDate;
|
||||
}
|
||||
if(date !== issueDate){
|
||||
date = issueDate;
|
||||
if(list.length > 0){
|
||||
rs.push(
|
||||
<ListDateGroup
|
||||
key={ date + '-' + i }
|
||||
date={ date }
|
||||
items={ list }
|
||||
></ListDateGroup>
|
||||
);
|
||||
}
|
||||
list = [];
|
||||
}
|
||||
list.push(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(list.length > 0){
|
||||
rs.push(
|
||||
<ListDateGroup
|
||||
key={ date + '-last' }
|
||||
date={ date }
|
||||
items={ list }
|
||||
></ListDateGroup>
|
||||
);
|
||||
}
|
||||
return rs;
|
||||
};
|
||||
|
||||
const assembleData = (content: Array<VatReturnListContent>) => {
|
||||
let data: any = {};
|
||||
if(content && content.length > 0){
|
||||
for(let i=0;i<content?.length;i++){
|
||||
let groupDate = moment(content[i]?.issueDate).format('YYYYMMDD');
|
||||
if(!!groupDate && !data.hasOwnProperty(groupDate)){
|
||||
data[groupDate] = [];
|
||||
}
|
||||
if(!!groupDate && data.hasOwnProperty(groupDate)){
|
||||
data[groupDate].push(content[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="summary-section pt-30">
|
||||
@@ -102,7 +115,7 @@ export const ListWrap = () => {
|
||||
<input
|
||||
type="text"
|
||||
className="credit-period"
|
||||
value={moment(startDate).format('YYYY.MM.DD') + '-' + moment(endDate).format('YYYY.MM.DD')}
|
||||
value={ moment(startDate+'01').format('YYYY.MM') + '-' + moment(endDate+'01').format('YYYY.MM')}
|
||||
readOnly={ true }
|
||||
/>
|
||||
<button
|
||||
|
||||
@@ -12,14 +12,15 @@ import { useVatReturnReferenceRequestMutation } from '../api/use-vat-return-refe
|
||||
|
||||
export const ReferenceWrap = () => {
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [success, setSuccess] = useState<boolean>(false);
|
||||
|
||||
const [successPageOn, setSuccessPageOn] = useState<boolean>(false);
|
||||
const [failPageOn, setFailPageOn] = useState<boolean>(false);
|
||||
const [mid, setMid] = useState<string>('');
|
||||
const [startDate, setStartDate] = useState<string>(moment().format('YYYY.MM.DD'));
|
||||
const [endDate, setEndDate] = useState<string>(moment().format('YYYY.MM.DD'));
|
||||
const [mid, setMid] = useState<string>(userMid);
|
||||
const [startDate, setStartDate] = useState<string>(moment().format('YYYYMMDD'));
|
||||
const [endDate, setEndDate] = useState<string>(moment().format('YYYYMMDD'));
|
||||
const [payTax, setPayTax] = useState<VatReturnPayTax>(VatReturnPayTax.Tax);
|
||||
const [email, setEmail] = useState<string>('');
|
||||
const [errorMsg, setErrorMsg] = useState<string>('');
|
||||
@@ -80,7 +81,7 @@ export const ReferenceWrap = () => {
|
||||
selectOptions={ EmailOptions }
|
||||
></FilterSelect>
|
||||
</div>
|
||||
<div className="apply-row bottom-padding">
|
||||
<div className="apply-row">
|
||||
<button
|
||||
className="btn-50 btn-blue flex-1"
|
||||
onClick={ onClickToResquest }
|
||||
|
||||
Reference in New Issue
Block a user