| | |
| | | import styles from './DateTimePickRange.module.scss' |
| | | import dayjs from 'dayjs' |
| | | import { ElMessage } from 'element-plus' |
| | | import { _t } from '@/libs/Language/Language' |
| | | export default defineComponent({ |
| | | name: '日期范围', |
| | | props: { |
| | |
| | | }, |
| | | clearable: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | default: true, |
| | | }, |
| | | }, |
| | | emits: ['change'], |
| | | setup(props, { attrs, slots, emit }) { |
| | |
| | | const onChangeFrom = (val: Date) => { |
| | | console.log(val) |
| | | if (times.To && dayjs(val).isAfter(times.To)) { |
| | | ElMessage.warning('开始时间必须比结束时间小') |
| | | ElMessage.warning(_t('开始时间必须比结束时间小')) |
| | | return |
| | | } |
| | | emit('change', times) |
| | | } |
| | | |
| | | const onChangeTo = (val: Date) => { |
| | | console.log(val); |
| | | console.log(val) |
| | | if (times.To && dayjs(val).isBefore(times.From)) { |
| | | ElMessage.warning('开始时间必须比结束时间小') |
| | | ElMessage.warning(_t('开始时间必须比结束时间小')) |
| | | return |
| | | } |
| | | emit('change', times) |
| | |
| | | return () => { |
| | | return ( |
| | | <div class={styles.DateTimePickRange}> |
| | | <span class={styles.label}>{props.label}</span> |
| | | <span class={styles.label}>{_t(props.label)}</span> |
| | | <el-date-picker |
| | | v-model={times.From} |
| | | type="datetime" |
| | | placeholder="请选择开始时间" |
| | | placeholder={_t('请选择开始时间')} |
| | | onChange={onChangeFrom} |
| | | valueFormat={props.valueFormat} |
| | | clearable={props.clearable} |
| | |
| | | <el-date-picker |
| | | v-model={times.To} |
| | | type="datetime" |
| | | placeholder="请选择结束时间" |
| | | placeholder={_t('请选择结束时间')} |
| | | onChange={onChangeTo} |
| | | valueFormat={props.valueFormat} |
| | | clearable={props.clearable} |