0
0
Fork 0

fix: refs #7274 defaulterFilter

This commit is contained in:
Jorge Penadés 2024-05-14 17:29:15 +02:00
parent e4637b7d15
commit 9d9d3db43b
2 changed files with 32 additions and 3 deletions

View File

@ -5,7 +5,7 @@ import { useI18n } from 'vue-i18n';
import { QBtn, QCheckbox, useQuasar } from 'quasar'; import { QBtn, QCheckbox, useQuasar } from 'quasar';
import { useStateStore } from 'stores/useStateStore'; import { useStateStore } from 'stores/useStateStore';
import { toCurrency, toDate } from 'filters/index'; import { toCurrency, toDate, dateRange } from 'filters/index';
import VnPaginate from 'src/components/ui/VnPaginate.vue'; import VnPaginate from 'src/components/ui/VnPaginate.vue';
import CustomerNotificationsFilter from './CustomerDefaulterFilter.vue'; import CustomerNotificationsFilter from './CustomerDefaulterFilter.vue';
import CustomerBalanceDueTotal from './CustomerBalanceDueTotal.vue'; import CustomerBalanceDueTotal from './CustomerBalanceDueTotal.vue';
@ -16,7 +16,7 @@ import VnInput from 'src/components/common/VnInput.vue';
import CustomerDefaulterAddObservation from './CustomerDefaulterAddObservation.vue'; import CustomerDefaulterAddObservation from './CustomerDefaulterAddObservation.vue';
const stateStore = useStateStore(); const stateStore = useStateStore();
const { t } = useI18n(); const { t, locale } = useI18n();
const quasar = useQuasar(); const quasar = useQuasar();
const dataRef = ref(null); const dataRef = ref(null);
@ -183,6 +183,34 @@ const onFetch = (data) => {
balanceDueTotal.value = data.reduce((acc, { amount = 0 }) => acc + amount, 0); balanceDueTotal.value = data.reduce((acc, { amount = 0 }) => acc + amount, 0);
}; };
function getRange(value) {
let date;
if (locale.value === 'es') {
const [day, month, year] = value.split('/');
date = new Date(year, month - 1, day);
} else date = new Date(value);
return dateRange(date);
}
function exprBuilder(param, value) {
switch (param) {
case 'clientFk':
return { [`d.${param}`]: value?.id };
case 'creditInsurance':
case 'amount':
case 'workerFk':
case 'countryFk':
case 'payMethod':
case 'salesPersonFk':
return { [`d.${param}`]: value };
case 'date':
return { 'd.created': { between: getRange(value) } };
case 'defaulterSinced':
return { 'd.defaulterSinced': { between: getRange(value) } };
}
}
</script> </script>
<template> <template>
@ -232,6 +260,7 @@ const onFetch = (data) => {
@on-fetch="onFetch" @on-fetch="onFetch"
data-key="CustomerDefaulter" data-key="CustomerDefaulter"
:filter="filter" :filter="filter"
:expr-builder="exprBuilder"
auto-load auto-load
url="Defaulters/filter" url="Defaulters/filter"
> >

View File

@ -57,7 +57,7 @@ const authors = ref();
hide-selected hide-selected
map-options map-options
option-label="name" option-label="name"
option-value="clientTypeFk" option-value="id"
outlined outlined
rounded rounded
use-input use-input