Merge branch '369-duplicate-evaluation-document' into move-document-to-other-eval

This commit is contained in:
2025-09-02 16:01:08 +02:00
3 changed files with 20 additions and 20 deletions

View File

@@ -263,6 +263,7 @@
v-model:selectedAcpw="selectedAcpw" v-model:selectedAcpw="selectedAcpw"
:accompanying-period-id="accompanyingPeriodId" :accompanying-period-id="accompanyingPeriodId"
:is-evaluation-selector="true" :is-evaluation-selector="true"
:ignore-accompanying-period-work-ids="[accompanyingPeriodWorkId]"
@close-modal="showAccompanyingPeriodSelector = false" @close-modal="showAccompanyingPeriodSelector = false"
@update:selectedEvaluation="selectedEvaluation = $event" @update:selectedEvaluation="selectedEvaluation = $event"
/> />
@@ -288,7 +289,7 @@ import {
import { ref, watch } from "vue"; import { ref, watch } from "vue";
import AccompanyingPeriodWorkSelectorModal from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue"; import AccompanyingPeriodWorkSelectorModal from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue";
defineProps(["documents", "docAnchorId", "accompanyingPeriodId"]); defineProps(["documents", "docAnchorId", "accompanyingPeriodId", "accompanyingPeriodWorkId"]);
const emit = defineEmits([ const emit = defineEmits([
"inputDocumentTitle", "inputDocumentTitle",
"removeDocument", "removeDocument",

View File

@@ -25,6 +25,7 @@
:documents="evaluation.documents" :documents="evaluation.documents"
:docAnchorId="docAnchorId" :docAnchorId="docAnchorId"
:accompanyingPeriodId="store.state.work.accompanyingPeriod.id" :accompanyingPeriodId="store.state.work.accompanyingPeriod.id"
:accompanying-period-work-id="store.state.work.id"
@inputDocumentTitle="onInputDocumentTitle" @inputDocumentTitle="onInputDocumentTitle"
@removeDocument="removeDocument" @removeDocument="removeDocument"
@duplicateDocument="duplicateDocument" @duplicateDocument="duplicateDocument"

View File

@@ -75,7 +75,7 @@ import {
ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK, ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK,
CONFIRM, CONFIRM,
} from "translator"; } from "translator";
import { makeFetch } from "ChillMainAssets/lib/api/apiMethods"; import {fetchResults, makeFetch} from "ChillMainAssets/lib/api/apiMethods";
import AccompanyingPeriodWorkEvaluationList from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkEvaluationList.vue"; import AccompanyingPeriodWorkEvaluationList from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkEvaluationList.vue";
import { AccompanyingPeriodWorkEvaluation } from "../../../types"; import { AccompanyingPeriodWorkEvaluation } from "../../../types";
@@ -85,10 +85,11 @@ const showModal = ref(false);
const accompanyingPeriodWorks = ref<AccompanyingPeriodWork[]>([]); const accompanyingPeriodWorks = ref<AccompanyingPeriodWork[]>([]);
const evaluations = ref<AccompanyingPeriodWorkEvaluation[]>([]); const evaluations = ref<AccompanyingPeriodWorkEvaluation[]>([]);
const props = defineProps({ const props = defineProps<{
accompanyingPeriodId: String, accompanyingPeriodId: string,
isEvaluationSelector: Boolean, isEvaluationSelector: boolean,
}); ignoreAccompanyingPeriodWorkIds: number[],
}>();
const emit = defineEmits<{ const emit = defineEmits<{
pickWork: [payload: { work: AccompanyingPeriodWork | null }]; pickWork: [payload: { work: AccompanyingPeriodWork | null }];
@@ -105,22 +106,19 @@ onMounted(() => {
showModal.value = true; showModal.value = true;
}); });
const getAccompanyingPeriodWorks = (periodId: number) => { const getAccompanyingPeriodWorks = async (periodId: number) => {
const url = `/api/1.0/person/accompanying-course/${periodId}/works.json`; const url = `/api/1.0/person/accompanying-course/${periodId}/works.json`;
makeFetch<number, { results: AccompanyingPeriodWork[] }>("GET", url) const accompanyingPeriodWorksFetched = await fetchResults<AccompanyingPeriodWork>(url);
.then((response) => { if (props.isEvaluationSelector) {
if (props.isEvaluationSelector) { accompanyingPeriodWorks.value = accompanyingPeriodWorksFetched.filter(
accompanyingPeriodWorks.value = response.results.filter( (acpw: AccompanyingPeriodWork) => acpw.accompanyingPeriodWorkEvaluations.length > 0
(acpw) => acpw.accompanyingPeriodWorkEvaluations.length > 0, && typeof acpw.id !== "undefined"
); && !props.ignoreAccompanyingPeriodWorkIds.includes(acpw.id),
} else { );
accompanyingPeriodWorks.value = response.results; } else {
} accompanyingPeriodWorks.value = accompanyingPeriodWorksFetched
}) }
.catch((error) => {
console.log(error);
});
}; };
watch(selectedAcpw, (newValue) => { watch(selectedAcpw, (newValue) => {