update
This commit is contained in:
@@ -80,6 +80,7 @@ const pruefLoading = ref(false)
|
||||
const aktuelleFrage = ref('') // ankert Bewertung/Diskussion
|
||||
const letztesFeedback = ref('') // Kontext für die Diskussion über eine Bewertung
|
||||
const scoreVorFrage = ref(0) // Score, als die aktuelle Frage gestellt wurde → driftfreies (Re-)Bewerten
|
||||
const nachfrageRunde = ref(0) // mündliche Prüfung: bisherige Folgefragen dieser Frage
|
||||
const pruefMessagesEl = ref(null)
|
||||
const pruefInputEl = ref(null)
|
||||
const pruefStick = ref(true) // nur auto-scrollen, wenn der Nutzer (fast) unten ist
|
||||
@@ -133,6 +134,7 @@ function frageAnfordern() {
|
||||
aktuelleFrage.value = res.frage
|
||||
letztesFeedback.value = ''
|
||||
scoreVorFrage.value = res.gute_antworten // Basis für (Re-)Bewertung dieser Frage
|
||||
nachfrageRunde.value = 0 // neue Frage → Folgefragen-Zähler zurücksetzen
|
||||
pruefMessages.value.push({ role: 'assistant', kind: 'frage', content: res.frage })
|
||||
pruefPhase.value = 'frage_offen'
|
||||
})
|
||||
@@ -151,21 +153,36 @@ function nachfragen() {
|
||||
|
||||
function bewerten(res) {
|
||||
letztesFeedback.value = res.feedback || ''
|
||||
// Mündliche Prüfung: Folgefrage statt Wertung (bewertung null, frage gesetzt).
|
||||
if (res.bewertung == null && res.frage) {
|
||||
nachfrageRunde.value += 1
|
||||
const inhalt = (res.feedback ? res.feedback + '\n\n' : '') + res.frage
|
||||
pruefMessages.value.push({ role: 'assistant', kind: 'folgefrage', content: inhalt })
|
||||
pruefPhase.value = 'frage_offen' // weiter antworten — kein Punkt
|
||||
return
|
||||
}
|
||||
pruefMessages.value.push({ role: 'assistant', kind: 'feedback', content: res.feedback || '', bewertung: res.bewertung })
|
||||
pruefPhase.value = 'bewertet'
|
||||
}
|
||||
|
||||
function antwortPayload() {
|
||||
return {
|
||||
aktion: 'antwort', frage: aktuelleFrage.value, score_vor_frage: scoreVorFrage.value,
|
||||
nachfrage_runde: nachfrageRunde.value, tier2: props.tier2, tier3: props.tier3,
|
||||
}
|
||||
}
|
||||
|
||||
function antwortAbgeben() {
|
||||
const text = pruefInput.value.trim()
|
||||
if (!text || pruefLoading.value) return
|
||||
pruefMessages.value.push({ role: 'user', kind: 'antwort', content: text })
|
||||
pruefInput.value = ''
|
||||
pruefSenden({ aktion: 'antwort', frage: aktuelleFrage.value, score_vor_frage: scoreVorFrage.value, tier2: props.tier2, tier3: props.tier3 }, bewerten)
|
||||
pruefSenden(antwortPayload(), bewerten)
|
||||
}
|
||||
|
||||
function neuBewerten() {
|
||||
if (pruefLoading.value) return
|
||||
pruefSenden({ aktion: 'antwort', frage: aktuelleFrage.value, score_vor_frage: scoreVorFrage.value, tier2: props.tier2, tier3: props.tier3 }, bewerten)
|
||||
pruefSenden(antwortPayload(), bewerten)
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user