부가세참고
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import axios from 'axios';
|
||||
import { API_URL_VAT_RETURN } from '@/shared/api/api-url-vat-return';
|
||||
import { resultify } from '@/shared/lib/resultify';
|
||||
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||
import {
|
||||
VatReturnReferenceRequestResponse,
|
||||
VatReturnReferenceRequestParams,
|
||||
} from '../model/types';
|
||||
import {
|
||||
useMutation,
|
||||
UseMutationOptions
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
export const vatReturnReferenceRequest = (params: VatReturnReferenceRequestParams) => {
|
||||
return resultify(
|
||||
axios.post<VatReturnReferenceRequestResponse>(API_URL_VAT_RETURN.vatReturnReferenceRequest(), params),
|
||||
);
|
||||
};
|
||||
|
||||
export const useVatReturnReferenceRequestMutation = (options?: UseMutationOptions<VatReturnReferenceRequestResponse, CBDCAxiosError, VatReturnReferenceRequestParams>) => {
|
||||
const mutation = useMutation<VatReturnReferenceRequestResponse, CBDCAxiosError, VatReturnReferenceRequestParams>({
|
||||
...options,
|
||||
mutationFn: (params: VatReturnReferenceRequestParams) => vatReturnReferenceRequest(params),
|
||||
});
|
||||
|
||||
return {
|
||||
...mutation,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
import axios from 'axios';
|
||||
import { API_URL_VAT_RETURN } from '@/shared/api/api-url-vat-return';
|
||||
import { resultify } from '@/shared/lib/resultify';
|
||||
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||
import {
|
||||
VatReturnTaxInvoiceResponse,
|
||||
VatReturnTaxInvoiceParams,
|
||||
} from '../model/types';
|
||||
import {
|
||||
useMutation,
|
||||
UseMutationOptions
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
export const vatReturnTaxInvoice = (params: VatReturnTaxInvoiceParams) => {
|
||||
return resultify(
|
||||
axios.post<VatReturnTaxInvoiceResponse>(API_URL_VAT_RETURN.vatReturnTaxInvoice(), params),
|
||||
);
|
||||
};
|
||||
|
||||
export const useVatReturnTaxInvoiceMutation = (options?: UseMutationOptions<VatReturnTaxInvoiceResponse, CBDCAxiosError, VatReturnTaxInvoiceParams>) => {
|
||||
const mutation = useMutation<VatReturnTaxInvoiceResponse, CBDCAxiosError, VatReturnTaxInvoiceParams>({
|
||||
...options,
|
||||
mutationFn: (params: VatReturnTaxInvoiceParams) => vatReturnTaxInvoice(params),
|
||||
});
|
||||
|
||||
return {
|
||||
...mutation,
|
||||
};
|
||||
};
|
||||
@@ -83,3 +83,67 @@ export interface VatReturnDetailResponse {
|
||||
supplierCompanyName?: string;
|
||||
supplierCeoName?: string;
|
||||
};
|
||||
export enum TaxType {
|
||||
|
||||
};
|
||||
export interface VatReturnReferenceRequestParams {
|
||||
mid: string;
|
||||
startMonth: string;
|
||||
endMonth: string;
|
||||
taxType: string,
|
||||
requestorName: string;
|
||||
contactNumber: string;
|
||||
email: string;
|
||||
};
|
||||
export interface VatReturnReferenceRequestResponse {
|
||||
requestId: number;
|
||||
mid: string;
|
||||
requestPeriod: string;
|
||||
taxTypeDescription: string;
|
||||
requestDateTime: string;
|
||||
requestStatus: string;
|
||||
requestorName: string;
|
||||
contactNumber: string;
|
||||
email: string;
|
||||
};
|
||||
|
||||
export interface VatReturnTaxInvoiceParams {
|
||||
taxInvoiceNumber: string;
|
||||
}
|
||||
export interface VatReturnTaxInvoiceResponse {
|
||||
supplierInfo: SupplierInfo;
|
||||
recipientInfo: RecipientInfo;
|
||||
issueDate: string;
|
||||
supplyAmount: number;
|
||||
taxAmount: number;
|
||||
totalAmount: number;
|
||||
transactionDetails: TransactionDetails;
|
||||
};
|
||||
|
||||
export interface SupplierInfo {
|
||||
businessRegistrationNumber: string;
|
||||
companyName: string;
|
||||
ceoName: string;
|
||||
address: string;
|
||||
businessType: string;
|
||||
businessItem: string;
|
||||
};
|
||||
export interface RecipientInfo {
|
||||
businessRegistrationNumber: string;
|
||||
companyName: string;
|
||||
ceoName: string;
|
||||
address: string;
|
||||
businessType: string;
|
||||
businessItem: string;
|
||||
email: string;
|
||||
};
|
||||
export interface TransactionDetails {
|
||||
transactionPeriod: string;
|
||||
itemName: string;
|
||||
specification: string;
|
||||
quantity: number;
|
||||
unitPrice: number;
|
||||
supplyAmount: number;
|
||||
taxAmount: number;
|
||||
remarks: string;
|
||||
};
|
||||
@@ -129,9 +129,6 @@ export const ListWrap = () => {
|
||||
<div className="transaction-list">
|
||||
{ getListDateGroup() }
|
||||
</div>
|
||||
<div className="apply-row bottom-padding">
|
||||
<button className="btn-50 btn-blue flex-1">수기발행</button>
|
||||
</div>
|
||||
<ListFilter
|
||||
filterOn={ filterOn }
|
||||
setFilterOn={ setFilterOn }
|
||||
|
||||
@@ -6,34 +6,45 @@ import { ReferenceRequestSuccess } from './reference-request-success';
|
||||
import { ReferenceRequestFail } from './reference-request-fail';
|
||||
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
|
||||
import { VatReturnTaxBtnGroups } from '../model/contant';
|
||||
import { VatReturnPayTax } from '../model/types';
|
||||
import { VatReturnPayTax, VatReturnReferenceRequestParams, VatReturnReferenceRequestResponse } from '../model/types';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { useVatReturnReferenceRequestMutation } from '../api/use-vat-reference-request-mutation';
|
||||
|
||||
export const ReferenceWrap = () => {
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
|
||||
const [success, setSuccess] = useState<boolean>(false);
|
||||
|
||||
const [successPageOn, setSuccessPageOn] = useState<boolean>(false);
|
||||
const [failPageOn, setFailPageOn] = useState<boolean>(false);
|
||||
const [mid, setMid] = useState<string>('nictest00m');
|
||||
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 [payTax, setPayTax] = useState<VatReturnPayTax>(VatReturnPayTax.Tax);
|
||||
const [email, setEmail] = useState<string>('');
|
||||
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const { mutateAsync: vatReturnReferenceRequest } = useVatReturnReferenceRequestMutation();
|
||||
|
||||
|
||||
let EmailOptions = [
|
||||
{name: 'focp212@naver.com', value: 'focp212@naver.com'}
|
||||
];
|
||||
|
||||
const onClickToResquest = () => {
|
||||
if(success){
|
||||
let params: VatReturnReferenceRequestParams = {
|
||||
mid: mid,
|
||||
startMonth: startDate,
|
||||
endMonth: endDate,
|
||||
taxType: payTax,
|
||||
requestorName: '',
|
||||
contactNumber: '',
|
||||
email: email
|
||||
}
|
||||
vatReturnReferenceRequest(params).then((rs: VatReturnReferenceRequestResponse) => {
|
||||
setSuccessPageOn(true);
|
||||
}
|
||||
else{
|
||||
}).catch((error) => {
|
||||
setFailPageOn(true);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -15,6 +15,8 @@ import {
|
||||
useSetFooterMode,
|
||||
useSetFooterCurrentPage
|
||||
} from '@/widgets/sub-layout/use-sub-layout';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { UserFavorite } from '@/entities/user/model/types';
|
||||
|
||||
export let homeReloadKey = 1;
|
||||
export const setHomeReloadKey = () => {
|
||||
@@ -22,6 +24,7 @@ export const setHomeReloadKey = () => {
|
||||
};
|
||||
|
||||
export const HomePage = () => {
|
||||
|
||||
const {
|
||||
isNativeEnvironment,
|
||||
openBiometricRegistrationPopup,
|
||||
@@ -38,7 +41,7 @@ export const HomePage = () => {
|
||||
|
||||
const [bottomBannerOn, setBottomBannerOn] = useState<boolean>(false);
|
||||
const [authRegisterOn, setAuthRegisterOn] = useState<boolean>(false);
|
||||
const [loginSuccess, setLoginSuccess] = useState<boolean>(true);
|
||||
const [favoriteItems, setFavoriteItems] = useState<Array<UserFavorite>>([]);
|
||||
|
||||
const checkBottomBannerOpen = () => {
|
||||
if(!!bannerToday){
|
||||
@@ -64,6 +67,9 @@ export const HomePage = () => {
|
||||
useEffect(() => {
|
||||
checkBottomBannerOpen();
|
||||
checkAuthRegisterOpen();
|
||||
|
||||
let userFavorite = useStore.getState().UserStore.userFavorite;
|
||||
setFavoriteItems(userFavorite);
|
||||
}, []);
|
||||
|
||||
const setBottomBannerEffect = (mode: boolean) => {
|
||||
@@ -86,15 +92,11 @@ export const HomePage = () => {
|
||||
{/*<!-- 탭 컨텐츠 영역 -->*/}
|
||||
<div className="tab-content blue">
|
||||
<div className="tab-pane dashboard active">
|
||||
{ loginSuccess &&
|
||||
<>
|
||||
<FavoriteWrapper
|
||||
usingType='home'
|
||||
key={ homeReloadKey }
|
||||
></FavoriteWrapper>
|
||||
<DayStatusBox></DayStatusBox>
|
||||
</>
|
||||
}
|
||||
<FavoriteWrapper
|
||||
usingType='home'
|
||||
key={ homeReloadKey }
|
||||
></FavoriteWrapper>
|
||||
<DayStatusBox></DayStatusBox>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -4,6 +4,14 @@ import {
|
||||
} from './../constants/url';
|
||||
|
||||
export const API_URL_VAT_RETURN = {
|
||||
vatReturnTaxInvoice: () => {
|
||||
// POST: 세금계산서 조회
|
||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/vat-return/tax-invoice`;
|
||||
},
|
||||
vatReturnReferenceRequest: () => {
|
||||
// POST: 부가세 참고자료 신청
|
||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/vat-return/reference-request`;
|
||||
},
|
||||
vatReturnList: () => {
|
||||
// POST: 세금계산서 목록 조회
|
||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/vat-return/list`;
|
||||
|
||||
Reference in New Issue
Block a user