|
|
@@ -22,6 +22,19 @@
|
|
|
></v-skeleton-loader>
|
|
|
<v-container v-else fluid class="container">
|
|
|
<v-row>
|
|
|
+ <v-col cols="12" sm="12">
|
|
|
+ <UiInputAutocomplete
|
|
|
+ field="owner"
|
|
|
+ label="addressOwner"
|
|
|
+ itemValue="@id"
|
|
|
+ :itemText="['cp', 'city']"
|
|
|
+ v-on:update="updateAddressFromOwner"/>
|
|
|
+ </v-col>
|
|
|
+
|
|
|
+ <v-col cols="12" sm="6">
|
|
|
+ <UiInputEnum field="type" label="addresstype" :data="entry['type']" enumType="address_postal_organization" v-on:update="updateRepository"/>
|
|
|
+ </v-col>
|
|
|
+
|
|
|
<v-col cols="12" sm="6">
|
|
|
<UiInputText field="addressPostal.streetAddress" label="streetAddress" :data="entry['addressPostal.streetAddress']" v-on:update="updateRepository"/>
|
|
|
</v-col>
|
|
|
@@ -40,11 +53,13 @@
|
|
|
</v-row>
|
|
|
</v-container>
|
|
|
|
|
|
+ <UiMap :zoom=12 :address="addressItem" v-on:updateAddress="updateAddress"></UiMap>
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
<template v-slot:form.button>
|
|
|
<NuxtLink :to="{ path: '/organization', query: { accordion: 'address_postal' }}" class="no-decoration">
|
|
|
- <v-btn class="mr-4 ot_danger ot_white--text">
|
|
|
+ <v-btn class="mr-4 ot_light_grey ot_grey--text">
|
|
|
{{$t('back')}}
|
|
|
</v-btn>
|
|
|
</NuxtLink>
|
|
|
@@ -61,6 +76,9 @@
|
|
|
import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
|
|
|
import {QUERY_TYPE} from "~/types/enums";
|
|
|
import {repositoryHelper} from "~/services/store/repository";
|
|
|
+ import {queryHelper} from "~/services/store/query";
|
|
|
+ import {AnyJson} from "~/types/interfaces";
|
|
|
+ import {AddressPostal} from "~/models/Core/AddressPostal";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'organization_address',
|
|
|
@@ -70,9 +88,9 @@
|
|
|
const id = parseInt(route.value.params.id)
|
|
|
|
|
|
const repository = repositoryHelper.getRepository(OrganizationAddressPostal)
|
|
|
- const query = computed(() => repository.with('addressPostal', (query) => {
|
|
|
+ const query = repository.with('addressPostal', (query) => {
|
|
|
query.with('addressCountry')
|
|
|
- }))
|
|
|
+ })
|
|
|
|
|
|
useFetch(async () => {
|
|
|
await $dataProvider.invoke({
|
|
|
@@ -83,12 +101,29 @@
|
|
|
loading.value = false
|
|
|
})
|
|
|
|
|
|
+ const addressItem = computed(() => {
|
|
|
+ const organizationAddressPostal = queryHelper.getFirstItem(query) as OrganizationAddressPostal
|
|
|
+ return organizationAddressPostal.addressPostal
|
|
|
+ })
|
|
|
+
|
|
|
+ const updateAddress = (address: AddressPostal) => {
|
|
|
+ const organizationAddressPostal = queryHelper.getFirstItem(query) as OrganizationAddressPostal
|
|
|
+ organizationAddressPostal.addressPostal = address
|
|
|
+ repositoryHelper.persist(repository, organizationAddressPostal)
|
|
|
+ }
|
|
|
+
|
|
|
+ /** Computed proprieties needs to be return as function until nuxt3 : https://github.com/nuxt-community/composition-api/issues/207 **/
|
|
|
return {
|
|
|
model: OrganizationAddressPostal,
|
|
|
query: () => query,
|
|
|
id,
|
|
|
loading,
|
|
|
- panel: 0
|
|
|
+ panel: 0,
|
|
|
+ addressItem,
|
|
|
+ updateAddress,
|
|
|
+ updateAddressFromOwner: (data:any) => {
|
|
|
+ console.log(data)
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
})
|