Rewrite solution code generation
This commit is contained in:
@@ -13,7 +13,7 @@ const accountStore = useAccountStore()
|
|||||||
icon="mdi-home"
|
icon="mdi-home"
|
||||||
:title="$t('account.userData.address', 2)"
|
:title="$t('account.userData.address', 2)"
|
||||||
>
|
>
|
||||||
<v-expansion-panels v-if="accountStore.userAccount.addresses.length > 0">
|
<v-expansion-panels v-if="accountStore.userAccount.addresses != undefined && accountStore.userAccount.addresses.length > 0">
|
||||||
<v-expansion-panel
|
<v-expansion-panel
|
||||||
v-for="address in accountStore.userAccount.addresses"
|
v-for="address in accountStore.userAccount.addresses"
|
||||||
color="primary"
|
color="primary"
|
||||||
|
|||||||
@@ -20,22 +20,19 @@ function getDotColor(exerciseGroupNr: number) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function checksum(num: number) {
|
function generateExerciseKey() {
|
||||||
let cs = 0
|
|
||||||
|
|
||||||
for (; num > 0; num = Math.trunc(num / 10)) {
|
|
||||||
cs += num % 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
return cs
|
|
||||||
}
|
|
||||||
|
|
||||||
function generateExerciseKey(exerciseGroup: number, exerciseNr: number) {
|
|
||||||
try {
|
try {
|
||||||
let matrikelNr = Number(preferencesStore.registrationNumber)
|
let code = ""
|
||||||
let a = matrikelNr + exerciseGroup * 100 + exerciseNr * 12345678 +
|
|
||||||
checksum(Number(preferencesStore.registrationNumber)) * 123
|
for (let i = 0; i < 13; i++) {
|
||||||
return a.toString(16).toUpperCase()
|
if (exerciseStore.exercises[i].solved) {
|
||||||
|
code += "3"
|
||||||
|
} else {
|
||||||
|
code += "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Number(code) + Number(preferencesStore.registrationNumber)) * 237
|
||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -45,20 +42,7 @@ function generateExerciseKey(exerciseGroup: number, exerciseNr: number) {
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
|
|
||||||
<v-col
|
|
||||||
v-if="preferencesStore.studentName.length < 3 || preferencesStore.registrationNumber.length < 7"
|
|
||||||
cols="auto"
|
|
||||||
>
|
|
||||||
<card-view variant="outlined" >
|
|
||||||
{{ $t('misc.fulfillYourPersonalDataFirst') }}
|
|
||||||
</card-view>
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<v-col cols="auto">
|
<v-col cols="auto">
|
||||||
<v-tooltip :text="$t('misc.fulfillYourPersonalDataFirst')">
|
|
||||||
<template #activator="{ props }"></template>
|
|
||||||
|
|
||||||
</v-tooltip>
|
|
||||||
<outlined-button
|
<outlined-button
|
||||||
prepend-icon="mdi-file-pdf-box"
|
prepend-icon="mdi-file-pdf-box"
|
||||||
@click="generateResultsPdf()"
|
@click="generateResultsPdf()"
|
||||||
@@ -69,6 +53,17 @@ function generateExerciseKey(exerciseGroup: number, exerciseNr: number) {
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
|
<v-row>
|
||||||
|
<v-col class="text-h5 text-center">
|
||||||
|
<div>
|
||||||
|
Persönlicher Lösungsschlüssel:
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{ generateExerciseKey() }}
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col>
|
<v-col>
|
||||||
<card-view
|
<card-view
|
||||||
@@ -116,9 +111,6 @@ function generateExerciseKey(exerciseGroup: number, exerciseNr: number) {
|
|||||||
:color="exercise.solved ? 'green' : 'primary'"
|
:color="exercise.solved ? 'green' : 'primary'"
|
||||||
>
|
>
|
||||||
{{ preferencesStore.language == LanguageEnum.GERMAN ? exercise.descriptionDe : exercise.descriptionEn }}
|
{{ preferencesStore.language == LanguageEnum.GERMAN ? exercise.descriptionDe : exercise.descriptionEn }}
|
||||||
<div class="pt-2 text-h6">
|
|
||||||
Solution Code: 0x{{ generateExerciseKey(exercise.exerciseGroup.groupNr, exercise.exerciseNr) }}
|
|
||||||
</div>
|
|
||||||
</card-view>
|
</card-view>
|
||||||
</v-timeline-item>
|
</v-timeline-item>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user