수기발행
This commit is contained in:
@@ -7,21 +7,22 @@ import { CashReceiptPurposeType, ProcessStep } from '@/entities/transaction/mode
|
||||
import { HeaderType} from '@/entities/common/model/types';
|
||||
import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout';
|
||||
import { useCashReceiptManualIssueMutation } from '@/entities/transaction/api/use-cash-receipt-manual-issue-mutation';
|
||||
import { showAlert } from '@/widgets/show-alert';
|
||||
|
||||
export const CashReceitHandWrittenIssuancePage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
|
||||
// 1 or 2
|
||||
const [processStep, setProcessStep] = useState<ProcessStep>(ProcessStep.One);
|
||||
const [businessNumber, setBusinessNumber] = useState<string>('5459577852');
|
||||
const [businessNumber, setBusinessNumber] = useState<string>('');
|
||||
const [purposeType, setPurposeType] = useState<CashReceiptPurposeType>(CashReceiptPurposeType.INCOME_DEDUCTION);
|
||||
const [productName, setProductName] = useState<string>('상품명');
|
||||
const [buyerName, setBuyerName] = useState<string>('구매자명');
|
||||
const [issueNumber, setIssueNumber] = useState<string>('01012341234');
|
||||
const [email, setEmail] = useState<string>('test123@nicepay.com');
|
||||
const [phoneNumber, setPhoneNumber] = useState<string>('01012341234');
|
||||
const [supplyAmount, setSupplyAmount] = useState<number>(9091);
|
||||
const [vatAmount, setVatAmount] = useState<number>(909);
|
||||
const [productName, setProductName] = useState<string>('');
|
||||
const [buyerName, setBuyerName] = useState<string>('');
|
||||
const [issueNumber, setIssueNumber] = useState<string>('');
|
||||
const [email, setEmail] = useState<string>('');
|
||||
const [phoneNumber, setPhoneNumber] = useState<string>('');
|
||||
const [supplyAmount, setSupplyAmount] = useState<number>(0);
|
||||
const [vatAmount, setVatAmount] = useState<number>(0);
|
||||
const [taxFreeAmount, setTaxFreeAmount] = useState<number>(0);
|
||||
const [serviceCharge, setServiceCharge] = useState<number>(0);
|
||||
|
||||
@@ -31,6 +32,16 @@ export const CashReceitHandWrittenIssuancePage = () => {
|
||||
|
||||
const { mutateAsync: cashReceiptManualIssue } = useCashReceiptManualIssueMutation();
|
||||
|
||||
const checkEmail = (email: string) => {
|
||||
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
|
||||
if(email != '' && email != 'undefined' && re.test(email)){
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const callManualIssue = () => {
|
||||
let params = {
|
||||
businessNumber: businessNumber,
|
||||
@@ -40,10 +51,10 @@ export const CashReceitHandWrittenIssuancePage = () => {
|
||||
issueNumber: issueNumber,
|
||||
email: email,
|
||||
phoneNumber: phoneNumber,
|
||||
supplyAmount: 9091,
|
||||
vatAmount: 909,
|
||||
taxFreeAmount: 0,
|
||||
serviceCharge: 0
|
||||
supplyAmount: supplyAmount,
|
||||
vatAmount: vatAmount,
|
||||
taxFreeAmount: taxFreeAmount,
|
||||
serviceCharge: serviceCharge
|
||||
};
|
||||
cashReceiptManualIssue(params).then((rs) => {
|
||||
console.log(rs);
|
||||
@@ -54,6 +65,24 @@ export const CashReceitHandWrittenIssuancePage = () => {
|
||||
|
||||
const onClickToChangeTab = () => {
|
||||
if(processStep === ProcessStep.One){
|
||||
if(!businessNumber){
|
||||
showAlert('사업자 번호는 필수 입력 항목 입니다.');
|
||||
}
|
||||
else if(!productName){
|
||||
showAlert('상품명은 필수 입력 항목 입니다.');
|
||||
}
|
||||
else if(!buyerName){
|
||||
showAlert('구매자는 필수 입력 항목 입니다.');
|
||||
}
|
||||
else if(!issueNumber){
|
||||
showAlert('발행번호는 필수 입력 항목 입니다.');
|
||||
}
|
||||
else if(email && !checkEmail(email)){
|
||||
showAlert('이메일 형식이 맞지 않습니다.');
|
||||
}
|
||||
else if(!phoneNumber){
|
||||
showAlert('전화번호는 필수 입력 항목 입니다.');
|
||||
}
|
||||
setProcessStep(ProcessStep.Two);
|
||||
}
|
||||
else if(processStep === ProcessStep.Two){
|
||||
|
||||
Reference in New Issue
Block a user