Jelajahi Sumber

fix(markup): исправления для расписания преподавателей

horanchikk 5 bulan lalu
induk
melakukan
2628fe865e
1 mengubah file dengan 39 tambahan dan 8 penghapusan
  1. 39 8
      pages/timetable/index.vue

+ 39 - 8
pages/timetable/index.vue

@@ -9,7 +9,10 @@
     v-else
     class="flex flex-col gap-2 show py-4 h-full"
   >
-    <div class="grid grid-cols-3 place-items-center mb-5">
+    <div
+      v-if="week"
+      class="grid grid-cols-3 place-items-center mb-5"
+    >
       <img
         v-if="week.current_week !== week.previous_week && week.previous_week !== 0"
         :src="`/icons/chevron-left-alt.svg`"
@@ -36,12 +39,17 @@
       >
         <h1
           class="text-2xl font-semibold"
-          v-text="day.title"
+          v-text="getDayOfWeek(day.title)"
         />
         <p
+          v-if="day.start"
           class="mt-0.5 text-sm opacity-50"
           v-text="`${day.start} - ${day.end} (~ ${day.hours} ${getHourWord(day.hours)})`"
         />
+        <div
+          v-else
+          class="mt-2"
+        />
         <section
           v-for="(lesson, lessonIdx) in day.lessons"
           :key="lessonIdx"
@@ -102,8 +110,8 @@ definePageMeta({
   middleware: ['user-only'],
 })
 
+const { $api } = useNuxtApp()
 const user = useUser()
-const api = useApi()
 const router = useRouter()
 const header = useHeader()
 
@@ -160,9 +168,12 @@ function getHourWord(n: number): string {
 async function updateTimetable(numberOfWeek?: number) {
   timetable.value = null
 
-  timetable.value = await api.get(
-    `/timetable/students/courses/${user.data.branch_id}/group/${user.data.group_id}${numberOfWeek !== undefined ? `/week/${numberOfWeek}` : ''}`,
+  timetable.value = await $api.timetable.getTimetable(
+    user.data.branch_id,
+    user.data.group_id,
+    numberOfWeek,
   )
+
   week.value = {
     next_week: timetable.value.next_week,
     previous_week: timetable.value.previous_week,
@@ -170,6 +181,28 @@ async function updateTimetable(numberOfWeek?: number) {
   }
 }
 
+function getDayOfWeek(name: string) {
+  switch (name) {
+    case 'ПН':
+      return 'Понедельник'
+    case 'ВТ':
+      return 'Вторник'
+    case 'СР':
+      return 'Среда'
+    case 'ЧТ':
+      return 'Четверг'
+    case 'ПТ':
+      return 'Пятница'
+    case 'СБ':
+      return 'Суббота'
+    case 'ВС':
+      return 'Воскресенье'
+
+    default:
+      return name
+  }
+}
+
 onMounted(async () => {
   if (user.data.is_student) {
     if (!Object.hasOwn(user.data, 'group_id')) {
@@ -184,9 +217,7 @@ onMounted(async () => {
       router.push('/timetable/teacher')
     }
     else {
-      timetable.value = await api.get(
-        `/teachers/${user.data.branch_id}/id${user.data.teacher_id}`,
-      )
+      timetable.value = await $api.timetable.getTeacherTimetable(user.data.branch_id, user.data.teacher_id)
     }
   }
 })