lista ordini aggiornata

This commit is contained in:
Surya Paolo
2023-12-15 23:36:48 +01:00
parent 8399df8663
commit 176ca7fe20
13 changed files with 201 additions and 24 deletions

View File

@@ -28,4 +28,7 @@ $heightBtn: 100%;
.note {
font-style: italic;
color:blue;
}
}
.totali {
font-weight: bold;
}

View File

@@ -13,7 +13,7 @@ import { shared_consts } from '@src/common/shared_vuejs'
import { CSingleCart } from '../../../components/CSingleCart'
import { CTitleBanner } from '@components'
import { ICart, IOrderCart } from '@src/model'
import { ICart, IOrder, IOrderCart } from '@src/model'
export default defineComponent({
name: 'OrderInfo',
@@ -43,7 +43,7 @@ export default defineComponent({
name: 'numorder',
required: true,
align: 'left',
label: 'Numero Ordine',
label: 'Ordine N.',
field: 'numorder',
sortable: true
},
@@ -84,7 +84,7 @@ export default defineComponent({
name: 'numorder',
required: true,
align: 'left',
label: 'Numero Ordine',
label: 'Ordine N.',
field: 'numorder',
sortable: true
},
@@ -148,6 +148,34 @@ export default defineComponent({
return ris
}
function getOrdersCartWithTotals(): any[] {
const orderscart = getOrdersCart();
if (orderscart) {
// Calculate totals
const totals = {
created_at: new Date(),
items: null,
user:{
name: 'TOTALI',
surname: '',
},
status: 0,
// Add other properties as needed
totalPrice: orderscart.reduce((total: number, rec: any) => total + rec.totalPrice, 0),
};
// Combine orders and totals
const rowsWithTotals = [...orderscart, totals];
return rowsWithTotals;
} else {
return []
}
}
function getAllOrdersCart() {
return productStore.getOrdersAllCart()
}
@@ -283,6 +311,7 @@ export default defineComponent({
updateorders,
getCols,
endload,
getOrdersCartWithTotals,
}
}
})

View File

@@ -21,7 +21,7 @@
:hide-header="$q.screen.lt.sm"
:columns="columns"
row-key="numorder"
:rows="getOrdersCart()"
:rows="getOrdersCartWithTotals()"
>
<template v-if="$q.screen.lt.sm" v-slot:item="props">
<div class="q-pa-xs col-xs-12 col-sm-6 col-md-4">
@@ -40,7 +40,9 @@
v-for="(item, index) of props.row.items"
:key="index"
>
<div v-if="!!item.order && item.order.product">
<div
v-if="!!item && item.order && item.order.product"
>
{{ item.order.product.name }} ({{
item.order.quantity
}})<br />
@@ -68,10 +70,18 @@
<template v-else v-slot:body="props">
<q-tr :props="props">
<q-td key="numorder" :props="props">
&nbsp; n. {{ props.row.numorder }}
<span v-if="props.row.numorder">
&nbsp; n. {{ props.row.numorder }}</span
>
</q-td>
<q-td key="nameSurname" :props="props">
{{ props.row.userId.name }} {{ props.row.userId.surname }}
<span v-if="props.row.user">
<span
:class="props.row.user.name !== 'TOTALI' ? '' : 'totali'"
>{{ tools.getNomeUtenteByRecUser(props.row.user) }}
</span
></span
>
</q-td>
<q-td key="created_at" :props="props">
{{ tools.getstrDateTime(props.row.created_at) }}
@@ -94,7 +104,9 @@
</div>
</q-td>
<q-td key="totalPrice" :props="props">
{{ props.row.totalPrice }}
<span :class="props.row.user.name !== 'TOTALI' ? '' : 'totali'"
>{{ props.row.totalPrice }} </span
>
</q-td>
<q-td key="status" :props="props">
<span :class="props.row.status">{{
@@ -127,7 +139,10 @@
</div>
</q-td>
<q-td key="comandi" :props="props">
<div v-if="tools.isManager()" class="q-pa-sm">
<div
v-if="tools.isManager() && props.row.user.name !== 'TOTALI'"
class="q-pa-sm"
>
<q-btn-dropdown rounded dense label="Azioni">
<q-list class="text-primary">
<q-item