OOP zu BuLi-Tipp hinzugefügt

This commit is contained in:
R40fendt
2025-05-06 10:28:26 +02:00
parent 85db79ba5d
commit 3323ee1f8f
8 changed files with 83 additions and 32 deletions

View File

@@ -1,17 +1,24 @@
<script lang="ts"> <script lang="js">
export default { import * as RitzenbergenLib from '../../ritzenbergenlib';
export default {
props: { props: {
users: { users: {
type: Array, type: Array,
required: true required: true
} }
},
computed: {
testUsers(){
console.log(this.users);
}
} }
} }
</script> </script>
<template> <template>
<section class="rangliste" id="rangliste-sektion"> <section class="rangliste" id="rangliste-sektion">
<br /><br /> <br /><br />
{{ testUsers }}
<h2>Rangliste</h2> <h2>Rangliste</h2>
<table> <table>
<tbody> <tbody>
@@ -26,7 +33,7 @@
<!-- <iframe class="iframeRanglisteDetailansicht" <!-- <iframe class="iframeRanglisteDetailansicht"
data-src="">Detailansicht User 1</iframe> --> data-src="">Detailansicht User 1</iframe> -->
<span class="as-link">{{ user.name }}</span> <span class="as-link">{{ user.username }}</span>
</td> </td>
<td>{{ user.points }}</td> <td>{{ user.points }}</td>
</tr> </tr>

View File

