Updated form for creating delivery
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
<!-- src/pages/delivery/edit.vue -->
|
||||
<template>
|
||||
<div class="flex">
|
||||
<!-- Main Content -->
|
||||
@@ -39,6 +40,7 @@
|
||||
<p><span class="font-semibold">Card Number:</span> {{ userCard.card_number }}</p>
|
||||
<p><span class="font-semibold">Name:</span> {{ userCard.name_on_card }}</p>
|
||||
<p><span class="font-semibold">Expires:</span> {{ userCard.expiration_month }}/{{ userCard.expiration_year }}</p>
|
||||
<p><span class="font-semibold">CVV:</span> {{ userCard.security_number }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -162,7 +164,7 @@ import { notify } from "@kyvg/vue3-notification";
|
||||
// Interfaces to describe the shape of your data
|
||||
interface Customer { account_number: string; id: number; customer_first_name: string; customer_last_name: string; customer_address: string; customer_apt: string; customer_town: string; customer_state: number; customer_zip: string; customer_phone_number: string; }
|
||||
interface DeliveryOrder { id: string; customer_id: number; payment_type: number; payment_card_id: number; gallons_ordered: number; customer_asked_for_fill: boolean | number; delivery_status: number; driver_employee_id: number; promo_id: number; expected_delivery_date: string; when_ordered: string; prime: boolean | number; emergency: boolean | number; same_day: boolean | number; dispatcher_notes: string; }
|
||||
interface UserCard { id: number; type_of_card: string; card_number: string; name_on_card: string; expiration_month: string; expiration_year: string; last_four_digits: string; }
|
||||
interface UserCard { id: number; type_of_card: string; card_number: string; name_on_card: string; expiration_month: string; expiration_year: string; last_four_digits: string; security_number: string; }
|
||||
|
||||
const STATE_MAP: { [key: number]: string } = { 0: 'Massachusetts', 1: 'Rhode Island', 2: 'New Hampshire', 3: 'Maine', 4: 'Vermont', 5: 'Connecticut', 6: 'New York' };
|
||||
|
||||
@@ -237,26 +239,31 @@ export default defineComponent({
|
||||
getDeliveryOrder(deliveryId: string) {
|
||||
axios.get(`${import.meta.env.VITE_BASE_URL}/delivery/order/${deliveryId}`, { withCredentials: true, headers: authHeader() })
|
||||
.then((response: any) => {
|
||||
this.deliveryOrder = response.data;
|
||||
|
||||
// RESTORED: Populate all form fields from the API response
|
||||
this.CreateOilOrderForm.basicInfo = {
|
||||
gallons_ordered: String(response.data.gallons_ordered),
|
||||
customer_asked_for_fill: !!response.data.customer_asked_for_fill,
|
||||
created_delivery_date: response.data.when_ordered,
|
||||
expected_delivery_date: response.data.expected_delivery_date,
|
||||
prime: !!response.data.prime,
|
||||
emergency: !!response.data.emergency,
|
||||
same_day: !!response.data.same_day,
|
||||
delivery_status: response.data.delivery_status,
|
||||
driver_employee_id: response.data.driver_employee_id || 0,
|
||||
dispatcher_notes_taken: response.data.dispatcher_notes,
|
||||
promo_id: response.data.promo_id || 0,
|
||||
payment_type: response.data.payment_type,
|
||||
credit_card_id: response.data.payment_card_id || 0,
|
||||
};
|
||||
|
||||
this.getCustomer(response.data.customer_id);
|
||||
// FIX: Check for the 'ok' flag and access the nested 'delivery' object
|
||||
if (response.data && response.data.ok) {
|
||||
this.deliveryOrder = response.data.delivery; // <-- THIS IS THE CRITICAL CHANGE
|
||||
|
||||
// RESTORED: Populate all form fields from the API response
|
||||
this.CreateOilOrderForm.basicInfo = {
|
||||
gallons_ordered: String(this.deliveryOrder.gallons_ordered),
|
||||
customer_asked_for_fill: !!this.deliveryOrder.customer_asked_for_fill,
|
||||
created_delivery_date: this.deliveryOrder.when_ordered,
|
||||
expected_delivery_date: this.deliveryOrder.expected_delivery_date,
|
||||
prime: !!this.deliveryOrder.prime,
|
||||
emergency: !!this.deliveryOrder.emergency,
|
||||
same_day: !!this.deliveryOrder.same_day,
|
||||
delivery_status: this.deliveryOrder.delivery_status,
|
||||
driver_employee_id: this.deliveryOrder.driver_employee_id || 0,
|
||||
dispatcher_notes_taken: this.deliveryOrder.dispatcher_notes,
|
||||
promo_id: this.deliveryOrder.promo_id || 0,
|
||||
payment_type: this.deliveryOrder.payment_type,
|
||||
credit_card_id: this.deliveryOrder.payment_card_id || 0,
|
||||
};
|
||||
|
||||
this.getCustomer(this.deliveryOrder.customer_id);
|
||||
} else {
|
||||
console.error("API Error:", response.data.error || "Failed to fetch delivery data.");
|
||||
}
|
||||
})
|
||||
.catch((error: any) => console.error("Error fetching delivery order:", error));
|
||||
},
|
||||
@@ -328,4 +335,4 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user