2
2
<div class =" timetable" >
3
3
<div v-if =" !this.loaded" class =" lds-dual-ring" ></div >
4
4
<div v-else class =' container' >
5
- <div class =' info' >{{ this.timetable .number }} группа</div >
6
- <div class =" no-events" v-if =" !this.timetable.events. length" >мероприятия отсутствуют</div >
5
+ <div class =' info' >{{ this.groupInfo .number }} группа</div >
6
+ <div class =" no-events" v-if =" !this.timetable.length" >мероприятия отсутствуют</div >
7
7
<ul v-else >
8
- <EventRow v-for =" lesson of this.timetable.events " :key =' lesson.id' :lesson =" lesson" />
8
+ <EventRow v-for =" lesson of this.timetable" :key =' lesson.id' :lesson =" lesson" />
9
9
</ul >
10
10
11
11
</div >
@@ -20,14 +20,16 @@ export default {
20
20
mounted () {
21
21
this .groupId = localStorage .getItem (' timetable-group-id' );
22
22
this .$store .commit (" changePage" , this .pageId );
23
- this .loadTimetableOnDate (this .$store .state .date )
23
+ this .loadGroupInfo ();
24
+ this .loadTimetableOnDate (this .$store .state .date );
24
25
},
25
26
data () {
26
27
return {
27
28
loaded: true ,
28
29
pageId: 1 ,
29
30
groupId: null ,
30
- timetable: { events: [] },
31
+ groupInfo: {number: ' ' },
32
+ timetable: [],
31
33
};
32
34
},
33
35
computed: {
@@ -44,22 +46,36 @@ export default {
44
46
EventRow: EventRow,
45
47
},
46
48
methods: {
47
- loadTimetableOnDate (date ) {
49
+ loadGroupInfo (){
50
+ var url = new URL (` ${ process .env .VUE_APP_API_TIMETABLE } /timetable/group/${ this .groupId } ` );
48
51
this .loaded = false ;
52
+ fetch (url).then (response => response .json ())
53
+ .then (json => {
54
+ this .groupInfo = json;
55
+ this .loaded = true ;
56
+ })
57
+ },
58
+ loadTimetableOnDate (date ) {
49
59
var time_start = new Date (date);
50
60
time_start .setHours (time_start .getHours () - date .getTimezoneOffset ()/ 60 )
51
61
console .log (time_start .toISOString ())
52
62
var time_end = new Date (time_start);
53
63
time_end .setDate (time_start .getDate () + 1 )
54
- var url = new URL (` ${ process .env .VUE_APP_API_TIMETABLE } /timetable/group/${ this .groupId } ` ),
55
- params = { start: time_start .toISOString ().slice (0 , 10 ), end: time_end .toISOString ().slice (0 , 10 ) }
64
+ var url = new URL (` ${ process .env .VUE_APP_API_TIMETABLE } /timetable/event/` ),
65
+ params = {
66
+ start: time_start .toISOString ().slice (0 , 10 ),
67
+ end: time_end .toISOString ().slice (0 , 10 ),
68
+ limit: 0 ,
69
+ offset: 0 ,
70
+ group_id: this .groupId }
56
71
Object .keys (params).forEach (key => url .searchParams .append (key, params[key]))
57
- fetch (url)
58
- .then (response => response .json ())
72
+ this . loaded = false ;
73
+ fetch (url) .then (response => response .json ())
59
74
.then (json => {
60
- this .timetable = json;
75
+ this .timetable = json . items ;
61
76
this .loaded = true ;
62
77
})
78
+
63
79
}
64
80
}
65
81
};
0 commit comments