codevdesign 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-menu
|
|
3
|
+
v-if="!isXs"
|
|
4
|
+
location="top start"
|
|
5
|
+
>
|
|
6
|
+
<template #activator="{ props: activatorProps }">
|
|
7
|
+
<v-icon
|
|
8
|
+
v-bind="activatorProps"
|
|
9
|
+
:size="small ? 'small' : 'default'"
|
|
10
|
+
start
|
|
11
|
+
color="grisMoyen"
|
|
12
|
+
:style="monstyle"
|
|
13
|
+
>
|
|
14
|
+
mdi-help-circle
|
|
15
|
+
</v-icon>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<v-card style="max-width: 1000px">
|
|
19
|
+
<v-card-text class="pa-6">
|
|
20
|
+
<span v-html="props.aide"></span>
|
|
21
|
+
</v-card-text>
|
|
22
|
+
</v-card>
|
|
23
|
+
</v-menu>
|
|
24
|
+
</template>
|
|
25
|
+
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { computed } from 'vue'
|
|
28
|
+
import { useDisplay } from 'vuetify'
|
|
29
|
+
|
|
30
|
+
const props = defineProps<{
|
|
31
|
+
aide: string
|
|
32
|
+
monstyle?: string
|
|
33
|
+
small?: boolean
|
|
34
|
+
}>()
|
|
35
|
+
|
|
36
|
+
const { name } = useDisplay()
|
|
37
|
+
|
|
38
|
+
// on évite d'afficher sur les écrans extra-smalls
|
|
39
|
+
const isXs = computed(() => name.value === 'xs')
|
|
40
|
+
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div>
|
|
3
3
|
<v-row dense>
|
|
4
4
|
<v-col
|
|
5
5
|
cols="9"
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
<v-switch
|
|
16
16
|
v-model="maValeur"
|
|
17
17
|
:disabled="desactiver"
|
|
18
|
+
:density="densite"
|
|
19
|
+
:inset="inset"
|
|
18
20
|
@change="sauvegarder"
|
|
19
21
|
hide-details
|
|
20
22
|
/>
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
</div>
|
|
32
34
|
</template>
|
|
33
35
|
<script setup lang="ts">
|
|
34
|
-
import { ref, watch, defineProps, defineEmits, onMounted } from 'vue'
|
|
36
|
+
import { ref, watch, defineProps, defineEmits, onMounted, type PropType } from 'vue'
|
|
35
37
|
|
|
36
38
|
// Définition des props
|
|
37
39
|
const props = defineProps({
|
|
@@ -43,6 +45,10 @@
|
|
|
43
45
|
type: Boolean,
|
|
44
46
|
default: false,
|
|
45
47
|
},
|
|
48
|
+
inset: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: true,
|
|
51
|
+
},
|
|
46
52
|
modelValue: {
|
|
47
53
|
type: Boolean,
|
|
48
54
|
required: true,
|
|
@@ -55,6 +61,7 @@
|
|
|
55
61
|
type: String,
|
|
56
62
|
required: true,
|
|
57
63
|
},
|
|
64
|
+
densite: { type: String as PropType<'default' | 'comfortable' | 'compact'>, default: 'compact' },
|
|
58
65
|
})
|
|
59
66
|
|
|
60
67
|
// Définition de l'événement
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
v-if="rechercheAvancee"
|
|
49
49
|
:readonly="chargement || desactiver"
|
|
50
50
|
expand-icon=""
|
|
51
|
+
@update:modelValue="onPanelChange"
|
|
51
52
|
>
|
|
52
53
|
<v-expansion-panel
|
|
53
54
|
flat
|
|
@@ -108,6 +109,7 @@
|
|
|
108
109
|
|
|
109
110
|
const emit = defineEmits<{
|
|
110
111
|
(e: 'update:recherche', recherche: string): void
|
|
112
|
+
(e: 'panneau:etat', isOpen: boolean): void // événement pour l'ouverture/fermeture du panneau
|
|
111
113
|
}>()
|
|
112
114
|
|
|
113
115
|
// Création d'une variable locale pour gérer la recherche
|
|
@@ -125,6 +127,16 @@
|
|
|
125
127
|
watch(rechercheLocale, nouvelleValeur => {
|
|
126
128
|
emit('update:recherche', nouvelleValeur!)
|
|
127
129
|
})
|
|
130
|
+
|
|
131
|
+
// Fonction pour émettre l'événement d'ouverture/fermeture du panneau
|
|
132
|
+
const onPanelChange = (val: unknown) => {
|
|
133
|
+
if (typeof val === 'string' || typeof val === 'number' || val === null) {
|
|
134
|
+
const isOpen = val !== null && val !== ''
|
|
135
|
+
emit('panneau:etat', isOpen)
|
|
136
|
+
} else {
|
|
137
|
+
emit('panneau:etat', false)
|
|
138
|
+
}
|
|
139
|
+
}
|
|
128
140
|
</script>
|
|
129
141
|
|
|
130
142
|
<style lang="css">
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
<!-- ligne pour la recherche avancee -->
|
|
62
62
|
<v-row
|
|
63
|
-
v-if="rechercheAvancee"
|
|
63
|
+
v-if="rechercheAvancee && rechercheAfficher"
|
|
64
64
|
dense
|
|
65
65
|
class="pt-0 mt-0 pl-1"
|
|
66
66
|
>
|
|
@@ -104,6 +104,10 @@
|
|
|
104
104
|
:items="liste"
|
|
105
105
|
:search="recherche"
|
|
106
106
|
:loading="chargementListe"
|
|
107
|
+
:hover="hover"
|
|
108
|
+
:density="densite"
|
|
109
|
+
:items-per-page="itemsParPage"
|
|
110
|
+
:item-per-page-options="itemsParPageOptions"
|
|
107
111
|
@click:row="cliqueLigne"
|
|
108
112
|
>
|
|
109
113
|
<!-- utilisation des slots via le component parent-->
|
|
@@ -186,6 +190,7 @@
|
|
|
186
190
|
type: Array as PropType<Colonne[]>,
|
|
187
191
|
default: () => [],
|
|
188
192
|
},
|
|
193
|
+
densite: { type: String as PropType<'default' | 'comfortable' | 'compact'>, default: 'default' },
|
|
189
194
|
excel: { type: Boolean, default: false },
|
|
190
195
|
excelNomFichier: { type: String, default: 'csqc' },
|
|
191
196
|
//filtresDepart: { type: Object, default: null },
|
|
@@ -193,15 +198,16 @@
|
|
|
193
198
|
// formulaireId: { type: Number, default: -1 },
|
|
194
199
|
//identifiant: { type: String, default: '' },
|
|
195
200
|
itemKey: { type: String, default: 'id' },
|
|
196
|
-
|
|
201
|
+
itemsParPage: { type: Number, default: 10 },
|
|
197
202
|
liste: {
|
|
198
203
|
type: Array as PropType<Record<string, any>[]>,
|
|
199
204
|
default: () => [],
|
|
200
205
|
},
|
|
206
|
+
hover: { type: Boolean, default: false },
|
|
201
207
|
// modulerDense: { type: Boolean, default: false },
|
|
202
208
|
// multifiltre: { type: Boolean, default: false },
|
|
203
209
|
// multiTri: { type: Boolean, default: false },
|
|
204
|
-
|
|
210
|
+
itemsParPageOptions: { type: Array, default: () => [10, 25, 30, -1] },
|
|
205
211
|
//pageCourante: { type: Number, default: 1 },
|
|
206
212
|
//paginationBottom: { type: Boolean, default: true },
|
|
207
213
|
// paginationTop: { type: Boolean, default: false },
|
package/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import csqcMenu from './composants/gabarit/csqcMenu.vue'
|
|
|
10
10
|
import csqcConfirmation from './composants/csqcConfirmation.vue'
|
|
11
11
|
import csqcTable from './composants/csqcTable/csqcTable.vue'
|
|
12
12
|
import csqcChaise from './composants/csqcChaise/chaiseConteneur.vue'
|
|
13
|
+
import csqcAide from './composants/csqcAide.vue'
|
|
13
14
|
|
|
14
15
|
import Utilisateur from './modeles/utilisateur'
|
|
15
16
|
import Unite from './modeles/unite'
|
|
@@ -43,6 +44,7 @@ export {
|
|
|
43
44
|
csqcChaise,
|
|
44
45
|
pivFooter,
|
|
45
46
|
pivEntete,
|
|
47
|
+
csqcAide,
|
|
46
48
|
Utilisateur,
|
|
47
49
|
Unite,
|
|
48
50
|
Intervention,
|
package/locales/fr.json
CHANGED
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
"supprimer": "Supprimer",
|
|
26
26
|
"televerser": "Téléverser"
|
|
27
27
|
},
|
|
28
|
+
"csqcRechercheUtilisateur": {
|
|
29
|
+
"ajouterUtilisateurInfo": "Vous pouvez entrer ici l'identifiant Office 365 ou le matricule de l'employé. Puis cliquez sur la loupe. Si cette information se trouve dans le système de paie, l'utilisateur sera ajouté. Notez que l'utilisateur doit avoir une adresse électronique du portail valide dans le système de paie.",
|
|
30
|
+
"aucunEmploi": "Aucun emploi trouvé",
|
|
31
|
+
"corpsEmploi": "Corps d'emploi",
|
|
32
|
+
"identifiantOuMatricule": "Identifiant Office 365 ou matricule",
|
|
33
|
+
"placeholderRechercheUtilisateur": "Rechercher un utilisateur",
|
|
34
|
+
"revenirRecherche": "Revenir à la recherche",
|
|
35
|
+
"utilisateurIntrouvable": "L'employé recherché est introuvable",
|
|
36
|
+
"utilisateurs": "Employé"
|
|
37
|
+
},
|
|
28
38
|
"label": {
|
|
29
39
|
"actif": "Actif",
|
|
30
40
|
"fermer": "Fermer",
|
|
@@ -34,10 +44,10 @@
|
|
|
34
44
|
"rechercher": "Rechercher"
|
|
35
45
|
},
|
|
36
46
|
"message": {
|
|
37
|
-
"supprimerMessage": "Voulez-vous vraiment supprimer {nom}?",
|
|
38
|
-
"supprimerTitre": "Confirmation de suppression!",
|
|
39
47
|
"chaiseSelection": "Aucune sélection pour cette unité",
|
|
40
|
-
"chaiseSelectionToutes": "Veuillez faire une sélection pour toutes les unités."
|
|
48
|
+
"chaiseSelectionToutes": "Veuillez faire une sélection pour toutes les unités.",
|
|
49
|
+
"supprimerMessage": "Voulez-vous vraiment supprimer {nom}?",
|
|
50
|
+
"supprimerTitre": "Confirmation de suppression!"
|
|
41
51
|
},
|
|
42
52
|
"pivEntete": {
|
|
43
53
|
"langue": "English"
|