diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index 5fc771c..7fd15c4 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -43,6 +43,7 @@ declare module 'vue' { NCheckbox: typeof import('naive-ui')['NCheckbox'] NColorPicker: typeof import('naive-ui')['NColorPicker'] NDataTable: typeof import('naive-ui')['NDataTable'] + NDatePicker: typeof import('naive-ui')['NDatePicker'] NDescriptions: typeof import('naive-ui')['NDescriptions'] NDescriptionsItem: typeof import('naive-ui')['NDescriptionsItem'] NDialogProvider: typeof import('naive-ui')['NDialogProvider'] diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 491f94e..625ed83 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -16,6 +16,10 @@ const cardCount = ref(); const tabParams = ref({ type: 'WEEK' }); +const dateRange = ref<[number, number] | null>(); +const formattedValue = ref<[string, string] | null>( + tabParams.value.startTime && tabParams.value.endTime ? [tabParams.value.startTime, tabParams.value.endTime] : null +); const getCardData = async () => { const { data: cardData, error } = await fetchCardCount(); @@ -25,6 +29,29 @@ const getCardData = async () => { }; getCardData(); + +const onUpdateDate = (value: [string, string]) => { + if (value) { + tabParams.value.type = 'OTHERS'; + tabParams.value.startTime = value[0]; + tabParams.value.endTime = value[1]; + } +}; + +const onClearDate = () => { + tabParams.value.type = 'WEEK'; + tabParams.value.startTime = undefined; + tabParams.value.endTime = undefined; +}; + +const onUpdateType = (value: string) => { + if (value !== 'OTHERS') { + dateRange.value = null; + formattedValue.value = null; + tabParams.value.startTime = undefined; + tabParams.value.endTime = undefined; + } +};