diff --git a/frontend/src/components/pages/Estimate.vue b/frontend/src/components/pages/Estimate.vue index e056785..706392c 100644 --- a/frontend/src/components/pages/Estimate.vue +++ b/frontend/src/components/pages/Estimate.vue @@ -92,6 +92,9 @@ :disabled="selectedItems.length === 0" /> +
+
@@ -187,6 +190,27 @@ + + + +

Submit Estimate and Email {{ selectedContact.firstName }} {{ + selectedContact.lastName}}?

+

This cannot be undone, please make sure all information is correct.

+
+
+
+ @@ -230,6 +254,7 @@ const selectedItems = ref([]); const showAddressModal = ref(false); const showAddItemModal = ref(false); const showConfirmationModal = ref(false); +const showSubmitEstimateModal = ref(false); const addressSearchResults = ref([]); const itemSearchTerm = ref(""); @@ -402,7 +427,7 @@ onMounted(async () => { } catch (error) { console.error("Error loading quotation items:", error); } - + if (addressQuery && isNew) { // Creating new estimate - pre-fill address await selectAddress(addressQuery); @@ -411,13 +436,13 @@ onMounted(async () => { try { estimate.value = await Api.getEstimateFromAddress(addressQuery); console.log("DEBUG: Loaded estimate:", estimate.value); - + if (estimate.value) { await selectAddress(addressQuery); // Set the contact from the estimate formData.contact = estimate.value.partyName; selectedContact.value = contacts.value.find((c) => c.name === estimate.value.partyName) || null; - + // Populate items from the estimate if (estimate.value.items && estimate.value.items.length > 0) { selectedItems.value = estimate.value.items.map(item => {