[Household members editor] add address suggestion on menage creation

This commit is contained in:
2021-08-16 19:07:03 +02:00
parent 25465b1121
commit 5a716a3523
7 changed files with 568 additions and 14 deletions

View File

@@ -5,6 +5,38 @@
<div>
<household-viewer :household="household"></household-viewer>
</div>
<div v-if="isHouseholdNew && !hasHouseholdAddress">
<h3>À quelle adresse habite ce ménage ?</h3>
<ul v-if="filterAddressesSuggestion.length > 0">
<li v-for="a in filterAddressesSuggestion">
<show-address :address="a"></show-address>
<button class="btn" @click="setHouseholdAddress(a)">
Le ménage habite cette adresse
</button>
</li>
</ul>
<ul class="record_actions">
<li >
<button class="btn">
Créer une adresse
</button>
</li>
</ul>
</div>
<div v-if="isHouseholdNew && hasHouseholdAddress">
<ul class="record_actions">
<li >
<button class="btn" @click="removeHouseholdAddress">
Supprimer cette adresse
</button>
</li>
</ul>
</div>
</div>
<div v-else-if="isForceLeaveWithoutHousehold">
{{ $t('household_members_editor.household.will_leave_any_household') }}
@@ -23,7 +55,7 @@
countHouseholdSuggestion) }}
</button>
</li>
<li v-if="showHouseholdSuggestion">
<li v-if="showHouseholdSuggestion && hasHouseholdSuggestion">
<button
class="btn btn-misc"
@click="toggleHouseholdSuggestion"
@@ -46,10 +78,15 @@
<i class="fa fa-sign-out"></i>{{ $t('household_members_editor.household.leave_without_household') }}
</button>
</li>
<li v-if="allowRemoveHousehold">
<button @click="removeHousehold" class="btn">
{{ $t('household_members_editor.household.change') }}
</button>
</li>
</ul>
<div class="householdSuggestions">
<div v-if="showHouseholdSuggestion">
<div v-if="showHouseholdSuggestion && hasHouseholdSuggestion">
<p>{{ $t('household_members_editor.household_for_participants_accompanying_period') }}:</p>
<div class="householdSuggestionList">
<div
@@ -98,11 +135,13 @@
import { mapGetters, mapState } from 'vuex';
import HouseholdViewer from 'ChillPersonAssets/vuejs/_components/Household/Household.vue';
import ShowAddress from 'ChillMainAssets/vuejs/Address/components/ShowAddress.vue';
export default {
name: 'Household',
components: {
HouseholdViewer,
ShowAddress,
},
computed: {
...mapGetters([
@@ -111,6 +150,8 @@ export default {
'hasHouseholdSuggestion',
'countHouseholdSuggestion',
'filterHouseholdSuggestionByAccompanyingPeriod',
'filterAddressesSuggestion',
'hasHouseholdAddress',
]),
...mapState([
'showHouseholdSuggestion',
@@ -119,14 +160,22 @@ export default {
return this.$store.state.household;
},
allowHouseholdCreate() {
return this.$store.state.allowHouseholdCreate;
return this.$store.state.allowHouseholdCreate && !this.$store.getters.hasHousehold;
},
allowHouseholdSearch() {
return false;
return this.$store.state.allowHouseholdSearch;
return this.$store.state.allowHouseholdSearch && !this.$store.getters.hasHousehold;
},
allowLeaveWithoutHousehold() {
return this.$store.state.allowLeaveWithoutHousehold;
return this.$store.state.allowLeaveWithoutHousehold && !this.$store.getters.hasHousehold;
},
allowRemoveHousehold() {
return this.$store.getters.hasHousehold &&
(
this.allowHouseholdCreate || this.allowHouseholdSearch ||
this.allowLeaveWithoutHousehold
)
;
},
allowChangeHousehold() {
return this.allowHouseholdCreate || this.allowHouseholdSearch ||
@@ -148,6 +197,15 @@ export default {
},
selectHousehold(h) {
this.$store.dispatch('selectHousehold', h);
},
removeHousehold() {
this.$store.dispatch('removeHousehold');
},
setHouseholdAddress(a) {
this.$store.commit('setHouseholdAddress', a);
},
removeHouseholdAddress() {
this.$store.commit('removeHouseholdAddress');
}
},
};