REST Service for POPCORN - ILIAS
alex
2025-06-25 901bd23ff8d2bfb78e79ae4060109de39f0913d0
vue/src/pages/KursDetail.vue
@@ -2,6 +2,9 @@
import {useRoute} from 'vue-router'
import {onMounted, reactive, ref} from "vue"
import {getKurs, getKursItems, getKursTn, iliasBase, routerBase} from "../lib/api.js"
import LinkExtern from "../components/LinkExtern.vue"
import dayjs from "dayjs"
const route = useRoute()
const kursId = route.params.kursId
@@ -15,22 +18,21 @@
/////////////////////////////////////////////////////////////////////////
async function init () {
   let resKurs = await fetch(`/api/kurs/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
   let dataKurs = await resKurs.json()
   const dataKurs = await getKurs(kursId)
   console.log(dataKurs)
   kurs.value = dataKurs
   let resKursItems = await fetch(`/api/kurs/items/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
   let dataKursItems = await resKursItems.json()
   const dataKursItems = await getKursItems(kursId)
   console.log(dataKursItems)
   kursItems.value = dataKursItems
   let resKursTn = await fetch(`/api/kurs/teilnehmer/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
   let dataKursTn = await resKursTn.json()
   const dataKursTn = await getKursTn(kursId)
   console.log(dataKursTn)
   kursTn.value = dataKursTn
}
const aaa = import.meta.env.VITE_TST
</script>
@@ -38,87 +40,96 @@
   <div>
      <h1>
         Kurs {{ kursId }}
<!--         <small>{{ user?.firstname }} {{ user?.lastname }}</small>-->
         Kurs
         <small>{{ kurs?.title }}</small>
      </h1>
      <p v-if="error">{{ error }}</p>
      <h2>Kurs</h2>
      <pre>{{kurs}}</pre>
      <h2>KursItems</h2>
      <pre>{{kursItems}}</pre>
      <h2>KursTn</h2>
      <pre>{{kursTn}}</pre>
<!--      <pre>{{ user }}</pre>-->
      <div class="user" v-if="kurs">
<!--      <div class="user" v-if="user">-->
<!--         <span>usr_id</span>-->
<!--         <div>{{ user.usr_id }}</div>-->
         <span>ref_id</span>
         <div>
            <a :href="`${iliasBase}/goto.php?target=${kurs.type}_${kurs.ref_id}`" target="_blank">
               {{ kurs.ref_id }}
               <LinkExtern />
            </a>
         </div>
<!--         <span>login</span>-->
<!--         <div>{{ user.login }}</div>-->
         <span>obj_id</span>
         <div>{{ kurs.obj_id }}</div>
<!--         <span>firstname</span>-->
<!--         <div>{{ user.firstname }}</div>-->
         <span style="margin-top: 1em;">title</span>
         <div style="grid-column: span 3; margin-top: 1em">{{ kurs.title }}</div>
<!--         <span>lastname</span>-->
<!--         <div>{{ user.lastname }}</div>-->
         <span>description</span>
         <div style="grid-column: span 3">{{ kurs.description }}</div>
<!--         <span>gender</span>-->
<!--         <div>{{ user.gender }}</div>-->
      </div>
<!--         <span>email</span>-->
<!--         <div>{{ user.email }}</div>-->
      <h2>
         KursItems
         <small>({{ kursItems?.length }})</small>
      </h2>
      <table>
         <thead>
            <tr>
               <th>parent_id</th>
               <th>ref_id</th>
               <th>obj_id</th>
               <th>title</th>
               <th>type</th>
            </tr>
         </thead>
         <tbody>
            <!-- TODO verlinken auf Ziel in ILAS | goto.php?target=crs_ID -->
            <tr v-for="item in kursItems">
               <td>{{ item.parent_id }}</td>
               <td>
                  <a :href="`${iliasBase}/goto.php?target=${item.type}_${item.ref_id}`" target="_blank">
                     {{ item.ref_id }}
                     <LinkExtern />
                  </a>
               </td>
               <td>{{ item.obj_id }}</td>
               <td>{{ item.title }}</td>
               <td>{{ item.type }}</td>
            </tr>
         </tbody>
      </table>
<!--         <span>Markt</span>-->
<!--         <div>{{ user.Markt }}</div>-->
<!--         <span>Marktnummer</span>-->
<!--         <div>{{ user.Marktnummer }}</div>-->
<!--         <span>Personalnummer</span>-->
<!--         <div>{{ user.Personalnummer }}</div>-->
<!--         <span>department</span>-->
<!--         <div>{{ user.department }}</div>-->
<!--      </div>-->
      <!--      <table v-if="user">-->
      <!--         <tbody>-->
      <!--            <tr>-->
      <!--               <td>user_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--               <td>login</td>-->
      <!--               <td>{{user.login}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>firstname</td>-->
      <!--               <td>{{user.firstname}}</td>-->
      <!--               <td>lastname</td>-->
      <!--               <td>{{user.lastname}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--         </tbody>-->
      <!--      </table>-->
      <h2>
         KursTn
         <small>({{ kursTn?.length }})</small>
      </h2>
      <div :style="{columns: kursTn?.length > 16 ? 1 : 1}">
         <table>
            <thead>
               <tr>
                  <th>usr_id</th>
                  <th>login</th>
                  <th>firstname</th>
                  <th>lastname</th>
                  <th>passed</th>
                  <th>status</th>
                  <th>status_changed</th>
               </tr>
            </thead>
            <tbody>
               <tr v-for="tn in kursTn">
                  <td>
                     <RouterLink :to="`${routerBase}/ui/user/${tn.usr_id}`">{{ tn.usr_id }}</RouterLink>
                  </td>
                  <td>{{ tn.login }}</td>
                  <td>{{ tn.firstname }}</td>
                  <td>{{ tn.lastname }}</td>
                  <td>{{ tn.passed }}</td>
                  <td>{{ tn.status }}</td>
                  <td>{{ dayjs(tn.status_changed).format("DD.MM.YYYY HH:mm:ss") }}</td>
               </tr>
            </tbody>
         </table>
      </div>
   </div>