带快捷项时间选择器相关问题总结

一.带快捷项时间选择器相关问题总结

1.默认初始时间为之前的到期时间,并且之前的时间禁止输入。

 <template>
<el-form-item label="开通年限:" :required="true">
          <el-date-picker
            v-model="userCountDate"
            type="daterange"
            align="right"
            :clearable="false"
            unlink-panels
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :picker-options="pickerOptions"
            @change="changeTime"
           
          >
          </el-date-picker>
        </el-form-item>
</template>
import moment from "moment";
export default {
    data(){
        return{
        startTime: "",
        endTime: "",
        endDate:"",
        pickerOptions: {
          //时间段的禁用
        disabledDate: (time) => {
          return this.disabledDate(time);
        },
          //快捷键的定义
        shortcuts: [
          {
            text: "一年",
            onClick: (picker) => {
              return this.onClick(picker, 1);
            },
          },
          {
            text: "两年",
            onClick: (picker) => {
              return this.onClick(picker, 2);
            },
          },
          {
            text: "三年",
            onClick: (picker) => {
              return this.onClick(picker, 3);
            },
          },
          {
            text: "四年",
            onClick: (picker) => {
              return this.onClick(picker, 4);
            },
          },
          {
            text: "五年",
            onClick: (picker) => {
              return this.onClick(picker, 5);
            },
          },
        ],
      },
          },
        }
    },
      

    methods:{
        //对快捷选项的定义
        onClick(picker, val) {
      const end = new Date(this.endDate);
      const start = new Date(this.endDate);
      end.setFullYear(end.getFullYear() + val);
      return picker.$emit("pick", [start, end]);
    },
     //对刚刚进入的时间的定义
   getTime() {
      this.endDate = this.$route.query.endDate;
      const end = new Date(this.endDate);
      const start = new Date(this.endDate);
      end.setFullYear(end.getFullYear() + 1);
      this.userCountDate = [start, end];
      const format = "YYYY-MM-DD HH:mm:ss";
      this.productFormValue.startTime = moment(start).format("YYYY-MM-DD HH:mm:ss");
      this.productFormValue.endTime = moment(end).format("YYYY-MM-DD HH:mm:ss");
    },
     //禁用时间的定义
    disabledDate(time) {
      return time.getTime() < new Date(this.endDate).getTime();
    },
     //改变时间选择器的定义
     changeTime(val) {
      const format = "YYYY-MM-DD HH:mm:ss";
      const timeArr = val.map((item) =>
        moment(item).format("YYYY-MM-DD HH:mm:ss")
      );
      this.productFormValue.startTime = timeArr[0] ? timeArr[0] : "";
      this.productFormValue.endTime = timeArr[1] ? timeArr[1] : "";
    },
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值