#8277 createEntryControl #1370

Merged
jorgep merged 77 commits from 8277-createEntryControl into dev 2025-04-17 16:45:31 +00:00
1 changed files with 15 additions and 12 deletions
Showing only changes of commit b528bb4ed1 - Show all commits

View File

@ -1,10 +1,9 @@
<script setup>
import VnTable from 'src/components/VnTable/VnTable.vue';
import { ref, computed, markRaw, useTemplateRef, onBeforeMount } from 'vue';
import { useRoute } from 'vue-router';
import { ref, computed, markRaw, useTemplateRef, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import { toDate, toCurrency } from 'src/filters';
import { useArrayData } from 'src/composables/useArrayData';
import VnTable from 'src/components/VnTable/VnTable.vue';
import FetchData from 'src/components/FetchData.vue';
import VnSelectSupplier from 'src/components/common/VnSelectSupplier.vue';
import EntryDescriptorProxy from './Card/EntryDescriptorProxy.vue';
@ -13,12 +12,11 @@ import VnInputNumber from 'src/components/common/VnInputNumber.vue';
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
const { t } = useI18n();
const route = useRoute();
const MAXDAYS = 365;
const DEFAULTDAYS = 60;
const dataKey = 'entryControl';
const url = 'Entries/control';
let arrayData = useArrayData(dataKey);
const arrayData = useArrayData(dataKey);
const daysAgo = ref();
const table = useTemplateRef('table');
const companies = ref([]);
@ -191,15 +189,19 @@ const columns = computed(() => [
// },
]);
onBeforeMount(() => {
const curParams = JSON.parse(route.query[dataKey] ?? '{}');
const val = curParams.daysAgo ?? DEFAULTDAYS;
route.query[dataKey] = JSON.stringify({ ...curParams, daysAgo: val });
daysAgo.value = val;
});
watch(
() => arrayData.store.userParams.daysAgo,
(nVal, oVal) => {
if (!oVal && !nVal) daysAgo.value = DEFAULTDAYS;
else if (!nVal) daysAgo.value = MAXDAYS;
else daysAgo.value = nVal;
},
{ immediate: true },
);
function filterByDaysAgo(val) {
if (!val || val > MAXDAYS) val = MAXDAYS;
if (!val) val = DEFAULTDAYS;
else if (val > MAXDAYS) val = MAXDAYS;
daysAgo.value = val;
arrayData.store.userParams.daysAgo = daysAgo.value;
table.value.reload();
@ -263,6 +265,7 @@ function filterByDaysAgo(val) {
:decimal-places="0"
@update:model-value="filterByDaysAgo"
debounce="500"
max="365"
:title="t('entry.control.daysAgo')"
/>
</template>