| | |
| | | <script setup lang="ts"> |
| | | import { ElDatePicker } from 'element-plus'; |
| | | import { definePropType } from 'element-plus/es/utils/vue/props/runtime'; |
| | | import { ref, type PropType, computed, watch, nextTick } from 'vue'; |
| | | import { ref, type PropType, computed, watch, nextTick, onMounted } from 'vue'; |
| | | import type { TimeRangeParam } from '../types'; |
| | | import type { TimeRangeEnum } from './types'; |
| | | import { timeRangeEnumMapTitle, timeRangeEnumMapValue } from './types'; |
| | |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | |
| | | quickActive: { |
| | | type: Number as PropType<TimeRangeEnum>, |
| | | required: false, |
| | | }, |
| | | }); |
| | | const dateValue = defineModel({ |
| | | type: definePropType<[string, string]>(Array), |
| | |
| | | quickPickValue.value = null; |
| | | }; |
| | | const quickPickValue = ref<TimeRangeEnum>(null); |
| | | const quickPickRangeClick = (val: TimeRangeEnum) => { |
| | | if (quickPickValue.value === val) return; |
| | | |
| | | const pickQuickRange = (val: TimeRangeEnum) => { |
| | | if(val==undefined) return; |
| | | quickPickValue.value = val; |
| | | dateValue.value = timeRangeEnumMapValue[val]().map((item) => formatDate(item)) as [string, string]; |
| | | }; |
| | | const quickPickRangeClick = (val: TimeRangeEnum) => { |
| | | if (quickPickValue.value === val) return; |
| | | pickQuickRange(val); |
| | | |
| | | dateChange(); |
| | | }; |
| | | |
| | |
| | | dateChange(); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | if(props.quickActive !=null){ |
| | | pickQuickRange(props.quickActive); |
| | | } |
| | | }); |
| | | |
| | | defineExpose({ |
| | | formatDateValue: dateValue, |
| | | }); |