Office driver api get data works

This commit is contained in:
2024-03-12 18:28:22 -04:00
parent 54ee44ba66
commit b989344aa4
13 changed files with 140 additions and 25 deletions

3
.env Normal file
View File

@@ -0,0 +1,3 @@
VITE_BASE_URL="http://localhost:4056"
VITE_PAY_URL="http://localhost:4052"
VITE_AUTO_URL="http://localhost:4053"

24
.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@@ -12,13 +12,11 @@
Home
</router-link>
</li>
</ul>
</div>
<div class="flex text-2xl mb-5">
Welcome {{ employee.employee_first_name }} {{ employee.employee_last_name }}!
</div>
<div class="grid grid-cols-12 gap-5">
<div class="col-span-12 bg-neutral ">
<div class="grid grid-cols-12 p-5">
@@ -27,7 +25,6 @@
<div class="col-span-6 py-2"> Total Service Calls: {{service_count}}</div>
</div>
</div>
<div class="col-span-6 bg-neutral" >
<div class="grid grid-cols-12 p-5 ">
<div class="col-span-12 font-bold text-xl">Todays Oil Price</div>
@@ -47,12 +44,10 @@
<div class="col-span-12 py-2"> Out of Oil: ${{out_of_oil}}</div>
</div>
</div>
</div>
</div>
</div>
<Footer/>
</template>
@@ -202,6 +197,7 @@ export default defineComponent({
headers: authHeader(),
})
.then((response: any) => {
console.log(response.data)
this.same_day = response.data.same_day;
this.price_hourly = response.data.price_hourly;
this.emergency_fee = response.data.emergency_fee;

View File

@@ -22,7 +22,7 @@
<div class="grid grid-cols-1 rounded-md p-6 ">
<div class="text-[24px]">
Add oil Price
Add Oil Price
</div>
<form class="rounded-md px-8 pt-6 pb-8 mb-4 w-full"
enctype="multipart/form-data"
@@ -41,12 +41,24 @@
class="input input-bordered w-full max-w-xs"
id="title" type="text" placeholder="Todays Price Employee"/>
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2"> Price from Supplier</label>
<input v-model="CreateOilForm.basicInfo.price_from_supplier"
class="input input-bordered w-full max-w-xs"
id="prime" type="text" placeholder="Price Prime"/>
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Price same day</label>
<input v-model="CreateOilForm.basicInfo.price_same_day"
class="input input-bordered w-full max-w-xs"
id="title" type="text" placeholder="Price Same Day"/>
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button
class="btn">
@@ -90,6 +102,7 @@
price_from_supplier: '',
price_for_customer: '',
price_for_employee: '',
price_same_day: '',
},
},
}
@@ -138,6 +151,7 @@
this.CreateOilForm.basicInfo.price_from_supplier = response.data.price_from_supplier;
this.CreateOilForm.basicInfo.price_for_customer = response.data.price_for_customer;
this.CreateOilForm.basicInfo.price_for_employee = response.data.price_for_employee;
this.CreateOilForm.basicInfo.price_same_day = response.data.price_same_day;
}
})
},
@@ -145,6 +159,7 @@
price_from_supplier: string;
price_for_customer: string;
price_for_employee: string;
price_same_day: string;
}) {
let path = import.meta.env.VITE_BASE_URL + "/admin/oil/create";
@@ -174,6 +189,7 @@
price_from_supplier: this.CreateOilForm.basicInfo.price_from_supplier,
price_for_customer: this.CreateOilForm.basicInfo.price_for_customer,
price_for_employee: this.CreateOilForm.basicInfo.price_for_employee,
price_same_day: this.CreateOilForm.basicInfo.price_same_day,
};
this.CreatePricing(payload);
},

View File

