Commit bf22c675 authored by Florian Joriot's avatar Florian Joriot
Browse files

Merge branch 'master' into Modularisation_Contrat_FJ

# Conflicts:
#	config/application.config.php
#	module/Application/src/Service/ValidationService.php
#	module/Contrat/src/Controller/ContratController.php
#	module/ExportRh/src/Controller/ExportRhController.php
parents 1c24ce71 6fafb14d
Loading
Loading
Loading
Loading
+1 −0
Changes for config/application.config.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ class AppConfig
            'Indicateur',
            'ExportRh',
            'Contrat',
            'Dossier',
        ];

        if (!self::inConsole()) {
+12 −0
Changes for data/ddl/table/STATUT.php: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -537,6 +537,18 @@ return [
            'position'    => 14,
            'commentaire' => NULL,
        ],
        'DOSSIER_STATUT'                 => [
            'name'        => 'DOSSIER_STATUT',
            'type'        => 'bool',
            'bdd-type'    => 'NUMBER',
            'length'      => 0,
            'scale'       => '0',
            'precision'   => 1,
            'nullable'    => FALSE,
            'default'     => '1',
            'position'    => 86,
            'commentaire' => NULL,
        ],
        'DOSSIER_TEL_PERSO'              => [
            'name'        => 'DOSSIER_TEL_PERSO',
            'type'        => 'bool',
+1 −0
Changes for data/ddl_columns_pos.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -1309,6 +1309,7 @@ return [
        'MISSION',
        'MISSION_REALISE_EDITION',
        'TAUX_REMU_ID',
        'DOSSIER_STATUT',
    ],
    'STRUCTURE'                      => [
        'ID',
+170 −0
Changes for front/Intervenant/Recherche.vue: 170 added lines, 0 removed lines.
Original line number Diff line number Diff line
<template>
    <h3>Saisissez le nom suivi éventuellement du prénom (2 lettres minimum)</h3>

    <div class="intervenant-recherche">
        <div class="critere">
            <div>
                <input id="term" v-on:keyup="rechercher" class="form-control input" type="text"
                       placeholder="votre recherche..."/><br/>
            </div>
            <div>
                <span class="fw-bold">Types d'intervenant : </span>
                <input v-on:change="reload()" type="checkbox" name="type[]" value="permanent" checked="checked" v-model="checkedTypes"> Permanent
                <input v-on:change="reload()" type="checkbox" name="type[]" value="vacataire" checked="checked" v-model="checkedTypes"> Vacataire
                <input v-on:change="reload()" type="checkbox" name="type[]" value="etudiant" checked="checked" v-model="checkedTypes"> Etudiant

            </div>
            <br/>
        </div>
    </div>


    <table v-if="intervenants.length > 0" class="table table-bordered table-hover">
        <thead>
        <tr>
            <th style="width:90px"></th>
            <th>Civilité</th>
            <th>Nom</th>
            <th>Prenom</th>
            <th>Structure</th>
            <th>Statut</th>
            <th>Date de naissance</th>
            <th>N° Personnel</th>
        </tr>
        </thead>
        <tbody>
        <tr :class="{'bg-danger': intervenant.destruction!==null}" :title="(intervenant.destruction!==null) ? 'Fiche historisé' : ''"
            v-for="(intervenant,code) in intervenants">
            <td style="">
                <a :href="urlFiche(intervenant['code'])"><i class="fas fa-eye"></i> Fiche</a>
            </td>
            <td>{{ intervenant['civilite'] }}</td>
            <td>{{ intervenant['nom'] }}</td>
            <td>{{ intervenant['prenom'] }}</td>
            <td>{{ intervenant['structure'] }}</td>
            <td>{{ intervenant['statut'] }}</td>
            <td>{{ intervenant['date-naissance'] }}</td>
            <td>{{ intervenant['numero-personnel'] }}</td>
        </tr>

        </tbody>
    </table>

    <table v-if="intervenants.length == 0 && noResult == 1" class="table table-bordered table-hover">
        <thead>
        <tr>
            <th style="width:90px"></th>
            <th>Civilité</th>
            <th>Nom</th>
            <th>Prenom</th>
            <th>Structure</th>
            <th>Statut</th>
            <th>Date de naissance</th>
            <th>N° Personnel</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td style="text-align:center" colspan="8">Aucun intervenant trouvé</td>
        </tr>

        </tbody>
    </table>
</template>


<script>


export default {
    name: 'Recherche',

    data()
    {
        return {
            searchTerm: '',
            noResult: 0,
            intervenants: [],
            checkedTypes: ['vacataire', 'permanent', 'etudiant'],
        };
    },

    methods: {
        rechercher: function (event)
        {
            this.searchTerm = event.currentTarget.value;
            if (this.searchTerm == '') {
                this.noResult = 0;
            }
            if (this.searchTerm != '') {
                this.reload();
            }
        },

        urlFiche(code)
        {
            return '/intervenant/code:'+code+'/voir';
        },

        reload()
        {

            if (this.timer) {
                clearTimeout(this.timer);
                this.timer = null;
            }
            this.timer = setTimeout(() => {

                axios.post(
                    Util.url("intervenant/recherche-json"), {
                        term: this.searchTerm
                    }
                )
                    .then(response => {
                        let datas = response.data;
                        let datasFiltered = [];

                        for (const intervenant in datas) {
                            if (datas[intervenant].typeIntervenantCode == 'E' && this.checkedTypes.includes('vacataire')) {
                                datasFiltered.push(datas[intervenant]);
                                continue;
                            }
                            if (datas[intervenant].typeIntervenantCode == 'P' && this.checkedTypes.includes('permanent')) {
                                datasFiltered.push(datas[intervenant]);
                                continue;
                            }
                            if (datas[intervenant].typeIntervenantCode == 'S' && this.checkedTypes.includes('etudiant')) {
                                datasFiltered.push(datas[intervenant]);
                                continue;
                            }

                        }
                        this.intervenants = datasFiltered;

                        if (this.intervenants.length == 0) {
                            this.noResult = 1;
                        } else {
                            this.noResult = 0;
                        }



                    })
                    .catch(response => {
                        console.log(response.message);
                    });
            }, 800);

        }



    }


}
</script>

<style scoped>

</style>
 No newline at end of file
+6 −8
Changes for front/Paiement/Taux.vue: 6 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -155,10 +155,9 @@ export default {
        },
        saisieValeur(event)
        {
            let target = event.target.parentElement;
            target.href = Util.url("taux/saisir-valeur/:tauxRemu/:tauxRemuValeur",
                {tauxRemu: this.taux.id, tauxRemuValeur: target.dataset.id});
            modAjax(target, (response) => {
            event.currentTarget.href = Util.url("taux/saisir-valeur/:tauxRemu/:tauxRemuValeur",
                {tauxRemu: this.taux.id, tauxRemuValeur: event.currentTarget.dataset.id});
            modAjax(event.currentTarget, (response) => {
                this.$emit('refreshListe');
            });
        },
@@ -174,10 +173,9 @@ export default {
        },
        supprimerValeur(event)
        {
            let target = event.target.parentElement;
            target.href = Util.url("taux/supprimer-valeur/:tauxRemuValeur",
                {tauxRemuValeur: target.dataset.id});
            popConfirm(target, (response) => {
            event.currentTarget.href = Util.url("taux/supprimer-valeur/:tauxRemuValeur",
                {tauxRemuValeur: event.currentTarget.dataset.id});
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refreshListe');
            });
        },
Loading