..
This commit is contained in:
@@ -153,12 +153,10 @@ export interface BillingListProps {
|
|||||||
export interface AllTransactionListItem {
|
export interface AllTransactionListItem {
|
||||||
tid?: string;
|
tid?: string;
|
||||||
mid?: string;
|
mid?: string;
|
||||||
stateDate?: string;
|
transactionDateTime?: string;
|
||||||
stateCode?: string;
|
statusCode?: string;
|
||||||
stateName?: string;
|
|
||||||
installmentMonth?: string;
|
installmentMonth?: string;
|
||||||
serviceCode?: string;
|
serviceCode?: string;
|
||||||
serviceName?: string;
|
|
||||||
serviceDetailName?: string;
|
serviceDetailName?: string;
|
||||||
goodsAmount?: number;
|
goodsAmount?: number;
|
||||||
};
|
};
|
||||||
@@ -221,8 +219,8 @@ export interface AllTransactionListSummaryParams extends AllTransactionListParam
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface AllTransactionListSummaryResponse {
|
export interface AllTransactionListSummaryResponse {
|
||||||
totalTransactionCount: number;
|
totalCount: number;
|
||||||
totalTransactionAmount: number;
|
totalAmount: number;
|
||||||
};
|
};
|
||||||
export interface AllTransactionListParams {
|
export interface AllTransactionListParams {
|
||||||
moid?: string;
|
moid?: string;
|
||||||
|
|||||||
@@ -25,12 +25,9 @@ export const ListDateGroup = ({
|
|||||||
key={ key }
|
key={ key }
|
||||||
tid={ items[i]?.tid }
|
tid={ items[i]?.tid }
|
||||||
mid={ items[i]?.mid }
|
mid={ items[i]?.mid }
|
||||||
stateDate={ items[i]?.stateDate }
|
statusCode={ items[i]?.statusCode }
|
||||||
stateCode={ items[i]?.stateCode }
|
|
||||||
stateName={ items[i]?.stateName }
|
|
||||||
installmentMonth={ items[i]?.installmentMonth }
|
installmentMonth={ items[i]?.installmentMonth }
|
||||||
serviceCode={ items[i]?.serviceCode }
|
serviceCode={ items[i]?.serviceCode }
|
||||||
serviceName={ items[i]?.serviceName }
|
|
||||||
serviceDetailName={ items[i]?.serviceDetailName }
|
serviceDetailName={ items[i]?.serviceDetailName }
|
||||||
goodsAmount={ items[i]?.goodsAmount }
|
goodsAmount={ items[i]?.goodsAmount }
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import moment from 'moment';
|
|||||||
|
|
||||||
export const ListItem = ({
|
export const ListItem = ({
|
||||||
transactionCategory,
|
transactionCategory,
|
||||||
tid, mid, stateDate, stateCode, stateName,
|
tid, mid, statusCode,
|
||||||
installmentMonth, serviceCode, serviceName,
|
installmentMonth, serviceCode,
|
||||||
serviceDetailName, goodsAmount,
|
serviceDetailName, goodsAmount,
|
||||||
id, amount, customerName, issueNumber,
|
id, amount, customerName, issueNumber,
|
||||||
issueStatus, paymentMethod, processResult,
|
issueStatus, paymentMethod, processResult,
|
||||||
@@ -18,13 +18,13 @@ export const ListItem = ({
|
|||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
const getItemClass = () => {
|
const getItemClass = () => {
|
||||||
let rs = '';
|
let rs = '';
|
||||||
if(stateCode === '0'){
|
if(statusCode === '0'){
|
||||||
rs = '';
|
rs = '';
|
||||||
}
|
}
|
||||||
else if(stateCode === '1'){
|
else if(statusCode === '1'){
|
||||||
rs = 'approved';
|
rs = 'approved';
|
||||||
}
|
}
|
||||||
else if(stateCode === '2'){
|
else if(statusCode === '2'){
|
||||||
rs = 'refund';
|
rs = 'refund';
|
||||||
}
|
}
|
||||||
return rs;
|
return rs;
|
||||||
@@ -32,13 +32,13 @@ export const ListItem = ({
|
|||||||
|
|
||||||
const getDotClass = (str?: string) => {
|
const getDotClass = (str?: string) => {
|
||||||
let rs = '';
|
let rs = '';
|
||||||
if(stateCode === '0'){
|
if(statusCode === '0'){
|
||||||
rs = '';
|
rs = '';
|
||||||
}
|
}
|
||||||
else if(stateCode === '1'){
|
else if(statusCode === '1'){
|
||||||
rs = 'blue';
|
rs = 'blue';
|
||||||
}
|
}
|
||||||
else if(stateCode === '2'){
|
else if(statusCode === '2'){
|
||||||
rs = 'gray';
|
rs = 'gray';
|
||||||
}
|
}
|
||||||
return rs;
|
return rs;
|
||||||
@@ -82,7 +82,7 @@ export const ListItem = ({
|
|||||||
const getTime = () => {
|
const getTime = () => {
|
||||||
let timeStr = '';
|
let timeStr = '';
|
||||||
if(transactionCategory === TransactionCategory.AllTransaction){
|
if(transactionCategory === TransactionCategory.AllTransaction){
|
||||||
let time = stateDate?.substring(8, 12);
|
let time = transactionDateTime?.substring(8, 12);
|
||||||
timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4);
|
timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -94,7 +94,15 @@ export const ListItem = ({
|
|||||||
const getTitle = () => {
|
const getTitle = () => {
|
||||||
let str = '';
|
let str = '';
|
||||||
if(transactionCategory === TransactionCategory.AllTransaction){
|
if(transactionCategory === TransactionCategory.AllTransaction){
|
||||||
str = `${serviceName}(${serviceDetailName})`;
|
let strDetailName = serviceDetailName?.split('|').join(',');
|
||||||
|
if(strDetailName){
|
||||||
|
let last = strDetailName.slice(-1);
|
||||||
|
if(last === ','){
|
||||||
|
strDetailName = strDetailName.substring(0, strDetailName.length - 1);
|
||||||
|
}
|
||||||
|
str = `(${strDetailName})`;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(transactionCategory === TransactionCategory.CashReceipt){
|
else if(transactionCategory === TransactionCategory.CashReceipt){
|
||||||
str = `${customerName}(${issueNumber})`
|
str = `${customerName}(${issueNumber})`
|
||||||
@@ -115,7 +123,7 @@ export const ListItem = ({
|
|||||||
<div className="transaction-details">
|
<div className="transaction-details">
|
||||||
<span>{ getTime() }</span>
|
<span>{ getTime() }</span>
|
||||||
<span className="separator">|</span>
|
<span className="separator">|</span>
|
||||||
<span>{ stateName }</span>
|
<span>{ statusCode }</span>
|
||||||
<span className="separator">|</span>
|
<span className="separator">|</span>
|
||||||
<span>{ mid }</span>
|
<span>{ mid }</span>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ export const AllTransactionListPage = () => {
|
|||||||
const [searchCl, setSearchCl] = useState<AllTransactionSearchCl | undefined>();
|
const [searchCl, setSearchCl] = useState<AllTransactionSearchCl | undefined>();
|
||||||
const [searchValue, setSearchValue] = useState<string | undefined>();
|
const [searchValue, setSearchValue] = useState<string | undefined>();
|
||||||
|
|
||||||
const [totalTransactionCount, setTotalTransactionCount] = useState<number>(0);
|
const [totalCount, setTotalCount] = useState<number>(0);
|
||||||
const [totalTransactionAmount, setTotalTransactionAmount] = useState<number>(0);
|
const [totalAmount, setTotalAmount] = useState<number>(0);
|
||||||
|
|
||||||
|
|
||||||
useSetHeaderTitle('거래내역 조회');
|
useSetHeaderTitle('거래내역 조회');
|
||||||
@@ -96,8 +96,8 @@ export const AllTransactionListPage = () => {
|
|||||||
setListItems(assembleData(rs.content));
|
setListItems(assembleData(rs.content));
|
||||||
});
|
});
|
||||||
allTransactionListSummary(listSummaryParams).then((rs) => {
|
allTransactionListSummary(listSummaryParams).then((rs) => {
|
||||||
setTotalTransactionAmount(rs.totalTransactionAmount);
|
setTotalAmount(rs.totalAmount);
|
||||||
setTotalTransactionCount(rs.totalTransactionCount);
|
setTotalCount(rs.totalCount);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -105,8 +105,8 @@ export const AllTransactionListPage = () => {
|
|||||||
let data: any = {};
|
let data: any = {};
|
||||||
if(content && content.length > 0){
|
if(content && content.length > 0){
|
||||||
for(let i=0;i<content?.length;i++){
|
for(let i=0;i<content?.length;i++){
|
||||||
let stateDate = content[i]?.stateDate?.substring(0, 8);
|
let transactionDateTime = content[i]?.transactionDateTime?.substring(0, 8);
|
||||||
let groupDate = moment(stateDate).format('YYYYMMDD');
|
let groupDate = moment(transactionDateTime).format('YYYYMMDD');
|
||||||
if(!!groupDate && !data.hasOwnProperty(groupDate)){
|
if(!!groupDate && !data.hasOwnProperty(groupDate)){
|
||||||
data[groupDate] = [];
|
data[groupDate] = [];
|
||||||
}
|
}
|
||||||
@@ -171,9 +171,21 @@ export const AllTransactionListPage = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
callServiceCodeOptions();
|
callServiceCodeOptions();
|
||||||
callList();
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
callList();
|
||||||
|
}, [
|
||||||
|
mid, moid,
|
||||||
|
tid, fromDate,
|
||||||
|
toDate, stateCode,
|
||||||
|
serviceCode, minAmount,
|
||||||
|
maxAmount, bankCode,
|
||||||
|
cardCode, searchCl,
|
||||||
|
searchValue
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<main>
|
<main>
|
||||||
@@ -184,10 +196,10 @@ export const AllTransactionListPage = () => {
|
|||||||
<div className="summary-amount">
|
<div className="summary-amount">
|
||||||
<span className="amount-text">
|
<span className="amount-text">
|
||||||
<NumericFormat
|
<NumericFormat
|
||||||
value={ totalTransactionAmount }
|
value={ totalAmount }
|
||||||
thousandSeparator
|
thousandSeparator
|
||||||
displayType="text"
|
displayType="text"
|
||||||
suffix={ '원' }
|
suffix='원'
|
||||||
></NumericFormat>
|
></NumericFormat>
|
||||||
</span>
|
</span>
|
||||||
<div className="summary-actions">
|
<div className="summary-actions">
|
||||||
@@ -216,11 +228,11 @@ export const AllTransactionListPage = () => {
|
|||||||
<span className="detail-label">거래건수</span>
|
<span className="detail-label">거래건수</span>
|
||||||
<span className="detail-value">
|
<span className="detail-value">
|
||||||
<NumericFormat
|
<NumericFormat
|
||||||
value={ totalTransactionCount }
|
value={ totalCount }
|
||||||
thousandSeparator
|
thousandSeparator
|
||||||
displayType="text"
|
displayType="text"
|
||||||
prefix={ '총 ' }
|
prefix='총 '
|
||||||
suffix={ ' 건' }
|
suffix=' 건'
|
||||||
></NumericFormat>
|
></NumericFormat>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -26,22 +26,31 @@ export const FilterCalendar = ({
|
|||||||
const [calendarOpen, setCalendarOpen] = useState<boolean>(false);
|
const [calendarOpen, setCalendarOpen] = useState<boolean>(false);
|
||||||
const [calendarType, setCalendarType] = useState<CalendarType>(CalendarType.Start);
|
const [calendarType, setCalendarType] = useState<CalendarType>(CalendarType.Start);
|
||||||
|
|
||||||
|
const [newStartDate, setNewStartDate] = useState<string>('');
|
||||||
|
const [newEndDate, setNewEndDate] = useState<string>('');
|
||||||
|
|
||||||
const setFilterDate = (dateOptions: FilterDateOptions) => {
|
const setFilterDate = (dateOptions: FilterDateOptions) => {
|
||||||
if(dateOptions === FilterDateOptions.Today){
|
if(dateOptions === FilterDateOptions.Today){
|
||||||
setStartDate(moment().format('YYYY.MM.DD'));
|
setStartDate(moment().format('YYYYMMDD'));
|
||||||
setEndDate(moment().format('YYYY.MM.DD'));
|
setNewStartDate(moment().format('YYYY.MM.DD'));
|
||||||
|
setEndDate(moment().format('YYYYMMDD'));
|
||||||
|
setNewEndDate(moment().format('YYYY.MM.DD'));
|
||||||
setDateReadyOnly(true);
|
setDateReadyOnly(true);
|
||||||
setFilterDateOptionsBtn(FilterDateOptions.Today);
|
setFilterDateOptionsBtn(FilterDateOptions.Today);
|
||||||
}
|
}
|
||||||
else if(dateOptions === FilterDateOptions.Week){
|
else if(dateOptions === FilterDateOptions.Week){
|
||||||
setStartDate(moment().subtract(1, 'week').format('YYYY.MM.DD'));
|
setStartDate(moment().subtract(1, 'week').format('YYYYMMDD'));
|
||||||
setEndDate(moment().format('YYYY.MM.DD'));
|
setNewStartDate(moment().subtract(1, 'week').format('YYYY.MM.DD'));
|
||||||
|
setEndDate(moment().format('YYYYMMDD'));
|
||||||
|
setNewEndDate(moment().format('YYYY.MM.DD'));
|
||||||
setDateReadyOnly(true);
|
setDateReadyOnly(true);
|
||||||
setFilterDateOptionsBtn(FilterDateOptions.Week);
|
setFilterDateOptionsBtn(FilterDateOptions.Week);
|
||||||
}
|
}
|
||||||
else if(dateOptions === FilterDateOptions.Month){
|
else if(dateOptions === FilterDateOptions.Month){
|
||||||
setStartDate(moment().subtract(1, 'month').format('YYYY.MM.DD'));
|
setStartDate(moment().subtract(1, 'month').format('YYYYMMDD'));
|
||||||
setEndDate(moment().format('YYYY.MM.DD'));
|
setNewStartDate(moment().subtract(1, 'month').format('YYYY.MM.DD'));
|
||||||
|
setEndDate(moment().format('YYYYMMDD'));
|
||||||
|
setNewEndDate(moment().format('YYYY.MM.DD'));
|
||||||
setDateReadyOnly(true);
|
setDateReadyOnly(true);
|
||||||
setFilterDateOptionsBtn(FilterDateOptions.Month);
|
setFilterDateOptionsBtn(FilterDateOptions.Month);
|
||||||
}
|
}
|
||||||
@@ -65,16 +74,31 @@ export const FilterCalendar = ({
|
|||||||
|
|
||||||
const setNewDate = (date: string) => {
|
const setNewDate = (date: string) => {
|
||||||
if(calendarType === CalendarType.Start){
|
if(calendarType === CalendarType.Start){
|
||||||
setStartDate(date);
|
setStartDate(moment(date).format('YYYYMMDD'));
|
||||||
|
setNewStartDate(moment(date).format('YYYY.MM.DD'));
|
||||||
}
|
}
|
||||||
else if(calendarType === CalendarType.End){
|
else if(calendarType === CalendarType.End){
|
||||||
setEndDate(date);
|
setEndDate(moment(date).format('YYYYMMDD'));
|
||||||
|
setNewEndDate(moment(date).format('YYYY.MM.DD'));
|
||||||
}
|
}
|
||||||
setCalendarOpen(false);
|
setCalendarOpen(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if(startDate && startDate.length === 8){
|
||||||
|
let str = startDate.substring(0, 4)+'.'+startDate.substring(4, 6)+'.'+startDate.substring(6, 8);
|
||||||
|
setNewStartDate(str);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
setNewStartDate(startDate);
|
||||||
|
}
|
||||||
|
if(endDate && endDate.length === 8){
|
||||||
|
let str = endDate.substring(0, 4)+'.'+endDate.substring(4, 6)+'.'+endDate.substring(6, 8);
|
||||||
|
setNewEndDate(str);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
setNewEndDate(endDate);
|
||||||
|
}
|
||||||
}, []);
|
}, []);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -106,7 +130,7 @@ export const FilterCalendar = ({
|
|||||||
className="date-input"
|
className="date-input"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="날짜 선택"
|
placeholder="날짜 선택"
|
||||||
value={ startDate }
|
value={ newStartDate }
|
||||||
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
|
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
|
||||||
readOnly={ dateReadOnly }
|
readOnly={ dateReadOnly }
|
||||||
/>
|
/>
|
||||||
@@ -128,7 +152,7 @@ export const FilterCalendar = ({
|
|||||||
className="date-input"
|
className="date-input"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="날짜 선택"
|
placeholder="날짜 선택"
|
||||||
value={ endDate }
|
value={ newEndDate }
|
||||||
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
|
onChange={ (e: ChangeEvent<HTMLInputElement>) => {} }
|
||||||
readOnly={ dateReadOnly }
|
readOnly={ dateReadOnly }
|
||||||
/>
|
/>
|
||||||
@@ -149,8 +173,8 @@ export const FilterCalendar = ({
|
|||||||
<NiceCalendar
|
<NiceCalendar
|
||||||
calendarOpen={ calendarOpen }
|
calendarOpen={ calendarOpen }
|
||||||
setCalendarOpen={ setCalendarOpen }
|
setCalendarOpen={ setCalendarOpen }
|
||||||
startDate={ startDate }
|
startDate={ newStartDate }
|
||||||
endDate={ endDate }
|
endDate={ newEndDate }
|
||||||
calendarType={ calendarType }
|
calendarType={ calendarType }
|
||||||
setNewDate={ setNewDate }
|
setNewDate={ setNewDate }
|
||||||
></NiceCalendar>
|
></NiceCalendar>
|
||||||
|
|||||||
Reference in New Issue
Block a user