import { StackScreenProps } from '@react-navigation/stack'; import * as React from 'react'; import { Div, Button, Image, Text, Avatar, Radio, RadioGroup, Input, } from 'react-native-magnus'; import { ScrollView } from 'react-native-gesture-handler'; import { useTranslation } from 'react-i18next'; import { useMap, useCreation } from 'ahooks'; import useModel from 'flooks'; import Login from './model'; import User from '../stores/User'; import ImagePicker from '../components/ImagePicker'; import { connect } from '../utils/SystemUtils'; import { RiderMap } from '../utils/RiderInfoUtils'; export default function TransportationScreen({ navigation }: StackScreenProps) { const { t } = useTranslation(); const [transport, setTransport] = React.useState(''); const [extra, setExtra] = React.useState(''); const { riderApplyPre } = useModel(Login, []); const { riderInfo } = useModel(User, ['riderInfo']); const [transportationImgMap, transportationImgMapEvent] = useMap< string, string >([ ['正面', ''], ['侧面', ''], ]); const [driverLicense, setDriverLicense] = React.useState(false); const [driverLicenseImgMap, driverLicenseImgEvent] = useMap([ ['正面', ''], ['背面', ''], ]); const canSubmit = useCreation(() => { if ( transport === '没有' || (transport && transportationImgMapEvent.get('正面') && transportationImgMapEvent.get('侧面') && (!driverLicense || (driverLicense && driverLicenseImgEvent.get('正面') && driverLicenseImgEvent.get('背面')))) ) { return true; } else { return false; } }, [ transport, extra, transportationImgMap, driverLicense, driverLicenseImgMap, ]); React.useEffect(() => { if (riderInfo && riderInfo.id) { const keys = [...RiderMap.keys()]; if (keys.includes(riderInfo.transportation)) { setTransport(riderInfo.transportation); } else { setTransport('其他'); setExtra(riderInfo.transportation.replace(/其他/, '')); } if (riderInfo.transportationImg) { transportationImgMapEvent.setAll([ ['正面', riderInfo.transportationImg.split(',')[0]], ['侧面', riderInfo.transportationImg.split(',')[1]], ]); } if (riderInfo.driverLicenseImg) { setDriverLicense(true); driverLicenseImgEvent.setAll([ ['正面', riderInfo.driverLicenseImg.split(',')[0]], ['背面', riderInfo.driverLicenseImg.split(',')[1]], ]); } } }, [riderInfo]); return (
{t('song-can-jiao-tong-gong-ju')}: { if (value !== '其他') { setExtra(''); } setTransport(value); }} flexDir="row" flexWrap="wrap" flex={1} > {[...RiderMap.keys()].map((item, index) => { let info = RiderMap.get(item); return ( {t(info.name)} {info.hasInput && ( { setTransport(item); }} ml={5} bg="gray100" /> )} ); })}
{transport != '' && transport != '没有' && ( <>
{t('jiao-tong-gong-ju-zhao-pian')}:
{[...transportationImgMap.keys()].map((item, index) => { return (
transportationImgMapEvent.set(item, img) } />
); })}
{t('you-wu-jia-shi-zheng')}: setDriverLicense(value)} flexDir="row" flexWrap="wrap" flex={1} > {t('you')} {t('mei-you')}
{driverLicense && (
{t('jia-shi-zheng-zheng-fan-mian')}:
{[...driverLicenseImgMap.keys()].map((item, index) => { return (
driverLicenseImgEvent.set(item, img) } /> {item}
); })}
)} )}
); }