@@ -6,13 +6,15 @@ export default {
type: Array, type: Array,
required: true, required: true,
}, },
spieltage: { ts: {
type: null, type: null,
required: true, required: true,
}, },
}, },
computed: { computed: {
myts(){
console.log(this.ts, this.users);
}
}, },
methods: { methods: {
} }
@@ -21,7 +23,7 @@ export default {
<template> <template>
<section class="buli-table" id="buli-table"> <section class="buli-table" id="buli-table">
<br /><br /> <br /><br />
{{ myts }}
<h2>Punktetabelle</h2> <h2>Punktetabelle</h2>
<!--<div id="load-table-btn-container"> <!--<div id="load-table-btn-container">
<button id="load-table-btn">Punkte ausrechnen</button> <button id="load-table-btn">Punkte ausrechnen</button>
@@ -30,15 +32,15 @@ export default {
<tbody> <tbody>
<tr> <tr>
<td>Tag</td> <td>Tag</td>
<td v-for="spieltag in spieltage[0]">{{ spieltag.user.name }}</td> <td v-for="spieltag in ts[0]">{{ spieltag.user.username }}</td>
</tr> </tr>
<tr v-for="spieltag, i in spieltage"> <tr v-for="spieltag, i in ts">
<td>{{ parseInt(i)+1 }}</td> <td>{{ i+1 }}</td>
<!-- Modal --> <!-- Modal -->
<!-- Open BTN --> <!-- Open BTN -->
<td class="as-link" v-for="userpoints in spieltag">{{ userpoints.points }}</td> <td class="as-link" v-for="userpoints in spieltag">{{ userpoints.tsPoints }}</td>
</tr> </tr>
<tr> <tr>

View File

@@ -3,7 +3,7 @@ import RitzenbergenLib from "../../ritzenbergenlib.ts";
export default { export default {
data() { data() {
return { return {
RitzenbergenLib RitzenbergenLib: RitzenbergenLib.RitzenbergenLib
}; };
} }
}; };

View File

@@ -11,14 +11,14 @@ export default {
return { return {
openedModals, openedModals,
modaltypes: ["text", "html"], modaltypes: ["text", "html"],
RitzenbergenLib, RitzenbergenLib: RitzenbergenLib.RitzenbergenLib,
}; };
}, },
computed: { computed: {
events() { events() {
let result: any[]=[]; let result: any[]=[];
$.ajax(RitzenbergenLib.api("get_events.php"),{ $.ajax(RitzenbergenLib.RitzenbergenLib.api("get_events.php"),{
crossDomain: true, crossDomain: true,
async: false, async: false,
success: function (data:string) { success: function (data:string) {

View File

@@ -7,13 +7,13 @@ export default {
return { return {
openedModals: [], openedModals: [],
formValues: [], formValues: [],
RitzenbergenLib, RitzenbergenLib: RitzenbergenLib.RitzenbergenLib,
}; };
}, },
computed: { computed: {
forms() { forms() {
let result: any[] = []; let result: any[] = [];
$.ajax(RitzenbergenLib.api("/get_forms.php"), { $.ajax(RitzenbergenLib.RitzenbergenLib.api("/get_forms.php"), {
async: false, async: false,
crossDomain: true, crossDomain: true,
success: function (data: string) { success: function (data: string) {
@@ -54,7 +54,7 @@ export default {
}, },
formresults(formid){ formresults(formid){
let result: any[] = []; let result: any[] = [];
$.ajax(RitzenbergenLib.api("/get_ergebnisse.php"), { $.ajax(RitzenbergenLib.RitzenbergenLib.api("/get_ergebnisse.php"), {
async: false, async: false,
crossDomain: true, crossDomain: true,
success: function (data: string) { success: function (data: string) {

View File

@@ -1,4 +1,26 @@
export default class RitzenbergenLib { class User {
public username: string;
public kuerzel: string;
public points: number;
public id: number;
constructor (username: string, kuerzel: string, points: number, id: number) {
this.username = username;
this.kuerzel = kuerzel;
this.points=points;
this.id=id;
}
}
class SpieltagSumme {
public user: User;
public tsPoints: number;
constructor (user: User, tsPoints: number) {
this.user = user;
this.tsPoints = tsPoints;
}
}
class RitzenbergenLib {
static get_img(mypath: string) { static get_img(mypath: string) {
if(mypath.startsWith("/")) return "http://bilder.ritzenbergen.de"+mypath; if(mypath.startsWith("/")) return "http://bilder.ritzenbergen.de"+mypath;
else return "http://bilder.ritzenbergen.de/"+mypath; else return "http://bilder.ritzenbergen.de/"+mypath;
@@ -8,3 +30,9 @@ export default class RitzenbergenLib {
else return "http://192.168.188.38/Jonas/ritzenbergenapi/"+path; else return "http://192.168.188.38/Jonas/ritzenbergenapi/"+path;
} }
} }
export default {
RitzenbergenLib,
User,
SpieltagSumme
}

View File

@@ -7,6 +7,7 @@ import Rangliste from "../components/bulitipp/Rangliste.vue";
import Paarungsergebnisse from "../components/bulitipp/Paarungsergebnisse.vue"; import Paarungsergebnisse from "../components/bulitipp/Paarungsergebnisse.vue";
import Tabelle from "../components/bulitipp/Tabelle.vue"; import Tabelle from "../components/bulitipp/Tabelle.vue";
import RitzenbergenLib from "../ritzenbergenlib.ts"; import RitzenbergenLib from "../ritzenbergenlib.ts";
import SpieltagSumme from "../ritzenbergenlib.ts";
import Loading from "../components/bulitipp/Loading.vue"; import Loading from "../components/bulitipp/Loading.vue";
export default { export default {
@@ -23,46 +24,59 @@ export default {
asyncComputed: { asyncComputed: {
users: { users: {
get(){ get(){
return fetch(RitzenbergenLib.api("/bulitipp/get-users.php")) return fetch(RitzenbergenLib.RitzenbergenLib.api("/bulitipp/get-users.php"))
.then((response) => response.json()) .then((response) => response.json())
.then((result2) => { .then((result2) => {
if(result2.reload) this.update(); if(result2.reload) this.update();
return result2.data; return result2.data;
}) })
.then((result) => { .then((result) => {
console.log(result);
result.forEach((user, i) => { result.forEach((user, i) => {
let sum = 0; let sum = 0;
this.spieltage.forEach((spieltag) => { this.ts.forEach((spieltag) => {
console.log(spieltag);
let points = spieltag.find((element) => { let points = spieltag.find((element) => {
return element.user.id === user.id; return element.user.id === user.id;
}); });
sum += points.points; sum += points.tsPoints;
}); });
user.points = sum; user.points = sum;
}); });
return result; return result;
}).catch((error) => { })
.then((result) => {
return result.map(el => new RitzenbergenLib.User(el.name,el.kuerzel, el.points, el.id));
})
.catch((error) => {
return null; return null;
}); });
}, },
default: [], default: [],
watch: ["spieltage"] watch: ["ts"]
}, },
spieltage: { ts: {
get() { get() {
return fetch(RitzenbergenLib.api("/bulitipp/ts.php")) return fetch(RitzenbergenLib.RitzenbergenLib.api("/bulitipp/ts.php"))
.then((response) => response.json()) .then((response) => response.json())
.then((result2) => { .then((result2) => {
if(result2.reload) this.update(); if(result2.reload) this.update();
return result2.data; return result2.data;
}); })
.then((result)=>{
result.map(element => element.map((element) => {
element.user=new RitzenbergenLib.User(element.user.name, element.user.kuerzel,0, element.user.id);
return element;
}));
return result;
})
.then((result)=>result.map((el) => el.map((el)=> new RitzenbergenLib.SpieltagSumme(el.user,el.points))));
}, },
default: [] default: []
}, },
saison:{ saison:{
get(){ get(){
return fetch(RitzenbergenLib.api("/bulitipp/saison.php")) return fetch(RitzenbergenLib.RitzenbergenLib.api("/bulitipp/saison.php"))
.then((response) => response.text()) .then((response) => response.text())
.then((result)=> parseInt(result)); .then((result)=> parseInt(result));
}, },
@@ -200,7 +214,7 @@ export default {
]; ];
}, },
loading(){ loading(){
return this.$asyncComputed.users.updating || this.$asyncComputed.spieltage.updating; return this.$asyncComputed.users.updating || this.$asyncComputed.ts.updating;
}, },
}, },
@@ -267,7 +281,7 @@ export default {
<Paarungsergebnisse :paarungen="paarungen" :teams="teams" /> <Paarungsergebnisse :paarungen="paarungen" :teams="teams" />
<!-- Punktetabelle --> <!-- Punktetabelle -->
<Tabelle :users="users" :spieltage="spieltage" /> <Tabelle :users="users" :ts="ts" />
<br /> <br />
<br /> <br />

View File

@@ -27,7 +27,7 @@ export default {
data() { data() {
return { return {
RitzenbergenLib, RitzenbergenLib: RitzenbergenLib.RitzenbergenLib,
}; };
}, },
mounted(){ mounted(){