From 31331f9d169383d5d9623a950836ecd98fc6678a Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Wed, 28 Sep 2022 13:29:05 +0200 Subject: [PATCH] WIP: Use real criteria data structure --- .../competences/CompetenceDetail.vue | 17 +- .../competences/LeistungskriteriumRow.vue | 10 +- .../CompetencePerfomanceCriteriaView.vue | 13 + client/src/pages/CompetencesDetailView.vue | 244 +++++++++++------- client/src/pages/CompetencesMainView.vue | 64 +++-- 5 files changed, 227 insertions(+), 121 deletions(-) create mode 100644 client/src/pages/CompetencePerfomanceCriteriaView.vue diff --git a/client/src/components/competences/CompetenceDetail.vue b/client/src/components/competences/CompetenceDetail.vue index 04772ad6..1ee4701d 100644 --- a/client/src/components/competences/CompetenceDetail.vue +++ b/client/src/components/competences/CompetenceDetail.vue @@ -4,14 +4,17 @@ import LeistungskriteriumRow from '@/components/competences/LeistungskriteriumRo import {ref} from "vue"; const props = defineProps<{ - competence: object + competence: object, + userProgress: object }>() const isOpen = ref(false); const togglePerformanceCriteria = () => { isOpen.value = !isOpen.value -} +}; + +const userStateForCriteria = (id: string) => props.userProgress[id] ? props.userProgress[id] : 'open' @@ -38,12 +41,12 @@ const togglePerformanceCriteria = () => {
  • + :unit-url="performanceCriteria.learning_unit.slug" + :unit="performanceCriteria.pc_id" + :title="performanceCriteria.title" + :unit-id="performanceCriteria.learning_unit.id">
  • diff --git a/client/src/components/competences/LeistungskriteriumRow.vue b/client/src/components/competences/LeistungskriteriumRow.vue index 6ac82604..3ee3b366 100644 --- a/client/src/components/competences/LeistungskriteriumRow.vue +++ b/client/src/components/competences/LeistungskriteriumRow.vue @@ -3,16 +3,16 @@ interface Props { - description: string + title: string unit: string unitUrl: string unitId: number - state: string // maybe enum - showState: boolean + state?: string // maybe enum + showState?: boolean } const props = withDefaults(defineProps(), { - description: '', + title: '', unit: '', unitUrl: '', unitId: -1, @@ -30,7 +30,7 @@ const props = withDefaults(defineProps(), {
    -

    {{description}}

    +

    {{title}}

    Lerneinheit: {{unit}}

    Sich nochmals einschätzen diff --git a/client/src/pages/CompetencePerfomanceCriteriaView.vue b/client/src/pages/CompetencePerfomanceCriteriaView.vue new file mode 100644 index 00000000..dffdf362 --- /dev/null +++ b/client/src/pages/CompetencePerfomanceCriteriaView.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/client/src/pages/CompetencesDetailView.vue b/client/src/pages/CompetencesDetailView.vue index 86c28feb..59bcbb54 100644 --- a/client/src/pages/CompetencesDetailView.vue +++ b/client/src/pages/CompetencesDetailView.vue @@ -9,113 +9,171 @@ const competences = [ description: 'Analyse des Kundenbedarfs und des Kundenbedürfnisses durchführen', id: 1, criteria: [ - { - description: "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", - state: 'done', - unit: 'Fahrzeug', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'notDone', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'done', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - } + { + "id": 341, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ziele-und-pläne-des-kunden-zu-ergründen-soll", + "type": "competence.PerformanceCriteria", + "translation_key": "e4aeeb81-0730-44f5-9c70-cec84d162569", + "pc_id": "B1.3 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 342, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ist-situation-des-kunden-mit-der-geeigneten-gesprächs-fragetechnik-zu-erfassen", + "type": "competence.PerformanceCriteria", + "translation_key": "25d56b74-4151-49bd-ac1f-5e706a660aae", + "pc_id": "B2.1 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 343, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Risiken aufzuzeigen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-risiken-aufzuzeigen", + "type": "competence.PerformanceCriteria", + "translation_key": "71bfb708-70c7-4e50-a424-104fe10ab7bc", + "pc_id": "B2.2 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + } ] }, { description: 'Analyse des Kundenbedarfs und des Kundenbedürfnisses durchführen', id: 2, criteria: [ - { - description: "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", - state: 'done', - unit: 'Fahrzeug', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'notDone', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'done', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - } + { + "id": 341, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ziele-und-pläne-des-kunden-zu-ergründen-soll", + "type": "competence.PerformanceCriteria", + "translation_key": "e4aeeb81-0730-44f5-9c70-cec84d162569", + "pc_id": "B1.3 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 342, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ist-situation-des-kunden-mit-der-geeigneten-gesprächs-fragetechnik-zu-erfassen", + "type": "competence.PerformanceCriteria", + "translation_key": "25d56b74-4151-49bd-ac1f-5e706a660aae", + "pc_id": "B2.1 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 343, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Risiken aufzuzeigen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-risiken-aufzuzeigen", + "type": "competence.PerformanceCriteria", + "translation_key": "71bfb708-70c7-4e50-a424-104fe10ab7bc", + "pc_id": "B2.2 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + } ] }, { description: 'Analyse des Kundenbedarfs und des Kundenbedürfnisses durchführen', id: 3, criteria: [ - { - description: "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", - state: 'done', - unit: 'Fahrzeug', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'notDone', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'open', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - }, - { - description: "Innerhalb des Handlungsfelds «Reisen» bin ich fähig, dem Kunden die Vorschläge verständlich zu erläutern und die entsprechenden Informationspflichten zu erfüllen.", - state: 'done', - unit: 'Reisen', - url: 'https://www.iterativ.ch' - } + { + "id": 341, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ziele-und-pläne-des-kunden-zu-ergründen-soll", + "type": "competence.PerformanceCriteria", + "translation_key": "e4aeeb81-0730-44f5-9c70-cec84d162569", + "pc_id": "B1.3 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 342, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ist-situation-des-kunden-mit-der-geeigneten-gesprächs-fragetechnik-zu-erfassen", + "type": "competence.PerformanceCriteria", + "translation_key": "25d56b74-4151-49bd-ac1f-5e706a660aae", + "pc_id": "B2.1 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + }, + { + "id": 343, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Risiken aufzuzeigen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-risiken-aufzuzeigen", + "type": "competence.PerformanceCriteria", + "translation_key": "71bfb708-70c7-4e50-a424-104fe10ab7bc", + "pc_id": "B2.2 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + } ] } ]; -const openCompetences = [] +const userProgress = { + 341: 'open', + 342: 'notDone', + 343: 'done' +} @@ -135,7 +193,9 @@ const openCompetences = []
    • - +
    diff --git a/client/src/pages/CompetencesMainView.vue b/client/src/pages/CompetencesMainView.vue index 9d54ffde..ee7eb2aa 100644 --- a/client/src/pages/CompetencesMainView.vue +++ b/client/src/pages/CompetencesMainView.vue @@ -121,23 +121,53 @@ const summary = { const nokCriteria = [ { - unitId: 1, - unit: 'Fahrzeuge', - unitUrl: 'https://www.iterativ.ch', - description: 'Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).' + "id": 341, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ziele-und-pläne-des-kunden-zu-ergründen-soll", + "type": "competence.PerformanceCriteria", + "translation_key": "e4aeeb81-0730-44f5-9c70-cec84d162569", + "pc_id": "B1.3 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" }, { - unitId: 2, - unit: 'Reisen', - unitUrl: 'https://www.iterativ.ch', - description: 'Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.' + "id": 342, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-ist-situation-des-kunden-mit-der-geeigneten-gesprächs-fragetechnik-zu-erfassen", + "type": "competence.PerformanceCriteria", + "translation_key": "25d56b74-4151-49bd-ac1f-5e706a660aae", + "pc_id": "B2.1 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" }, { - unitId: 3, - unit: 'Einkommenssicherung', - unitUrl: 'https://www.iterativ.ch', - description: 'Innerhalb des Handlungsfelds «Einkommenssicherung» bin ich fähig, mir intern und extern die nötigen Informationen über den (Neu-) Kunden zu beschaffen.' - }, + "id": 343, + "title": "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Risiken aufzuzeigen.", + "slug": "kompetenzprofil-crit-innerhalb-des-handlungsfelds-fahrzeug-bin-ich-fähig-die-risiken-aufzuzeigen", + "type": "competence.PerformanceCriteria", + "translation_key": "71bfb708-70c7-4e50-a424-104fe10ab7bc", + "pc_id": "B2.2 Fahrzeug", + "learning_unit": { + "id": 123, + "title": "Auto verkaufen", + "slug": "versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug", + "type": "learnpath.LearningUnit", + "translation_key": "c4797663-90c3-493f-9f21-e95ad0a37eb2" + }, + "circle": "Analyse" + } ] @@ -215,10 +245,10 @@ const nokCriteria = [
  • + :unit-url="criteria.learning_unit.slug" + :unit="criteria.pc_id" + :title="criteria.title" + :unit-id="criteria.learning_unit.id">