time.js
3.37 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Component({
properties:{
seller:Object,
config:Object,
},
data:{
daylist:[
{
name:'今天'
},
{
name:'明天'
}
],
dayidx:0,
timehidden:true,
},
attached(){
console.log(this.data.config)
let h=new Date().getHours(),m=new Date().getMinutes();
this.setData({
currentval:h+m/60+0.5
})
this.gettimelist();
},
methods:{
show(){
let h=new Date().getHours(),m=new Date().getMinutes();
this.setData({
timehidden:false,
currentval:h+m/60+0.5
})
},
hide(){
this.setData({
timehidden:true
})
},
gettimelist(){
let timelist=[];
if(this.data.config.lunch_time){
timelist=timelist.concat(this.getdurlist(this.data.config.lunch_time));
console.log(timelist,'hhhhhh')
}
if(this.data.config.dinner_time){
timelist=timelist.concat(this.getdurlist(this.data.config.dinner_time));
}
this.setData({
timelist:timelist
})
console.log(timelist,'uuuuuuuuuu')
},
getdurlist(durtime){
let arr=durtime.split("-");
let starttime,endtime,timelist=[];
arr.forEach((v,i)=>{
let timearr=v.split(/[: : \s+]/);
console.log('6666666',timearr)
if(i==0){
if(timearr[1]!='00' && (timearr[1]>0 && timearr[1]<30)){
starttime=Number(timearr[0][0]==0 ? timearr[0][1] : timearr[0])+0.5
}
if(timearr[1]!='00' && (timearr[1]>=30 && timearr[1]<=59)){
starttime=Number(timearr[0][0]==0 ? timearr[0][1] : timearr[0])+1
}
if(timearr[1]=='00'){
starttime=Number(timearr[0][0]==0 ? timearr[0][1] : timearr[0])
}
}
if(i==1){
if(timearr[1]!='00' && (timearr[1]>0 && timearr[1]<=30)){
endtime=timearr[0][0]==0 ? timearr[0][1] : timearr[0]
}
if(timearr[1]!='00' && (timearr[1]>30 && timearr[1]<=59)){
endtime=Number(timearr[0][0]==0 ? timearr[0][1] : timearr[0])+.5
}
if(timearr[1]=='00'){
endtime=Number(timearr[0][0]==0 ? timearr[0][1] : timearr[0])
}
}
})
let len=endtime-starttime;
for(let i=0;i<len;i++){
let val=starttime+i,nextval=starttime+(i+1);
timelist.push({
stime:val%1==0 ? (val<10 ? '0'+Math.floor(val)+':00' : val+':00') : (val<10 ? '0'+Math.floor(val)+':30' : Math.floor(val)+':30'),
val:val,
etime:nextval%1==0 ? (nextval<10 ? '0'+Math.floor(nextval)+':00' : nextval+':00') : (nextval<10 ? '0'+Math.floor(nextval)+':30' : Math.floor(nextval)+':30'),
})
}
this.timelist=timelist;
console.log(durtime,starttime,endtime,len,timelist,'uuuuuu');
return timelist;
},
selectday(e){
let dayidx=e.currentTarget.dataset.index;
this.setData({
dayidx:dayidx
})
if(this.data.timeidx || (this.data.timeidx==0)){
if(this.data.currentval<=this.data.timelist[this.data.timelist.length-1].val){
let tiemobj={
dayidx:dayidx,
stime:this.data.timelist[this.data.timeidx].stime,
etime:this.data.timelist[this.data.timeidx].etime,
dayname:this.data.daylist[this.data.dayidx].name,
}
this.triggerEvent('telltime',tiemobj);
}
}
},
selecttime(e){
let timeidx=e.currentTarget.dataset.index;
this.setData({
timeidx:timeidx
})
let tiemobj={
dayidx:this.data.dayidx,
stime:this.data.timelist[this.data.timeidx].stime,
etime:this.data.timelist[this.data.timeidx].etime,
dayname:this.data.daylist[this.data.dayidx].name,
}
this.hide();
this.triggerEvent('telltime',tiemobj);
},
}
})