From 331a8da55352c736f08339ae6ca0d9e0eb690058 Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Mon, 4 Dec 2023 15:26:36 +0530 Subject: added table to show items of an invoice --- package.json | 2 +- src/components/invoice_items_table.vue | 142 +++++++++++++++++++++++++++++++++ src/components/item_selector.vue | 4 +- src/components/items_table.vue | 2 +- src/views/EditInvoice.vue | 7 +- src/views/HomeView.vue | 2 +- 6 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 src/components/invoice_items_table.vue diff --git a/package.json b/package.json index fbd1a52..8915981 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openbills-web", - "version": "0.2.1", + "version": "0.2.2", "private": false, "scripts": { "dev": "vite", diff --git a/src/components/invoice_items_table.vue b/src/components/invoice_items_table.vue new file mode 100644 index 0000000..6a89f5a --- /dev/null +++ b/src/components/invoice_items_table.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/components/item_selector.vue b/src/components/item_selector.vue index 9cdbeed..5dc9b84 100644 --- a/src/components/item_selector.vue +++ b/src/components/item_selector.vue @@ -4,7 +4,7 @@ import axios from 'axios' import { useToast } from 'vue-toast-notification' import InvoiceItem from "./../classes/invoice_item" -const props = defineProps(["invoice"]) +const props = defineProps(["invoiceId"]) const emit = defineEmits(["added"]) const toast = useToast({ @@ -42,7 +42,7 @@ const submit = async (e: Event) => { submitting.value = true try { - await axios.post(`/invoice/${props.invoice.ID}/item`, toRaw(item.value)) + await axios.post(`/invoice/${props.invoiceId}/item`, toRaw(item.value)) itemSelection.value = null item.value = new InvoiceItem() emit("added") diff --git a/src/components/items_table.vue b/src/components/items_table.vue index 187ee0f..e9f103e 100644 --- a/src/components/items_table.vue +++ b/src/components/items_table.vue @@ -92,7 +92,7 @@ onMounted(() => { - + {{ index + 1 }} {{ item.Name }} {{ item.Description }} diff --git a/src/views/EditInvoice.vue b/src/views/EditInvoice.vue index b134721..7a508f8 100644 --- a/src/views/EditInvoice.vue +++ b/src/views/EditInvoice.vue @@ -8,6 +8,7 @@ import Invoice from "./../classes/invoice" import invoiceHeader from './../components/invoice_header.vue' import itemSelector from './../components/item_selector.vue' +import invoiceItemsTable from './../components/invoice_items_table.vue' const toast = useToast({ position: 'top-right' @@ -15,6 +16,7 @@ const toast = useToast({ const route = useRoute() +const invoiceId = route.params.id const invoice = ref(new Invoice()) const isLoading = ref(true) @@ -22,7 +24,7 @@ const getInvoice = async () => { isLoading.value = true try { - const r = await axios.get(`/invoice/${route.params.id}`) + const r = await axios.get(`/invoice/${invoiceId}`) invoice.value = r.data.data } catch (err) { toast.error('An unhandled exception occoured. Please check logs') @@ -43,5 +45,6 @@ onMounted(() => { diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 0a5bf4d..6ef6440 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -16,7 +16,7 @@ const getAllDrafts = async () => { allDrafts.value = res.data.data } } catch (err) { - toast.error('An unhandled exception occoured. Please check logs') + //toast.error('An unhandled exception occoured. Please check logs') console.error(err) } -- cgit v1.2.3