0
0
Fork 0

refs #7155 scopeDays fix

This commit is contained in:
Carlos Satorres 2024-09-13 12:52:25 +02:00
parent 8be1833f9e
commit 842fb9de5f
2 changed files with 29 additions and 15 deletions

View File

@ -301,6 +301,7 @@ defineExpose({
redirect: redirectFn, redirect: redirectFn,
selected, selected,
CrudModelRef, CrudModelRef,
params,
}); });
function handleOnDataSaved(_) { function handleOnDataSaved(_) {

View File

@ -12,6 +12,8 @@ import VnSearchbar from 'components/ui/VnSearchbar.vue';
import { toDate } from 'src/filters'; import { toDate } from 'src/filters';
import { getDateQBadgeColor } from 'src/composables/getDateQBadgeColor.js'; import { getDateQBadgeColor } from 'src/composables/getDateQBadgeColor.js';
import { dateRange } from 'src/filters'; import { dateRange } from 'src/filters';
import VnInputNumber from 'src/components/common/VnInputNumber.vue';
const { viewSummary } = useSummaryDialog(); const { viewSummary } = useSummaryDialog();
const router = useRouter(); const router = useRouter();
const { t } = useI18n(); const { t } = useI18n();
@ -25,22 +27,26 @@ const $props = defineProps({
}, },
}); });
const entityId = computed(() => $props.id || route.params.id); const entityId = computed(() => $props.id || route.params.id);
onMounted(async () => {
stateStore.rightDrawer = true;
handleScopeDays();
});
const cloneTravel = (travelData) => { const cloneTravel = (travelData) => {
const stringifiedTravelData = JSON.stringify(travelData); const stringifiedTravelData = JSON.stringify(travelData);
redirectToCreateView(stringifiedTravelData); redirectToCreateView(stringifiedTravelData);
}; };
const handleScopeDays = (params, days, callback) => { function handleScopeDays(days = 7) {
const [from, to] = dateRange(Date.vnNew()); days = +days;
if (!days) { tableRef.value.params.scopeDays = days;
Object.assign(params, { from, to, scopeDays: 1 }); const [landedFrom, landedTo] = dateRange(Date.vnNew());
} else { landedTo.setDate(landedTo.getDate() + days);
params.from = from;
to.setDate(to.getDate() + days); tableRef.value.params.landedFrom = landedFrom;
params.to = to; tableRef.value.params.landedTo = landedTo;
} }
if (callback) callback();
};
const redirectToCreateView = (queryParams) => { const redirectToCreateView = (queryParams) => {
router.push({ name: 'TravelCreate', query: { travelData: queryParams } }); router.push({ name: 'TravelCreate', query: { travelData: queryParams } });
@ -50,10 +56,6 @@ const redirectCreateEntryView = (travelData) => {
router.push({ name: 'EntryCreate', query: { travelFk: travelData.id } }); router.push({ name: 'EntryCreate', query: { travelFk: travelData.id } });
}; };
onMounted(async () => {
stateStore.rightDrawer = true;
});
const columns = computed(() => [ const columns = computed(() => [
{ {
align: 'left', align: 'left',
@ -254,6 +256,17 @@ const columns = computed(() => [
:class="{ 'is-active': row.isReceived }" :class="{ 'is-active': row.isReceived }"
/> />
</template> </template>
<template #moreFilterPanel="{ params }">
<VnInputNumber
:label="t('params.scopeDays')"
v-model.number="params.scopeDays"
@keyup.enter="(evt) => handleScopeDays(evt.target.value)"
@remove="handleScopeDays()"
class="q-px-xs q-pr-lg"
filled
dense
/>
</template>
</VnTable> </VnTable>
</template> </template>