@@ -52,7 +52,7 @@
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Out of Oil Price</label>
<input v-model="CreateServiceForm.basicInfo.price_emergency_call"
<input v-model="CreateServiceForm.basicInfo.price_out_of_oil"
class="input input-bordered w-full max-w-xs"
id="title" type="text" placeholder="Out of oil price"/>
</div>
@@ -64,6 +64,14 @@
id="prime" type="text" placeholder="Price Prime"/>
</div>
<div class="mb-4">
<label class="block text-white text-sm font-bold mb-2">Price Cleaning</label>
<input v-model="CreateServiceForm.basicInfo.price_cleaning"
class="input input-bordered w-full max-w-xs"
id="prime" type="text" placeholder="Price Cleaning"/>
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button
class="btn">
@@ -110,17 +118,16 @@ export default defineComponent({
price_emergency_call: '',
price_out_of_oil: '',
price_prime: '',
price_cleaning: '',
},
},
}
},
created() {
this.userStatus()
},
watch: {
$route() {
},
},
mounted() {
@@ -159,6 +166,7 @@ export default defineComponent({
this.CreateServiceForm.basicInfo.price_emergency_call = response.data.price_emergency_call;
this.CreateServiceForm.basicInfo.price_out_of_oil = response.data.price_out_of_oil;
this.CreateServiceForm.basicInfo.price_prime = response.data.price_prime;
this.CreateServiceForm.basicInfo.price_cleaning = response.data.price_cleaning;
}
})
},
@@ -168,7 +176,7 @@ export default defineComponent({
price_emergency_call: string;
price_out_of_oil: string;
price_prime: string;
price_cleaning: string;
}) {
let path = import.meta.env.VITE_BASE_URL + "/admin/service/create";
axios({
@@ -205,6 +213,7 @@ export default defineComponent({
price_emergency_call: this.CreateServiceForm.basicInfo.price_emergency_call,
price_out_of_oil: this.CreateServiceForm.basicInfo.price_out_of_oil,
price_prime: this.CreateServiceForm.basicInfo.price_prime,
price_cleaning: this.CreateServiceForm.basicInfo.price_cleaning,
};
this.CreatePricing(payload);
},

View File

@@ -286,8 +286,6 @@ export default defineComponent({
}
})
},
editItem(payload: {
customer_last_name: string;
customer_first_name: string;

View File

@@ -163,6 +163,18 @@
</div>
<div class="flex-1 mb-4">
<label class="block text-white text-sm font-bold mb-2">Delivery Driver </label>
<select class="select select-bordered w-full max-w-xs" aria-label="Default select example" id="customer_state"
v-model="CreateOilOrderForm.basicInfo.driver_driver">
<option class="text-white" v-for="(driver, index) in truckDriversList" :key="index" :value="driver['id']">
{{ driver['employee_first_name'] }} {{ driver['employee_last_name'] }}
</option>
</select>
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button
class="btn">
@@ -179,15 +191,15 @@
<script lang="ts">
import {defineComponent} from 'vue'
import { defineComponent } from 'vue'
import axios from 'axios'
import authHeader from '../../services/auth.header'
import Header from '../../layouts/headers/headerauth.vue'
import SideBar from '../../layouts/sidebar/sidebar.vue'
import Footer from '../../layouts/footers/footer.vue'
import useValidate from "@vuelidate/core";
import {notify} from "@kyvg/vue3-notification"
import {minLength, required} from "@vuelidate/validators";
import { notify } from "@kyvg/vue3-notification"
import { minLength, required } from "@vuelidate/validators";
export default defineComponent({
name: 'deliveryCreate',
@@ -203,7 +215,7 @@ export default defineComponent({
v$: useValidate(),
user: null,
userCards: [],
truckDriversList: [],
CreateOilOrderForm: {
basicInfo: {
gallons_ordered: '',
@@ -216,6 +228,7 @@ export default defineComponent({
credit: false,
cash: false,
credit_card_id: 0,
driver_driver: '',
},
},
customer: {
@@ -248,6 +261,7 @@ export default defineComponent({
},
created() {
this.userStatus()
this.getDriversList()
},
watch: {
$route() {
@@ -322,6 +336,8 @@ export default defineComponent({
expected_delivery_date: string;
dispatcher_notes_taken: string;
credit_card_id: any;
driver_employee_id: string,
}) {
let path = import.meta.env.VITE_BASE_URL + "/delivery/create/" + this.customer.id;
axios({
@@ -353,11 +369,26 @@ export default defineComponent({
cash: this.CreateOilOrderForm.basicInfo.cash,
credit: this.CreateOilOrderForm.basicInfo.credit,
credit_card_id: this.CreateOilOrderForm.basicInfo.userCards,
driver_employee_id: this.CreateOilOrderForm.basicInfo.driver_driver,
};
this.CreateOilOrder(payload);
},
getDriversList() {
let path = import.meta.env.VITE_BASE_URL + "/employee/drivers";
axios({
method: "get",
url: path,
withCredentials: true,
headers: authHeader(),
})
.then((response: any) => {
this.truckDriversList = response.data;
})
.catch(() => {
});
},
},
})

View File

@@ -221,6 +221,18 @@
type="checkbox"/>
</div>
<div class="flex-1 mb-4">
<label class="block text-white text-sm font-bold mb-2">Delivery Driver </label>
<select class="select select-bordered w-full max-w-xs" aria-label="Default select example" id="customer_state"
v-model="CreateOilOrderForm.basicInfo.driver_driver">
<option class="text-white" v-for="(driver, index) in truckDriversList" :key="index" :value="driver['id']">
{{ driver['employee_first_name'] }} {{ driver['employee_last_name'] }}
</option>
</select>
</div>
<div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button
class="btn">
@@ -260,6 +272,7 @@ export default defineComponent({
v$: useValidate(),
user: null,
deliveryStatus: [],
truckDriversList: [],
userCards: [],
userCard: {
date_added: '',
@@ -329,6 +342,7 @@ export default defineComponent({
credit_card_id: 0,
cash: false,
card: false,
driver_driver: '',
},
},
}
@@ -346,6 +360,7 @@ export default defineComponent({
},
created() {
this.userStatus()
this.getDriversList()
},
watch: {
$route() {
@@ -394,6 +409,9 @@ export default defineComponent({
this.CreateOilOrderForm.basicInfo.prime = response.data.delivery.delivery_prime;
this.CreateOilOrderForm.basicInfo.same_day = response.data.delivery.delivery_same_day;
this.CreateOilOrderForm.basicInfo.delivery_status = response.data.delivery.delivery_status;
this.CreateOilOrderForm.basicInfo.driver_driver = response.data.delivery.driver_employee_id;
if (response.data.delivery.payment_type == 1) {
this.CreateOilOrderForm.basicInfo.userCards = response.data.delivery.payment_card_id;
}
@@ -498,6 +516,7 @@ export default defineComponent({
cash: boolean;
credit: boolean;
credit_card_id: any;
driver_employee_id: string,
}) {
let path = import.meta.env.VITE_BASE_URL + "/delivery/edit/" + this.deliveryOrder.id;
axios({
@@ -540,13 +559,31 @@ export default defineComponent({
prime: this.CreateOilOrderForm.basicInfo.prime,
same_day: this.CreateOilOrderForm.basicInfo.same_day,
delivery_status: this.CreateOilOrderForm.basicInfo.delivery_status,
driver_employee_id: this.CreateOilOrderForm.basicInfo.driver_driver,
cash: this.CreateOilOrderForm.basicInfo.cash,
credit: this.CreateOilOrderForm.basicInfo.card,
credit_card_id: this.CreateOilOrderForm.basicInfo.userCards,
};
this.editOilOrder(payload);
},
getDriversList() {
let path = import.meta.env.VITE_BASE_URL + "/employee/drivers";
axios({
method: "get",
url: path,
withCredentials: true,
headers: authHeader(),
})
.then((response: any) => {
this.truckDriversList = response.data;
})
.catch(() => {
});
},
},
})
</script>

View File

@@ -20,7 +20,7 @@
</div>
<div class="overflow-x-auto">
<div class="flex start">Oil Deliveries</div>
<div class="flex start ">Oil Deliveries</div>
<table class="table">
<!-- head -->
<thead>
@@ -28,7 +28,6 @@
<th>Name</th>
<th>Status</th>
<th>Town</th>
<th>Address</th>
<th>Gallons</th>
<th>Date</th>
@@ -44,7 +43,7 @@
</router-link>
<td>
<div v-if="oil['delivery_status'] == 0">Waiting</div>
<div v-else-if="oil['delivery_status'] == 1">delivered</div>
<div v-else-if="oil['delivery_status'] == 1">Delivered</div>
<div v-else-if="oil['delivery_status'] == 2">Out for Delivery</div>
<div v-else-if="oil['delivery_status'] == 3">Cancelled</div>
<div v-else-if="oil['delivery_status'] == 4">Partial Delivery</div>

View File

@@ -238,7 +238,7 @@ export default defineComponent({
mounted() {
this.getEmployeeTypeList();
this.getStatesList();
this.getEmployee(this.$route.params.id)
this.getEmployee(this.$route.params.id)
},
watch: {
$route() {

View File

@@ -236,7 +236,7 @@ export default defineComponent({
})
.then((response: any) => {
if (response.data) {
console.log(response.data)
this.employee = response.data;
this.loaded = true;

View File

@@ -127,7 +127,7 @@
<select class="select select-bordered w-full max-w-xs" aria-label="Default select example" id="customer_state"
v-model="CreateServiceOrderForm.basicInfo.service_tech">
<option class="text-white" v-for="(tech, index) in serviceTechsList" :key="index" :value="tech['id']">
{{ tech['employee_last_name'] }}
{{ tech['employee_first_name'] }} {{ tech['employee_last_name'] }}
</option>
</select>
<span v-if="v$.CreateServiceOrderForm.basicInfo.service_tech.$error" class="text-red-600 text-center">
@@ -329,6 +329,7 @@ export default defineComponent({
cash: boolean,
credit: boolean,
credit_card_id: any,
service_tech_employee_id: string,
}) {
let path = import.meta.env.VITE_BASE_URL + "/service/create/" + this.customer.id;
axios({
@@ -357,7 +358,7 @@ export default defineComponent({
cash: this.CreateServiceOrderForm.basicInfo.cash,
credit: this.CreateServiceOrderForm.basicInfo.credit,
credit_card_id: this.CreateServiceOrderForm.basicInfo.userCards,
service_tech_employee_id: this.CreateServiceOrderForm.basicInfo.service_tech,
};
this.CreateServiceOrder(payload);
},

View File

@@ -15,7 +15,8 @@
"jsx": "preserve",
/* Linting */
"strict": true,
//CHANGED THIS
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true