1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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)
}
}
},
});