Preserve the locator model

This makes it possible to move back-and-forth in the compliance process
and still retain data.
This commit is contained in:
Eli Ribble 2026-04-09 22:22:27 +00:00
parent dbc5db9727
commit d3662b8240
No known key found for this signature in database
6 changed files with 127 additions and 81 deletions

View file

@ -20,13 +20,13 @@ body > .container-fluid {
<router-view v-slot="{ Component }">
<component
:is="Component"
:compliance="compliance"
:district="district"
@doComments="doComments"
@doContact="doContact"
@doImages="doImages"
@doLocator="doLocator"
@doPermission="doPermission"
v-model="compliance"
/>
</router-view>
</template>
@ -50,7 +50,7 @@ import { type Permission } from "@/rmo/content/compliance/Permission.vue";
export interface Compliance {
comments: string;
contact?: Contact;
locator?: Locator;
locator: Locator;
images: Image[];
permission?: Permission;
}
@ -63,6 +63,23 @@ const districtStore = useStoreDistrict();
const compliance = ref<Compliance>({
comments: "",
images: [],
locator: {
address: {
country: "",
gid: "",
locality: "",
number: "",
postal_code: "",
raw: "",
region: "",
street: "",
unit: "",
},
location: {
latitude: 0,
longitude: 0,
},
},
});
const props = defineProps<Props>();
const district = computedAsync(async (): Promise<District | undefined> => {
@ -81,9 +98,8 @@ function doImages(images: Image[]) {
console.log("images", images);
compliance.value.images = images;
}
function doLocator(locator: Locator | undefined) {
console.log("locator", locator);
compliance.value.locator = locator;
function doLocator() {
console.log("locator done", compliance.value.locator);
}
function doPermission(permission: Permission | undefined) {
console.log("permission", permission);