diff --git a/package.json b/package.json index d631844e..b7bd8cd2 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "@sentry/vue": "7.91.0", "axios": "0.27.2", "bootstrap": "5.3.2", - "core-js": "3.35.0", "npm-check-updates": "16.3.25", "qrcode.vue": "3.4.1", "vue": "3.4.3", diff --git a/public/index.html b/public/index.html index 2e5ed1de..bb3b8a37 100644 --- a/public/index.html +++ b/public/index.html @@ -18,7 +18,7 @@ - + diff --git a/src/App.vue b/src/App.vue index 6a80f1e7..19bc25f1 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,7 +4,7 @@
- +
diff --git a/src/common/sales.service.ts b/src/common/sales.service.ts index 21c70bf2..0ee5f60c 100644 --- a/src/common/sales.service.ts +++ b/src/common/sales.service.ts @@ -3,7 +3,6 @@ import { AxiosResponse } from "axios"; import Paginated from "@/models/paginated.model"; import Shift from "@/models/shift.model"; import Order from "@/models/order.model"; -import _Order from "@/models/_order.model"; import Member from "@/models/member.model"; import Payable from "@/models/payable.model"; import OrderItem from "@/models/orderitem.model"; @@ -29,15 +28,25 @@ class SalesService { const data: { order_items: OrderItem[] } = order?.getAPIData() ?? { order_items: [], }; - const result: AxiosResponse<_Order> = await this.apiService.post( + const result: AxiosResponse = await this.apiService.post( `/admin/sales/shifts/${shift}/orders/`, data ); + const parsedData = { + ...result.data, + subtotal: parseFloat(result.data.subtotal), + total_amount: parseFloat(result.data.total_amount), + discount: parseFloat(result.data.discount), + order_items: result.data.order_items.map((i: { total: string }) => ({ + ...i, + total: parseFloat(i.total), + })), + }; if (order !== null) { - order.updateFromAPI(result.data); + order.updateFromAPI(parsedData); return order; } - return Order.orderFromAPI(result.data); + return Order.orderFromAPI(parsedData); } async updateOrder(order: Order, shift: number | null = null): Promise { @@ -45,25 +54,45 @@ class SalesService { order = await this.newOrder(shift, order); return order; } - const result: AxiosResponse<_Order> = await this.apiService.put( + const result: AxiosResponse = await this.apiService.put( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore `/admin/sales/orders/${order._o.pk}/`, // eslint-disable-next-line @typescript-eslint/ban-types order.getAPIData() as {} ); - order.updateFromAPI(result.data); + const parsedData = { + ...result.data, + subtotal: parseFloat(result.data.subtotal), + total_amount: parseFloat(result.data.total_amount), + discount: parseFloat(result.data.discount), + order_items: result.data.order_items.map((i: { total: string }) => ({ + ...i, + total: parseFloat(i.total), + })), + }; + order.updateFromAPI(parsedData); return order; } async getOrderDetails(order: Order): Promise { - const result: AxiosResponse<_Order> = await this.apiService.get( + const result: AxiosResponse = await this.apiService.get( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore `/admin/sales/orders/${order._o.pk}/` ); + const parsedData = { + ...result.data, + subtotal: parseFloat(result.data.subtotal), + total_amount: parseFloat(result.data.total_amount), + discount: parseFloat(result.data.discount), + order_items: result.data.order_items.map((i: { total: string }) => ({ + ...i, + total: parseFloat(i.total), + })), + }; if (order.synced) { - order.updateFromAPI(result.data); + order.updateFromAPI(parsedData); } return order; } diff --git a/src/components/ManualPaymentModal.vue b/src/components/ManualPaymentModal.vue index 6e1fdde7..0e25bc71 100644 --- a/src/components/ManualPaymentModal.vue +++ b/src/components/ManualPaymentModal.vue @@ -64,13 +64,13 @@