diff --git a/src/screens/Loan/CreateLoanOrderScreen.js b/src/screens/Loan/CreateLoanOrderScreen.js index 53fa0a6..b5bf3d4 100644 --- a/src/screens/Loan/CreateLoanOrderScreen.js +++ b/src/screens/Loan/CreateLoanOrderScreen.js @@ -75,8 +75,25 @@ const CreateLoanOrderScreen = () => { const [guarantorPassportSerie, setGuarantorPassportSerie] = useState(''); const [guarantorPassportId, setGuarantorPassportId] = useState(''); + // Guarantor 2 fields (visible when loan_amount > 20000) + const [guarantor2Name, setGuarantor2Name] = useState(''); + const [guarantor2Surname, setGuarantor2Surname] = useState(''); + const [guarantor2Patro, setGuarantor2Patro] = useState(''); + + const [guarantor2CardNumber, setGuarantor2CardNumber] = useState(''); + const [guarantor2CardName, setGuarantor2CardName] = useState(''); + const [guarantor2CardMonth, setGuarantor2CardMonth] = useState(''); + const [guarantor2CardYear, setGuarantor2CardYear] = useState(''); + + const [guarantor2PassportSerie, setGuarantor2PassportSerie] = useState(''); + const [guarantor2PassportId, setGuarantor2PassportId] = useState(''); + const [submitted, setSubmitted] = useState(false); + // Compute if second guarantor is required (loan amount > 20000) + const loanAmountNum = parseInt(loanAmount) || 0; + const needsSecondGuarantor = loanAmountNum > 20000; + const req = (l) => `${l} *`; const [passportOne, setPassportOne] = useState(null); @@ -119,6 +136,11 @@ const CreateLoanOrderScreen = () => { setGuarantorCardNumber(formatted); }; + const handleGuarantor2CardNumberChange = (text) => { + const formatted = formatCardNumber(text); + setGuarantor2CardNumber(formatted); + }; + useEffect(() => { if (user) { if (user.passport_serie) setPassportSerie(user.passport_serie); @@ -159,7 +181,9 @@ const CreateLoanOrderScreen = () => { const handleSubmit = async () => { setSubmitted(true); - if (!loanType || !loanAmount || !region || !branchId || !customerName || !customerSurname || !passportSerie || !passportId || !passportGivenAt || !passportGivenBy || !bornAt || !bornPlace || !phone || !phoneHome || !education || !marriageStatus || !passportAddress || !realAddress || !workCompany || !workCompanyAccNum || !workRegion || !workProvinceId || !workPosition || !workSalary || !workStartedAt || !passportOne || !passportTwo || !passportThree || !passportFour || !cardNumber || !cardName || !cardMonth || !cardYear || !guarantorName || !guarantorSurname || !guarantorCardNumber || !guarantorCardName || !guarantorCardMonth || !guarantorCardYear || !guarantorPassportSerie || !guarantorPassportId ) { + if ( + !loanType || !loanAmount || !region || !branchId || !customerName || !customerSurname || !passportSerie || !passportId || !passportGivenAt || !passportGivenBy || !bornAt || !bornPlace || !phone || !phoneHome || !education || !marriageStatus || !passportAddress || !realAddress || !workCompany || !workCompanyAccNum || !workRegion || !workProvinceId || !workPosition || !workSalary || !workStartedAt || !passportOne || !passportTwo || !passportThree || !passportFour || !cardNumber || !cardName || !cardMonth || !cardYear || !guarantorName || !guarantorSurname || !guarantorCardNumber || !guarantorCardName || !guarantorCardMonth || !guarantorCardYear || !guarantorPassportSerie || !guarantorPassportId || (needsSecondGuarantor && ( !guarantor2Name || !guarantor2Surname || !guarantor2CardNumber || !guarantor2CardName || !guarantor2CardMonth || !guarantor2CardYear || !guarantor2PassportSerie || !guarantor2PassportId )) + ) { Alert.alert('Error', 'Fill all required fields'); return; } @@ -225,6 +249,22 @@ const CreateLoanOrderScreen = () => { appendField('guarantor_passport_serie', guarantorPassportSerie); appendField('guarantor_passport_id', guarantorPassportId); + // Guarantor 2 info + if (needsSecondGuarantor) { + appendField('guarantor_2_name', guarantor2Name); + appendField('guarantor_2_surname', guarantor2Surname); + appendField('guarantor_2_patronic_name', guarantor2Patro); + + const rawGuarantor2Card = guarantor2CardNumber.replace(/[^0-9]/g, ''); + appendField('guarantor_2_card_number', rawGuarantor2Card); + appendField('guarantor_2_card_name', guarantor2CardName); + appendField('guarantor_2_card_month', guarantor2CardMonth); + appendField('guarantor_2_card_year', guarantor2CardYear); + + appendField('guarantor_2_passport_serie', guarantor2PassportSerie); + appendField('guarantor_2_passport_id', guarantor2PassportId); + } + const addImage = (field, uri) => { if (!uri) return; const fileName = uri.split('/').pop(); @@ -345,11 +385,29 @@ const CreateLoanOrderScreen = () => { - + {/* Guarantor passport */} - + + {needsSecondGuarantor && ( + <> + Ikinji zamun barada maglumat + + + + + + + + + + + + + + )} + {loading ? : Ýatda sakla}