Commit b50c0795 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Composant Tab Vue,

WIP Suivi
parent 0a268e98
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -134,17 +134,6 @@ export default {
            return annees;
        },

        nombreJours()
        {
            const dateObj = new Date(this.date);

            dateObj.setDate(1);
            dateObj.setMonth(dateObj.getMonth() + 1);
            dateObj.setDate(dateObj.getDate() - 1);

            return dateObj.getDate();
        },

        addEvent(event)
        {
            const dateObj = new Date(this.date);
+41 −0
Original line number Diff line number Diff line
<template>
    <ul class="nav nav-tabs" role="tablist">
        <li v-for="(label,id) in tabs" class="nav-item" role="presentation">
            <a class="nav-link" :class="id === currentTab ? 'active' : ''" data-bs-togggle="tab" :data-bs-target="'#'+id" type="button" role="tab" :aria-controls="id" aria-selected="true" @click="selectTab">{{ label }}</a>
        </li>
    </ul>
    <div class="tab-content">
        <div v-for="(label,id) in tabs" :key="id" class="tab-pane fade show" :class="id === currentTab ? 'active' : ''" :id="id" role="tabpanel"
             :aria-labelledby="id+'-tab'">
            <slot :name="id"></slot>
        </div>
    </div>
</template>

<script>

export default {
    name: "UTabs",
    props: {
        tab: {type: String, required: true},
        tabs: {type: Array, required: true}
    },
    data(){
        return {
            currentTab: this.tab
        };
    },
    mounted(){

    },
    methods: {
        selectTab(event){
            this.currentTab = event.target.attributes.getNamedItem('aria-controls').value;
        },
    }
}
</script>

<style scoped>

</style>
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@
                                <div class="input-group mb-3">
                                    <div class="form-control" v-html="heuresLib"></div>
                                    <button class="input-group-btn btn btn-secondary" data-bs-toggle="modal" :data-bs-target="`#details-${mission.id}`">
                                        <u-icon name=""/>
                                        Détails
                                    </button>
                                </div>
+46 −11
Original line number Diff line number Diff line
<template>
    <u-calendar :date="date" @changeDate="changeDate" @addEvent="addVolumeHoraire" :events="realise"/>
    <button @click="test()">Test</button>
    <u-modal id="suivi-form" title="Suivi">
        <template #body>
            <u-tabs tab="mission" :tabs="{mission:'Mission',formation:'Formation',conges:'Congés'}">
                <template #mission>
                    <div class="mb-2">
                        <label for="mission" class="form-label">Mission</label>
                        <select name="mission" id="mission" class="form-select" v-model="vhr.missionId">
                            <option v-for="(label,id) in missions" :key="id" :value="id">{{ label }}</option>
                        </select>
                    </div>

                    <div class="mb-2">
                        <div class="form-check">
                            <input type="checkbox" class="form-check-input" id="nocturne" v-model="vhr.nocturne">
                            <label class="form-label" for="nocturne">Horaire nocturne</label>
                        </div>
                    </div>
                </template>
                <template #formation>
                    Formation 2
                </template>
                <template #conges>
                    Congés 2
                </template>
            </u-tabs>
        </template>
        <template #footer>

        </template>
    </u-modal>
</template>

<script>
@@ -11,10 +40,16 @@ export default {
    name: 'Suivi',
    props: {
        intervenant: {type: Number, required: true},
        missions: {type: Array, required: true}
    },
    data(){
    data()
    {
        return {
            date: new Date(),
            vhr: {
                missionId: null,
                nocturne: false,
            },
            realise: [
                {
                    component: SuiviEvent,
+4 −1
Original line number Diff line number Diff line
<template>
    {{ event.texte }}
    <button class="btn btn-light"><u-icon name="pen-to-square" /></button>

    <button class="btn btn-light" data-bs-toggle="modal" data-bs-target="#suivi-form">
        <u-icon name="pen-to-square" />
    </button>
    <button class="btn btn-light"><u-icon name="trash-can" /></button>
</template>

Loading