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 Home
</router-link> </router-link>
</li> </li>
</ul> </ul>
</div> </div>
<div class="flex text-2xl mb-5"> <div class="flex text-2xl mb-5">
Welcome {{ employee.employee_first_name }} {{ employee.employee_last_name }}! Welcome {{ employee.employee_first_name }} {{ employee.employee_last_name }}!
</div> </div>
<div class="grid grid-cols-12 gap-5"> <div class="grid grid-cols-12 gap-5">
<div class="col-span-12 bg-neutral "> <div class="col-span-12 bg-neutral ">
<div class="grid grid-cols-12 p-5"> <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 class="col-span-6 py-2"> Total Service Calls: {{service_count}}</div>
</div> </div>
</div> </div>
<div class="col-span-6 bg-neutral" > <div class="col-span-6 bg-neutral" >
<div class="grid grid-cols-12 p-5 "> <div class="grid grid-cols-12 p-5 ">
<div class="col-span-12 font-bold text-xl">Todays Oil Price</div> <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 class="col-span-12 py-2"> Out of Oil: ${{out_of_oil}}</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<Footer/> <Footer/>
</template> </template>
@@ -202,6 +197,7 @@ export default defineComponent({
headers: authHeader(), headers: authHeader(),
}) })
.then((response: any) => { .then((response: any) => {
console.log(response.data)
this.same_day = response.data.same_day; this.same_day = response.data.same_day;
this.price_hourly = response.data.price_hourly; this.price_hourly = response.data.price_hourly;
this.emergency_fee = response.data.emergency_fee; 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="grid grid-cols-1 rounded-md p-6 ">
<div class="text-[24px]"> <div class="text-[24px]">
Add oil Price Add Oil Price
</div> </div>
<form class="rounded-md px-8 pt-6 pb-8 mb-4 w-full" <form class="rounded-md px-8 pt-6 pb-8 mb-4 w-full"
enctype="multipart/form-data" enctype="multipart/form-data"
@@ -41,12 +41,24 @@
class="input input-bordered w-full max-w-xs" class="input input-bordered w-full max-w-xs"
id="title" type="text" placeholder="Todays Price Employee"/> id="title" type="text" placeholder="Todays Price Employee"/>
</div> </div>
<div class="mb-4"> <div class="mb-4">
<label class="block text-white text-sm font-bold mb-2"> Price from Supplier</label> <label class="block text-white text-sm font-bold mb-2"> Price from Supplier</label>
<input v-model="CreateOilForm.basicInfo.price_from_supplier" <input v-model="CreateOilForm.basicInfo.price_from_supplier"
class="input input-bordered w-full max-w-xs" class="input input-bordered w-full max-w-xs"
id="prime" type="text" placeholder="Price Prime"/> id="prime" type="text" placeholder="Price Prime"/>
</div> </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"> <div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button <button
class="btn"> class="btn">
@@ -90,6 +102,7 @@
price_from_supplier: '', price_from_supplier: '',
price_for_customer: '', price_for_customer: '',
price_for_employee: '', 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_from_supplier = response.data.price_from_supplier;
this.CreateOilForm.basicInfo.price_for_customer = response.data.price_for_customer; 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_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_from_supplier: string;
price_for_customer: string; price_for_customer: string;
price_for_employee: string; price_for_employee: string;
price_same_day: string;
}) { }) {
let path = import.meta.env.VITE_BASE_URL + "/admin/oil/create"; 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_from_supplier: this.CreateOilForm.basicInfo.price_from_supplier,
price_for_customer: this.CreateOilForm.basicInfo.price_for_customer, price_for_customer: this.CreateOilForm.basicInfo.price_for_customer,
price_for_employee: this.CreateOilForm.basicInfo.price_for_employee, price_for_employee: this.CreateOilForm.basicInfo.price_for_employee,
price_same_day: this.CreateOilForm.basicInfo.price_same_day,
}; };
this.CreatePricing(payload); this.CreatePricing(payload);
}, },

View File

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

View File

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

View File

