* работа над функционалом автоматического заполнения

* исправил фантомный сдвиг даты
* переделал получение ФИО врачей из отделений
* добавил возможность поиска врача
* переписал сохранение отчета
This commit is contained in:
brusnitsyn
2026-02-05 17:11:43 +09:00
parent eab78a0291
commit 10fb138c30
22 changed files with 1192 additions and 654 deletions

View File

@@ -75,22 +75,32 @@ const formattedValue = computed(() => {
}
})
watch(() => modelValue.value, (newVal, oldVal) => {
if (!newVal) return
const handleDateUpdate = (value) => {
console.log('Получено значение:', value)
if (Array.isArray(newVal)) {
if (newVal.length === 2 &&
(!oldVal || newVal[0] !== oldVal[0] || newVal[1] !== oldVal[1])) {
queryDate.value = newVal
setQueryDate()
// Устанавливаем новое значение
modelValue.value = value
// Для диапазона: отправляем только если обе даты заполнены
if (isUseDateRange.value) {
if (Array.isArray(value) && value[0] && value[1]) {
// Дебаунс для предотвращения двойной отправки
setTimeout(() => {
// Проверяем что значение не изменилось за время таймаута
if (JSON.stringify(modelValue.value) === JSON.stringify(value)) {
queryDate.value = value
setQueryDate()
}
}, 100)
}
} else {
if (newVal !== oldVal) {
queryDate.value = newVal
// Для одиночной даты отправляем сразу
if (value) {
queryDate.value = [value, value]
setQueryDate()
}
}
})
}
</script>
<template>
@@ -106,7 +116,7 @@ watch(() => modelValue.value, (newVal, oldVal) => {
placement="top-start"
input-readonly
bind-calendar-months
update-value-on-close
@update:value="value => handleDateUpdate(value)"
:type="dateType" />
<div class="cursor-pointer p-2 flex items-center justify-center" @click="showCalendar = true">
<NIcon size="20">