淘先锋技术网

首页 1 2 3 4 5 6 7
  <el-date-picker
        v-model="queryObj.year"
        type="month"
        placeholder="请选择月份"
        style="width: 100%"
        size="large"
        value-format="yyyy-MM"
        @change="getReport"
        :picker-options="pickerBeginDateBefore"
      >
      </el-date-picker>
      
js
 //设置当前年月之前的数据可以查看
      pickerBeginDateBefore: {
        disabledDate: (time) => {
          //newDate(time).getTime()  time是xxxx-xx-xx的格式(年月日)   获取到13位的时间戳
          //this.entryTime是入职时间(已知日期,年月日)
          let timeString = new Date(this.entryTime).getTime() ;  //转时间戳
          const joinYear = this.entryTime.slice(0, 4);
          const FullYear = time.getFullYear();   //选择的年份
          let myDate = new Date();
          const year = myDate.getFullYear();   //当前年份
          //   点击选择的年份大于当前年份或者小于起始年份  //先限制年份
          if (FullYear > year || FullYear<joinYear) {
            return true;
          } else {
            let t = myDate.getDate();
            // 选择的时间
            return time.getTime() > Date.now() - 8.64e7 * t||time.getTime()<timeString;
          }
        },
      },

问题描述: 比如根据后台返回的字段 entryTime:2021-10-09  (某员工的入职时间),现在需要限制从入职年月开始至当前年月的区间才可以选择,此时无法单独比较年和月,所以考虑将入职日期和当前日期转化为时间戳进行对比,即上述代码的: let timeString=new Date(this.entryTime).getTime()