@@ -163,6 +163,18 @@
</div> </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"> <div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button <button
class="btn"> class="btn">
@@ -203,7 +215,7 @@ export default defineComponent({
v$: useValidate(), v$: useValidate(),
user: null, user: null,
userCards: [], userCards: [],
truckDriversList: [],
CreateOilOrderForm: { CreateOilOrderForm: {
basicInfo: { basicInfo: {
gallons_ordered: '', gallons_ordered: '',
@@ -216,6 +228,7 @@ export default defineComponent({
credit: false, credit: false,
cash: false, cash: false,
credit_card_id: 0, credit_card_id: 0,
driver_driver: '',
}, },
}, },
customer: { customer: {
@@ -248,6 +261,7 @@ export default defineComponent({
}, },
created() { created() {
this.userStatus() this.userStatus()
this.getDriversList()
}, },
watch: { watch: {
$route() { $route() {
@@ -322,6 +336,8 @@ export default defineComponent({
expected_delivery_date: string; expected_delivery_date: string;
dispatcher_notes_taken: string; dispatcher_notes_taken: string;
credit_card_id: any; credit_card_id: any;
driver_employee_id: string,
}) { }) {
let path = import.meta.env.VITE_BASE_URL + "/delivery/create/" + this.customer.id; let path = import.meta.env.VITE_BASE_URL + "/delivery/create/" + this.customer.id;
axios({ axios({
@@ -353,11 +369,26 @@ export default defineComponent({
cash: this.CreateOilOrderForm.basicInfo.cash, cash: this.CreateOilOrderForm.basicInfo.cash,
credit: this.CreateOilOrderForm.basicInfo.credit, credit: this.CreateOilOrderForm.basicInfo.credit,
credit_card_id: this.CreateOilOrderForm.basicInfo.userCards, credit_card_id: this.CreateOilOrderForm.basicInfo.userCards,
driver_employee_id: this.CreateOilOrderForm.basicInfo.driver_driver,
}; };
this.CreateOilOrder(payload); 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"/> type="checkbox"/>
</div> </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"> <div class="col-span-12 md:col-span-12 flex mt-5 mb-5">
<button <button
class="btn"> class="btn">
@@ -260,6 +272,7 @@ export default defineComponent({
v$: useValidate(), v$: useValidate(),
user: null, user: null,
deliveryStatus: [], deliveryStatus: [],
truckDriversList: [],
userCards: [], userCards: [],
userCard: { userCard: {
date_added: '', date_added: '',
@@ -329,6 +342,7 @@ export default defineComponent({
credit_card_id: 0, credit_card_id: 0,
cash: false, cash: false,
card: false, card: false,
driver_driver: '',
}, },
}, },
} }
@@ -346,6 +360,7 @@ export default defineComponent({
}, },
created() { created() {
this.userStatus() this.userStatus()
this.getDriversList()
}, },
watch: { watch: {
$route() { $route() {
@@ -394,6 +409,9 @@ export default defineComponent({
this.CreateOilOrderForm.basicInfo.prime = response.data.delivery.delivery_prime; this.CreateOilOrderForm.basicInfo.prime = response.data.delivery.delivery_prime;
this.CreateOilOrderForm.basicInfo.same_day = response.data.delivery.delivery_same_day; this.CreateOilOrderForm.basicInfo.same_day = response.data.delivery.delivery_same_day;
this.CreateOilOrderForm.basicInfo.delivery_status = response.data.delivery.delivery_status; 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) { if (response.data.delivery.payment_type == 1) {
this.CreateOilOrderForm.basicInfo.userCards = response.data.delivery.payment_card_id; this.CreateOilOrderForm.basicInfo.userCards = response.data.delivery.payment_card_id;
} }
@@ -498,6 +516,7 @@ export default defineComponent({
cash: boolean; cash: boolean;
credit: boolean; credit: boolean;
credit_card_id: any; credit_card_id: any;
driver_employee_id: string,
}) { }) {
let path = import.meta.env.VITE_BASE_URL + "/delivery/edit/" + this.deliveryOrder.id; let path = import.meta.env.VITE_BASE_URL + "/delivery/edit/" + this.deliveryOrder.id;
axios({ axios({
@@ -540,13 +559,31 @@ export default defineComponent({
prime: this.CreateOilOrderForm.basicInfo.prime, prime: this.CreateOilOrderForm.basicInfo.prime,
same_day: this.CreateOilOrderForm.basicInfo.same_day, same_day: this.CreateOilOrderForm.basicInfo.same_day,
delivery_status: this.CreateOilOrderForm.basicInfo.delivery_status, delivery_status: this.CreateOilOrderForm.basicInfo.delivery_status,
driver_employee_id: this.CreateOilOrderForm.basicInfo.driver_driver,
cash: this.CreateOilOrderForm.basicInfo.cash, cash: this.CreateOilOrderForm.basicInfo.cash,
credit: this.CreateOilOrderForm.basicInfo.card, credit: this.CreateOilOrderForm.basicInfo.card,
credit_card_id: this.CreateOilOrderForm.basicInfo.userCards, credit_card_id: this.CreateOilOrderForm.basicInfo.userCards,
}; };
this.editOilOrder(payload); 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> </script>

View File

@@ -28,7 +28,6 @@
<th>Name</th> <th>Name</th>
<th>Status</th> <th>Status</th>
<th>Town</th> <th>Town</th>
<th>Address</th> <th>Address</th>
<th>Gallons</th> <th>Gallons</th>
<th>Date</th> <th>Date</th>
@@ -44,7 +43,7 @@
</router-link> </router-link>
<td> <td>
<div v-if="oil['delivery_status'] == 0">Waiting</div> <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'] == 2">Out for Delivery</div>
<div v-else-if="oil['delivery_status'] == 3">Cancelled</div> <div v-else-if="oil['delivery_status'] == 3">Cancelled</div>
<div v-else-if="oil['delivery_status'] == 4">Partial Delivery</div> <div v-else-if="oil['delivery_status'] == 4">Partial Delivery</div>

View File

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

View File

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