AccCourseWorkEdit: remove documents in vuejs form

This commit is contained in:
nobohan 2022-02-25 12:45:18 +01:00
parent 289d79e011
commit aae360d6ab
2 changed files with 30 additions and 13 deletions

View File

@ -67,11 +67,11 @@
<div class="flex-table">
<div class="item-bloc" v-for="(d, i) in evaluation.documents" :key="i">
<div class="item-row">
<div>
<label class="col-4 col-sm-2 col-md-4 col-lg-2 col-form-label">
<div class="item-col" style="margin-right: 6px;">
<label class="col-form-label">
{{ $t('document_title') }}
</label>
<div class="col-8 col-sm-4 col-md-8 col-lg-4">
<div>
<input
class="form-control form-control-sm"
type="string"
@ -79,12 +79,16 @@
:id=d.id
@input="onInputDocumentTitle"/>
</div>
<div v-if="d.template">
<label class="col-form-label">
{{ $t('template_title') }}
</label>
<div>{{ d.template.name.fr }}</div>
</div>
</div>
<div v-if="d.template" class="item-col"><h6>{{ d.template.name.fr }}</h6></div>
<div class="item-col">
<p v-if="d.createdBy">Créé par {{ d.createdBy.text }}<br/>
Le {{ $d(ISOToDatetime(d.createdAt.datetime), 'long') }}</p>
</div>
</div>
<div class="item-row">
@ -94,6 +98,10 @@
<i class="fa fa-edit"></i>
</a>
</li>
<li>
<a class="btn btn-sm btn-delete" @click="removeDocument(d)">
</a>
</li>
</ul>
</div>
</div>
@ -161,6 +169,7 @@ const i18n = {
document_add: "Générer ou téléverser un document",
document_upload: "Téléverser un document",
document_title: "Titre du document",
template_title: "Nom du template",
browse: "Ajouter un document"
}
}
@ -265,12 +274,14 @@ export default {
this.$store.commit('updateDocumentTitle', {id: id, evaluationKey: this.evaluation.key, title: title});
},
addDocument(storedObject) {
console.log(storedObject);
let document = {
type: 'accompanying_period_work_evaluation_document',
storedObject: storedObject
};
this.$store.commit('addDocument', {key: this.evaluation.key, document: document});
},
removeDocument(document) {
this.$store.commit('removeDocument', {key: this.evaluation.key, document: document});
}
},
}

View File

@ -199,13 +199,16 @@ const store = createStore({
found.results = found.results.filter(r => r.id !== result.id);
},
addDocument(state, payload) {
state.evaluationsPicked.forEach(
e => {
if (e.key === payload.key) {
e.documents.push(payload.document);
}
}
)
state.evaluationsPicked.find(e => e.key === payload.key).documents.push(payload.document);
},
removeDocument(state, payload) {
let evaluations = state.evaluationsPicked.find(e => e.key === payload.key);
if (evaluations === undefined) {
return;
}
evaluations.documents = evaluations.documents.filter(d => d.id !== payload.document.id);
},
addEvaluation(state, evaluation) {
let e = {
@ -391,6 +394,9 @@ const store = createStore({
addDocument({commit}, payload) {
commit('addDocument', payload);
},
removeDocument({commit}, payload) {
commit('removeDocument', payload);
},
submit({ getters, state, commit }, callback) {
let
payload = getters.buildPayload,