added checks emergency fixed bugs

This commit is contained in:
2024-09-27 14:13:09 -04:00
parent 54fa47268d
commit 7832e40bf3
17 changed files with 304 additions and 148 deletions

View File

@@ -31,6 +31,12 @@
<div class="col-span-12 text-[24px]">
Create Oil Delivery
</div>
<div class="col-span-12 py-5">
<router-link :to="{ name: 'customerProfile', params: { id: customer['id'] } }"
class=" btn btn-accent btn-sm">
View Customer Profile
</router-link>
</div>
<form class="col-span-12 rounded-md px-8 pt-6 pb-8 mb-4 w-full" enctype="multipart/form-data"
@submit.prevent="onSubmit">
@@ -52,22 +58,17 @@
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Expected </label>
<input v-model="CreateOilOrderForm.basicInfo.expected_delivery_date"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="date" min="2023-01-01"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="date" min="2024-01-01"
max="2030-01-01" />
<span v-if="v$.CreateOilOrderForm.basicInfo.expected_delivery_date.$error"
class="text-red-600 text-center">
{{ v$.CreateOilOrderForm.basicInfo.expected_delivery_date.$errors[0].$message }}
</span>
</div>
<div class="mb-4">
<label class="form-control">
<div class="label">
<span class="label-text">Delivery notes</span>
</div>
<textarea class="textarea textarea-bordered h-24"
placeholder="Describe any thing given from the customer .."
v-model="CreateOilOrderForm.basicInfo.dispatcher_notes_taken"></textarea>
</label>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Emergency</label>
<input v-model="CreateOilOrderForm.basicInfo.emergency" class="checkbox checkbox-xs" id="prime"
type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Prime</label>
@@ -264,6 +265,7 @@ export default defineComponent({
expected_delivery_date: '',
dispatcher_notes_taken: '',
prime: false,
emergency: false,
userCards: [],
same_day: false,
credit: false,
@@ -401,6 +403,7 @@ export default defineComponent({
customer_asked_for_fill: boolean;
prime: boolean;
same_day: boolean;
emergency: boolean;
cash: boolean;
credit: boolean;
check: boolean;
@@ -436,6 +439,7 @@ export default defineComponent({
expected_delivery_date: this.CreateOilOrderForm.basicInfo.expected_delivery_date,
dispatcher_notes_taken: this.CreateOilOrderForm.basicInfo.dispatcher_notes_taken,
prime: this.CreateOilOrderForm.basicInfo.prime,
emergency: this.CreateOilOrderForm.basicInfo.emergency,
same_day: this.CreateOilOrderForm.basicInfo.same_day,
cash: this.CreateOilOrderForm.basicInfo.cash,
credit: this.CreateOilOrderForm.basicInfo.credit,

View File

@@ -26,6 +26,12 @@
Delivery id: {{ deliveryOrder.id }}
</div>
<div class="grid grid-cols-12">
<div class="col-span-12 py-5">
<router-link :to="{ name: 'customerProfile', params: { id: customer['id'] } }"
class=" btn btn-accent btn-sm">
View Customer Profile
</router-link>
</div>
<div class="col-span-6 p-5">
<div class="grid grid-cols-12">
<div class="col-span-12 flex">
@@ -189,6 +195,11 @@
<input v-model="CreateOilOrderForm.basicInfo.prime" class="checkbox checkbox-xs" id="prime"
type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Emergency</label>
<input v-model="CreateOilOrderForm.basicInfo.emergency" class="checkbox checkbox-xs" id="emergency"
type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Same Day </label>
<input v-model="CreateOilOrderForm.basicInfo.same_day" class="checkbox checkbox-xs" id="same_day"
@@ -294,6 +305,7 @@ export default defineComponent({
dispatcher_notes: '',
prime: 0,
same_day: 0,
emergency: 0,
payment_type: 0,
payment_card_id: 0,
driver_employee_id: 0,
@@ -308,6 +320,7 @@ export default defineComponent({
dispatcher_notes_taken: '',
prime: false,
same_day: false,
emergency: false,
delivery_status: '',
userCards: [],
credit_card_id: 0,
@@ -380,6 +393,7 @@ export default defineComponent({
this.CreateOilOrderForm.basicInfo.expected_delivery_date = response.data.delivery.delivery_expected_delivery_date;
this.CreateOilOrderForm.basicInfo.dispatcher_notes_taken = response.data.delivery.delivery_dispatcher_notes;
this.CreateOilOrderForm.basicInfo.prime = response.data.delivery.delivery_prime;
this.CreateOilOrderForm.basicInfo.emergency = response.data.delivery.delivery_emergency;
this.CreateOilOrderForm.basicInfo.same_day = response.data.delivery.delivery_same_day;
this.CreateOilOrderForm.basicInfo.delivery_status = response.data.delivery.delivery_status;
@@ -394,7 +408,9 @@ export default defineComponent({
if (response.data.delivery.delivery_same_day == 1) {
this.CreateOilOrderForm.basicInfo.same_day = true
}
if (response.data.delivery.delivery_emergency == 1) {
this.CreateOilOrderForm.basicInfo.emergency = true
}
if (response.data.delivery.payment_type == 0) {
this.CreateOilOrderForm.basicInfo.card = false
this.CreateOilOrderForm.basicInfo.cash = true
@@ -498,6 +514,7 @@ export default defineComponent({
customer_asked_for_fill: boolean;
prime: boolean;
same_day: boolean;
emergency: boolean;
delivery_status: string;
expected_delivery_date: string;
dispatcher_notes_taken: string;
@@ -532,6 +549,7 @@ export default defineComponent({
expected_delivery_date: this.CreateOilOrderForm.basicInfo.expected_delivery_date,
dispatcher_notes_taken: this.CreateOilOrderForm.basicInfo.dispatcher_notes_taken,
prime: this.CreateOilOrderForm.basicInfo.prime,
emergency: this.CreateOilOrderForm.basicInfo.emergency,
same_day: this.CreateOilOrderForm.basicInfo.same_day,
delivery_status: this.CreateOilOrderForm.basicInfo.delivery_status,
driver_employee_id: this.CreateOilOrderForm.basicInfo.driver_driver,

View File

@@ -48,6 +48,7 @@
<th>Automatic</th>
<th>Prime</th>
<th>Same Day</th>
<th>Emergency</th>
<th>Payment</th>
</tr>
</thead>
@@ -81,14 +82,22 @@
<div v-if="oil['automatic'] == 0">No</div>
<div v-else>Yes</div>
</td>
<td>
<div v-if="oil['prime'] == 0">No</div>
<div v-else>Yes</div>
</td>
<td>
<div v-if="oil['same_day'] == 0">No</div>
<div v-else>Yes</div>
</td>
<div v-if="oil['prime'] == 0">No</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
<div v-if="oil['same_day'] == 0">No</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
<div v-if="oil['emergency'] == 0">No</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
<div v-if="oil['payment_type'] == 0">Cash</div>
@@ -115,14 +124,8 @@
Print
</button>
</router-link>
<button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
Delete
</button>
<router-link :to="{ name: 'finalizeTicket', params: { id: oil['id'] } }">
<button class="btn btn-accent btn-sm">Finalize</button>
<button class="btn btn-success btn-sm">Finalize</button>
</router-link>
</td>
</tr>

View File

@@ -238,7 +238,7 @@
</div>
</div>
<div class="col-span-12 py-5 " v-if="deliveryOrder.payment_type == 1">
<div class="flex">
<div class="flex" v-if="userCardfound">
<div class="rounded-md border-2 bg-accent">
<div class="flex p-2">
{{ userCard.type_of_card }}
@@ -256,7 +256,7 @@
</div>
</div>
<div class="col-span-12 py-5 " v-if="deliveryOrder.payment_type == 2">
<div class="flex ">
<div class="flex " v-if="userCardfound">
<div class=" rounded-md border-2 bg-accent ">
<div class="flex p-1 pl-4">
{{ userCard.name_on_card }}
@@ -271,7 +271,7 @@
</div>
</div>
<div class="col-span-12 py-5 " v-if="deliveryOrder.payment_type == 3">
<div class="flex ">
<div class="flex " v-if="userCardfound">
<div class=" rounded-md border-2 bg-accent ">
<div class="flex p-1 pl-4">
{{ userCard.name_on_card }}
@@ -310,32 +310,30 @@
${{ total_amount }}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-span-6">
<form class="rounded-md px-8 pb-8 mb-4 w-full" enctype="multipart/form-data" @submit.prevent="onSubmit">
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Cash</label>
<input v-model="FinalizeOilOrderForm.cash" class="checkbox checkbox-xs" id="cash" type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Credit Card</label>
<input v-model="FinalizeOilOrderForm.card" class="checkbox checkbox-xs" id="Credit" type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Check</label>
<input v-model="FinalizeOilOrderForm.check" class="checkbox checkbox-xs" id="check" type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Other</label>
<input v-model="FinalizeOilOrderForm.other" class="checkbox checkbox-xs" id="check" type="checkbox" />
@@ -347,12 +345,14 @@
class="input input-bordered input-sm w-full max-w-xs" id="title" type="text"
placeholder="Cash from delivery recieved" />
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">check Number</label>
<input v-model="FinalizeOilOrderForm.check_number"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="text"
placeholder="Check Number" />
</div>
<div class="flex-1 mb-4">
<label class="block text-white text-sm font-bold mb-2">Customer Cards Payment</label>
<select class="select select-bordered select-sm w-full max-w-xs" aria-label="Default select example"
@@ -372,15 +372,14 @@
{{ delivery['text'] }}
</option>
</select>
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Filled </label>
<input v-model="FinalizeOilOrderForm.customer_filled" class="checkbox checkbox-xs" id="fill"
type="checkbox" />
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Gallons Delivered</label>
<input v-model="FinalizeOilOrderForm.gallons_delivered"
@@ -393,26 +392,33 @@
<input v-model="FinalizeOilOrderForm.emergency" class="checkbox checkbox-xs" id="prime"
type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Prime</label>
<input v-model="FinalizeOilOrderForm.prime" class="checkbox checkbox-xs" id="prime" type="checkbox" />
</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0 gap-10">
<label class="block text-white text-sm font-bold cursor-pointer label">Same Day</label>
<input v-model="FinalizeOilOrderForm.same_day" class="checkbox checkbox-xs" id="same_day"
type="checkbox" />
</div>
<div class="mb-4 ">
<label class="block text-white text-sm font-bold mb-2">Fill Location</label>
<input v-model="FinalizeOilOrderForm.fill_location"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="text"
placeholder="Fill location in clock format" />
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button class="btn btn-accent btn-sm">
Finalize Delivery
</button>
</div>
</form>
</div>
</div>
</div>
</div>
@@ -448,6 +454,7 @@ export default defineComponent({
user: {
id: 0
},
userCardfound: false,
deliveryStatus: [],
userCards: [],
deliveryNotesDriver: [],
@@ -461,6 +468,7 @@ export default defineComponent({
check: false,
other: false,
cash_recieved: '',
fill_location: 0,
check_number: 0,
delivery_status: '',
userCards: [],
@@ -509,6 +517,13 @@ export default defineComponent({
customer_home_type: 0,
customer_phone_number: '',
},
customerDescription: {
customer_id: 0,
account_number: '',
company_id: 0,
fill_location: 0,
description: '',
},
deliveryMoney: {
time_added: '',
total_amount_oil: '',
@@ -606,7 +621,6 @@ export default defineComponent({
this.deliveryOrder = response.data
this.getCustomer(this.deliveryOrder.customer_id)
if (this.deliveryOrder.payment_type === 1) {
this.getPaymentCard(this.deliveryOrder.payment_card_id);
}
@@ -667,16 +681,10 @@ export default defineComponent({
this.FinalizeOilOrderForm.check = false
this.FinalizeOilOrderForm.other = true
}
this.FinalizeOilOrderForm.gallons_delivered = response.data.gallons_delivered;
}
})
},
getPaymentCard(card_id: any) {
let path = import.meta.env.VITE_BASE_URL + "/payment/card/" + card_id;
axios({
@@ -685,7 +693,15 @@ export default defineComponent({
withCredentials: true,
})
.then((response: any) => {
this.userCard = response.data;
if (response.data.userCard.card_number === ''){
this.userCard === null;
this.userCardfound = false;
}
else{
this.userCard = response.data;
this.userCardfound = true;
}
this.FinalizeOilOrderForm.userCards = response.data.id
})
.catch(() => {
@@ -704,8 +720,6 @@ export default defineComponent({
.catch(() => {
});
},
getCustomer(user_id: any) {
let path = import.meta.env.VITE_BASE_URL + "/customer/" + user_id;
axios({
@@ -715,6 +729,7 @@ export default defineComponent({
})
.then((response: any) => {
this.customer = response.data;
this.getCustomerDescription(this.deliveryOrder.customer_id);
this.getPaymentCards(this.deliveryOrder.customer_id);
if (this.deliveryOrder.payment_type == 1) {
this.getPaymentCard(this.deliveryOrder.payment_card_id)
@@ -734,8 +749,25 @@ export default defineComponent({
});
});
},
getCustomerDescription(user_id: any) {
let path = import.meta.env.VITE_BASE_URL + "/customer/description/" + user_id;
axios({
method: "get",
url: path,
withCredentials: true,
})
.then((response: any) => {
this.customerDescription = response.data;
this.FinalizeOilOrderForm.fill_location =this.customerDescription.fill_location
})
.catch(() => {
notify({
title: "Error",
text: "Could not find customer",
type: "error",
});
});
},
getOilPricing() {
let path = import.meta.env.VITE_BASE_URL + "/info/price/oil/table";
axios({
@@ -767,9 +799,7 @@ export default defineComponent({
this.priceprime = response.data.priceprime;
this.pricesameday = response.data.pricesameday;
this.total_amount = response.data.total_amount;
}
})
.catch(() => {
notify({
@@ -779,8 +809,6 @@ export default defineComponent({
});
});
},
UpdateAuto(payload: {
gallons: string,
delivery_id: string,
@@ -811,7 +839,6 @@ export default defineComponent({
}
})
},
getDeliveryStatusList() {
let path = import.meta.env.VITE_BASE_URL + "/query/deliverystatus";
axios({
@@ -825,7 +852,6 @@ export default defineComponent({
.catch(() => {
});
},
FinalizeOrder(payload: {
cash: boolean,
card: boolean,
@@ -841,7 +867,7 @@ export default defineComponent({
prime: boolean,
same_day: boolean,
emergency: boolean,
fill_location: number,
}) {
let path = import.meta.env.VITE_BASE_URL + "/deliverydata/finalize/" + this.deliveryOrder.id;
@@ -877,11 +903,9 @@ export default defineComponent({
let auto_payload = {
gallons: this.CreateOilOrderForm.basicInfo.gallons_delivered,
delivery_id: this.deliveryOrder.id
}
this.UpdateAuto(auto_payload);
}
let payload = {
cash: this.FinalizeOilOrderForm.cash,
card: this.FinalizeOilOrderForm.card,
@@ -897,7 +921,7 @@ export default defineComponent({
prime: this.FinalizeOilOrderForm.prime,
same_day: this.FinalizeOilOrderForm.same_day,
emergency: this.FinalizeOilOrderForm.emergency,
fill_location: this.FinalizeOilOrderForm.fill_location,
};
this.FinalizeOrder(payload);
},

View File

@@ -26,6 +26,7 @@
View Oil Order # {{ deliveryOrder.id }}
</div>
<div class="grid grid-cols-12">
<div class="col-span-6">
<div class="col-span-12 font-bold">
Customer
@@ -78,6 +79,7 @@
</div>
<div class="col-span-6 ">
<div class="flex justify-end" v-if="deliveryOrder.id">
<router-link :to="{ name: 'deliveryEdit', params: { id: deliveryOrder.id } }">
<button class="btn btn-accent btn-sm">Edit Order</button>
@@ -264,6 +266,11 @@
{{ deliveryOrder.dispatcher_notes }}
</div>
</div>
<div class="col-span-6">
<a @click.prevent="deleteCall(deliveryOrder.id)">
<button class="btn btn-sm btn-error">Delete</button>
</a>
</div>
</div>
@@ -392,7 +399,29 @@ export default defineComponent({
return moment(String(value)).format('LLLL')
}
},
deleteCall(delivery_id: any) {
let path = import.meta.env.VITE_BASE_URL + '/delivery/delete/' + delivery_id;
axios({
method: 'delete',
url: path,
headers: authHeader(),
}).then((response: any) => {
if (response.data.ok) {
notify({
title: "Success",
text: "deleted oil order",
type: "success",
});
this.$router.push({ name: "customerProfile", params: { id: this.customer.id } });
} else {
notify({
title: "Failure",
text: "error deleting oil order",
type: "success",
});
}
})
},
userStatus() {
let path = import.meta.env.VITE_BASE_URL + '/auth/whoami';
axios({

View File

@@ -35,6 +35,7 @@
<th>Auto</th>
<th>Prime</th>
<th>Same Day</th>
<th>Emergency</th>
<th>Payment</th>
<th></th>
</tr>
@@ -74,11 +75,15 @@
</td>
<td>
<div v-if="oil['prime'] == 0">No</div>
<div v-else>Yes</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
<div v-if="oil['same_day'] == 0">No</div>
<div v-else>Yes</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
<div v-if="oil['emergency'] == 0">No</div>
<div v-else class="text-red-600">Yes</div>
</td>
<td>
@@ -106,9 +111,9 @@
Print
</button>
</router-link>
<button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
<!-- <button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
Delete
</button>
</button> -->
</td>
</tr>
</tbody>

View File

@@ -91,9 +91,9 @@
Print
</button>
</router-link>
<button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
<!-- <button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
Delete
</button>
</button> -->
</td>
</tr>
</tbody>

View File

@@ -90,9 +90,9 @@
</button>
</router-link>
<button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
<!-- <button @click.prevent="deleteCall(oil['id'])" class="btn btn-error btn-sm">
Delete
</button>
</button> -->
</td>
</tr>
</tbody>