loan order working
This commit is contained in:
@@ -62,6 +62,19 @@ const CreateLoanOrderScreen = () => {
|
|||||||
const [cardMonth, setCardMonth] = useState('');
|
const [cardMonth, setCardMonth] = useState('');
|
||||||
const [cardYear, setCardYear] = 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 [submitted, setSubmitted] = useState(false);
|
||||||
|
|
||||||
const req = (l) => `${l} *`;
|
const req = (l) => `${l} *`;
|
||||||
@@ -101,6 +114,11 @@ const CreateLoanOrderScreen = () => {
|
|||||||
setCardNumber(formatCardNumber(text));
|
setCardNumber(formatCardNumber(text));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleGuarantorCardNumberChange = (text) => {
|
||||||
|
const formatted = formatCardNumber(text);
|
||||||
|
setGuarantorCardNumber(formatted);
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (user) {
|
if (user) {
|
||||||
if (user.passport_serie) setPassportSerie(user.passport_serie);
|
if (user.passport_serie) setPassportSerie(user.passport_serie);
|
||||||
@@ -141,7 +159,7 @@ const CreateLoanOrderScreen = () => {
|
|||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
setSubmitted(true);
|
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');
|
Alert.alert('Error', 'Fill all required fields');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -193,6 +211,20 @@ const CreateLoanOrderScreen = () => {
|
|||||||
appendField('card_month', cardMonth);
|
appendField('card_month', cardMonth);
|
||||||
appendField('card_year', cardYear);
|
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) => {
|
const addImage = (field, uri) => {
|
||||||
if (!uri) return;
|
if (!uri) return;
|
||||||
const fileName = uri.split('/').pop();
|
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} />
|
<ImageInput label={req('Pasport (32-nji sahypa)')} image={passportFour} onChange={setPassportFour} error={submitted && !passportFour} />
|
||||||
</View>
|
</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}>
|
<TouchableOpacity style={styles.submitBtn} onPress={handleSubmit} disabled={loading}>
|
||||||
{loading ? <ActivityIndicator color={COLORS.white} /> : <Text style={styles.submitText}>Ýatda sakla</Text>}
|
{loading ? <ActivityIndicator color={COLORS.white} /> : <Text style={styles.submitText}>Ýatda sakla</Text>}
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
|
|||||||
Reference in New Issue
Block a user