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

@@ -201,20 +201,20 @@ export default defineComponent({
})
},
increaseCall() {
let path = import.meta.env.VITE_BASE_URL + '/stats/calls/add';
// increaseCall() {
// let path = import.meta.env.VITE_BASE_URL + '/stats/calls/add';
axios({
method: "put",
url: path,
withCredentials: true,
headers: authHeader(),
})
.then((response: any) => {
this.number++;
// axios({
// method: "put",
// url: path,
// withCredentials: true,
// headers: authHeader(),
// })
// .then((response: any) => {
// this.number++;
})
},
// })
// },
getCompany() {
let path = import.meta.env.VITE_BASE_URL + '/admin/company/' + import.meta.env.VITE_COMPANY_ID;

View File

@@ -11,12 +11,12 @@
</div>
<div class="basis-1/2 md:basis-1/4 justify-end gap-5">
<router-link :to="{ name: 'login' }">
<button class="btn btn-primary">Login</button>
</router-link>
<router-link :to="{ name: 'register' }">
<button class="btn btn-primary">Register</button>
</router-link>
<router-link :to="{ name: 'login' }">
<button class="btn btn-primary">Login</button>
</router-link>
<router-link :to="{ name: 'register' }">
<button class="btn btn-primary">Register</button>
</router-link>
</div>
</div>
@@ -32,10 +32,10 @@ import { defineComponent } from "vue";
export default defineComponent({
name: "HeaderNoAuth",
mounted () {
mounted() {
},
data () {
data() {
return {
user: null,
loaded: false,
@@ -46,11 +46,9 @@ export default defineComponent({
},
methods: {
},
});
</script>
<style scoped>
</style>
<style scoped></style>

View File

@@ -118,6 +118,15 @@
</span>
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Zip Code</label>
<input v-model="CreateCardForm.basicInfo.zip_code"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="text"
placeholder="Zip Code" />
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button class="btn btn-sm btn-accent">
Save Credit Card
@@ -241,6 +250,7 @@ export default defineComponent({
type_of_card: '',
security_number: '',
card_number: '',
zip_code: '',
main_card: false,
},
},
@@ -316,6 +326,7 @@ export default defineComponent({
expiration_year: string;
type_of_card: string;
security_number: string;
zip_code: string;
card_number: string;
main_card: boolean;
}) {
@@ -345,6 +356,7 @@ export default defineComponent({
type_of_card: this.CreateCardForm.basicInfo.type_of_card,
security_number: this.CreateCardForm.basicInfo.security_number,
main_card: this.CreateCardForm.basicInfo.main_card,
zip_code: this.CreateCardForm.basicInfo.zip_code,
};
this.CreateCard(payload);
},

View File

@@ -123,6 +123,13 @@
</span>
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Zip Code</label>
<input v-model="CreateCardForm.basicInfo.zip_code"
class="input input-bordered input-sm w-full max-w-xs" id="title" type="text"
placeholder="Zip Code" />
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Security Number</label>
<input v-model="CreateCardForm.basicInfo.security_number"
@@ -196,6 +203,7 @@
type_of_card: '',
security_number: '',
main_card: '',
zip_code: '',
user_id: '',
},
@@ -209,6 +217,7 @@
type_of_card: '',
security_number: '',
card_number: '',
zip_code: '',
main_card: false,
},
},
@@ -286,7 +295,8 @@
this.CreateCardForm.basicInfo.security_number= response.data.security_number;
this.CreateCardForm.basicInfo.main_card= response.data.main_card;
this.CreateCardForm.basicInfo.card_number= response.data.card_number;
this.CreateCardForm.basicInfo.zip_code= response.data.zip_code;
console.log(response.data)
this.user.id = response.data.user_id
this.card=response.data
this.getCustomer(response.data.user_id)
@@ -300,6 +310,7 @@
expiration_year: string;
type_of_card: string;
security_number: string;
zip_code: string;
main_card: boolean;
}) {
@@ -328,6 +339,7 @@
type_of_card: this.CreateCardForm.basicInfo.type_of_card,
security_number: this.CreateCardForm.basicInfo.security_number,
card_number: this.CreateCardForm.basicInfo.card_number,
zip_code: this.CreateCardForm.basicInfo.zip_code,
main_card: this.CreateCardForm.basicInfo.main_card,
};
this.editCard(payload);

View File

@@ -23,6 +23,12 @@
<div class="grid grid-cols-12 rounded-md p-6 ">
<div class="col-span-12 text-2xl">Edit customer: {{ customer.account_number }}</div>
<div class="col-span-12 py-5">
<router-link :to="{ name: 'customerProfile', params: { id: customer['id'] } }"
class=" btn btn-accent btn-sm">
View Profile
</router-link>
</div>
<form class="col-span-12 rounded-md px-8 pt-6 pb-8 mb-4 " enctype="multipart/form-data"
@submit.prevent="onSubmit">
<div class="text-[18px] mt-5 mb-5">General Info</div>
@@ -139,24 +145,16 @@
<input v-model="CreateCustomerForm.basicInfo.customer_automatic" class="checkbox" type="checkbox" />
</div>
<div class="text-[18px] mt-5 mb-5"> Description</div>
<div class="col-span-12 md:col-span-4 mb-5 md:mb-0">
<textarea v-model="CreateCustomerForm.basicInfo.customer_description" rows="4"
class="textarea block p-2.5 w-full input-bordered " id="description" type="text" placeholder="Description of Customer House" />
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button class="btn btn-primary">
<button class="btn-sm btn btn-accent">
Edit Customer
</button>
</div>

View File

@@ -66,9 +66,7 @@
class=" btn btn-accent btn-sm">
View
</router-link>
<a @click.prevent="deleteCustomer(person['id'])" class="btn btn-error btn-sm">
Delete
</a>
</td>
</tr>
</tbody>

View File

@@ -54,7 +54,7 @@
<div class="col-span-12 font-bold flex pb-5 text-lg" v-if="automatic_status === 1" >Automatic </div>
<div class="col-span-12 font-bold flex pb-5 text-lg" v-else>Will Call</div>
<div class="col-span-12 font-bold flex">
{{ customer.customer_first_name }}
{{ customer.customer_last_name }}
@@ -101,21 +101,25 @@
<div class="col-span-12 font-bold flex">
{{ customer.customer_phone_number }}
</div>
<div class="col-span-12 font-bold flex">{{ customer.account_number }}</div>
</div>
</div>
<div class="col-span-12 p-5">
<div class="col-span-12 ">
<hr class=" h-1 mx-auto my-4 bg-gray-100 border-0 rounded dark:bg-gray-400">
</div>
<div class="col-span-6 ">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex text-2xl">
Description
</div>
<div class="col-span-6">
<div class="col-span-12 py-2 font-bold">Home Description</div>
<div class="col-span-12 py-2">
<div class="col-span-12 py-2 px-2">
{{ customer_description.description }}
</div>
<div class="col-span-12 py-2 font-bold">Fill Location</div>
<div class="col-span-12 py-2">
<div class="col-span-12 py-2 px-2">
{{ customer_description.fill_location }}
</div>
@@ -123,27 +127,32 @@
</div>
</div>
<div class="col-span-12 p-5">
<div class="col-span-6 ">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex text-2xl">
Stats
</div>
<div class="col-span-6">
<div class="col-span-12 py-2 font-bold">Delivery</div>
<div class="col-span-12 py-2">
Total Delivery Orders: 0
<div class="col-span-12 py-2 px-2">
Total Calls: {{ customer_stats.total_calls }}
</div>
<div class="col-span-12 py-2">
Total Gallons: 0
<div class="col-span-12 py-2 font-bold">Delivery</div>
<div class="col-span-12 py-2 px-2">
Total Delivery Orders: {{ customer_stats.oil_deliveries }}
</div>
<div class="col-span-12 py-2">
Last Delivery: 0
<div class="col-span-12 py-2 px-2">
Total Gallons: {{ customer_stats.oil_total_gallons }}
</div>
<div class="col-span-12 py-2 px-2">
Last Delivery: {{ customer_last_delivery }}
</div>
</div>
</div>
</div>
<div class="col-span-12 ">
<hr class=" h-1 mx-auto my-4 bg-gray-100 border-0 rounded dark:bg-gray-400">
</div>
<div class="col-span-12 p-5">
<div class="grid grid-cols-12">
@@ -181,6 +190,9 @@
<div class="flex p-1 pl-4">
{{ card.expiration_month }}/ {{ card.expiration_year }}
</div>
<div class="flex p-1 pl-4">
{{ card.zip_code }}
</div>
<div class="flex justify-between">
<a @click.prevent="editCard(card.id)" class="cursor-pointer underline hover:text-blue-300">
@@ -206,6 +218,9 @@
<div class="flex p-1 pl-4">
{{ card.expiration_month }}/ {{ card.expiration_year }}
</div>
<div class="flex p-1 pl-4">
{{ card.zip_code }}
</div>
<div class="flex justify-between">
<a @click.prevent="editCard(card.id)"
class="cursor-pointer underline hover:text-blue-300">Edit
@@ -221,13 +236,13 @@
</div>
</div>
<div class="col-span-12 p-5">
<!-- <div class="col-span-12 p-5">
<div class="grid grid-cols-12">
<div class="col-span-6 font-bold flex text-2xl">
Financial
</div>
</div>
</div>
</div> -->
<div class="col-span-12 p-5">
<div class="grid grid-cols-12">
@@ -287,24 +302,24 @@
<div v-else>Yes</div>
</td>
<td class="flex gap-5 ">
<router-link :to="{ name: 'deliveryOrder', params: { id: oil['id'] } }">
<button class="btn btn-accent btn-sm">View</button>
</router-link>
<router-link :to="{ name: 'Ticket', params: { id: oil['id'] } }">
<button class="btn btn-accent btn-sm">
Print
</button>
<button class="btn btn-accent btn-sm">Print</button>
</router-link>
<router-link :to="{ name: 'deliveryEdit', params: { id: oil['id'] } }">
<button class="btn btn-sm btn-accent">Edit</button>
</router-link>
<router-link :to="{ name: 'finalizeTicket', params: { id: oil['id'] } }">
<button class="btn btn-sm btn-accent">Finalize</button>
<router-link :to="{ name: 'finalizeTicket', params: { id: oil['id'] } }" v-if="oil['delivery_status'] != 10">
<button class="btn btn-sm btn-success">Finalize</button>
</router-link>
<!--
<a @click.prevent="deleteCall(oil['id'])">
<button class="btn btn-sm btn-error">Delete</button>
</a>
</a> -->
</td>
</tr>
@@ -346,6 +361,7 @@ export default defineComponent({
isTrue: true,
automatic_status: 0,
automatic_response: 0,
customer_last_delivery: '',
credit_cards: [
{
id: 0,
@@ -356,6 +372,7 @@ export default defineComponent({
type_of_card: '',
last_four_digits: '',
expiration_year: '',
zip_code: '',
}
],
@@ -382,6 +399,20 @@ export default defineComponent({
fill_location: 0,
description: '',
},
customer_stats: {
id: 0,
customer_id: 0,
total_calls: 0,
service_calls_total: 0,
service_calls_total_spent: 0,
service_calls_total_profit: 0,
oil_deliveries: 0,
oil_total_gallons: 0,
oil_total_spent: 0,
oil_total_profit: 0,
},
deliveries: [],
delivery_page: 1,
delivery_perPage: 50,
@@ -403,9 +434,7 @@ export default defineComponent({
mounted() {
this.getPage(this.delivery_page)
},
computed: {
},
watch: {
$route() {
this.getCustomer(this.$route.params.id);
@@ -499,9 +528,33 @@ export default defineComponent({
this.customer = response.data
this.userAutomaticStatus(this.customer.id);
this.getCustomerDescription(this.customer.id);
this.getCustomerStats(this.customer.id);
this.getCustomerLastDelivery(this.customer.id);
})
},
getCustomerLastDelivery(userid: any) {
let path = import.meta.env.VITE_BASE_URL + '/stats/user/lastdelivery/' + userid;
axios({
method: 'get',
url: path,
headers: authHeader(),
}).then((response: any) => {
this.customer_last_delivery = response.data.date
console.log(response.data)
})
},
getCustomerStats(userid: any) {
let path = import.meta.env.VITE_BASE_URL + '/stats/user/' + userid;
axios({
method: 'get',
url: path,
headers: authHeader(),
}).then((response: any) => {
this.customer_stats = response.data
})
},
getCustomerDescription(userid: any) {
let path = import.meta.env.VITE_BASE_URL + '/customer/description/' + userid;
axios({

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>

View File

@@ -164,6 +164,9 @@
<div class="col-span-12 py-3" v-if="delivery.prime == 1">
Prime Fee: {{ pricing.price_prime }}
</div>
<div class="col-span-12 py-3" v-if="delivery.emergency == 1">
Emergency Fee: {{ pricing.price_emergency }}
</div>
<div class="col-span-12 py-3" v-if="delivery.same_day == 1">
Same Day: {{ pricing.price_same_day }}
</div>
@@ -279,6 +282,7 @@ export default defineComponent({
customer_temperature: 0,
dispatcher_notes: '',
prime: 0,
emergency: 0,
same_day: 0,
payment_type: 0,
payment_card_id: 0,
@@ -325,10 +329,12 @@ export default defineComponent({
price_for_employee: 0,
price_same_day: 0,
price_prime: 0,
price_emergency: 0,
date: "",
},
priceprime: 0,
pricesameday: 0,
priceemergency: 0,
total_amount: 0,
}
},
@@ -371,6 +377,7 @@ export default defineComponent({
if (response.data.ok) {
this.priceprime = response.data.priceprime;
this.pricesameday = response.data.pricesameday;
this.priceemergency = response.data.priceemergency;
this.total_amount = response.data.total_amount;
}
})

View File

@@ -28,30 +28,20 @@
</div>
</div>
<div class="grid grid-cols-12 pl-6 pb-10 ">
<div class="grid grid-cols-12 pl-6 pb-20 ">
<div class="col-span-12 ">{{ delivery.dispatcher_notes }}</div>
<div class="col-span-12 ">{{ customer_description.description }}</div>
<div class="col-span-12 " v-if="delivery.prime == 1">PRIME</div>
<div class="col-span-12 " v-if="delivery.same_day == 1">SAME DAY</div>
<div class="col-span-12 " v-if="delivery.emergency == 1">EMERGENCY</div>
<div class="col-span-12 text-lg" v-if="delivery.payment_type == 0">CASH</div>
<div class="col-span-12 text-lg" v-else-if="delivery.payment_type == 1">Credit Card</div>
<div class="col-span-12 text-lg" v-else-if="delivery.payment_type == 2">Credit Card/Cash</div>
<div class="col-span-12 text-lg" v-else-if="delivery.payment_type == 3">Check</div>
<div class="col-span-12 text-lg" v-else-if="delivery.payment_type == 4">Other</div>
<div class="col-span-12" v-else></div>
</div>
<div class="grid grid-cols-12 pl-10 ">
<div class="grid grid-cols-12">
<div class="col-span-6 ">
<div class="col-span-12 pl-5">Auburn Oil
</div>
@@ -87,9 +77,13 @@
<div class="grid grid-cols-12 ">
<div class="col-span-12 h-7 pl-4 pt-2">{{ delivery.when_ordered }}</div>
<div class="col-span-12 h-7 pl-4 pt-2">{{ delivery.expected_delivery_date }}</div>
<div class="col-span-12 h-7 pl-4 pt-2">{{ delivery.gallons_ordered }}</div>
<div class="col-span-12 h-7 pl-4 pt-2" v-if="delivery.customer_asked_for_fill == 0 ">{{ delivery.gallons_ordered }}</div>
<div class="col-span-12 h-7 pl-4 pt-2" v-else></div>
<div class="col-span-12 h-7 pl-4 pt-2">{{ delivery.customer_price }} </div>
<div class="col-span-12 h-7 pl-4 pt-4">{{ total_amount }} </div>
<div class="col-span-12 h-7 pl-4 pt-4" v-if="delivery.customer_asked_for_fill == 0 ">{{ total_amount }} </div>
<div class="col-span-12 h-7 pl-4 pt-4" v-else></div>
<div class="col-span-12 h-7 pt-6"></div>
<div class="col-span-12 h-7"></div>
<div class="col-span-12 h-7 pl-8"></div>
@@ -164,6 +158,7 @@ export default defineComponent({
dispatcher_notes: '',
prime: 0,
same_day: 0,
emergency: 0,
payment_type: 0,
payment_card_id: 0,
driver_employee_id: 0,