Updated for automatic

This commit is contained in:
2024-07-24 17:23:35 -04:00
parent b6049b9962
commit f030501ae3
5 changed files with 217 additions and 20 deletions

View File

@@ -1,8 +1,13 @@
FROM node:latest
ENV VITE_BASE_URL="http://localhost:4056"
ENV VITE_PAY_URL="http://localhost:4052"
ENV VITE_AUTO_URL="http://localhost:4053"
ENV VITE_BASE_URL="http://localhost:9510"
ENV VITE_PRINT_URL="http://localhost:9512"
ENV VITE_MONEY_URL="http://localhost:9513"
ENV VITE_AUTO_URL="http://localhost:9514"
ENV VITE_COMPANY_ID = 1
ENV NODE_ENV=production
RUN mkdir -p /app
WORKDIR /app

View File

@@ -90,7 +90,7 @@
</q-item-section>
</q-item>
</router-link>
<router-link :to=" { name: 'stats' } " class="nodec">
<router-link :to=" { name: 'automatic' } " class="nodec">
<q-item clickable v-ripple>
<q-item-section avatar>
<q-icon name="send" />

View File

@@ -1,18 +1,194 @@
<template>
<q-page class="row justify-evenly">
auto
<q-page>
<div class="q-pa-md">
<q-table title="Todays Deliveries" :rows="deliveries" :columns="columns" row-key="id" :filter="filter"
v-model="filter" class="q-mb-lg">
<template v-slot:top-right>
<q-input dense debounce="300" v-model="filter" placeholder="Search">
<template v-slot:append>
<q-icon name="search" />
</template>
</q-input>
</template>
<template v-slot:body="props">
<q-tr :props="props" class="pointer q-hoverable" @click="onEdit(props.row)">
<q-td key="id" :props="props">
{{ props.row.id }}
</q-td>
<q-td key="delivery_status" :props="props">
<span v-if="props.row.delivery_status == 0" class="text-green-6">Waiting</span>
<span v-if="props.row.delivery_status == 1" class="text-grey-9">Delivered</span>
<span v-if="props.row.delivery_status == 2" class="text-green-6">Out For Delivery</span>
<span v-if="props.row.delivery_status == 3" class="text-red">Cancelled</span>
<span v-if="props.row.delivery_status == 4" class="text-red-14">Partial Delivery</span>
<span v-if="props.row.delivery_status == 5" class="text-red-14">Issue</span>
<span v-if="props.row.delivery_status == 10" class="text-grey-9">Finalized</span>
</q-td>
<q-td key="customer_name" :props="props">
{{ props.row.customer_name }}
</q-td>
<q-td key="address" :props="props">
{{ props.row.customer_address }}
</q-td>
<q-td key="town" :props="props">
{{ props.row.customer_town }}
</q-td>
<q-td key="gallons_ordered" :props="props">
<span v-if="props.row.customer_asked_for_fill == 0"> {{ props.row.gallons_ordered }}</span>
<span v-if="props.row.customer_asked_for_fill == 1"> Fill</span>
</q-td>
<q-td key="automatic" :props="props">
<span v-if="props.row.automatic == 0">No</span>
<span v-if="props.row.automatic == 1">Yes</span>
</q-td>
<q-td key="payment" :props="props">
<span v-if="props.row.payment_type == 0">Cash COD</span>
<span v-if="props.row.payment_type == 1">Credit</span>
</q-td>
<q-td key="prime" :props="props">
<span v-if="props.row.prime == 0"></span>
<span v-if="props.row.prime == 1" class="text-red-14">YES</span>
</q-td>
<q-td key="same_day" :props="props">
<span v-if="props.row.same_day == 0"></span>
<span v-if="props.row.same_day == 1" class="text-red-14">YES</span>
</q-td>
<q-td key="dispatcher_notes" :props="props">
{{ props.row.dispatcher_notes }}
</q-td>
</q-tr>
</template>
</q-table>
</div>
</q-page>
</template>
<script lang="ts">
<script lang="ts">
import axios from 'axios'
import authHeader from '../services/auth.header'
import { defineComponent } from 'vue'
export default defineComponent({
name: 'Automatics',
data () {
data() {
return {
token: null,
deliveries: [],
user: {
user_id: 0,
user_name: ''
},
filter: '',
employee: {
id: '',
user_id: '',
employee_last_name: "",
employee_first_name: "",
employee_town: "",
employee_address: "",
employee_apt: "",
employee_zip: "",
employee_birthday: "",
employee_phone_number: "",
employee_start_date: "",
employee_end_date: "",
employee_type: '',
employee_state: ''
},
columns: [
{ name: 'id', required: true, label: 'Id', field: 'id', sortable: true },
{ name: 'delivery_status', required: true, label: 'Status', field: 'delivery_status', sortable: true },
{ name: 'customer_name', required: true, align: 'center', label: 'Name', field: 'customer_name', sortable: true },
{ name: 'address', label: 'Address', field: 'address' },
{ name: 'town', label: 'Town', field: 'town', sortable: true },
{ name: 'gallons_ordered', label: 'Gallons', field: 'gallons_ordered' },
{ name: 'automatic', label: 'Automatic', field: 'automatic', sortable: true },
{ name: 'payment', label: 'Payment', field: 'payment' },
{ name: 'prime', label: 'Prime', field: 'prime' },
{ name: 'same_day', label: 'Same Day', field: 'same_day' },
{ name: 'dispatcher_notes', label: 'Notes', field: 'dispatcher_notes' },
]
}
},
mounted() {
this.userStatus()
this.updatestatus()
},
methods: {
userStatus() {
const path = import.meta.env.VITE_BASE_URL + '/auth/whoami'
axios({
method: 'get',
url: path,
withCredentials: true,
headers: authHeader()
})
.then((response: any) => {
if (response.data.ok) {
this.user = response.data.user
this.get_employee()
}
})
},
updatestatus() {
let path = import.meta.env.VITE_BASE_URL + '/delivery/updatestatus/outfordelivery';
axios({
method: 'get',
url: path,
headers: authHeader(),
}).then((response: any) => {
if (response.data.update)
console.log("ok")
})
},
get_employee() {
const path = import.meta.env.VITE_BASE_URL + '/employee/userid/' + this.user.user_id
axios({
method: "get",
url: path,
withCredentials: true,
headers: authHeader()
})
.then((response: any) => {
this.employee = response.data
this.get_automatics()
})
},
get_automatics() {
const path = import.meta.env.VITE_AUTO_URL + '/delivery/driver/' + this.employee.id
console.log(path)
axios({
method: 'get',
url: path,
withCredentials: true,
headers: authHeader()
}).then((response: any) => {
this.deliveries = response.data
})
},
onEdit(row: any) {
this.$router.push('delivery/' + row.id)
}
}
}
})
</script>

