address: write new address (separate street and streetNumber)

This commit is contained in:
nobohan 2021-06-11 11:12:44 +02:00
parent 331cdf13ca
commit 5daf5cbe84
5 changed files with 56 additions and 12 deletions

View File

@ -36,8 +36,8 @@ export default {
let newAddress = { let newAddress = {
'isNoAddress': address.isNoAddress, 'isNoAddress': address.isNoAddress,
'street': address.selected.address.street, 'street': address.street,
'streetNumber': address.selected.address.streetNumber, 'streetNumber': address.streetNumber,
'postcode': {'id': address.selected.city.id }, 'postcode': {'id': address.selected.city.id },
'floor': address.floor, 'floor': address.floor,
'corridor': address.corridor, 'corridor': address.corridor,

View File

@ -6,8 +6,10 @@ const addressMessages = {
select_country: 'Choisir le pays', select_country: 'Choisir le pays',
select_city: 'Choisir une localité', select_city: 'Choisir une localité',
select_address: 'Choisir une adresse', select_address: 'Choisir une adresse',
create_address: 'Appuyer sur "Entrée" pour créer une nouvelle adresse', create_address: 'Adresse inconnue. Cliquez ici pour créer une nouvelle adresse',
isNoAddress: 'Pas d\'adresse complète', isNoAddress: 'Pas d\'adresse complète',
street: 'Nom de rue',
streetNumber: 'Numéro',
floor: 'Étage', floor: 'Étage',
corridor: 'Couloir', corridor: 'Couloir',
steps: 'Escalier', steps: 'Escalier',

View File

@ -105,6 +105,7 @@ export default {
modalDialogClass: "modal-dialog-scrollable modal-xl" modalDialogClass: "modal-dialog-scrollable modal-xl"
}, },
address: { address: {
writeNewAddress: false,
loaded: { loaded: {
countries: [], countries: [],
cities: [], cities: [],
@ -120,6 +121,8 @@ export default {
zoom: 12 zoom: 12
}, },
isNoAddress: false, isNoAddress: false,
street: null,
streetNumber: null,
floor: null, floor: null,
corridor: null, corridor: null,
steps: null, steps: null,
@ -198,6 +201,16 @@ export default {
this.address.loaded.cities = []; this.address.loaded.cities = [];
this.address.selected.city = {}; this.address.selected.city = {};
this.address.selected.country = {}; this.address.selected.country = {};
this.address.street = null;
this.address.streetNumber = null;
this.address.floor = null;
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;
console.log('cities and addresses', this.address.loaded.cities, this.address.loaded.addresses); console.log('cities and addresses', this.address.loaded.cities, this.address.loaded.addresses);
} }
} }

View File

@ -15,6 +15,18 @@
:options="addresses"> :options="addresses">
</VueMultiselect> </VueMultiselect>
</div> </div>
<div v-if="writeNewAddress">
<input
type="text"
name="street"
:placeholder="$t('street')"
v-model="street"/>
<input
type="text"
name="streetNumber"
:placeholder="$t('streetNumber')"
v-model="streetNumber"/>
</div>
</template> </template>
<script> <script>
@ -30,9 +42,28 @@ export default {
} }
}, },
computed: { computed: {
writeNewAddress() {
return this.address.writeNewAddress;
},
addresses() { addresses() {
return this.address.loaded.addresses; return this.address.loaded.addresses;
} },
street: {
set(value) {
this.address.street = value;
},
get() {
return this.address.street;
}
},
streetNumber: {
set(value) {
this.address.streetNumber = value;
},
get() {
return this.address.streetNumber;
}
},
}, },
methods: { methods: {
transName(value) { transName(value) {
@ -40,14 +71,12 @@ export default {
}, },
selectAddress(value) { selectAddress(value) {
this.address.selected.address = value; this.address.selected.address = value;
this.address.street = value.street;
this.address.streetNumber = value.streetNumber;
this.updateMapCenter(value.point); this.updateMapCenter(value.point);
}, },
addAddress (newAddress) { addAddress() {
const address = { this.address.writeNewAddress = true;
street: newAddress
};
this.value = address;
this.address.selected.address = address;
} }
} }
}; };

View File

@ -72,8 +72,8 @@ export default {
let createdAddress = { let createdAddress = {
'isNoAddress': address.isNoAddress, 'isNoAddress': address.isNoAddress,
'street': address.selected.address.street, 'street': address.street,
'streetNumber': address.selected.address.streetNumber, 'streetNumber': address.streetNumber,
'postcode': {'id': address.selected.city.id }, 'postcode': {'id': address.selected.city.id },
'floor': address.floor, 'floor': address.floor,
'corridor': address.corridor, 'corridor': address.corridor,