major update

This commit is contained in:
2024-10-17 17:01:42 -04:00
parent 9029993c49
commit c6f806f733
41 changed files with 899 additions and 254 deletions

View File

@@ -22,39 +22,46 @@
<div class="w-full mt-10">
<div class="grid grid-cols-12 gap-5">
<div class="col-span-4 p-5 ">
<img src="../../../assets/images/user_placeholder.png" alt="Drone Image" width="200" height="250" />
<div class="col-span-4 p-5 ">
<div class="grid grid-cols-12 gap-5">
<div class="col-span-12 font-bold text-3xl ">
{{ customer.account_number }}
</div>
<div class="col-span-12 font-bold ">
<img src="../../../assets/images/user_placeholder.png" alt="Drone Image" width="200" height="250" />
</div>
</div>
</div>
<div class="col-span-8 p-5">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex justify-evenly pb-5">
<router-link :to="{ name: 'deliveryCreate', params: { id: customer.id } }"
class="btn-sm btn btn-accent">
class="btn-sm btn bg-orange-600 text-white">
Create Delivery
</router-link>
<router-link :to="{ name: 'customerEdit', params: { id: customer.id } }"
class="btn-sm btn btn-accent">
class="btn-sm btn btn-secondary">
Edit Customer
</router-link>
<div v-if="automatic_status === 0">
<button v-on:click="userAutomatic(customer.id)" class="btn btn-accent btn-sm">
Become Automatic Customer
</button>
<button v-on:click="userAutomatic(customer.id)" class="btn-sm btn btn-secondary">
Become Automatic Customer
</button>
</div>
<div v-else>
<button v-on:click="userAutomatic(customer.id)" class="btn btn-accent btn-sm">
<button v-on:click="userAutomatic(customer.id)" class="btn bg-green-600 text-black btn-sm">
Become Will Call Customer
</button>
</div>
</div>
<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-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 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,42 +108,43 @@
<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 class="col-span-12 pt-10 font-bold">Home Description</div>
<div class="col-span-12 py-2 px-2">
{{ customer_description.description }}
</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">
<hr class=" h-1 mx-auto my-4 bg-gray-800 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 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 px-2">
{{ customer_description.fill_location }}
</div>
</div>
</div>
</div>
<div class="col-span-6 ">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex text-2xl">
Stats
Stats
</div>
<div class="col-span-6">
<div class="col-span-12 py-2 px-2">
Total Calls: {{ customer_stats.total_calls }}
</div>
<div class="col-span-12 py-2 font-bold">Delivery</div>
</div>
</div>
</div>
<div class="col-span-6 ">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex text-2xl">
</div>
<div class="col-span-6">
<div class="col-span-12 py-2 px-2">
Total Delivery Orders: {{ customer_stats.oil_deliveries }}
</div>
@@ -150,8 +158,69 @@
</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">
<hr class=" h-1 mx-auto my-4 bg-gray-800 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">
Tank
</div>
<div class="col-span-6">
<div class="col-span-12 py-2 font-bold">Last Tank Inspection </div>
<div class="col-span-12 py-2 px-2 text-red-600" v-if="customer_tank.last_tank_inspection == null">
Not inspected
</div>
<div class="col-span-12 py-2 px-2" v-else>
{{ customer_tank.last_tank_inspection }}
</div>
<div class="col-span-12 py-2 font-bold">Tank Status</div>
<div class="col-span-12 py-2 px-2 text-red-600" v-if="customer_tank.tank_status == false">
Needs Inspection / Bad Tank
</div>
<div class="col-span-12 py-2 px-2" v-else>
Inspected
</div>
</div>
</div>
</div>
<div class="col-span-6 ">
<div class="grid grid-cols-12">
<div class="col-span-12 font-bold flex text-2xl">
<router-link :to="{ name: 'TankEdit', params: { id: customer.id } }"
class="btn-sm btn btn-secondary">
Edit Tank
</router-link>
</div>
<div class="col-span-12 py-2 font-bold">Fill Location</div>
<div class="col-span-12 py-2 px-2">
{{ customer_description.fill_location }}
</div>
<div class="col-span-12 py-2 font-bold">Tank Size</div>
<div class="col-span-12 py-2 px-2">
{{ customer_tank.tank_size }}
</div>
</div>
</div>
<div class="col-span-12 ">
<hr class=" h-1 mx-auto my-4 bg-gray-800 border-0 rounded dark:bg-gray-400">
</div>
<div class="col-span-12 p-5">
@@ -162,7 +231,7 @@
<div class="col-span-6 font-bold flex ">
<router-link :to="{ name: 'cardadd', params: { id: customer.user_id } }">
<button class="btn btn-sm btn-accent">Add CreditCard</button>
<button class="btn btn-sm btn-secondary text-white">Add Credit Card</button>
</router-link>
</div>
<div class="col-span-12 font-bold flex">
@@ -177,7 +246,7 @@
<div class="flex flex-row ">
<div v-if="card.main_card" class="basis-1/3 p-2">
<div class="bg-accent rounded-md border-2 ">
<div class="bg-neutral rounded-md border-2 ">
<div class="flex p-3">
{{ card.type_of_card }}
</div>
@@ -185,7 +254,7 @@
{{ card.name_on_card }}
</div>
<div class="flex p-1 pl-4">
{{ card.card_number }}
{{ card.card_number }}
</div>
<div class="flex p-1 pl-4">
{{ card.expiration_month }}/ {{ card.expiration_year }}
@@ -235,7 +304,9 @@
</div>
</div>
</div>
<div class="col-span-12 ">
<hr class=" h-1 mx-auto my-4 bg-gray-800 border-0 rounded dark:bg-gray-400">
</div>
<!-- <div class="col-span-12 p-5">
<div class="grid grid-cols-12">
<div class="col-span-6 font-bold flex text-2xl">
@@ -261,9 +332,7 @@
<th>Address</th>
<th>Gallons</th>
<th>Date</th>
<th>Automatic</th>
<th>Prime</th>
<th>Same Day</th>
<th></th>
</tr>
</thead>
@@ -285,42 +354,33 @@
<td>{{ oil['customer_name'] }}</td>
<td>{{ oil['customer_address'] }}</td>
<td>
<div v-if="oil['customer_asked_for_fill'] == 1">Fill</div>
<div v-else> {{ oil['gallons_ordered'] }}</div>
{{ oil['gallons_delivered'] }}
</td>
<td>{{ oil['expected_delivery_date'] }}</td>
<td>
<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>
<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-secondary btn-sm">View</button>
</router-link>
<router-link :to="{ name: 'deliveryEdit', params: { id: oil['id'] } }">
<button class="btn btn-sm btn-accent">Edit</button>
<button class="btn btn-sm btn-secondary">Edit</button>
</router-link>
<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 :to="{ name: 'Ticket', params: { id: oil['id'] } }">
<button class="btn btn-secondary btn-sm">Print Ticket</button>
</router-link>
<!--
<router-link :to="{ name: 'finalizeTicket', params: { id: oil['id'] } }"
v-if="oil['delivery_status'] != 10">
<button class="btn btn-secondary btn-sm">Finalize</button>
</router-link>
<!--
<a @click.prevent="deleteCall(oil['id'])">
<button class="btn btn-sm btn-error">Delete</button>
</a> -->
</td>
</tr>
</tbody>
@@ -399,6 +459,13 @@ export default defineComponent({
fill_location: 0,
description: '',
},
customer_tank: {
id: 0,
last_tank_inspection: null,
tank_status: false,
outside_or_inside: false,
tank_size: 0,
},
customer_stats: {
id: 0,
customer_id: 0,
@@ -462,7 +529,7 @@ export default defineComponent({
this.user = null
})
},
userAutomaticStatus(userid: any) {
let path = import.meta.env.VITE_BASE_URL + '/customer/automatic/status/' + userid;
axios({
@@ -471,7 +538,7 @@ export default defineComponent({
headers: authHeader(),
}).then((response: any) => {
this.automatic_status = response.data.status
})
},
@@ -510,7 +577,7 @@ export default defineComponent({
type: 'Warning' // Adjust type if needed
});
}
this.getCustomer(this.$route.params.id);
this.getCreditCards(this.$route.params.id)
this.getCreditCardsCount(this.$route.params.id)
@@ -526,6 +593,7 @@ export default defineComponent({
}).then((response: any) => {
this.customer = response.data
this.getCustomerTank(this.customer.id)
this.userAutomaticStatus(this.customer.id);
this.getCustomerDescription(this.customer.id);
this.getCustomerStats(this.customer.id);
@@ -539,9 +607,8 @@ export default defineComponent({
url: path,
headers: authHeader(),
}).then((response: any) => {
this.customer_last_delivery = response.data.date
console.log(response.data)
})
},
getCustomerStats(userid: any) {
@@ -566,7 +633,16 @@ export default defineComponent({
this.customer_description = response.data
})
},
getCustomerTank(userid: any) {
let path = import.meta.env.VITE_BASE_URL + '/customer/tank/' + userid;
axios({
method: 'get',
url: path,
headers: authHeader(),
}).then((response: any) => {
this.customer_tank = response.data
})
},
getCreditCards(user_id: any) {
let path = import.meta.env.VITE_BASE_URL + '/payment/cards/' + user_id;
@@ -634,14 +710,14 @@ export default defineComponent({
if (response.data.ok) {
notify({
title: "Success",
text: "deleted oil order",
text: "deleted delivery",
type: "success",
});
this.getPage(1)
} else {
notify({
title: "Failure",
text: "error deleting oil order",
text: "error deleting delivery",
type: "success",
});
}