Loading front/PieceJointe/ListePiecesJointes.vue +99 −23 Original line number Diff line number Diff line <template> <!-- Affichage des messages --> <ul class="nav nav-tabs mb-4"> <li v-if="hasPiecesAvantRecrutement" class="nav-item" role="pieceJointe"> <button class="nav-link active" id="avantRecrutement-tab" data-bs-toggle="tab" data-bs-target="#avantRecrutement" type="button" role="tab" aria-controls="avantRecrutement" aria-selected="true"> Pieces jointes demandées avant recrutement <span class="badge rounded-pill bg-primary">{{ pieceAvantRecrutement.length }}</span> </button> </li> <li v-if="hasPiecesAvantRecrutement" class="nav-item" role="pieceJointe"> <a class="nav-link" id="apresRecrutement-tab" data-bs-toggle="tab" data-bs-target="#apresRecrutement" type="button" role="tab" aria-controls="apresRecrutement" aria-selected="false"> Pieces jointes demandées après recrutement ({{ pieceApresRecrutement.length }}) </a> </li> </ul> <!-- Affichage des pièces jointes post recrutement --> <div class="tab-content" id="myTabContent"> <template v-if="hasPiecesAvantRecrutement && datasPiecesJointes?.privileges"> <div class="tab-pane fade show active" id="avantRecrutement" role="tabpanel" aria-labelledby="avantRecrutement-tab"> <div v-for="(message, key) in datasPiecesJointes?.messagesPiecesJointes || []" :key="'msg-' + key" :class="'messenger alert alert-dismissible alert-' + message.type"> :class="'mt-3 messenger alert alert-dismissible alert-' + message.type"> <span class="fas fa-info-circle"></span> {{ message.text }} <button Loading @@ -13,16 +38,46 @@ data-bs-dismiss="alert"> </button> </div> <!-- Affichage des pièces jointes --> <pieceJointe v-if="datasPiecesJointes?.privileges" v-for="(pieceJointe, key) in datasPiecesJointes?.piecesJointes || []" v-for="pieceJointe in pieceAvantRecrutement" :key="pieceJointe.id" :datas="pieceJointe" :privileges="datasPiecesJointes.privileges" :intervenant="intervenant" @refresh="getPiecesJointes" /> </div> </template> <!-- Affichage des pièces jointes post recrutement --> <template v-if="hasPiecesApresRecrutement && datasPiecesJointes?.privileges"> <div class="tab-pane fade show" id="apresRecrutement" role="tabpanel" aria-labelledby="apresRecrutement-tab"> <div v-for="(message, key) in datasPiecesJointes?.messagesPiecesJointes || []" :key="'msg-' + key" :class="'mt-3 messenger alert alert-dismissible alert-' + message.type"> <span class="fas fa-info-circle"></span> {{ message.text }} <button type="button" class="btn-close alert-dismissible" title="Fermer cette alerte" data-bs-dismiss="alert"> </button> </div> <pieceJointe v-for="pieceJointe in pieceApresRecrutement" :key="pieceJointe.id" :datas="pieceJointe" :privileges="datasPiecesJointes.privileges" :intervenant="intervenant" @refresh="getPiecesJointes" /> </div> </template> </div> </template> <script setup> Loading @@ -42,6 +97,23 @@ const urlGetPiecesJointes = computed(() => }) ) const pieceAvantRecrutement = computed(() => datasPiecesJointes.value?.piecesJointes?.filter(p => !p.demandeApresRecrutement) || [] ) const hasPiecesAvantRecrutement = computed(() => pieceAvantRecrutement.value.length > 0 ) const pieceApresRecrutement = computed(() => datasPiecesJointes.value?.piecesJointes?.filter(p => p.demandeApresRecrutement) || [] ) const hasPiecesApresRecrutement = computed(() => pieceApresRecrutement.value.length > 0 ) function getPiecesJointes() { Loading @@ -61,3 +133,7 @@ onMounted(() => { <style scoped> </style> <script setup lang="ts"> </script> <script setup lang="ts"> </script> No newline at end of file module/PieceJointe/src/Service/TblPieceJointeService.php +2 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ class TblPieceJointeService extends AbstractEntityService 'demandee', 'fournie', 'validee', 'demandeApresRecrutement', ['typePieceJointe', ['id', 'libelle', 'urlModeleDoc']], ['pieceJointe', ['id', Loading Loading
front/PieceJointe/ListePiecesJointes.vue +99 −23 Original line number Diff line number Diff line <template> <!-- Affichage des messages --> <ul class="nav nav-tabs mb-4"> <li v-if="hasPiecesAvantRecrutement" class="nav-item" role="pieceJointe"> <button class="nav-link active" id="avantRecrutement-tab" data-bs-toggle="tab" data-bs-target="#avantRecrutement" type="button" role="tab" aria-controls="avantRecrutement" aria-selected="true"> Pieces jointes demandées avant recrutement <span class="badge rounded-pill bg-primary">{{ pieceAvantRecrutement.length }}</span> </button> </li> <li v-if="hasPiecesAvantRecrutement" class="nav-item" role="pieceJointe"> <a class="nav-link" id="apresRecrutement-tab" data-bs-toggle="tab" data-bs-target="#apresRecrutement" type="button" role="tab" aria-controls="apresRecrutement" aria-selected="false"> Pieces jointes demandées après recrutement ({{ pieceApresRecrutement.length }}) </a> </li> </ul> <!-- Affichage des pièces jointes post recrutement --> <div class="tab-content" id="myTabContent"> <template v-if="hasPiecesAvantRecrutement && datasPiecesJointes?.privileges"> <div class="tab-pane fade show active" id="avantRecrutement" role="tabpanel" aria-labelledby="avantRecrutement-tab"> <div v-for="(message, key) in datasPiecesJointes?.messagesPiecesJointes || []" :key="'msg-' + key" :class="'messenger alert alert-dismissible alert-' + message.type"> :class="'mt-3 messenger alert alert-dismissible alert-' + message.type"> <span class="fas fa-info-circle"></span> {{ message.text }} <button Loading @@ -13,16 +38,46 @@ data-bs-dismiss="alert"> </button> </div> <!-- Affichage des pièces jointes --> <pieceJointe v-if="datasPiecesJointes?.privileges" v-for="(pieceJointe, key) in datasPiecesJointes?.piecesJointes || []" v-for="pieceJointe in pieceAvantRecrutement" :key="pieceJointe.id" :datas="pieceJointe" :privileges="datasPiecesJointes.privileges" :intervenant="intervenant" @refresh="getPiecesJointes" /> </div> </template> <!-- Affichage des pièces jointes post recrutement --> <template v-if="hasPiecesApresRecrutement && datasPiecesJointes?.privileges"> <div class="tab-pane fade show" id="apresRecrutement" role="tabpanel" aria-labelledby="apresRecrutement-tab"> <div v-for="(message, key) in datasPiecesJointes?.messagesPiecesJointes || []" :key="'msg-' + key" :class="'mt-3 messenger alert alert-dismissible alert-' + message.type"> <span class="fas fa-info-circle"></span> {{ message.text }} <button type="button" class="btn-close alert-dismissible" title="Fermer cette alerte" data-bs-dismiss="alert"> </button> </div> <pieceJointe v-for="pieceJointe in pieceApresRecrutement" :key="pieceJointe.id" :datas="pieceJointe" :privileges="datasPiecesJointes.privileges" :intervenant="intervenant" @refresh="getPiecesJointes" /> </div> </template> </div> </template> <script setup> Loading @@ -42,6 +97,23 @@ const urlGetPiecesJointes = computed(() => }) ) const pieceAvantRecrutement = computed(() => datasPiecesJointes.value?.piecesJointes?.filter(p => !p.demandeApresRecrutement) || [] ) const hasPiecesAvantRecrutement = computed(() => pieceAvantRecrutement.value.length > 0 ) const pieceApresRecrutement = computed(() => datasPiecesJointes.value?.piecesJointes?.filter(p => p.demandeApresRecrutement) || [] ) const hasPiecesApresRecrutement = computed(() => pieceApresRecrutement.value.length > 0 ) function getPiecesJointes() { Loading @@ -61,3 +133,7 @@ onMounted(() => { <style scoped> </style> <script setup lang="ts"> </script> <script setup lang="ts"> </script> No newline at end of file
module/PieceJointe/src/Service/TblPieceJointeService.php +2 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ class TblPieceJointeService extends AbstractEntityService 'demandee', 'fournie', 'validee', 'demandeApresRecrutement', ['typePieceJointe', ['id', 'libelle', 'urlModeleDoc']], ['pieceJointe', ['id', Loading