diff --git a/src/components/JalaliDatePicker.vue b/src/components/JalaliDatePicker.vue index b503962..4f21169 100644 --- a/src/components/JalaliDatePicker.vue +++ b/src/components/JalaliDatePicker.vue @@ -3,7 +3,9 @@ import { computed } from 'vue' import Vue3PersianDatetimePicker from 'vue3-persian-datetime-picker' import { iranDateInputToIso, - isoToIranDateInput, + iranYmd, + isoToJalaliInput, + jalaliInputToIso, todayIranDateInput, } from '@/utils/datetime' @@ -34,8 +36,10 @@ const emit = defineEmits<{ const pickerValue = computed({ get() { if (!props.modelValue) return '' - if (props.valueType === 'ymd') return props.modelValue - return isoToIranDateInput(props.modelValue) + if (props.valueType === 'ymd') { + return isoToJalaliInput(iranDateInputToIso(props.modelValue)) + } + return isoToJalaliInput(props.modelValue) }, set(val: string | null | undefined) { const raw = (val || '').trim() @@ -43,11 +47,13 @@ const pickerValue = computed({ emit('update:modelValue', null) return } + const iso = jalaliInputToIso(raw) + if (!iso) return if (props.valueType === 'ymd') { - emit('update:modelValue', raw) + emit('update:modelValue', iranYmd(iso)) return } - emit('update:modelValue', iranDateInputToIso(raw)) + emit('update:modelValue', iso) }, }) @@ -65,11 +71,13 @@ function setToday() {