Element 之DatePicker 时间选择器

简单记录日期选择器, 日期间隔60天的时间选择器逻辑处理 

  •  html
<el-form-item label="开票时间">
        <el-col :span="11">
          <el-form-item prop="SatrtTime">
            <el-date-picker
              type="date"
              placeholder="开票开始时间"
              value-format="yyyy-MM-dd"
              unlink-panels
              @change="setSatrtTime"
              v-model="formInline.SatrtTime"
              :picker-options="startTimePicker"
              style="width: 100%;"
            ></el-date-picker>
          </el-form-item>
        </el-col>
        <el-col class="line" :span="1">-</el-col>
        <el-col :span="11">
          <el-form-item prop="EndTime">
            <el-date-picker
              type="date"
              placeholder="开票结束时间"
              value-format="yyyy-MM-dd"
              unlink-panels
              @change="setEndTime"
              v-model="formInline.EndTime"
              :picker-options="endTimePicker"
              style="width: 100%;"
            ></el-date-picker>
          </el-form-item>
        </el-col>
      </el-form-item>
  • js
 computed: {
    /** 开始时间 监听  两个相邻日期间隔时间: 24*60*60*1000  */

    startTimePicker(){     
      return {
        disabledDate: time => {            
            if(this.formInline.EndTime!=null&&this.formInline.EndTime!="") {             
                return time.getTime() > Date.now() //今天之后的日期不可选
                 || time.getTime() >= this.$util.formatDateTimestamp(this.formInline.EndTime) // 开始日期之前的日期不可选
                || time.getTime() < this.$util.formatDateTimestamp(this.formInline.EndTime) - ( 24*60*60*1000*60 ) 
            }else{
               return time.getTime() > Date.now()
            }             
        }
      }
    },
    /** 开票时间 - 结束时间 监听 */
    endInvoiceTimePicker(){
        return {
        disabledDate: time => {
          if(this.formInline.SatrtTime!=""&&this.formInline.SatrtTime!=null){
              return  time.getTime() > Date.now() //今天之后的日期不可选
              || time.getTime() <= this.$util.formatDateTimestamp(this.formInline.SatrtTime) -( 24*60*60*1000 ) // 开始日期之前的日期不可选
              || time.getTime() > this.$util.formatDateTimestamp(this.formInline.SatrtTime) + ( 24*60*60*1000*59 )
          }else{
             return time.getTime() > Date.now()
          }                       
        }
      }
    }

  },
  methods: {
     /** 设置开票开始时间 */
    setSatrtTime(val) {
      
    },
    /** 设置开票结束时间 */
    setEndTime(val) {           
      
    }
}

 

  • util .js
const formatDateTimestamp = (date) => {
  var dd = new Date(date);
  return dd.getTime(dd)
}

const util = {
    formatDateTimestamp 
}
export default util

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值