loan order working
This commit is contained in:
@@ -62,6 +62,19 @@ const CreateLoanOrderScreen = () => {
|
||||
const [cardMonth, setCardMonth] = useState('');
|
||||
const [cardYear, setCardYear] = useState('');
|
||||
|
||||
// Guarantor fields
|
||||
const [guarantorName, setGuarantorName] = useState('');
|
||||
const [guarantorSurname, setGuarantorSurname] = useState('');
|
||||
const [guarantorPatro, setGuarantorPatro] = useState('');
|
||||
|
||||
const [guarantorCardNumber, setGuarantorCardNumber] = useState('');
|
||||
const [guarantorCardName, setGuarantorCardName] = useState('');
|
||||
const [guarantorCardMonth, setGuarantorCardMonth] = useState('');
|
||||
const [guarantorCardYear, setGuarantorCardYear] = useState('');
|
||||
|
||||
const [guarantorPassportSerie, setGuarantorPassportSerie] = useState('');
|
||||
const [guarantorPassportId, setGuarantorPassportId] = useState('');
|
||||
|
||||
const [submitted, setSubmitted] = useState(false);
|
||||
|
||||
const req = (l) => `${l} *`;
|
||||
@@ -101,6 +114,11 @@ const CreateLoanOrderScreen = () => {
|
||||
setCardNumber(formatCardNumber(text));
|
||||
};
|
||||
|
||||
const handleGuarantorCardNumberChange = (text) => {
|
||||
const formatted = formatCardNumber(text);
|
||||
setGuarantorCardNumber(formatted);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (user) {
|
||||
if (user.passport_serie) setPassportSerie(user.passport_serie);
|
||||
@@ -141,7 +159,7 @@ 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) {
|
||||
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 ) {
|
||||
Alert.alert('Error', 'Fill all required fields');
|
||||
return;
|
||||
}
|
||||
@@ -193,6 +211,20 @@ const CreateLoanOrderScreen = () => {
|
||||
appendField('card_month', cardMonth);
|
||||
appendField('card_year', cardYear);
|
||||
|
||||
// Guarantor info
|
||||
appendField('guarantor_name', guarantorName);
|
||||
appendField('guarantor_surname', guarantorSurname);
|
||||
appendField('guarantor_patronic_name', guarantorPatro);
|
||||
|
||||
const rawGuarantorCard = guarantorCardNumber.replace(/[^0-9]/g, '');
|
||||
appendField('guarantor_card_number', rawGuarantorCard);
|
||||
appendField('guarantor_card_name', guarantorCardName);
|
||||
appendField('guarantor_card_month', guarantorCardMonth);
|
||||
appendField('guarantor_card_year', guarantorCardYear);
|
||||
|
||||
appendField('guarantor_passport_serie', guarantorPassportSerie);
|
||||
appendField('guarantor_passport_id', guarantorPassportId);
|
||||
|
||||
const addImage = (field, uri) => {
|
||||
if (!uri) return;
|
||||
const fileName = uri.split('/').pop();
|
||||
@@ -301,6 +333,23 @@ const CreateLoanOrderScreen = () => {
|
||||
<ImageInput label={req('Pasport (32-nji sahypa)')} image={passportFour} onChange={setPassportFour} error={submitted && !passportFour} />
|
||||
</View>
|
||||
|
||||
{/* Guarantor info */}
|
||||
<Text style={[styles.title, { marginTop: 24 }]}>Zamun barada maglumat</Text>
|
||||
|
||||
<Input label={req('Zamunyň ady')} value={guarantorName} onChangeText={setGuarantorName} error={submitted && !guarantorName} />
|
||||
<Input label={req('Zamunyň familiýasy')} value={guarantorSurname} onChangeText={setGuarantorSurname} error={submitted && !guarantorSurname} />
|
||||
<Input label="Zamunyň atasynyň ady" value={guarantorPatro} onChangeText={setGuarantorPatro} />
|
||||
|
||||
{/* Guarantor card */}
|
||||
<Input label={req('Kart belgisi')} placeholder="xxxx-xxxx-xxxx-xxxx" value={guarantorCardNumber} onChangeText={handleGuarantorCardNumberChange} keyboardType="numeric" error={submitted && !guarantorCardNumber} />
|
||||
<Input label={req('Kartdaky ady')} value={guarantorCardName} onChangeText={setGuarantorCardName} error={submitted && !guarantorCardName} />
|
||||
<SelectInput label={req('Möhleti (aý)')} value={guarantorCardMonth} options={monthOptions} onValueChange={setGuarantorCardMonth} placeholder="Saýla" error={submitted && !guarantorCardMonth} />
|
||||
<SelectInput label={req('Möhleti (ýyl)')} value={guarantorCardYear} options={yearOptions} onValueChange={setGuarantorCardYear} placeholder="Saýla" error={submitted && !guarantorCardYear} />
|
||||
|
||||
{/* Guarantor passport */}
|
||||
<SelectInput label={req('Pasport seriýasy')} value={guarantorPassportSerie} options={passportSeriesOptions} onValueChange={setGuarantorPassportSerie} placeholder="Saýla" error={submitted && !guarantorPassportSerie} />
|
||||
<Input label={req('Pasport belgisi')} value={guarantorPassportId} onChangeText={setGuarantorPassportId} keyboardType="numeric" error={submitted && !guarantorPassportId} />
|
||||
|
||||
<TouchableOpacity style={styles.submitBtn} onPress={handleSubmit} disabled={loading}>
|
||||
{loading ? <ActivityIndicator color={COLORS.white} /> : <Text style={styles.submitText}>Ýatda sakla</Text>}
|
||||
</TouchableOpacity>
|
||||
|
||||
Reference in New Issue
Block a user