BuLi-Tipp Tabelle, Punkterechnung, Rangliste weiter programmiert
This commit is contained in:
10
package-lock.json
generated
10
package-lock.json
generated
@@ -17,6 +17,7 @@
|
|||||||
"sloc": "^0.3.2",
|
"sloc": "^0.3.2",
|
||||||
"striptags": "^3.2.0",
|
"striptags": "^3.2.0",
|
||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
|
"vue-async-computed": "^4.0.1",
|
||||||
"vue-router": "^4.5.0"
|
"vue-router": "^4.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -2278,6 +2279,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vue-async-computed": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue-async-computed/-/vue-async-computed-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-INDaMHK7MSkfSLdIDSxmeFCeW+JO+Hj7wO+tVNE4u+W7ixSEPfGi4hlwBnv2pk/NmyDCTqSnmcfgxYZpofE5eQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "~3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue-router": {
|
"node_modules/vue-router": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"sloc": "^0.3.2",
|
"sloc": "^0.3.2",
|
||||||
"striptags": "^3.2.0",
|
"striptags": "^3.2.0",
|
||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
|
"vue-async-computed": "^4.0.1",
|
||||||
"vue-router": "^4.5.0"
|
"vue-router": "^4.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<td>Punkte</td>
|
<td>Punkte</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-for="(user, i) in users">
|
<tr v-for="(user, i) in users">
|
||||||
<td>{{ i }}</td>
|
<td>{{ i+1 }}</td>
|
||||||
<td>
|
<td>
|
||||||
<!-- <iframe class="iframeRanglisteDetailansicht"
|
<!-- <iframe class="iframeRanglisteDetailansicht"
|
||||||
data-src="">Detailansicht User 1</iframe> -->
|
data-src="">Detailansicht User 1</iframe> -->
|
||||||
|
|||||||
@@ -1,26 +1,20 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
users: {
|
users: {
|
||||||
type: Array,
|
type: Array<any>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
spieltage: {
|
||||||
|
type: null,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
spieltage() {
|
|
||||||
let result=[
|
|
||||||
[5,10,15,20,25,30],
|
|
||||||
[5,10,15,20,25,30],
|
|
||||||
[5,10,15,20,25,30]
|
|
||||||
];
|
|
||||||
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
tagessumme(spieltag:number, user:number){
|
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -29,14 +23,14 @@ export default {
|
|||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<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>
|
||||||
</div>
|
</div>-->
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Tag</td>
|
<td>Tag</td>
|
||||||
<td v-for="user in users">{{ user.name }}</td>
|
<td v-for="spieltag in spieltage[0]">{{ spieltag.user.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-for="spieltag, i in spieltage">
|
<tr v-for="spieltag, i in spieltage">
|
||||||
<td>{{ i+1 }}</td>
|
<td>{{ i+1 }}</td>
|
||||||
@@ -44,7 +38,7 @@ export default {
|
|||||||
<!-- Modal -->
|
<!-- Modal -->
|
||||||
|
|
||||||
<!-- Open BTN -->
|
<!-- Open BTN -->
|
||||||
<td class="as-link" v-for="userpoints in spieltag">{{ userpoints }}</td>
|
<td class="as-link" v-for="userpoints in spieltag">{{ userpoints.points }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
import App from "./App.vue";
|
import App from "./App.vue";
|
||||||
import router from "./router";
|
import router from "./router";
|
||||||
|
import AsyncComputed from "vue-async-computed";
|
||||||
|
|
||||||
createApp(App)
|
createApp(App)
|
||||||
.use(router)
|
.use(router)
|
||||||
|
.use(AsyncComputed)
|
||||||
.mount("#app");
|
.mount("#app");
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import Uebersicht from "../components/bulitipp/Uebersicht.vue";
|
|||||||
import Rangliste from "../components/bulitipp/Rangliste.vue";
|
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 $ from "jquery";
|
||||||
|
import RitzenbergenLib from "../ritzenbergenlib.ts";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -15,51 +17,36 @@ export default {
|
|||||||
Uebersicht,
|
Uebersicht,
|
||||||
Rangliste,
|
Rangliste,
|
||||||
Paarungsergebnisse,
|
Paarungsergebnisse,
|
||||||
Tabelle
|
Tabelle,
|
||||||
|
},
|
||||||
|
asyncComputed: {
|
||||||
|
async users() {
|
||||||
|
return fetch(RitzenbergenLib.api("/bulitipp/get-users.php"))
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((result) => {
|
||||||
|
result.forEach((user, i) => {
|
||||||
|
let sum = 0;
|
||||||
|
this.spieltage.forEach((spieltag) => {
|
||||||
|
let points = spieltag.find((element) => {
|
||||||
|
return element.user.id === user.id;
|
||||||
|
});
|
||||||
|
sum += points.points;
|
||||||
|
});
|
||||||
|
user.points = sum;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => console.error("Error:", error));
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
tippenoffen() {
|
tippenoffen() {
|
||||||
return this.$route.path === "/bulitipp/tippen";
|
return this.$route.path === "/bulitipp/tippen";
|
||||||
},
|
},
|
||||||
users() {
|
|
||||||
return [
|
sortedUsers() {
|
||||||
{
|
if(this.users instanceof Array) return [...this.users].sort((a, b) => b.points - a.points);
|
||||||
id: 1,
|
|
||||||
name: "User 1",
|
|
||||||
points: 10,
|
|
||||||
kuerzel: "U1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "User 2",
|
|
||||||
points: 20,
|
|
||||||
kuerzel: "U2",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
name: "User 3",
|
|
||||||
points: 10,
|
|
||||||
kuerzel: "U3",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
name: "User 4",
|
|
||||||
points: 20,
|
|
||||||
kuerzel: "U4",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 5,
|
|
||||||
name: "User 5",
|
|
||||||
points: 10,
|
|
||||||
kuerzel: "U5",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 6,
|
|
||||||
name: "User 6",
|
|
||||||
points: 20,
|
|
||||||
kuerzel: "U6",
|
|
||||||
},
|
|
||||||
].sort((a, b) => b.points - a.points);
|
|
||||||
},
|
},
|
||||||
teams() {
|
teams() {
|
||||||
return {
|
return {
|
||||||
@@ -186,11 +173,29 @@ export default {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
spieltage() {
|
||||||
|
let result: number[][] = [];
|
||||||
|
$.ajax(RitzenbergenLib.api("/bulitipp/ts.php"), {
|
||||||
|
async: false,
|
||||||
|
success(data) {
|
||||||
|
console.log("success");
|
||||||
|
result = JSON.parse(data);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
tippenschliessen() {
|
tippenschliessen() {
|
||||||
this.$router.push("/bulitipp");
|
this.$router.push("/bulitipp");
|
||||||
},
|
},
|
||||||
|
gs(i: number) {
|
||||||
|
let result = 0;
|
||||||
|
this.spieltage[i].forEach((element) => {
|
||||||
|
result += element;
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -226,26 +231,25 @@ export default {
|
|||||||
<h1>Test</h1>
|
<h1>Test</h1>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Uebersicht :users="users" />
|
<Uebersicht :users="users" />
|
||||||
|
|
||||||
<!-- Rangliste -->
|
<!-- Rangliste -->
|
||||||
|
|
||||||
<Rangliste :users="users"/>
|
<Rangliste :users="sortedUsers" />
|
||||||
|
|
||||||
<!-- Paarungsergebnisse -->
|
<!-- Paarungsergebnisse -->
|
||||||
|
|
||||||
<Paarungsergebnisse :paarungen="paarungen" :teams="teams" />
|
<Paarungsergebnisse :paarungen="paarungen" :teams="teams" />
|
||||||
|
|
||||||
<!-- Punktetabelle -->
|
<!-- Punktetabelle -->
|
||||||
<Tabelle :users="users"/>
|
<Tabelle :users="users" :spieltage="spieltage" />
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<Footer />
|
<Footer />
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import "../assets/css/bulitipp2.css";
|
@import "../assets/css/bulitipp2.css";
|
||||||
|
|||||||
Reference in New Issue
Block a user