addresses: edit address for person

This commit is contained in:
nobohan
2021-06-16 14:39:02 +02:00
parent 35d35c9f40
commit 06daf35e96
14 changed files with 132 additions and 42 deletions

View File

@@ -207,25 +207,28 @@ export default {
},
resetAll() {
console.log('reset all selected');
console.log(this.$store.state.editAddress);
this.address.loaded.addresses = [];
this.address.selected.address = {};
this.address.loaded.cities = [];
this.address.selected.city = {};
this.address.selected.country = {};
this.address.isNoAddress = false;
this.address.street = null;
this.address.streetNumber = null;
this.address.floor = this.$store.state.editAddress.floor; //TODO other field and test if no edit
this.address.corridor = null;
this.address.steps = null;
this.address.flat = null;
this.address.buildingName = null;
this.address.distribution = null;
this.address.extra = null;
this.address.writeNewAddress = false;
this.address.writeNewPostalCode = false;
this.address.newPostalCode = {};
this.address.isNoAddress = this.edit ? this.$store.state.editAddress.isNoAddress: false;;
this.address.street = this.edit ? this.$store.state.editAddress.street: null;
this.address.streetNumber = this.edit ? this.$store.state.editAddress.streetNumber: null;
this.address.floor = this.edit ? this.$store.state.editAddress.floor: null;
this.address.corridor = this.edit ? this.$store.state.editAddress.corridor: null;
this.address.steps = this.edit ? this.$store.state.editAddress.steps: null;
this.address.flat = this.edit ? this.$store.state.editAddress.flat: null;
this.address.buildingName = this.edit ? this.$store.state.editAddress.buildingName: null;
this.address.distribution = this.edit ? this.$store.state.editAddress.distribution: null;
this.address.extra = this.edit ? this.$store.state.editAddress.extra: null;
this.address.writeNewAddress = this.edit;
this.address.writeNewPostalCode = this.edit;
this.address.newPostalCode = this.edit ?
{
code: this.$store.state.editAddress.postcode !== undefined ? this.$store.state.editAddress.postcode.code : null,
name: this.$store.state.editAddress.postcode !== undefined ? this.$store.state.editAddress.postcode.name : null
} : {};
console.log('cities and addresses', this.address.loaded.cities, this.address.loaded.addresses);
}
}

View File

@@ -1,37 +1,56 @@
<template>
<h4>{{ $t('fill_an_address') }}</h4>
<div>
<h4>{{ $t('fill_an_address') }}</h4>
<input
<label for="floor">{{ $t('floor') }}</label>
<input
type="text"
name="floor"
:placeholder="$t('floor')"
v-model="floor"/>
<input
</div>
<div>
<label for="corridor">{{ $t('corridor') }}</label>
<input
type="text"
name="corridor"
:placeholder="$t('corridor')"
v-model="corridor"/>
<input
</div>
<div>
<label for="steps">{{ $t('steps') }}</label>
<input
type="text"
name="steps"
:placeholder="$t('steps')"
v-model="steps"/>
<input
</div>
<div>
<label for="flat">{{ $t('flat') }}</label>
<input
type="text"
name="flat"
:placeholder="$t('flat')"
v-model="flat"/>
<input
</div>
<div>
<label for="buildingName">{{ $t('buildingName') }}</label>
<input
type="text"
name="buildingName"
:placeholder="$t('buildingName')"
v-model="buildingName"/>
<input
</div>
<div>
<label for="extra">{{ $t('extra') }}</label>
<input
type="text"
name="extra"
:placeholder="$t('extra')"
v-model="extra"/>
<input
</div>
<div>
<label for="distribution">{{ $t('distribution') }}</label>
<input
type="text"
name="distribution"
:placeholder="$t('distribution')"

View File

@@ -15,7 +15,7 @@
:options="addresses">
</VueMultiselect>
</div>
<div v-if="writeNewAddress || writeNewPostalCode">
<div class="custom-address" v-if="writeNewAddress || writeNewPostalCode">
<input
type="text"
name="street"

View File

@@ -15,7 +15,7 @@
:options="cities">
</VueMultiselect>
</div>
<div v-if="writeNewPostalCode">
<div class="custom-postcode" v-if="writeNewPostalCode">
<input
type="text"
name="name"
@@ -71,6 +71,8 @@ export default {
},
selectCity(value) {
this.address.selected.city = value;
this.address.newPostalCode.name = value.name;
this.address.newPostalCode.code = value.code;
this.getReferenceAddresses(value);
},
addPostalCode() {

View File

@@ -22,11 +22,16 @@ export default {
props: ['address', 'getCities'],
data() {
return {
value: this.address.loaded.countries.filter(c => c.countryCode === 'FR')[0]
edit: window.mode === 'edit',
defaultCountry: this.edit ? this.$store.state.editAddress.country.code : 'FR',
value: this.address.loaded.countries.filter(c => c.countryCode === this.defaultCountry)[0]
}
},
methods: {
init() {
this.value = this.edit ?
this.address.loaded.countries.filter(c => c.countryCode === this.$store.state.editAddress.country.code)[0]:
this.address.loaded.countries.filter(c => c.countryCode === 'FR')[0]
if (this.value !== undefined) {
this.selectCountry(this.value);
}

View File

@@ -0,0 +1,44 @@
<template>
<div v-if="address.text">
{{ address.text }}
</div>
<div v-if="address.postcode">
{{ address.postcode.name }}
</div>
<div v-if="address.country">
{{ address.country.name.fr }}
</div>
<div v-if="address.floor">
<span>{{ $t('floor') }}</span>: {{ address.floor }}
</div>
<div v-if="address.corridor">
<span>{{ $t('corridor') }}</span>: {{ address.corridor }}
</div>
<div v-if="address.steps">
<span>{{ $t('steps') }}</span>: {{ address.steps }}
</div>
<div v-if="address.flat">
<span>{{ $t('flat') }}</span>: {{ address.flat }}
</div>
<div v-if="address.buildingName">
<span>{{ $t('buildingName') }}</span>: {{ address.buildingName }}
</div>
<div v-if="address.extra">
<span>{{ $t('extra') }}</span>: {{ address.extra }}
</div>
<div v-if="address.distribution">
<span>{{ $t('distribution') }}</span>: {{ address.distribution }}
</div>
</template>
<script>
export default {
name: 'ShowAddress',
props: ['address'],
data() {
return {
}
},
};
</script>