vue 日期选择器快捷方式选中本周,本月,本季度,本年,上周,上月,上季度,上年

标题:

vue 日期选择器快捷方式选中本周,本月,本季度,本年,上周,上月,上季度,上年

效果:

在这里插入图片描述

代码:

页面效果,日期选择器

    <el-date-picker
                    style="width: 100%"
                    v-model="timeList"
                    @change="timeChange"
                    type="daterange"
                    range-separator="至"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期"
                    format="yyyy-MM-dd"
                    value-format="yyyy-MM-dd"
                    :picker-options="pickerOptions"
                    :default-time="['00:00:00','23:59:59']"
                >
                </el-date-picker>

快捷方式本周,本月,本季度,本年,上周,上月,上季度,上年

        pickerOptions: {
            shortcuts: [{
                text: '本周',
                onClick:(picker)=> {
                    let start = new Date(this.$moment().startOf("week").format("YYYY-MM-DD HH:mm:ss"))
                    let end = new Date(this.$moment().endOf("days").format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            },{
                text: '本月',
                onClick:(picker)=> {
                    let start = new Date(this.$moment().startOf('month').format("YYYY-MM-DD HH:mm:ss"))
                    let end = new Date(this.$moment().endOf("days").format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            },{
                text: '本季度',
                onClick:(picker)=> {
                    const start = new Date();
                    start.setMonth(Math.floor(start.getMonth() / 3) * 3);
                    start.setDate(1);
                    const end = new Date(start.getFullYear(), start.getMonth() + 3, 0);
                    picker.$emit('pick', [start, end]);
                }
            },{
               text: '本年',
                onClick:(picker)=> {
                    let start = new Date(this.$moment().startOf("year").format("YYYY-MM-DD HH:mm:ss"))
                    let end = new Date(this.$moment().endOf("days").format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            },{
                text: '上周',
                onClick:(picker)=> {
                    let start =new Date(this.$moment().week(this.$moment().week() - 1).startOf('week').format("YYYY-MM-DD HH:mm:ss"))
                    let end =new Date(this.$moment().week(this.$moment().week() - 1).endOf('week').format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            },{
                text: '上月',
                onClick:(picker)=> {
                    let start = new Date(this.$moment().subtract(1, "month").startOf("month").format("YYYY-MM-DD HH:mm:ss"))
                    let end = new Date(this.$moment().subtract(1, "month").endOf("month").format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            },{
                text: '上季度',
                onClick:(picker)=> {
                        const end = new Date();
                        const start = new Date(end.getFullYear(), Math.floor(end.getMonth() / 3) * 3 - 3, 1);
                        end.setMonth(start.getMonth() + 3);
                        end.setDate(0);
                        picker.$emit('pick', [start, end]);
                }
            },{
                text: '上年',
                onClick:(picker)=> {
                    let start = new Date(this.$moment().subtract(1, "year").startOf("month").format("YYYY-MM-DD HH:mm:ss"))
                    let end = new Date(this.$moment().subtract(1, "year").endOf("month").format("YYYY-MM-DD HH:mm:ss"))
                    picker.$emit('pick', [start, end]);
                }
            }]
        },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值