#8277 createEntryControl #1370
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue