* работа над функционалом автоматического заполнения
* исправил фантомный сдвиг даты * переделал получение ФИО врачей из отделений * добавил возможность поиска врача * переписал сохранение отчета
This commit is contained in:
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user