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}