| | |
| | | } |
| | | }) |
| | | .get("/api/user/teilnahmen/:userId", async function (req, res) { |
| | | const {userid} = req.params |
| | | if(!userid || isNaN(Number(userid))) { |
| | | return res.code(500).send({status: "error", msg: "userid error"}) |
| | | let userId = req.params.userId |
| | | console.log(`--------${userId}-----------`, typeof userId) |
| | | if(!userId || isNaN(Number(userId))) { |
| | | return res.code(500).send({status: "error", msg: "userId error"}) |
| | | } |
| | | const tn = await db.getUserTeilnahmen(userid) |
| | | const tn = await db.getUserTeilnahmen(userId) |
| | | if (tn) { |
| | | return res.send(tn) |
| | | } |
| | |
| | | |
| | | async function getUserTeilnahmen (usr_id) { |
| | | const pool = await poolP |
| | | const q = `SELECT om.obj_id, om.usr_id, od.title, ulm.status, om.passed, ulm.status_changed |
| | | FROM ilias_globusfachtest.obj_members om |
| | | INNER JOIN ilias_globusfachtest.usr_data ud ON ud.usr_id = om.usr_id |
| | | INNER JOIN ilias_globusfachtest.object_data od ON od.obj_id = om.obj_id |
| | | LEFT JOIN ilias_globusfachtest.ut_lp_marks ulm |
| | | const q = `SELECT om.obj_id, or2.ref_id , om.usr_id, od.title , ulm.status, om.passed, ulm.status_changed |
| | | FROM ${database}.obj_members om |
| | | INNER JOIN ${database}.object_reference or2 ON or2.obj_id = om.obj_id |
| | | INNER JOIN ${database}.usr_data ud ON ud.usr_id = om.usr_id |
| | | INNER JOIN ${database}.object_data od ON od.obj_id = om.obj_id |
| | | LEFT JOIN ${database}.ut_lp_marks ulm |
| | | ON ulm.usr_id = om.usr_id AND ulm.obj_id = om.obj_id |
| | | WHERE om.usr_id = ${usr_id} |
| | | AND om.member = 1 |
| | | ` |
| | | console.log(q) |
| | | const [results] = await pool.query(q) |
| | | return results |
| | | } |
| | |
| | | |
| | | import {useRoute} from 'vue-router' |
| | | import {onMounted, reactive, ref} from "vue" |
| | | import {getUser, getUserTeilnahmen, iliasBase} from "../lib/api" |
| | | import {getUser, getUserTeilnahmen, iliasBase, routerBase} from "@/lib/api" |
| | | import LinkExtern from "../components/LinkExtern.vue" |
| | | |
| | | const route = useRoute() |
| | |
| | | console.log(data) |
| | | user.value = data |
| | | |
| | | console.log(3333) |
| | | const tn = await getUserTeilnahmen(userId) |
| | | console.log(tn) |
| | | teilnahmen.value = tn |
| | |
| | | |
| | | </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>--> |
| | | <h2>Teilnahmen</h2> |
| | | <table> |
| | | <thead> |
| | | <tr> |
| | | <th>obj_id</th> |
| | | <th>ref_id</th> |
| | | <th>usr_id</th> |
| | | <th>title</th> |
| | | <th>passed</th> |
| | | <th>status</th> |
| | | <th>status_changed</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr v-for="tn in teilnahmen"> |
| | | <td>{{tn.obj_id}}</td> |
| | | <td> |
| | | <RouterLink :to="`${routerBase}/ui/kurs/${tn.ref_id}`"> |
| | | {{tn.ref_id}} |
| | | </RouterLink> |
| | | </td> |
| | | <td>{{tn.usr_id}}</td> |
| | | <td>{{tn.title}}</td> |
| | | <td>{{tn.passed}}</td> |
| | | <td>{{tn.status}}</td> |
| | | <td>{{tn.status_changed}}</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | |
| | | <!-- </tbody>--> |
| | | <!-- </table>--> |
| | | <!-- <pre>{{teilnahmen}}</pre>--> |
| | | |
| | | </div> |
| | | |