- {{ item.name }}
-
+ {{ card.name }}
+
-
{{ item.subName }}
+
{{ card.subName }}
-
+
- {{ item.minQuantity }}
+ {{ card.minQuantity }}
diff --git a/src/pages/Order/Card/OrderCatalogItemDialog.vue b/src/pages/Order/Card/OrderCatalogItemDialog.vue
index d07fa7650..7b07582f0 100644
--- a/src/pages/Order/Card/OrderCatalogItemDialog.vue
+++ b/src/pages/Order/Card/OrderCatalogItemDialog.vue
@@ -25,6 +25,25 @@ const total = computed(() => state.get('orderTotal'));
// const onItemSaved = inject('onItemSaved');
const prices = ref((props.item.prices || []).map((item) => ({ ...item, quantity: 0 })));
const isLoading = ref(false);
+const calculateTotals = (items) => {
+ return items.reduce(
+ (acc, item) => {
+ acc.totalQuantity += item.quantity;
+ acc.totalSum += item.quantity * item.price;
+ return acc;
+ },
+ { totalQuantity: 0, totalSum: 0 }
+ );
+};
+
+// const totalSum = (items) =>
+// items.reduce((acc, item) => {
+// return acc + item.quantity * item.price;
+// }, 0);
+// const totalQuantity = (items) =>
+// items.reduce((acc, item) => {
+// return acc + item.quantity;
+// }, 0);
const addToOrder = async () => {
if (isLoading.value) return;
isLoading.value = true;
@@ -33,10 +52,13 @@ const addToOrder = async () => {
items,
orderFk: Number(route.params.id),
});
- state.set('orderTotal', total.value + 100);
+
+ const { totalQuantity, totalSum } = calculateTotals(items);
+
+ state.set('orderTotal', total.value + totalSum);
notify(t('globals.dataSaved'), 'positive');
// onItemSaved({ ...props, items, saved: true });
- emit('added', items);
+ emit('added', -totalQuantity);
isLoading.value = false;
};
const canAddToOrder = () => {