souscrire a une assure pending
This commit is contained in:
parent
c41bb77124
commit
a52ff41487
|
@ -60,6 +60,7 @@
|
|||
"react-native-modal-datetime-picker": "^10.2.0",
|
||||
"react-native-onesignal": "^3.9.0",
|
||||
"react-native-paper": "^2.16.0",
|
||||
"react-native-permissions": "^3.0.5",
|
||||
"react-native-phone-call": "^1.0.9",
|
||||
"react-native-popup-dialog": "^0.18.3",
|
||||
"react-native-progress": "^3.6.0",
|
||||
|
@ -11118,6 +11119,21 @@
|
|||
"react-native-vector-icons": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/react-native-permissions": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.1.0.tgz",
|
||||
"integrity": "sha512-Y/kAU8cUTNhX5CLxfAG96ItEjjmwvyqnVBie38Gj8HoomXQcKM+ToFmq/rPt+DOziCq7YFKinn9AIlnLBiV3AQ==",
|
||||
"peerDependencies": {
|
||||
"react": ">=16.13.1",
|
||||
"react-native": ">=0.63.3",
|
||||
"react-native-windows": ">=0.62.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-native-windows": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-native-phone-call": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/react-native-phone-call/-/react-native-phone-call-1.0.9.tgz",
|
||||
|
@ -23373,6 +23389,12 @@
|
|||
"react-native-safe-area-view": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"react-native-permissions": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.1.0.tgz",
|
||||
"integrity": "sha512-Y/kAU8cUTNhX5CLxfAG96ItEjjmwvyqnVBie38Gj8HoomXQcKM+ToFmq/rPt+DOziCq7YFKinn9AIlnLBiV3AQ==",
|
||||
"requires": {}
|
||||
},
|
||||
"react-native-phone-call": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/react-native-phone-call/-/react-native-phone-call-1.0.9.tgz",
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
"react-native-modal-datetime-picker": "^10.2.0",
|
||||
"react-native-onesignal": "^3.9.0",
|
||||
"react-native-paper": "^2.16.0",
|
||||
"react-native-permissions": "^3.0.5",
|
||||
"react-native-phone-call": "^1.0.9",
|
||||
"react-native-popup-dialog": "^0.18.3",
|
||||
"react-native-progress": "^3.6.0",
|
||||
|
|
|
@ -9,6 +9,8 @@ import InsuranceActions from './insurance.type';
|
|||
import {
|
||||
getInsuranceListUrl,
|
||||
getInsurancePrimeAmountUrl,
|
||||
getUserByIdQRCodeUrl,
|
||||
getUserByNameOrNumberUrl,
|
||||
subscribeInsuranceUrl,
|
||||
uploadInsuranceImagetUrl
|
||||
} from "../../webservice/IlinkConstants";
|
||||
|
@ -221,3 +223,61 @@ export const fetchAddBeneficiaryToSubscription = (id, data) => {
|
|||
onError: fetchAddBeneficiaryToSubscriptionError,
|
||||
});
|
||||
};
|
||||
|
||||
/************************************************************/
|
||||
export const fetchGetUserByIdQRCodePending = () => ({
|
||||
type: InsuranceActions.GET_USER_BY_ID_QR_CODE_PENDING,
|
||||
});
|
||||
|
||||
export const fetchGetUserByIdQRCodeReset = () => ({
|
||||
type: InsuranceActions.GET_USER_BY_ID_QR_CODE_RESET,
|
||||
});
|
||||
|
||||
export const fetchGetUserByIdQRCodeSuccess = (authkey: any) => ({
|
||||
type: InsuranceActions.GET_USER_BY_ID_QR_CODE_SUCCESS,
|
||||
payload: authkey,
|
||||
});
|
||||
|
||||
export const fetchGetUserByIdQRCodeError = (error: any) => ({
|
||||
type: InsuranceActions.GET_USER_BY_ID_QR_CODE_ERROR,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
export const fetchGetUserByIdQRCode = (network_id, id) => {
|
||||
return ApiAction({
|
||||
url: `${getUserByIdQRCodeUrl}?network_id=${network_id}&${id}`,
|
||||
method: 'GET',
|
||||
onLoading: fetchGetUserByIdQRCodePending,
|
||||
onSuccess: fetchGetUserByIdQRCodeSuccess,
|
||||
onError: fetchGetUserByIdQRCodeError,
|
||||
});
|
||||
};
|
||||
|
||||
/************************************************************/
|
||||
export const fetchGetUserByNameOrNumberPending = () => ({
|
||||
type: InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_PENDING,
|
||||
});
|
||||
|
||||
export const fetchGetUserByNameOrNumberReset = () => ({
|
||||
type: InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_RESET,
|
||||
});
|
||||
|
||||
export const fetchGetUserByNameOrNumberSuccess = (authkey: any) => ({
|
||||
type: InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_SUCCESS,
|
||||
payload: authkey,
|
||||
});
|
||||
|
||||
export const fetchGetUserByNameOrNumberError = (error: any) => ({
|
||||
type: InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_ERROR,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
export const fetchGetUserByNameOrNumber = (network_id, id) => {
|
||||
return ApiAction({
|
||||
url: `${getUserByNameOrNumberUrl}?network_id=${network_id}&${id}`,
|
||||
method: 'GET',
|
||||
onLoading: fetchGetUserByNameOrNumberPending,
|
||||
onSuccess: fetchGetUserByNameOrNumberSuccess,
|
||||
onError: fetchGetUserByNameOrNumberError,
|
||||
});
|
||||
};
|
||||
|
|
|
@ -227,3 +227,63 @@ export const addBeneficiaryToSubscriptionReducer = (state = INITIAL_STATE, actio
|
|||
|
||||
}
|
||||
};
|
||||
|
||||
export const getUserByIdQRCodeReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
|
||||
switch (action.type) {
|
||||
case InsuranceActions.GET_USER_BY_ID_QR_CODE_PENDING:
|
||||
return {
|
||||
...state,
|
||||
loading: true
|
||||
}
|
||||
case InsuranceActions.GET_USER_BY_ID_QR_CODE_SUCCESS:
|
||||
return {
|
||||
loading: false,
|
||||
result: action.payload,
|
||||
error: null
|
||||
}
|
||||
case InsuranceActions.GET_USER_BY_ID_QR_CODE_ERROR:
|
||||
return {
|
||||
...state,
|
||||
loading: false,
|
||||
result: null,
|
||||
error: action.payload
|
||||
}
|
||||
|
||||
case InsuranceActions.GET_USER_BY_ID_QR_CODE_RESET:
|
||||
return INITIAL_STATE;
|
||||
|
||||
default:
|
||||
return state
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
export const getUserByNameOrNumberReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
|
||||
switch (action.type) {
|
||||
case InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_PENDING:
|
||||
return {
|
||||
...state,
|
||||
loading: true
|
||||
}
|
||||
case InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_SUCCESS:
|
||||
return {
|
||||
loading: false,
|
||||
result: action.payload,
|
||||
error: null
|
||||
}
|
||||
case InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_ERROR:
|
||||
return {
|
||||
...state,
|
||||
loading: false,
|
||||
result: null,
|
||||
error: action.payload
|
||||
}
|
||||
|
||||
case InsuranceActions.GET_USER_BY_NAME_OR_NUMBER_RESET:
|
||||
return INITIAL_STATE;
|
||||
|
||||
default:
|
||||
return state
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
@ -14,6 +14,8 @@ const selectUploadInsuranceImagesReducerReducer = (state) => state.uploadInsuran
|
|||
const selectGetSubscriptionListReducerReducer = (state) => state.subscriptionList;
|
||||
const selectActivatePaySubscriptionReducer = (state) => state.activatePaySubscription;
|
||||
const selectAddBeneficiaryToSubscriptionReducer = (state) => state.addBeneficiaryToSubscription;
|
||||
const selectGetUserByIdQRCodeReducer = (state) => state.getUserByIdQRCodeReducer;
|
||||
const selectGetUserByNameOrNumberReducer = (state) => state.getUserByNameOrNumberReducer;
|
||||
|
||||
export const selectInsuranceList = createSelector(
|
||||
[selectInsuranceListReducer],
|
||||
|
@ -49,3 +51,12 @@ export const selectActivatePaySubscription = createSelector(
|
|||
[selectActivatePaySubscriptionReducer],
|
||||
(activatePaySubscription) => activatePaySubscription
|
||||
);
|
||||
|
||||
export const selectGetUserByIdQRCode = createSelector(
|
||||
[selectGetUserByIdQRCodeReducer],
|
||||
(getUserByIdQRCode) => getUserByIdQRCode
|
||||
);
|
||||
export const selectGetUserByNameOrNumber = createSelector(
|
||||
[selectGetUserByNameOrNumberReducer],
|
||||
(getUserByNameOrNumber) => getUserByNameOrNumber
|
||||
);
|
||||
|
|
|
@ -41,6 +41,16 @@ const InsuranceActions = {
|
|||
ADD_BENEFICIARY_TO_SUBSCRIPTION_ERROR: 'ADD_BENEFICIARY_TO_SUBSCRIPTION_ERROR',
|
||||
ADD_BENEFICIARY_TO_SUBSCRIPTION_RESET: 'ADD_BENEFICIARY_TO_SUBSCRIPTION_RESET',
|
||||
|
||||
GET_USER_BY_ID_QR_CODE_PENDING: 'GET_USER_BY_ID_QR_CODE_PENDING',
|
||||
GET_USER_BY_ID_QR_CODE_SUCCESS: 'GET_USER_BY_ID_QR_CODE_SUCCESS',
|
||||
GET_USER_BY_ID_QR_CODE_ERROR: 'GET_USER_BY_ID_QR_CODE_ERROR',
|
||||
GET_USER_BY_ID_QR_CODE_RESET: 'GET_USER_BY_ID_QR_CODE_RESET',
|
||||
|
||||
GET_USER_BY_NAME_OR_NUMBER_PENDING: 'GET_USER_BY_NAME_OR_NUMBER_PENDING',
|
||||
GET_USER_BY_NAME_OR_NUMBER_SUCCESS: 'GET_USER_BY_NAME_OR_NUMBER_SUCCESS',
|
||||
GET_USER_BY_NAME_OR_NUMBER_ERROR: 'GET_USER_BY_NAME_OR_NUMBER_ERROR',
|
||||
GET_USER_BY_NAME_OR_NUMBER_RESET: 'GET_USER_BY_NAME_OR_NUMBER_RESET',
|
||||
|
||||
|
||||
}
|
||||
export default InsuranceActions;
|
||||
|
|
|
@ -55,6 +55,8 @@ import {
|
|||
addBeneficiaryToSubscriptionReducer,
|
||||
getInsurancePrimeAmountReducer,
|
||||
getSubscriptionListReducer,
|
||||
getUserByIdQRCodeReducer,
|
||||
getUserByNameOrNumberReducer,
|
||||
insuranceListReducer,
|
||||
subscribeInsuranceReducer,
|
||||
uploadInsuranceImagesReducer
|
||||
|
@ -151,7 +153,9 @@ const rootReducer = persistCombineReducers(persistConfig, {
|
|||
uploadInsuranceImagesReducer: uploadInsuranceImagesReducer,
|
||||
subscriptionList: getSubscriptionListReducer,
|
||||
activatePaySubscription: activatePaySubscriptionReducer,
|
||||
addBeneficiaryToSubscription: addBeneficiaryToSubscriptionReducer
|
||||
addBeneficiaryToSubscription: addBeneficiaryToSubscriptionReducer,
|
||||
getUserByIdQRCodeReducer: getUserByIdQRCodeReducer,
|
||||
getUserByNameOrNumberReducer: getUserByNameOrNumberReducer,
|
||||
});
|
||||
|
||||
export default rootReducer;
|
||||
|
|
|
@ -1336,7 +1336,44 @@ class WalletDetail extends Component {
|
|||
{I18n.t('TRANSACTIONS')}
|
||||
</Text>
|
||||
</View>
|
||||
{(wallet.type === "ilink_sante") &&
|
||||
<View style={styles.transactionContainer}>
|
||||
|
||||
<View style={[styles.containerTouch]}>
|
||||
<TouchableOpacity style={styles.contain}
|
||||
onPress={() => {
|
||||
this.props.navigation.push(route.walletOptionSelect, {
|
||||
optionSelect: optionNanoSanteAgentScreen,
|
||||
wallet,
|
||||
lottie: {
|
||||
source: require("./../../datas/json/cedit-cards.json"),
|
||||
loop: true
|
||||
},
|
||||
isNanoSanteAgent: true
|
||||
});
|
||||
}}
|
||||
activeOpacity={0.9}>
|
||||
<Icon name='heart-multiple'
|
||||
color={Color.primaryColor}
|
||||
size={30}
|
||||
style={styles.imageBanner}/>
|
||||
|
||||
<View style={[styles.content]}>
|
||||
|
||||
<View style={{paddingTop: 20,}}>
|
||||
<Text
|
||||
style={[Typography.headline, Typography.semibold]}>
|
||||
{I18n.t('NANO_SANTE')}
|
||||
</Text>
|
||||
</View>
|
||||
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
|
||||
</View>}
|
||||
|
||||
{(wallet.type === "ilink-world" || wallet.type === "ilink") &&
|
||||
<View style={styles.transactionContainer}>
|
||||
|
||||
<View style={[styles.containerTouch]}>
|
||||
|
@ -1436,7 +1473,7 @@ class WalletDetail extends Component {
|
|||
</View>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
</View>
|
||||
</View>}
|
||||
|
||||
{isIlinkWorldWallet(wallet.type) &&
|
||||
<>
|
||||
|
@ -1481,37 +1518,6 @@ class WalletDetail extends Component {
|
|||
</TouchableOpacity>
|
||||
</View>
|
||||
|
||||
<View style={[styles.containerTouch]}>
|
||||
<TouchableOpacity style={styles.contain}
|
||||
onPress={() => {
|
||||
this.props.navigation.push(route.walletOptionSelect, {
|
||||
optionSelect: optionNanoSanteAgentScreen,
|
||||
wallet,
|
||||
lottie: {
|
||||
source: require("./../../datas/json/cedit-cards.json"),
|
||||
loop: true
|
||||
},
|
||||
isNanoSanteAgent: true
|
||||
});
|
||||
}}
|
||||
activeOpacity={0.9}>
|
||||
<Icon name='heart-multiple'
|
||||
color={Color.primaryColor}
|
||||
size={30}
|
||||
style={styles.imageBanner}/>
|
||||
|
||||
<View style={[styles.content]}>
|
||||
|
||||
<View style={{paddingTop: 20,}}>
|
||||
<Text
|
||||
style={[Typography.headline, Typography.semibold]}>
|
||||
{I18n.t('NANO_SANTE')}
|
||||
</Text>
|
||||
</View>
|
||||
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View style={styles.transactionContainer}>
|
||||
|
|
|
@ -8,7 +8,9 @@
|
|||
import React, {useEffect, useRef, useState} from 'react';
|
||||
import {
|
||||
ActivityIndicator,
|
||||
Alert,
|
||||
Dimensions,
|
||||
FlatList,
|
||||
Keyboard,
|
||||
KeyboardAvoidingView,
|
||||
Platform,
|
||||
|
@ -30,13 +32,24 @@ import {
|
|||
fetchActivePaySubscription,
|
||||
fetchActivePaySubscriptionReset,
|
||||
fetchGetSubscriptionList,
|
||||
fetchGetSubscriptionListReset
|
||||
fetchGetSubscriptionListReset,
|
||||
fetchGetUserByIdQRCode,
|
||||
fetchGetUserByIdQRCodeReset,
|
||||
fetchGetUserByNameOrNumber,
|
||||
fetchGetUserByNameOrNumberReset
|
||||
} from "../../../redux/insurance/insurance.actions";
|
||||
import DropdownAlert from "react-native-dropdownalert";
|
||||
import {readUser} from "../../../webservice/AuthApi";
|
||||
import TextInput from "../../../components/TextInput";
|
||||
import {createStructuredSelector} from "reselect";
|
||||
import {selectActivatePaySubscription, selectSubscriptionList} from "../../../redux/insurance/insurance.selector";
|
||||
import {
|
||||
selectActivatePaySubscription,
|
||||
selectGetUserByIdQRCode,
|
||||
selectGetUserByIdQRCodeReducer,
|
||||
selectGetUserByNameOrNumber,
|
||||
selectGetUserByNameOrNumberReducer,
|
||||
selectSubscriptionList
|
||||
} from "../../../redux/insurance/insurance.selector";
|
||||
import StepHeader from "../../../components/StepHeaderComponent";
|
||||
import Wizard from "react-native-wizard";
|
||||
import Icon from "react-native-vector-icons/FontAwesome5";
|
||||
|
@ -49,6 +62,8 @@ import Modal from "react-native-modal";
|
|||
import DateTimePicker from "@react-native-community/datetimepicker";
|
||||
import QRCodeScanner from "react-native-qrcode-scanner";
|
||||
import {RNCamera} from "react-native-camera";
|
||||
import * as Utils from "../../../utils/UtilsFunction";
|
||||
import {store} from "../../../redux/store";
|
||||
|
||||
let moment = require('moment-timezone');
|
||||
|
||||
|
@ -211,6 +226,10 @@ const SaisirFeuilleSoinScreen = ({
|
|||
fetchGetSubscriptionList,
|
||||
subscriptionList,
|
||||
fetchActivePaySubscription,
|
||||
fetchGetUserByIdQRCode,
|
||||
fetchGetUserByNameOrNumber,
|
||||
getUserByNameOrNumber,
|
||||
getUserByIdQRCode,
|
||||
navigation
|
||||
}) => {
|
||||
|
||||
|
@ -222,6 +241,11 @@ const SaisirFeuilleSoinScreen = ({
|
|||
const [showQRCodeScanner, setShowQRCodeScanner] = useState(false);
|
||||
const [showDateAccidentPicker, setShowDateAccidentPicker] = useState(false);
|
||||
|
||||
const [wallet] = useState(store.getState().walletDetailReducer.result.response);
|
||||
|
||||
const [isNumeroAssureSearch, setIsNumeroAssureSearch] = useState(true);
|
||||
const [isNomAssureSearch, setIsNomAssureSearch] = useState(false);
|
||||
|
||||
const [dateDebutGrossesse, setDateDebutGrossesse] = useState(null);
|
||||
const [dateFinGrossesse, setDateFinGrossesse] = useState(null);
|
||||
const [isGrossesse, setIsGrossesse] = useState(false);
|
||||
|
@ -229,12 +253,14 @@ const SaisirFeuilleSoinScreen = ({
|
|||
const [showDateFinGrossessePicker, setShowDateFinGrossessePicker] = useState(false);
|
||||
|
||||
const [user, setUser] = useState(null);
|
||||
const [assure, setAssure] = useState(null);
|
||||
const wizard = useRef();
|
||||
const [isFirstStep, setIsFirstStep] = useState(true);
|
||||
const [isLastStep, setIsLastStep] = useState(false);
|
||||
const [currentStep, setCurrentStep] = useState(1);
|
||||
const [modalPrestation, setModalPrestation] = useState(false);
|
||||
const [modalPrescription, setModalPrescription] = useState(false);
|
||||
const [modalListAssure, setModalListAssure] = useState(false);
|
||||
|
||||
const [statutPatientOption] = useState([
|
||||
{label: I18n.t('AYANT_DROITS'), value: "M"},
|
||||
|
@ -270,14 +296,43 @@ const SaisirFeuilleSoinScreen = ({
|
|||
});
|
||||
dispatch(fetchGetSubscriptionListReset());
|
||||
dispatch(fetchActivePaySubscriptionReset());
|
||||
dispatch(fetchGetUserByNameOrNumberReset());
|
||||
dispatch(fetchGetUserByIdQRCodeReset());
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (user !== null) {
|
||||
console.log("user", user.id);
|
||||
console.log("user", user);
|
||||
}
|
||||
}, [user]);
|
||||
|
||||
useEffect(() => {
|
||||
console.log("getUserByNameOrNumber.result", getUserByNameOrNumber);
|
||||
if (getUserByNameOrNumber.result !== null) {
|
||||
if (getUserByNameOrNumber.result.response.length > 0) {
|
||||
setModalListAssure(true);
|
||||
//wizard.current.next();
|
||||
} else {
|
||||
dropDownAlertRef.alertWithType(
|
||||
'warn',
|
||||
I18n.t('EMPTY_LIST'),
|
||||
I18n.t('NO_ASSURE_MATCH_SEARCH'),
|
||||
);
|
||||
//dispatch(fetchGetUserByNameOrNumberReset());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (getUserByNameOrNumber.error) {
|
||||
dropDownAlertRef.alertWithType(
|
||||
'error',
|
||||
I18n.t('ERROR_LABEL'),
|
||||
Utils.getErrorMsg(getUserByNameOrNumber),
|
||||
);
|
||||
dispatch(fetchGetUserByNameOrNumberReset());
|
||||
}
|
||||
}, [getUserByNameOrNumber]);
|
||||
|
||||
|
||||
console.log("Date accident", dateAccident);
|
||||
const SaisirFeuilleSoinSchema = Yup.object().shape({
|
||||
|
@ -366,8 +421,6 @@ const SaisirFeuilleSoinScreen = ({
|
|||
|
||||
const renderDialogQRCodeScanner = () => {
|
||||
|
||||
const {resultSearchUserByName, errorGetAvisImposition} = this.props;
|
||||
console.log("resultGetAvisImposition", resultSearchUserByName);
|
||||
return (
|
||||
<Dialog.Container contentStyle={{width: responsiveWidth(80)}} useNativeDriver={true}
|
||||
visible={showQRCodeScanner}>
|
||||
|
@ -699,6 +752,80 @@ const SaisirFeuilleSoinScreen = ({
|
|||
</Formik>
|
||||
);
|
||||
|
||||
const renderListAssure = () => (
|
||||
<ScrollView style={{flex: 1}}>
|
||||
<View style={[styles.containModal, {backgroundColor: Color.containerBackgroundColor}]}>
|
||||
<Modal
|
||||
isVisible={modalListAssure}
|
||||
onSwipeComplete={() => {
|
||||
setModalListAssure(false);
|
||||
}}
|
||||
swipeDirection={['down']}
|
||||
style={styles.bottomModal}>
|
||||
<View
|
||||
style={[
|
||||
styles.contentFilterBottom,
|
||||
{backgroundColor: Color.containerBackgroundColor},
|
||||
]}>
|
||||
<View style={styles.contentSwipeDown}>
|
||||
<View style={styles.lineSwipeDown}/>
|
||||
</View>
|
||||
|
||||
<Text body2 style={{marginTop: 10}}>{I18n.t('LIST_ASSURE')}</Text>
|
||||
|
||||
<FlatList data={getUserByNameOrNumber.result?.response}
|
||||
extraData={getUserByNameOrNumber.result?.response}
|
||||
keyExtractor={(item, index) => index}
|
||||
renderItem={({item, index}) => {
|
||||
return (
|
||||
<TouchableOpacity
|
||||
style={[
|
||||
styles.contentActionModalBottom,
|
||||
{borderBottomColor: Color.borderColor},
|
||||
]}
|
||||
key={item.id}
|
||||
onPress={() => {
|
||||
if (item.state !== 'PAID') {
|
||||
Alert.alert(I18n.t('ERROR_LABEL'), I18n.t('ASSURE_NON_EN_REGLE'),
|
||||
[{
|
||||
text: I18n.t('OK'), onPress: () => {
|
||||
}
|
||||
}]);
|
||||
} else {
|
||||
setAssure(item);
|
||||
setModalListAssure(false);
|
||||
setFieldValue(
|
||||
'lastname_patient',
|
||||
item.user.lastname,
|
||||
);
|
||||
setFieldValue(
|
||||
'firstname_patient',
|
||||
item.user.firstname,
|
||||
);
|
||||
dispatch(fetchGetUserByNameOrNumberReset());
|
||||
wizard.current.next();
|
||||
}
|
||||
}}>
|
||||
<Text body2 semibold>
|
||||
{`${item.user.firstname} ${item.user.lastname}`}
|
||||
</Text>
|
||||
</TouchableOpacity>
|
||||
)
|
||||
}}/>
|
||||
|
||||
<Button
|
||||
full
|
||||
style={{marginTop: 10, marginBottom: 20}}
|
||||
onPress={() => setModalListAssure(false)}>
|
||||
{I18n.t('OK')}
|
||||
</Button>
|
||||
|
||||
</View>
|
||||
</Modal>
|
||||
</View>
|
||||
</ScrollView>
|
||||
)
|
||||
|
||||
const {
|
||||
handleChange,
|
||||
handleSubmit,
|
||||
|
@ -725,15 +852,24 @@ const SaisirFeuilleSoinScreen = ({
|
|||
});
|
||||
|
||||
const onNext = () => {
|
||||
console.log("currentStep", currentStep);
|
||||
console.log("values", values);
|
||||
switch (currentStep) {
|
||||
case 1:
|
||||
return (
|
||||
errors.numero_assure
|
||||
);
|
||||
case 0:
|
||||
if (values.numero_assure !== '') {
|
||||
if (getUserByNameOrNumber.result === null) {
|
||||
if (isNumeroAssureSearch)
|
||||
fetchGetUserByNameOrNumber(wallet.id_network, `&phone=${values.numero_assure}`);
|
||||
else
|
||||
fetchGetUserByNameOrNumber(wallet.id_network, `&name=${values.numero_assure}`)
|
||||
console.log("errors", errors);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -744,7 +880,7 @@ const SaisirFeuilleSoinScreen = ({
|
|||
<View>
|
||||
<TextInput
|
||||
style={{marginTop: 10}}
|
||||
placeholder={I18n.t('NUMERO_ASSURE')}
|
||||
placeholder={isNumeroAssureSearch ? I18n.t('NUMERO_ASSURE') : I18n.t('NOM_ASSURE')}
|
||||
value={values.numero_assure}
|
||||
onChangeText={handleChange('numero_assure')}
|
||||
onBlur={handleBlur('numero_assure')}
|
||||
|
@ -754,7 +890,7 @@ const SaisirFeuilleSoinScreen = ({
|
|||
icon={
|
||||
<FontAwesome
|
||||
style={{zIndex: 10}}
|
||||
name="lock"
|
||||
name={isNumeroAssureSearch ? 'lock' : 'user'}
|
||||
size={20}
|
||||
/>
|
||||
}
|
||||
|
@ -769,10 +905,11 @@ const SaisirFeuilleSoinScreen = ({
|
|||
}}>
|
||||
<Icon
|
||||
style={{paddingRight: 5}}
|
||||
name='user'
|
||||
name={isNumeroAssureSearch ? 'user' : 'lock'}
|
||||
size={20}
|
||||
color={Color.primaryColor}
|
||||
onPress={() => {
|
||||
setIsNumeroAssureSearch(!isNumeroAssureSearch);
|
||||
}}
|
||||
/>
|
||||
<Icon
|
||||
|
@ -1157,12 +1294,13 @@ const SaisirFeuilleSoinScreen = ({
|
|||
]}
|
||||
onPress={e => {
|
||||
handleSubmit(e);
|
||||
if (onNext())
|
||||
wizard.current.next();
|
||||
}}>
|
||||
{subscriptionList.loading ?
|
||||
{(subscriptionList.loading || getUserByNameOrNumber.loading || getUserByIdQRCode.loading) ?
|
||||
<ActivityIndicator
|
||||
size="small"
|
||||
color={colors.primary}
|
||||
color="#fff"
|
||||
/>
|
||||
: <Icon
|
||||
name="arrow-right"
|
||||
|
@ -1179,6 +1317,7 @@ const SaisirFeuilleSoinScreen = ({
|
|||
{showDateDebutGrossessePicker && renderDateDebutGrossessePicker()}
|
||||
{showDateFinGrossessePicker && renderDateFinGrossessePicker()}
|
||||
{showQRCodeScanner && renderDialogQRCodeScanner()}
|
||||
{modalListAssure && renderListAssure()}
|
||||
</View>
|
||||
</ScrollView>
|
||||
</KeyboardAvoidingView>
|
||||
|
@ -1188,12 +1327,16 @@ const SaisirFeuilleSoinScreen = ({
|
|||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
subscriptionList: selectSubscriptionList,
|
||||
activatePaySubscription: selectActivatePaySubscription
|
||||
activatePaySubscription: selectActivatePaySubscription,
|
||||
getUserByNameOrNumber: selectGetUserByNameOrNumber,
|
||||
getUserByIdQRCode: selectGetUserByIdQRCode,
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps, {
|
||||
fetchActivePaySubscription,
|
||||
fetchGetSubscriptionList,
|
||||
fetchGetUserByIdQRCode,
|
||||
fetchGetUserByNameOrNumber
|
||||
})(
|
||||
SaisirFeuilleSoinScreen,
|
||||
);
|
||||
|
|
|
@ -640,5 +640,12 @@
|
|||
"EXONERE": "Exonéré",
|
||||
"DATE_ACCIDENT": "Date accident",
|
||||
"DATE_DEBUT_GROSSESSE": "Date début de grossesse",
|
||||
"DATE_FIN_GROSSESSE": "Date fin de grossesse"
|
||||
"DATE_FIN_GROSSESSE": "Date fin de grossesse",
|
||||
"SCAN": "Scanner",
|
||||
"BRING_YOUR_CAMERA_CLOSER_TO_SCAN_QR_CODE": "Approchez votre caméra du QR Code afin de le scanner",
|
||||
"CLOSE": "Fermer",
|
||||
"EMPTY_LIST": "Liste vide",
|
||||
"NO_ASSURE_MATCH_SEARCH": "Aucun assuré ne correspond à la recherche",
|
||||
"LIST_ASSURE": "Liste des assurés",
|
||||
"ASSURE_NON_EN_REGLE": "Assuré non en règle"
|
||||
}
|
||||
|
|
|
@ -82,6 +82,8 @@ export const linkBankAccountUrl = testBaseUrl + '/walletService/wallets/users/li
|
|||
export const payBillUrl = testBaseUrl + '/walletService/transactions/ilink';
|
||||
|
||||
export const getInsuranceListUrl = testBaseUrl + '/nanoSanteService/insurances';
|
||||
export const getUserByIdQRCodeUrl = testBaseUrl + '/nanoSanteService/qrcode/read';
|
||||
export const getUserByNameOrNumberUrl = testBaseUrl + '/nanoSanteService/insured';
|
||||
export const subscribeInsuranceUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions';
|
||||
export const getInsurancePrimeAmountUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions/bonus-amount';
|
||||
export const uploadInsuranceImagetUrl = 'https://test.ilink-app.com:8086/insurances/subscriptions/upload-images';
|
||||
|
|
|
@ -7191,6 +7191,11 @@
|
|||
"resolved" "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz"
|
||||
"version" "2.2.2"
|
||||
|
||||
"react-native-permissions@^3.0.5":
|
||||
"integrity" "sha512-Y/kAU8cUTNhX5CLxfAG96ItEjjmwvyqnVBie38Gj8HoomXQcKM+ToFmq/rPt+DOziCq7YFKinn9AIlnLBiV3AQ=="
|
||||
"resolved" "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.1.0.tgz"
|
||||
"version" "3.1.0"
|
||||
|
||||
"react-native-phone-call@^1.0.9":
|
||||
"integrity" "sha512-OPWYg8qeWNG/U4bWGMAKcQTH/ifqJnsvUPCH4lOkvWFHbQS3fbH5M8rFhXCzcfS0GVNzHhZX9ZByMM368TFAUQ=="
|
||||
"resolved" "https://registry.npmjs.org/react-native-phone-call/-/react-native-phone-call-1.0.9.tgz"
|
||||
|
@ -7405,7 +7410,7 @@
|
|||
"resolved" "https://registry.npmjs.org/react-native-wizard/-/react-native-wizard-2.1.0.tgz"
|
||||
"version" "2.1.0"
|
||||
|
||||
"react-native@*", "react-native@^0.0.0-0 || ^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || ^0.65.0 || ^0.66.0 || 1000.0.0", "react-native@^0.41.2", "react-native@^0.56.0", "react-native@^0.57.8", "react-native@^0.61.0", "react-native@>= 0.51", "react-native@>=0.11", "react-native@>=0.40.0", "react-native@>=0.44", "react-native@>=0.44.1", "react-native@>=0.45.0", "react-native@>=0.46", "react-native@>=0.47.0", "react-native@>=0.50.0", "react-native@>=0.57", "react-native@>=0.59", "react-native@>=0.60.0", "react-native@>=0.65.1", "react-native@0.61.5":
|
||||
"react-native@*", "react-native@^0.0.0-0 || ^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || ^0.65.0 || ^0.66.0 || 1000.0.0", "react-native@^0.41.2", "react-native@^0.56.0", "react-native@^0.57.8", "react-native@^0.61.0", "react-native@>= 0.51", "react-native@>=0.11", "react-native@>=0.40.0", "react-native@>=0.44", "react-native@>=0.44.1", "react-native@>=0.45.0", "react-native@>=0.46", "react-native@>=0.47.0", "react-native@>=0.50.0", "react-native@>=0.57", "react-native@>=0.59", "react-native@>=0.60.0", "react-native@>=0.63.3", "react-native@>=0.65.1", "react-native@0.61.5":
|
||||
"integrity" "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q=="
|
||||
"resolved" "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz"
|
||||
"version" "0.61.5"
|
||||
|
@ -7553,7 +7558,7 @@
|
|||
"raf" "^3.1.0"
|
||||
"tween-functions" "^1.0.1"
|
||||
|
||||
"react@*", "react@^0.14.0 || ^15.0.0 || ^16.0.0", "react@^15.3.0 || ^16.0.0", "react@^16.0", "react@^16.0.0", "react@^16.8", "react@^16.8.3", "react@>= 16.0 || < 17.0", "react@>=15.3.1", "react@>=15.3.1 || >=16.0.0-beta.5", "react@>=16.3.0", "react@>=16.8.0", "react@>=16.8.6", "react@16.7.0", "react@16.9.0":
|
||||
"react@*", "react@^0.14.0 || ^15.0.0 || ^16.0.0", "react@^15.3.0 || ^16.0.0", "react@^16.0", "react@^16.0.0", "react@^16.8", "react@^16.8.3", "react@>= 16.0 || < 17.0", "react@>=15.3.1", "react@>=15.3.1 || >=16.0.0-beta.5", "react@>=16.13.1", "react@>=16.3.0", "react@>=16.8.0", "react@>=16.8.6", "react@16.7.0", "react@16.9.0":
|
||||
"integrity" "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w=="
|
||||
"resolved" "https://registry.npmjs.org/react/-/react-16.9.0.tgz"
|
||||
"version" "16.9.0"
|
||||
|
|
Loading…
Reference in New Issue