diff --git a/src/css/app.scss b/src/css/app.scss index 2a60830bf..4c4a556a7 100644 --- a/src/css/app.scss +++ b/src/css/app.scss @@ -320,8 +320,12 @@ input::-webkit-inner-spin-button { .q-item > .q-item__section:has(.q-checkbox) { max-width: fit-content; } - -.row > .column:has(.q-checkbox) { +.vn-row > * .q-checkbox r { + min-width: 80%; + display: flex; + justify-content: space-between; +} +.vn-row > .q-checkbox.row.items-center { max-width: fit-content; } .q-field__inner { diff --git a/src/pages/Supplier/Card/SupplierConsumption.vue b/src/pages/Supplier/Card/SupplierConsumption.vue index 718de95dd..25ac773f0 100644 --- a/src/pages/Supplier/Card/SupplierConsumption.vue +++ b/src/pages/Supplier/Card/SupplierConsumption.vue @@ -8,8 +8,9 @@ import SendEmailDialog from 'components/common/SendEmailDialog.vue'; import SupplierConsumptionFilter from './SupplierConsumptionFilter.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; -import { dateRange, toDate } from 'src/filters'; -import { dashIfEmpty } from 'src/filters'; +import { dateRange, toCurrency, toDate } from 'src/filters'; + +import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue'; import { usePrintService } from 'composables/usePrintService'; import useNotify from 'src/composables/useNotify.js'; import axios from 'axios'; @@ -31,7 +32,81 @@ const arrayData = useArrayData('SupplierConsumption', { order: ['itemTypeFk', 'itemName', 'itemSize'], userFilter: { where: { supplierFk: route.params.id } }, }); +const headerColumns = computed(() => [ + { + name: 'id', + label: t('globals.entry'), + align: 'left', + field: 'id', + sortable: true, + }, + { + name: 'invoiceNumber', + label: t('globals.subItem'), + align: 'left', + field: 'invoiceNumber', + sortable: true, + }, + { + name: 'quantity', + label: t('globals.quantity'), + align: 'left', + field: 'quantity', + sortable: true, + }, + { + name: 'total', + label: t('globals.quantity'), + align: 'left', + field: 'total', + sortable: true, + }, + { + name: 'shipped', + label: t('globals.quantity'), + align: 'left', + field: 'shipped', + sortable: true, + }, +]); +const columns = computed(() => [ + { + name: 'itemName', + label: t('globals.item'), + align: 'left', + field: 'itemName', + sortable: true, + }, + { + name: 'subName', + label: t('globals.subItem'), + align: 'left', + field: 'subName', + sortable: true, + }, + { + name: 'quantity', + label: t('globals.quantity'), + align: 'left', + field: 'quantity', + sortable: true, + }, + { + name: 'price', + label: t('globals.price'), + align: 'left', + field: 'price', + sortable: true, + }, + { + name: 'total', + label: t('globals.total'), + align: 'left', + field: 'total', + sortable: true, + }, +]); const store = arrayData.store; onUnmounted(() => state.unset('SupplierConsumption')); @@ -122,13 +197,17 @@ const totalEntryPrice = (rows) => { totalQuantity = totalQuantity + quantity; } totalRows.value = { totalPrice, totalQuantity }; + // expanded.value = rows.map((r) => r.id); return rows; }; - +const tableRef = ref(null); onMounted(async () => { stateStore.rightDrawer = true; await getSupplierConsumptionData(); }); + +const expanded = ref([]); +// const initialExpanded = rows.filter((r, i) => i % 3 === 0).map((r) => r.index); - - + diff --git a/src/pages/Zone/ZoneUpcoming.vue b/src/pages/Zone/ZoneUpcoming.vue index c74ae6078..1b5ed87cf 100644 --- a/src/pages/Zone/ZoneUpcoming.vue +++ b/src/pages/Zone/ZoneUpcoming.vue @@ -61,11 +61,27 @@ onMounted(() => weekdayStore.initStore()); v-for="(detail, index) in details" :key="index" class="full-width flex q-mb-lg" + style="flex-direction: column" > - - {{ getHeaderTitle(detail.shipped) }} - - +
+
+ + {{ getHeaderTitle(detail.shipped) }} + + + {{ getHeaderTitle(detail.shipped) }} + + + {{ getHeaderTitle(detail.shipped) }} + +
+ +
@@ -73,7 +89,7 @@ onMounted(() => weekdayStore.initStore());