Modification consultation ok

This commit is contained in:
Brice Zele 2022-01-04 12:42:58 +01:00
parent f86b879396
commit 35c1884e17
18 changed files with 3173 additions and 39 deletions

2
App.js
View File

@ -90,6 +90,7 @@ import SaisirFeuilleSoinScreen from "./screens/wallet/agent/SaisirFeuilleSoinScr
import ValidateConsultationScreen from "./screens/wallet/user/ValidateConsultationScreen";
import ValidateConsultationDetailScreen from "./screens/wallet/user/ValidateConsultationDetailScreen";
import ExecuterPrescriptionScreen from "./screens/wallet/agent/ExecuterPrescriptionScreen";
import ModifierFeuilleSoinScreen from "./screens/wallet/agent/ModifierFeuilleSoinScreen";
const instructions = Platform.select({
@ -258,6 +259,7 @@ const AppAgentStack = createDrawerNavigator({
creditrequest: HistoryRequester,
saisirFeuilleSoinScreen: SaisirFeuilleSoinScreen,
executerPrescriptionScreen: ExecuterPrescriptionScreen,
modifierFeuilleSoinScreen: ModifierFeuilleSoinScreen,
addNetwork: AddNetwork,
updateinformation: UpdateInformations,
notificationview: Notifications,

File diff suppressed because one or more lines are too long

View File

@ -69,5 +69,6 @@
"souscrireAssuranceUser": "souscrireAssuranceUser",
"askPrestationUser": "askPrestationUser",
"saisirFeuilleSoinScreen": "saisirFeuilleSoinScreen",
"executerPrescriptionScreen": "executerPrescriptionScreen"
"executerPrescriptionScreen": "executerPrescriptionScreen",
"modifierFeuilleSoinScreen": "modifierFeuilleSoinScreen",
}

View File

@ -663,6 +663,7 @@
"PRESTATION_SUCCESSFULLY_ADD": "Prestation ajouté avec succès",
"EXAMENS_SUCCESSFULLY_ADD": "Examens ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_ADD": "Prescription ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_MODIFY": "Prescription modifié avec succès",
"YOU_MUST_ADD_AT_LEAST_ONE_PRESTATION": "Vous devez ajouter au moins une prestation",
"NO_DRUG_MATCH_YOU_SEARCH": "Aucun médicament ne correspond à votre rechercher, voulez-vous en ajouter ?",
"COMPRESSED": "Comprimé",
@ -680,5 +681,13 @@
"REJECT": "Rejeter",
"DETAIL": "Détail",
"NO_CONSULTATION_DEMAND": "Aucune demande de consultation",
"LIST_CONSULTATION": "Liste des consultations"
"LIST_CONSULTATION": "Liste des consultations",
"MODIFY_CONSULTATION": "Modifier une consultation",
"MEDICAMENTS": "Médicaments",
"MODIFIER_MEDICAMENT": "Modifier médicament",
"MODIFIER_EXAMEN": "Modifier examen",
"EXAMENS_SUCCESSFULLY_MODIFY": "Examen modifié avec succès",
"PRESTATION_SUCCESSFULLY_MODIFY": "Prestation modifié avec succès",
"MODIFY_PRESTATION": "Modifier une prestation",
"LIST_PRESTATION": "Liste des prestation"
}

View File

@ -485,9 +485,10 @@ export const fetchGetConsultationError = (error: any) => ({
payload: error,
});
export const fetchGetConsultation = (user_id, state = 'UNTREATED', typeParam = 'CONSULTATION') => {
export const fetchGetConsultation = (user_id, state = 'UNTREATED', typeParam = 'CONSULTATION', otherParam = '') => {
console.log("user_id", user_id);
return ApiAction({
url: `${consultationUrl}?user_id=${user_id}&state=${state}&type=${typeParam}`,
url: `${consultationUrl}?user_id=${user_id}&state=${state}&type=${typeParam}${otherParam}`,
method: 'GET',
onLoading: fetchGetConsultationPending,
onSuccess: fetchGetConsultationSuccess,
@ -554,3 +555,33 @@ export const fetchExecutionPrescription = (data) => {
onError: fetchExecutionPrescriptionError,
});
};
/************************************************************/
export const fetchModifyPrescriptionPending = () => ({
type: InsuranceActions.MODIFY_PRESCRIPTION_PENDING,
});
export const fetchModifyPrescriptionReset = () => ({
type: InsuranceActions.MODIFY_PRESCRIPTION_RESET,
});
export const fetchModifyPrescriptionSuccess = (authkey: any) => ({
type: InsuranceActions.MODIFY_PRESCRIPTION_SUCCESS,
payload: authkey,
});
export const fetchModifyPrescriptionError = (error: any) => ({
type: InsuranceActions.MODIFY_PRESCRIPTION_ERROR,
payload: error,
});
export const fetchModifyPrescription = (id, data) => {
return ApiAction({
url: `${consultationUrl}/${id}`,
method: 'PUT',
data,
onLoading: fetchModifyPrescriptionPending,
onSuccess: fetchModifyPrescriptionSuccess,
onError: fetchModifyPrescriptionError,
});
};

View File

@ -557,3 +557,33 @@ export const executionPrescriptionReducer = (state = INITIAL_STATE, action: Insu
}
};
export const modifyPrescriptionReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
switch (action.type) {
case InsuranceActions.MODIFY_PRESCRIPTION_PENDING:
return {
...state,
loading: true
}
case InsuranceActions.MODIFY_PRESCRIPTION_SUCCESS:
return {
loading: false,
result: action.payload,
error: null
}
case InsuranceActions.MODIFY_PRESCRIPTION_ERROR:
return {
...state,
loading: false,
result: null,
error: action.payload
}
case InsuranceActions.MODIFY_PRESCRIPTION_RESET:
return INITIAL_STATE;
default:
return state
}
};

View File

@ -25,6 +25,7 @@ const selectGetAmountConsultationReducer = (state) => state.getAmountConsultatio
const selectGetConsultationReducer = (state) => state.getConsultationReducer;
const selectAcceptRefuseConsultationReducer = (state) => state.acceptOrRejectConsultationReducer;
const selectExecutionPrescriptionReducerReducer = (state) => state.executionPrescriptionReducer;
const selectModifyPrescriptionReducer = (state) => state.modifyPrescriptionReducer;
export const selectInsuranceList = createSelector(
[selectInsuranceListReducer],
@ -105,3 +106,8 @@ export const selectExecutionPrescription = createSelector(
[selectExecutionPrescriptionReducerReducer],
(executionPrescription) => executionPrescription
);
export const selectModifyPrescription = createSelector(
[selectModifyPrescriptionReducer],
(modifyPrescriptionReducer) => modifyPrescriptionReducer
);

View File

@ -95,5 +95,10 @@ const InsuranceActions = {
EXECUTION_PRESCRIPTION_SUCCESS: 'EXECUTION_PRESCRIPTION_SUCCESS',
EXECUTION_PRESCRIPTION_ERROR: 'EXECUTION_PRESCRIPTION_ERROR',
EXECUTION_PRESCRIPTION_RESET: 'EXECUTION_PRESCRIPTION_RESET',
MODIFY_PRESCRIPTION_PENDING: 'MODIFY_PRESCRIPTION_PENDING',
MODIFY_PRESCRIPTION_SUCCESS: 'MODIFY_PRESCRIPTION_SUCCESS',
MODIFY_PRESCRIPTION_ERROR: 'MODIFY_PRESCRIPTION_ERROR',
MODIFY_PRESCRIPTION_RESET: 'MODIFY_PRESCRIPTION_RESET',
}
export default InsuranceActions;

View File

@ -63,7 +63,7 @@ import {
getSubscriptionListReducer,
getUserByIdQRCodeReducer,
getUserByNameOrNumberReducer,
insuranceListReducer,
insuranceListReducer, modifyPrescriptionReducer,
subscribeInsuranceReducer,
uploadInsuranceImagesReducer
} from "../insurance/insurance.reducer";
@ -170,7 +170,8 @@ const rootReducer = persistCombineReducers(persistConfig, {
getAmountConsultationReducer: getAmountConsultationReducer,
getConsultationReducer: getConsultationReducer,
acceptOrRejectConsultationReducer: acceptOrRejectConsultationReducer,
executionPrescriptionReducer: executionPrescriptionReducer
executionPrescriptionReducer: executionPrescriptionReducer,
modifyPrescriptionReducer: modifyPrescriptionReducer
});
export default rootReducer;

View File

@ -69,5 +69,6 @@
"souscrireAssuranceUser": "souscrireAssuranceUser",
"askPrestationUser": "askPrestationUser",
"saisirFeuilleSoinScreen": "saisirFeuilleSoinScreen",
"executerPrescriptionScreen": "executerPrescriptionScreen"
"executerPrescriptionScreen": "executerPrescriptionScreen",
"modifierFeuilleSoinScreen": "modifierFeuilleSoinScreen",
}

View File

@ -1666,8 +1666,7 @@ class Home extends BaseScreen {
barStyle="light-content"
translucent={true}
/>
{/* Start here to comment */}
{/* {
{
(this.state.loadingDialog || this.props.loading) ?
<View
style={{
@ -1720,7 +1719,7 @@ class Home extends BaseScreen {
}
}])
}}
/>*/}
/>
{this.makeCardSearch()}
{this.showInterticiel()}
{this.makeSlidingUp()}

View File

@ -272,8 +272,8 @@ export default class OptionsMenu extends Component {
|| item === 'envoieCashVersCarteAgent' || item === 'modifyIdentificationUser' || item === 'createGroupNanoCredit' || item === 'groupNanoCredit' || item === 'demandeValidationGroupe'
|| item === 'adhererGroupNanoCredit' || item === 'myNanoCreditGroup' || item === 'askNanoCredit' || item === 'refundNanoCreditUser' || item === 'cautionNanoCreditAgent'
|| item === 'epargnerArgentUser' || item === 'askNanoCredit' || item === 'casserEpargneUser' || item === 'envoieWalletToBankAgent' || item === 'reattachAccountUser' || item === 'insuranceSubscriptionScreen'
|| item === 'addBeneficiaryScreen' || item === 'activateBuySubscriptionScreen' || item === 'saisirFeuilleSoinScreen' || item === 'validateConsultationScreen' || item === 'validateConsultationDetailScreen'
|| item === 'executerPrescriptionScreen') {
|| item === 'addBeneficiaryScreen' || item === 'activateBuySubscriptionScreen' || item === 'saisirFeuilleSoinScreen' || item === 'validateConsultationScreen' || item === 'validateConsultationDetailScreen'
|| item === 'executerPrescriptionScreen' || item === 'modifierFeuilleSoinScreen') {
return null
} else {
const color = this.state.currentId === item.id ? theme.accent : "grey"

View File

@ -51,6 +51,11 @@ import {getUserIdentificationAction} from "../../webservice/IdentificationApi";
import {store} from "../../redux/store";
import FontAwesome5 from "react-native-vector-icons/FontAwesome5";
import FontAwesome from "react-native-vector-icons/FontAwesome";
import {
fetchGetAmountConsultationReset, fetchGetConsultationReset, fetchGetNetworkActsReset, fetchGetProviderClassReset,
fetchGetSubscriptionListReset, fetchGetUserByIdQRCodeReset,
fetchGetUserByNameOrNumberReset
} from "../../redux/insurance/insurance.actions";
const route = require('./../../route.json');
let slugify = require('slugify');
@ -117,6 +122,15 @@ class WalletOptionSelect extends Component {
}
}
}
this.props.fetchGetSubscriptionListReset();
this.props.fetchGetUserByNameOrNumberReset();
this.props.fetchGetUserByIdQRCodeReset();
this.props.fetchGetProviderClassReset();
this.props.fetchGetConsultationReset();
this.props.fetchGetNetworkActsReset();
});
});
}
@ -1257,6 +1271,13 @@ const mapDispatchToProps = dispatch => bindActionCreators({
getNanoCreditUserHistoryAction,
getNanoCreditUserHistoryReset,
fetchGetSubscriptionListReset,
fetchGetUserByNameOrNumberReset,
fetchGetUserByIdQRCodeReset,
fetchGetProviderClassReset,
fetchGetConsultationReset,
fetchGetNetworkActsReset,
getWalletDetailActivated,
getUserIdentificationAction,
getWalletTransactionHistoryUser

View File

@ -260,6 +260,7 @@ const ExecuterPrescriptionScreen = ({
const [showQRCodeScanner, setShowQRCodeScanner] = useState(false);
const [wallet] = useState(store.getState().walletDetailReducer.result.response);
console.log("Wallet", wallet);
const [isNumeroAssureSearch, setIsNumeroAssureSearch] = useState(true);
@ -639,10 +640,14 @@ const ExecuterPrescriptionScreen = ({
<FlatList data={getUserByNameOrNumber.result?.response}
extraData={getUserByNameOrNumber.result?.response}
ListEmptyComponent={<Text body2>{I18n.t('NO_ASSURE_MATCH_SEARCH')}</Text>}
keyExtractor={(item, index) => index}
renderItem={({item, index}) => {
return (
<View style={{
paddingVertical: 15,
alignItems: 'flex-start',
}}>
<TouchableOpacity
style={[
styles.contentActionModalBottom,
@ -677,6 +682,33 @@ const ExecuterPrescriptionScreen = ({
{`${item.user.firstname} ${item.user.lastname}`}
</Text>
</TouchableOpacity>
{item.beneficiaries.map((beneficiary) => (
<TouchableOpacity style={styles.beneficiarySubSection}
onPress={() => {
setAssure(item);
setBeneficiary(beneficiary);
setStatutPatient(0);
setModalListAssure(false);
setFieldValue(
'lastname_patient',
beneficiary.lastname,
);
setFieldValue(
'firstname_patient',
beneficiary.firstname,
);
fetchGetConsultation(beneficiary.id, 'TO_BILL', 'CONSULTATION');
}}>
<View style={{width: 10}}/>
<View style={{paddingHorizontal: 10, alignItems: 'flex-start'}}>
<Text subhead semibold>
{`${beneficiary.firstname} ${beneficiary.lastname} (${I18n.t('AYANT_DROITS')})`}
</Text>
</View>
</TouchableOpacity>
))}
</View>
)
}}/>
@ -716,6 +748,7 @@ const ExecuterPrescriptionScreen = ({
<FlatList data={getConsultation.result?.response}
extraData={getConsultation.result?.response}
ListEmptyComponent={<Text body2>{I18n.t('NO_CONSULTATION')}</Text>}
keyExtractor={(item, index) => index}
renderItem={({item, index}) => {
return (
@ -838,6 +871,17 @@ const ExecuterPrescriptionScreen = ({
style={[Typography.caption1, Color.grayColor]}>{moment(historyItemDetail.created_at).format('YYYY-MM-DD')}</Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text style={[styles.body2]}>{I18n.t('PRESTATION')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
{historyItemDetail.performances.map(performance => (
<Text
style={[Typography.caption1, Color.grayColor]}>{`${performance.act.name} \n ${performance.amount} \n`}</Text>
))}
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text style={[styles.body2]}>{I18n.t('EXAMEN')}</Text>
@ -860,17 +904,6 @@ const ExecuterPrescriptionScreen = ({
))}
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text style={[styles.body2]}>{I18n.t('PRESTATION')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
{historyItemDetail.performances.map(performance => (
<Text
style={[Typography.caption1, Color.grayColor]}>{`${performance.act.name} \n ${performance.amount} \n`}</Text>
))}
</View>
</View>
</View>
</ScrollView>
@ -912,7 +945,7 @@ const ExecuterPrescriptionScreen = ({
<View style={styles.lineSwipeDown}/>
</View>
<Text body2 style={{marginTop: 10}}>{I18n.t('EXAMEN')}</Text>
<Text body2 style={{marginTop: 10}}>{I18n.t('MEDICAMENTS')}</Text>
<FlatList data={consultation.prescriptions}
extraData={consultation.prescriptions}
@ -992,7 +1025,7 @@ const ExecuterPrescriptionScreen = ({
onSubmit: values => {
fetchExecutionPrescription({
health_care_sheet_id: consultation.id,
network_agent_id: user.agentId,
network_agent_id: wallet.network_agent_id,
password: values.password,
practitioner_lastname: values.practitioner_lastname,
practitioner_firstname: values.practitioner_firstname,

File diff suppressed because it is too large Load Diff

View File

@ -1213,6 +1213,7 @@ const SaisirFeuilleSoinScreen = ({
<FlatList data={getUserByNameOrNumber.result?.response}
extraData={getUserByNameOrNumber.result?.response}
keyExtractor={(item, index) => index}
ListEmptyComponent={<Text body2>{I18n.t('NO_ASSURE_MATCH_SEARCH')}</Text>}
renderItem={({item, index}) => {
return (
<View style={{
@ -1392,7 +1393,7 @@ const SaisirFeuilleSoinScreen = ({
} else {
fetchCreateConsultation({
insured_id: assure.insured_id,
network_agent_id: user.agentId,
network_agent_id: wallet.network_agent_id,
password: values.password,
beneficiary_id: beneficiary !== null ? beneficiary.id : null,
practitioner_lastname: values.practitioner_lastname,

View File

@ -624,6 +624,11 @@ export const optionNanoSanteAgentScreen = {
screen: route.executerPrescriptionScreen,
icon: 'edit',
title: 'EXECUTER_PRESCRIPTION',
},
{
screen: route.modifierFeuilleSoinScreen,
icon: 'edit',
title: 'MODIFY_CONSULTATION',
}
]
}

View File

@ -663,6 +663,7 @@
"PRESTATION_SUCCESSFULLY_ADD": "Prestation ajouté avec succès",
"EXAMENS_SUCCESSFULLY_ADD": "Examens ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_ADD": "Prescription ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_MODIFY": "Prescription modifié avec succès",
"YOU_MUST_ADD_AT_LEAST_ONE_PRESTATION": "Vous devez ajouter au moins une prestation",
"NO_DRUG_MATCH_YOU_SEARCH": "Aucun médicament ne correspond à votre rechercher, voulez-vous en ajouter ?",
"COMPRESSED": "Comprimé",
@ -680,5 +681,15 @@
"REJECT": "Rejeter",
"DETAIL": "Détail",
"NO_CONSULTATION_DEMAND": "Aucune demande de consultation",
"LIST_CONSULTATION": "Liste des consultations"
"LIST_CONSULTATION": "Liste des consultations",
"MODIFY_CONSULTATION": "Modifier une consultation",
"MEDICAMENTS": "Médicaments",
"MODIFIER_MEDICAMENT": "Modifier médicament",
"MODIFIER_EXAMEN": "Modifier examen",
"EXAMENS_SUCCESSFULLY_MODIFY": "Examen modifié avec succès",
"PRESTATION_SUCCESSFULLY_MODIFY": "Prestation modifié avec succès",
"MODIFY_PRESTATION": "Modifier une prestation",
"LIST_PRESTATION": "Liste des prestations",
"NO_CONSULTATION": "Aucune consultation",
"LISTE_CONSULTATION": "Liste des consultations"
}