View File

@@ -181,6 +181,7 @@ export default defineComponent({
headers: authHeader()
}).then((response: any) => {
this.deliveries = response.data
})
},
onEdit(row: any) {

View File

@@ -8,7 +8,7 @@
This customer needs a prime
</q-banner>
</div>
<div class="q-page q-pa-lg">
<div class="q-page q-pa-lg text-subtitle1">
<div class="row">
<div class="col-3 col-md-12 bg-neutral p-5">
<img src="../../assets/user_placeholder.png" alt="Drone Image" width="250" height="250" />
@@ -19,6 +19,11 @@
</div>
<div class="col-12 font-bold flex pb-5 text-lg">{{ customer.account_number }}</div>
<div class="col-8">
<div v-if="deliveryOrder.automatic == 0"></div>
<div v-if="deliveryOrder.automatic == 1" class="text-positive text-bold">Automatic</div>
</div>
<div class="col-12 font-bold flex">
{{ customer.customer_first_name }}
{{ customer.customer_last_name }}
@@ -71,7 +76,7 @@
<div class="col-3 bg-neutral p-5 ">
<div class="row">
<div class="col-4">Gallons Ordered</div>
<div class="col-4 ">Gallons </div>
<div class="col-8">
<div v-if="deliveryOrder.customer_asked_for_fill == 1">
Fill
@@ -80,13 +85,18 @@
{{ deliveryOrder.gallons_ordered }}
</div>
</div>
<div class="col-4">Payment Type</div>
<div class="col-4">Payment </div>
<div class="col-8">
<div v-if="deliveryOrder.payment_type == 0">Cash</div>
<div v-if="deliveryOrder.payment_type == 1">Credit</div>
</div>
<div class="col-4">Expected Delivery</div>
<div class="col-8">{{ deliveryOrder.expected_delivery_date }}</div>
<div class="col-4">Expected</div>
<div class="col-8">
<div v-if="deliveryOrder.automatic == 1">Automatic</div>
<div v-if="deliveryOrder.automatic == 0">{{ deliveryOrder.expected_delivery_date }}</div>
</div>
<div class="col-4">Prime</div>
<div class="col-8">
<div v-if="deliveryOrder.prime == 0">no</div>
@@ -114,6 +124,7 @@
</div>
</div>
</div>
<div class="row" style="padding-top: 25px">
</div>
@@ -130,17 +141,17 @@
<q-input filled step="any" type="number" v-model="CreateOilOrderForm.basicInfo.gallons_delivered"
label="Gallons Delivered" />
</div>
<div>
<div v-if="deliveryOrder.automatic == 0">
<q-input filled step="any" type="number" v-model="CreateOilOrderForm.basicInfo.cash_amount"
label="Cash Received" lazy-rules />
</div>
<div>
<div v-if="deliveryOrder.automatic == 0">
<q-checkbox v-model="CreateOilOrderForm.basicInfo.customer_filled" left-label label="Filled" />
</div>
<div>
<div v-if="deliveryOrder.automatic == 0">
<q-checkbox v-model="CreateOilOrderForm.basicInfo.prime" left-label label="Prime" />
</div>
<div>
<div v-if="deliveryOrder.automatic == 0">
<q-checkbox v-model="CreateOilOrderForm.basicInfo.same_day" left-label label="Same Day" />
</div>
<div>
@@ -425,7 +436,7 @@ export default defineComponent({
},
onSubmit() {
if (this.deliveryOrder.payment_type == 0) {
if (this.CreateOilOrderForm.basicInfo.cash_amount > 0) {
let payload = {
@@ -442,6 +453,8 @@ export default defineComponent({
same_day: this.CreateOilOrderForm.basicInfo.same_day,
};
this.UpdateOilOrder(payload);
this.CreateTransaction(money_payload)
}
@@ -467,8 +480,10 @@ export default defineComponent({
same_day: this.CreateOilOrderForm.basicInfo.same_day,
};
this.UpdateOilOrder(payload);
this.CreateTransaction(money_payload)
};