Component({ mixins: [], data: { isCheck: false, disable: false }, props: { date: '', startTime: '', endTime: '', sectionStartTime: '', sectionEndTime: '' }, didMount() { console.log('开始') let dateSectionStartTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionStartTime);//选框开始时间 let dateSectionEndTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionEndTime);//选框结束时间 // 判断是否过期 if (dateSectionStartTime.getTime() <= new Date().getTime()) { this.setData({ disable: true }) } else { // 判断是否有开始结束时间 if (this.props.startTime && this.props.endTime){ let dateMS = new Date(this.props.date.replace(/-/g, "/")); let dateStartTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.startTime); // 已选开始时间 let dateEndTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.endTime);// 已选结束时间 // 有开时间判断是否选中 if (dateStartTime.getTime() <= dateSectionStartTime.getTime() && dateEndTime.getTime() >= dateSectionEndTime.getTime()) { // 判断当前时间短是否选中 this.setData({ isCheck: true }) } else { this.setData({ isCheck: false }) } } } }, didUpdate() { let dateSectionStartTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionStartTime);//选框开始时间 let dateSectionEndTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionEndTime);//选框结束时间 // 判断是否过期 if (dateSectionEndTime.getTime() <= new Date().getTime()) { this.setData({ disable: true }) } else { // 判断是否有开始结束时间 if (startTime && endTime){ let dateMS = new Date(this.props.date.replace(/-/g, "/")); let dateStartTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.startTime); // 已选开始时间 let dateEndTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.endTime);// 已选结束时间 // 有开时间判断是否选中 if (dateStartTime.getTime() <= dateSectionStartTime.getTime() && dateEndTime.getTime() >= dateSectionEndTime.getTime()) { // 判断当前时间短是否选中 this.setData({ isCheck: true }) } else { this.setData({ isCheck: false }) } } } }, didUnmount() {}, methods: { changeIsCheck(e) { console.log(e) let dateSectionStartTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionStartTime);//选框开始时间 let dateSectionEndTime = new Date(this.props.date.replace(/-/g, "/")+' '+this.props.sectionEndTime);//选框结束时间 let data = { startTime: dateSectionStartTime, endTime:dateSectionEndTime } if (e.currentTarget.dataset.type == 0) { let data = { startTime: dateSectionStartTime, endTime:dateSectionEndTime, type: 0 } this.props.onselectTime(data) } else { let data = { startTime: dateSectionStartTime, endTime:dateSectionEndTime, type: 1 } this.props.onselectTime(date) } } }, });