|
|
@ -51,8 +51,13 @@ const dateTimeFormat = computed(() => { |
|
|
|
|
|
|
|
|
|
|
|
let localModelValue = modelValue ? dayjs(modelValue).utc().local() : undefined |
|
|
|
let localModelValue = modelValue ? dayjs(modelValue).utc().local() : undefined |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const tempLocalValue = ref<dayjs.Dayjs>() |
|
|
|
|
|
|
|
|
|
|
|
const localState = computed({ |
|
|
|
const localState = computed({ |
|
|
|
get() { |
|
|
|
get() { |
|
|
|
|
|
|
|
if (!modelValue && tempLocalValue.value) { |
|
|
|
|
|
|
|
return tempLocalValue.value |
|
|
|
|
|
|
|
} |
|
|
|
if (!modelValue) { |
|
|
|
if (!modelValue) { |
|
|
|
return undefined |
|
|
|
return undefined |
|
|
|
} |
|
|
|
} |
|
|
@ -133,10 +138,11 @@ watch( |
|
|
|
onClickOutside(document.querySelector(`.${randomClass}`)! as HTMLDivElement, () => (open.value = false)) |
|
|
|
onClickOutside(document.querySelector(`.${randomClass}`)! as HTMLDivElement, () => (open.value = false)) |
|
|
|
|
|
|
|
|
|
|
|
if (!modelValue) { |
|
|
|
if (!modelValue) { |
|
|
|
localState.value = dayjs(new Date()) |
|
|
|
tempLocalValue.value = dayjs(new Date()) |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
editable.value = false |
|
|
|
editable.value = false |
|
|
|
|
|
|
|
tempLocalValue.value = undefined |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ flush: 'post' }, |
|
|
|
{ flush: 'post' }, |
|
|
@ -244,6 +250,22 @@ const cellClickHook = inject(CellClickHookInj, null) |
|
|
|
const cellClickHandler = () => { |
|
|
|
const cellClickHandler = () => { |
|
|
|
open.value = (active.value || editable.value) && !open.value |
|
|
|
open.value = (active.value || editable.value) && !open.value |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function okHandler(val: dayjs.Dayjs | string) { |
|
|
|
|
|
|
|
if (!val) { |
|
|
|
|
|
|
|
emit('update:modelValue', null) |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (dayjs(val).isValid()) { |
|
|
|
|
|
|
|
// setting localModelValue to cater NOW function in date picker |
|
|
|
|
|
|
|
localModelValue = dayjs(val) |
|
|
|
|
|
|
|
// send the payload in UTC format |
|
|
|
|
|
|
|
emit('update:modelValue', dayjs(val).utc().format('YYYY-MM-DD HH:mm:ssZ')) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
open.value = !open.value |
|
|
|
|
|
|
|
} |
|
|
|
onMounted(() => { |
|
|
|
onMounted(() => { |
|
|
|
cellClickHook?.on(cellClickHandler) |
|
|
|
cellClickHook?.on(cellClickHandler) |
|
|
|
}) |
|
|
|
}) |
|
|
@ -265,8 +287,7 @@ const isColDisabled = computed(() => { |
|
|
|
|
|
|
|
|
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<a-date-picker |
|
|
|
<a-date-picker |
|
|
|
v-model:value="localState" |
|
|
|
:value="localState" |
|
|
|
:default-picker-value="dayjs(new Date())" |
|
|
|
|
|
|
|
:disabled="isColDisabled" |
|
|
|
:disabled="isColDisabled" |
|
|
|
:show-time="true" |
|
|
|
:show-time="true" |
|
|
|
:bordered="false" |
|
|
|
:bordered="false" |
|
|
@ -279,7 +300,7 @@ const isColDisabled = computed(() => { |
|
|
|
:dropdown-class-name="`${randomClass} nc-picker-datetime children:border-1 children:border-gray-200 ${open ? 'active' : ''}`" |
|
|
|
:dropdown-class-name="`${randomClass} nc-picker-datetime children:border-1 children:border-gray-200 ${open ? 'active' : ''}`" |
|
|
|
:open="isOpen" |
|
|
|
:open="isOpen" |
|
|
|
@click="clickHandler" |
|
|
|
@click="clickHandler" |
|
|
|
@ok="open = !open" |
|
|
|
@ok="okHandler" |
|
|
|
> |
|
|
|
> |
|
|
|
<template #suffixIcon></template> |
|
|
|
<template #suffixIcon></template> |
|
|
|
</a-date-picker> |
|
|
|
</a-date-picker> |
|
|
|