diff --git a/resources/js/Components/DatePickerQuery.vue b/resources/js/Components/DatePickerQuery.vue index 3b68f4e..e7704f4 100644 --- a/resources/js/Components/DatePickerQuery.vue +++ b/resources/js/Components/DatePickerQuery.vue @@ -23,6 +23,12 @@ const props = defineProps({ hint: { type: Boolean, default: false + }, + // Локальный режим: не делать router.reload при смене даты — только обновлять модель + // (для конструктора отчётов, где период применяется по кнопке «Сформировать»). + local: { + type: Boolean, + default: false } }) @@ -174,7 +180,7 @@ const shortcuts = { const handleDateUpdate = (value) => { if (!value || !Array.isArray(value) || !value[0] || !value[1]) return - isLoading.value = true + if (!props.local) isLoading.value = true // Нормализуем в мс-таймстемпы: шорткаты/быстрый выбор отдают Date, календарь — число. // Иначе Date уходит в URL как ISO (...Z), а число остаётся числом → рассинхрон startAt/endAt. @@ -189,6 +195,9 @@ const handleDateUpdate = (value) => { modelValue.value = finalValue + // Локальный режим — без навигации, период применит кнопка «Сформировать отчёт» + if (props.local) return + // Дебаунс для предотвращения двойной отправки setTimeout(() => { if (JSON.stringify(modelValue.value) === JSON.stringify(finalValue)) { diff --git a/resources/js/Layouts/Components/AppUserButton.vue b/resources/js/Layouts/Components/AppUserButton.vue index 5f4eb25..0d0e0ae 100644 --- a/resources/js/Layouts/Components/AppUserButton.vue +++ b/resources/js/Layouts/Components/AppUserButton.vue @@ -76,6 +76,9 @@ const onSelectRole = (roleId) => { + + {{ authStore.user?.name }} + {{ initials }} - - {{ authStore.user?.name }} -