Add subfilter to entry list view and entry descriptor improvements

This commit is contained in:
William Buezas 2024-01-18 08:58:04 -03:00
parent 9cd1f542aa
commit 161bfab443
5 changed files with 84 additions and 19 deletions

View File

@ -17,9 +17,9 @@ a {
// Removes chrome autofill background // Removes chrome autofill background
input:-webkit-autofill, input:-webkit-autofill,
select:-webkit-autofill { select:-webkit-autofill {
color: var(--vn-text) ; color: var(--vn-text);
font-family: $typography-font-family; font-family: $typography-font-family;
-webkit-text-fill-color: var(--vn-text) ; -webkit-text-fill-color: var(--vn-text);
-webkit-background-clip: text !important; -webkit-background-clip: text !important;
background-clip: text !important; background-clip: text !important;
} }
@ -48,6 +48,10 @@ body.body--dark {
background-color: var(--vn-dark); background-color: var(--vn-dark);
} }
.color-vn-text {
color: var(--vn-text);
}
.vn-card { .vn-card {
background-color: var(--vn-gray); background-color: var(--vn-gray);
color: var(--vn-text); color: var(--vn-text);

View File

@ -335,7 +335,7 @@ export default {
packagingFk: 'Embalaje', packagingFk: 'Embalaje',
}, },
descriptor: { descriptor: {
agency: 'Agency', agency: 'Agencia',
landed: 'F. entrega', landed: 'F. entrega',
warehouseOut: 'Alm. salida', warehouseOut: 'Alm. salida',
}, },

View File

@ -8,6 +8,7 @@ import VnLv from 'src/components/ui/VnLv.vue';
import useCardDescription from 'src/composables/useCardDescription'; import useCardDescription from 'src/composables/useCardDescription';
import { toDate } from 'src/filters'; import { toDate } from 'src/filters';
import { usePrintService } from 'composables/usePrintService';
const $props = defineProps({ const $props = defineProps({
id: { id: {
@ -23,6 +24,7 @@ const $props = defineProps({
const route = useRoute(); const route = useRoute();
const { t } = useI18n(); const { t } = useI18n();
const { openReport } = usePrintService();
const entryFilter = { const entryFilter = {
include: [ include: [
@ -61,6 +63,14 @@ const entryFilter = {
], ],
}; };
const entityId = computed(() => {
return $props.id || route.params.id;
});
const data = ref(useCardDescription());
const setData = (entity) =>
(data.value = useCardDescription(entity.supplier.nickname, entity.id));
const getEntryRedirectionFilter = (entry) => { const getEntryRedirectionFilter = (entry) => {
let entryTravel = entry && entry.travel; let entryTravel = entry && entry.travel;
@ -82,13 +92,9 @@ const getEntryRedirectionFilter = (entry) => {
}); });
}; };
const entityId = computed(() => { const showEntryReport = () => {
return $props.id || route.params.id; openReport(`Entries/${route.params.id}/entry-order-pdf`);
}); };
const data = ref(useCardDescription());
const setData = (entity) =>
(data.value = useCardDescription(entity.supplier.nickname, entity.id));
</script> </script>
<template> <template>
@ -101,6 +107,18 @@ const setData = (entity) =>
@on-fetch="setData" @on-fetch="setData"
data-key="entryData" data-key="entryData"
> >
<template #menu="{ entity }">
<QItem v-ripple clickable @click="showEntryReport(entity)">
<QItemSection>{{ t('Show entry report') }}</QItemSection>
</QItem>
<QItem v-ripple clickable>
<QItemSection>
<RouterLink :to="{ name: 'EntryList' }" class="color-vn-text">
{{ t('Go to module index') }}
</RouterLink>
</QItemSection>
</QItem>
</template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv <VnLv
:label="t('entry.descriptor.agency')" :label="t('entry.descriptor.agency')"
@ -115,6 +133,21 @@ const setData = (entity) =>
:value="entity.travel.warehouseOut.name" :value="entity.travel.warehouseOut.name"
/> />
</template> </template>
<template #icons="{ entity }">
<QCardActions class="q-gutter-x-md">
<QIcon
v-if="entity.isExcludedFromAvailable"
name="vn:inventory"
color="primary"
size="xs"
>
<QTooltip>{{ t('Inventory entry') }}</QTooltip>
</QIcon>
<QIcon v-if="entity.isRaid" name="vn:web" color="primary" size="xs">
<QTooltip>{{ t('Virtual entry') }}</QTooltip>
</QIcon>
</QCardActions>
</template>
<template #actions="{ entity }"> <template #actions="{ entity }">
<QCardActions> <QCardActions>
<QBtn <QBtn
@ -162,4 +195,8 @@ es:
Supplier card: Ficha del proveedor Supplier card: Ficha del proveedor
All travels with current agency: Todos los envíos con la agencia actual All travels with current agency: Todos los envíos con la agencia actual
All entries with current supplier: Todas las entradas con el proveedor actual All entries with current supplier: Todas las entradas con el proveedor actual
Show entry report: Ver informe del pedido
Go to module index: Ir al índice del modulo
Inventory entry: Es inventario
Virtual entry: Es una redada
</i18n> </i18n>

View File

@ -173,6 +173,31 @@ const suppliersOptions = ref([]);
/> />
</QItemSection> </QItemSection>
</QItem> </QItem>
<QItem>
<QItemSection>
<QCheckbox
:label="t('params.isBooked')"
v-model="params.isBooked"
toggle-indeterminate
/>
</QItemSection>
<QItemSection>
<QCheckbox
:label="t('params.isConfirmed')"
v-model="params.isConfirmed"
toggle-indeterminate
/>
</QItemSection>
</QItem>
<QItem>
<QItemSection>
<QCheckbox
:label="t('params.isOrdered')"
v-model="params.isOrdered"
toggle-indeterminate
/>
</QItemSection>
</QItem>
</QList> </QList>
</template> </template>
</VnFilterPanel> </VnFilterPanel>
@ -200,6 +225,9 @@ en:
from: From from: From
to: To to: To
created: Created created: Created
isBooked: Booked
isConfirmed: Confirmed
isOrdered: Ordered
es: es:
params: params:
search: Búsqueda general search: Búsqueda general
@ -212,4 +240,7 @@ es:
from: Desde from: Desde
to: Hasta to: Hasta
created: Fecha creación created: Fecha creación
isBooked: Asentado
isConfirmed: Confirmado
isOrdered: Pedida
</i18n> </i18n>

View File

@ -6,7 +6,6 @@ import { useI18n } from 'vue-i18n';
import { QCheckbox, QIcon } from 'quasar'; import { QCheckbox, QIcon } from 'quasar';
import CardSummary from 'components/ui/CardSummary.vue'; import CardSummary from 'components/ui/CardSummary.vue';
import VnLv from 'src/components/ui/VnLv.vue'; import VnLv from 'src/components/ui/VnLv.vue';
import VnRow from 'components/ui/VnRow.vue';
import travelService from 'src/services/travel.service'; import travelService from 'src/services/travel.service';
import { toDate, toCurrency } from 'src/filters'; import { toDate, toCurrency } from 'src/filters';
@ -219,10 +218,7 @@ const openEntryDescriptor = () => {};
<template #body> <template #body>
<QCard class="vn-one"> <QCard class="vn-one">
<VnLv <VnLv :label="t('globals.shipped')" :value="toDate(travel.shipped)" />
:label="t('globals.shipped')"
:value="toDate(travel.shipped)"
/>
<VnLv <VnLv
:label="t('globals.wareHouseOut')" :label="t('globals.wareHouseOut')"
:value="travel.warehouseOut?.name" :value="travel.warehouseOut?.name"
@ -239,10 +235,7 @@ const openEntryDescriptor = () => {};
</VnLv> </VnLv>
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<VnLv <VnLv :label="t('globals.landed')" :value="toDate(travel.landed)" />
:label="t('globals.landed')"
:value="toDate(travel.landed)"
/>
<VnLv <VnLv
:label="t('globals.wareHouseIn')" :label="t('globals.wareHouseIn')"
:value="travel.warehouseIn?.name" :value="travel.warehouseIn?.name"