v-sistec-features 1.31.13 → 1.32.0
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.
- package/dist/DataAgenda/VDataAgenda.vue.d.ts +915 -0
- package/dist/DataAgenda/components/AgendaMatrix.vue.d.ts +64 -0
- package/dist/DataAgenda/components/AgendaMatrixBase.vue.d.ts +31 -0
- package/dist/DataAgenda/components/AgendaMatrixUnico.vue.d.ts +72 -0
- package/dist/DataAgenda/components/AgendaTabelaHorario.vue.d.ts +32 -0
- package/dist/DataAgenda/components/AgendaVueCal.vue.d.ts +94 -0
- package/dist/DataAgenda/components/BlocoArrastavel.vue.d.ts +37 -0
- package/dist/DataAgenda/components/HeaderCalendario.vue.d.ts +7 -0
- package/dist/DataAgenda/components/HeaderTabela.vue.d.ts +7 -0
- package/dist/DataAgenda/components/ModalDetalhesReserva.vue.d.ts +38 -0
- package/dist/DataAgenda/components/ModalReserva.vue.d.ts +157 -0
- package/dist/DataAgenda/composables/useAgenda.d.ts +24 -0
- package/dist/DataAgenda/composables/useCoresAgenda.d.ts +7 -0
- package/dist/DataAgenda/composables/useGradeCompartilhada.d.ts +23 -0
- package/dist/DataAgenda/composables/useSelecaoArrasto.d.ts +24 -0
- package/dist/DataAgenda/index.d.ts +2 -0
- package/dist/DataPageVue/components/VDataPage.vue.d.ts +50 -0
- package/dist/DataPageVue/index.d.ts +2 -0
- package/dist/DataPageVue/types/v-data-page.d.ts +53 -0
- package/dist/DatatableVue/components/SearchDatatable.vue.d.ts +28 -0
- package/dist/DatatableVue/components/VColumn.vue.d.ts +82 -0
- package/dist/DatatableVue/components/VColumnManager.vue.d.ts +21 -0
- package/dist/DatatableVue/components/VDataTable.vue.d.ts +57 -0
- package/dist/DatatableVue/components/VDataTableLoading.vue.d.ts +17 -0
- package/dist/DatatableVue/components/VOrderingIcon.vue.d.ts +10 -0
- package/dist/DatatableVue/components/VThDataTable.vue.d.ts +14 -0
- package/dist/DatatableVue/composables/useCheckBox.d.ts +11 -0
- package/dist/DatatableVue/composables/useDataTableConfig.d.ts +4 -0
- package/dist/DatatableVue/composables/useDataTableFetch.d.ts +17 -0
- package/dist/DatatableVue/composables/useExpandedItem.d.ts +6 -0
- package/dist/DatatableVue/composables/useImagePreview.d.ts +9 -0
- package/dist/DatatableVue/config/datatableConfig.d.ts +4 -0
- package/dist/DatatableVue/config/datatableDefaults.d.ts +7 -0
- package/dist/DatatableVue/index.d.ts +3 -0
- package/dist/DatatableVue/keys.d.ts +39 -0
- package/dist/DatatableVue/style/svgs.d.ts +20 -0
- package/dist/DatatableVue/types/v-data-table.d.ts +161 -0
- package/dist/Modals/components/BotaoFechar.vue.d.ts +36 -0
- package/dist/Modals/components/ModalAviso.vue.d.ts +184 -0
- package/dist/Modals/components/ModalBaseDefault.vue.d.ts +244 -0
- package/dist/Modals/components/ModalConfirmacao.vue.d.ts +184 -0
- package/dist/Modals/components/ModalConfirmacaoCheckbox.vue.d.ts +195 -0
- package/dist/Modals/components/ModalConfirmacaoInput.vue.d.ts +238 -0
- package/dist/Modals/components/ModalConfirmacaoSimples.vue.d.ts +187 -0
- package/dist/Modals/components/ModalInformacao.vue.d.ts +184 -0
- package/dist/Modals/components/ModalPerigo.vue.d.ts +175 -0
- package/dist/Modals/components/ModalSucesso.vue.d.ts +175 -0
- package/dist/Modals/components/interno/ModalDialogoInterno.vue.d.ts +205 -0
- package/dist/Modals/index.d.ts +12 -0
- package/dist/Modals.js +1361 -0
- package/dist/Pagination/Pagination.vue.d.ts +19 -0
- package/dist/Pagination/index.d.ts +2 -0
- package/dist/{Pagination-f4FVE5TX.js → Pagination-D96eBRod.js} +25 -25
- package/dist/Pagination.js +1 -1
- package/dist/{ar-Bg_10XBG.js → ar-CtSPmWrk.js} +0 -5
- package/dist/{bg-DyIRbFaU.js → bg-DwW4tkzm.js} +0 -5
- package/dist/{bn-DrKXkRvN.js → bn-Df__ccyH.js} +0 -5
- package/dist/{bs-BF8upphm.js → bs-j17x02qr.js} +0 -5
- package/dist/{ca-CGMnsdII.js → ca-B94lUx7c.js} +0 -5
- package/dist/core/index.d.ts +1 -0
- package/dist/core/plugin.d.ts +11 -0
- package/dist/core.js +1 -1
- package/dist/{cs-B-jeNB5o.js → cs-DeDzN7tG.js} +0 -5
- package/dist/{da-BoHemyXx.js → da-DMpC5y8O.js} +0 -5
- package/dist/datatableConfig-E5_08Ch4.js +4 -0
- package/dist/{de-DNAaiTrc.js → de-CCNUZSup.js} +0 -5
- package/dist/{el-Cpg3pI7i.js → el-C2kkX76k.js} +0 -5
- package/dist/{en-gb-KsKdvLmV.js → en-gb-sbYhvlrM.js} +0 -5
- package/dist/{es-COziTcsp.js → es-mNgFJGue.js} +0 -5
- package/dist/{et-BdTtu9t_.js → et-D0ro6m_Z.js} +0 -5
- package/dist/{fa-B1Ebp36t.js → fa-DYekHC6-.js} +0 -5
- package/dist/{fi-b4XodxNE.js → fi-CNexLCO_.js} +0 -5
- package/dist/{fr-BIx4sO6s.js → fr-CUXtdWLj.js} +0 -5
- package/dist/{he-rf_Y5d64.js → he-D4BblsAD.js} +0 -5
- package/dist/{hr-DOuJJGF3.js → hr-1MNJjxDo.js} +0 -5
- package/dist/{hu-DMc8kv_1.js → hu-BiG8mSvH.js} +0 -5
- package/dist/{id-DclBfDY0.js → id-CABEuSQB.js} +0 -5
- package/dist/iframeCommunicator/index.d.ts +2 -0
- package/dist/iframeCommunicator/useIframeCommunicator.d.ts +8 -0
- package/dist/iframeCommunicator/useThemeFromParent.d.ts +9 -0
- package/dist/index.d.ts +3 -140
- package/dist/index.js +1 -1
- package/dist/{is-hPcr999q.js → is-DBUkoxb1.js} +0 -5
- package/dist/{it-Dfz57Ogc.js → it-Am_Oo5d5.js} +0 -5
- package/dist/{ja-Da6Dbgu8.js → ja-C4aaunra.js} +0 -5
- package/dist/{ka-DK-BKZD4.js → ka-CkzS4fNj.js} +0 -5
- package/dist/{kaa-BVd8dKz3.js → kaa-GTw11GU-.js} +0 -5
- package/dist/{kk-eE3-SI4R.js → kk-BRFq2Ctd.js} +0 -5
- package/dist/{ko-CUMtwCHy.js → ko-BbgS6BMk.js} +0 -5
- package/dist/{ky-CCU0MYbD.js → ky-ClK6HL0m.js} +0 -5
- package/dist/{lt-CpbQmiiW.js → lt-BE0ahgri.js} +0 -5
- package/dist/{mn-YYwo93uK.js → mn-C-Ktk8ht.js} +0 -5
- package/dist/{nl-WqtgByJL.js → nl-BiG9OH1y.js} +0 -5
- package/dist/{no-BOG8-aOm.js → no-DVdX7xTS.js} +0 -5
- package/dist/{pl-BH4AyCMF.js → pl-y_N8wVAF.js} +0 -5
- package/dist/plugin-BZB7f-c3.js +3444 -0
- package/dist/{pt-br-siyrXjdv.js → pt-br-Cx8Akpcu.js} +0 -5
- package/dist/{pt-pt-siyrXjdv.js → pt-pt-Cx8Akpcu.js} +0 -5
- package/dist/{ro-C9fU41Qi.js → ro-FfAZHwo1.js} +0 -5
- package/dist/{ru-_d_rl3a5.js → ru-BCE9k5uo.js} +0 -5
- package/dist/{sk-ZT421l3d.js → sk-D-7bEf3b.js} +0 -5
- package/dist/{sl-Ct8Gi5v1.js → sl-DoVrM4Ht.js} +0 -5
- package/dist/{sq-Cw7PWK-V.js → sq-Du8jVeq7.js} +0 -5
- package/dist/{sr-DO-S1wn3.js → sr-DP3yke6-.js} +0 -5
- package/dist/{sv-NXMCPui2.js → sv-C2iGWFqL.js} +0 -5
- package/dist/toast/components/ToastComponent.vue.d.ts +6 -0
- package/dist/toast/index.d.ts +1 -0
- package/dist/toast/useToastStore.d.ts +11 -0
- package/dist/toast.js +2 -2
- package/dist/{tr-BpieMIth.js → tr-CvlANdCR.js} +0 -5
- package/dist/{uk-CqVU4EoZ.js → uk-CxFb8w2s.js} +0 -5
- package/dist/utils/svgFactory.d.ts +8 -0
- package/dist/{uz-CmcB22-w.js → uz-DmJPqTjK.js} +0 -5
- package/dist/{uz-cryl-C_GBVdXl.js → uz-cryl-Dt065WNc.js} +0 -5
- package/dist/v-sistec-features.css +1 -11
- package/dist/vDataAgenda.js +1877 -1885
- package/dist/vDataPage.js +31 -41
- package/dist/vDataTable.js +43 -43
- package/dist/{vi-C9wTd3fG.js → vi-B8R5Ozvj.js} +0 -5
- package/dist/{zh-cn-DY7nkJwf.js → zh-cn-DnUuIcqx.js} +0 -5
- package/dist/{zh-hk-KkazoDdS.js → zh-hk-mDkIkhi9.js} +0 -5
- package/package.json +5 -1
- package/src/DataAgenda/VDataAgenda.vue +233 -77
- package/src/DataAgenda/components/AgendaMatrix.vue +1 -0
- package/src/DataAgenda/components/AgendaMatrixBase.vue +357 -140
- package/src/DataAgenda/components/AgendaMatrixUnico.vue +1 -0
- package/src/DataAgenda/components/AgendaTabelaHorario.vue +489 -316
- package/src/DataAgenda/components/AgendaVueCal.vue +1 -0
- package/src/DataAgenda/index.ts +2 -1
- package/src/Modals/components/BotaoFechar.vue +74 -0
- package/src/Modals/components/ModalAviso.vue +129 -0
- package/src/Modals/components/ModalBaseDefault.vue +374 -0
- package/src/Modals/components/ModalConfirmacao.vue +129 -0
- package/src/Modals/components/ModalConfirmacaoCheckbox.vue +155 -0
- package/src/Modals/components/ModalConfirmacaoInput.vue +200 -0
- package/src/Modals/components/ModalConfirmacaoSimples.vue +306 -0
- package/src/Modals/components/ModalInformacao.vue +129 -0
- package/src/Modals/components/ModalPerigo.vue +123 -0
- package/src/Modals/components/ModalSucesso.vue +123 -0
- package/src/Modals/components/interno/ModalDialogoInterno.vue +365 -0
- package/src/Modals/index.ts +32 -0
- package/src/core/plugin.ts +34 -41
- package/src/types/global.d.ts +7 -1
- package/dist/Pagination.d.ts +0 -27
- package/dist/core.d.ts +0 -117
- package/dist/datatableConfig-BMFlKtgh.js +0 -4
- package/dist/iframeCommunicator.d.ts +0 -22
- package/dist/plugin-BwqrOSD_.js +0 -2097
- package/dist/toast.d.ts +0 -19
- package/dist/vDataAgenda.d.ts +0 -929
- package/dist/vDataPage.d.ts +0 -117
- package/dist/vDataTable.d.ts +0 -294
|
@@ -7,6 +7,7 @@ e mescla células de reservas contínuas com colspan.
|
|
|
7
7
|
========
|
|
8
8
|
-->
|
|
9
9
|
<script setup lang="ts">
|
|
10
|
+
defineSlots<{ [key: string]: any }>();
|
|
10
11
|
import { computed, inject } from 'vue';
|
|
11
12
|
import { useCoresAgenda } from '../composables/useCoresAgenda';
|
|
12
13
|
import { useSelecaoArrasto } from '../composables/useSelecaoArrasto';
|
|
@@ -318,118 +319,116 @@ const formatarData = (isoData: string) => {
|
|
|
318
319
|
v-for="dia in diasProcessados"
|
|
319
320
|
:key="dia.data_slot"
|
|
320
321
|
>
|
|
321
|
-
<
|
|
322
|
-
<
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
borderColor: sub.corBorda
|
|
361
|
-
}"
|
|
362
|
-
class="th-subbloco"
|
|
363
|
-
:class="{
|
|
364
|
-
'borda-col-bloco-principal': sub.fimDeBlocoPrincipal,
|
|
365
|
-
'borda-col-subbloco': !sub.fimDeBlocoPrincipal
|
|
366
|
-
}"
|
|
367
|
-
>
|
|
368
|
-
{{ sub.etiqueta }}
|
|
369
|
-
</th>
|
|
370
|
-
</tr>
|
|
371
|
-
|
|
372
|
-
<tr class="linha-horarios-individuais">
|
|
373
|
-
<th v-if="!dia.temBlocos" class="coluna-fixa cabecalho-canto">Nome</th>
|
|
374
|
-
<th
|
|
375
|
-
v-for="(col, idxH) in dia.colunasHorarios"
|
|
376
|
-
:key="idxH"
|
|
377
|
-
:style="{
|
|
378
|
-
backgroundColor: dia.metadadosColunas[idxH]?.corFundo || 'var(--bg-primary)',
|
|
379
|
-
borderColor: dia.metadadosColunas[idxH]?.corBorda || 'var(--border-light)'
|
|
380
|
-
}"
|
|
381
|
-
class="th-horario-individual"
|
|
382
|
-
:class="{
|
|
383
|
-
'borda-col-subbloco': dia.metadadosColunas[idxH]?.fimDeSubbloco,
|
|
384
|
-
'borda-col-bloco-principal': dia.metadadosColunas[idxH]?.fimDeBlocoPrincipal
|
|
385
|
-
}"
|
|
386
|
-
>
|
|
387
|
-
<div class="empilhado-horarios">
|
|
388
|
-
<span class="hora-topo">{{ col.horaInicio }}</span>
|
|
389
|
-
<span class="hora-base">{{ col.horaFim }}</span>
|
|
390
|
-
</div>
|
|
391
|
-
</th>
|
|
392
|
-
</tr>
|
|
393
|
-
</thead>
|
|
394
|
-
|
|
395
|
-
<tbody>
|
|
396
|
-
<tr v-for="recurso in dia.recursos_slot" :key="recurso.id_recurso">
|
|
397
|
-
<td class="coluna-fixa nome-recurso">{{ recurso.nome_recurso }}</td>
|
|
398
|
-
<template v-for="slot in recurso.horarios_slot" :key="slot.data_inicio_slot">
|
|
399
|
-
<BlocoArrastavel
|
|
400
|
-
v-if="!slot.ocultaPorColspan"
|
|
401
|
-
tag="td"
|
|
402
|
-
:grupo="`${dia.data_slot}__${recurso.id_recurso}`"
|
|
403
|
-
:indice="slot.indiceColuna"
|
|
404
|
-
:item="{ slot, idRecurso: recurso.id_recurso, dataSlot: dia.data_slot }"
|
|
405
|
-
:disponivel="Boolean(slot.reservavel_slot && !slot.reservado_slot)"
|
|
406
|
-
:controlador="controladorArrastoHorizontal"
|
|
407
|
-
:colspan="slot.colspan || 1"
|
|
408
|
-
class="td-celula-slot"
|
|
322
|
+
<div class="barra-data-full">
|
|
323
|
+
<span class="texto-data">{{ formatarData(dia.data_slot) }}</span>
|
|
324
|
+
</div>
|
|
325
|
+
|
|
326
|
+
<div class="scroll-horizontal-tabela">
|
|
327
|
+
<table class="tabela-premium">
|
|
328
|
+
<thead>
|
|
329
|
+
<tr v-if="dia.temBlocos" class="linha-blocos-principais">
|
|
330
|
+
<th
|
|
331
|
+
class="coluna-fixa cabecalho-canto"
|
|
332
|
+
:rowspan="dia.temSubblocos ? 3 : 2"
|
|
333
|
+
>
|
|
334
|
+
Nome
|
|
335
|
+
</th>
|
|
336
|
+
<th
|
|
337
|
+
v-for="(bloco, idxB) in dia.blocosPrincipais"
|
|
338
|
+
:key="idxB"
|
|
339
|
+
:colspan="bloco.colspan"
|
|
340
|
+
:style="{
|
|
341
|
+
backgroundColor: bloco.cor,
|
|
342
|
+
borderColor: bloco.corBorda
|
|
343
|
+
}"
|
|
344
|
+
class="th-bloco-principal borda-col-bloco-principal"
|
|
345
|
+
>
|
|
346
|
+
<div class="titulo-bloco-principal">{{ bloco.nome }}</div>
|
|
347
|
+
<div class="subtitulo-bloco-principal">{{ bloco.horaInicio }} - {{ bloco.horaFim }}</div>
|
|
348
|
+
</th>
|
|
349
|
+
</tr>
|
|
350
|
+
|
|
351
|
+
<tr v-if="dia.temBlocos && dia.temSubblocos" class="linha-subblocos">
|
|
352
|
+
<th
|
|
353
|
+
v-for="(sub, idxS) in dia.subblocos"
|
|
354
|
+
:key="idxS"
|
|
355
|
+
:colspan="sub.colspan"
|
|
356
|
+
:style="{
|
|
357
|
+
backgroundColor: sub.cor,
|
|
358
|
+
borderColor: sub.corBorda
|
|
359
|
+
}"
|
|
360
|
+
class="th-subbloco"
|
|
409
361
|
:class="{
|
|
410
|
-
'
|
|
411
|
-
'
|
|
412
|
-
'slot-selecionado-arrasto': controladorArrastoHorizontal.verificarSelecionado(`${dia.data_slot}__${recurso.id_recurso}`, slot.indiceColuna),
|
|
413
|
-
'borda-col-subbloco': dia.metadadosColunas[slot.indiceColuna + (slot.colspan || 1) - 1]?.fimDeSubbloco,
|
|
414
|
-
'borda-col-bloco-principal': dia.metadadosColunas[slot.indiceColuna + (slot.colspan || 1) - 1]?.fimDeBlocoPrincipal
|
|
362
|
+
'borda-col-bloco-principal': sub.fimDeBlocoPrincipal,
|
|
363
|
+
'borda-col-subbloco': !sub.fimDeBlocoPrincipal
|
|
415
364
|
}"
|
|
365
|
+
>
|
|
366
|
+
{{ sub.etiqueta }}
|
|
367
|
+
</th>
|
|
368
|
+
</tr>
|
|
369
|
+
|
|
370
|
+
<tr class="linha-horarios-individuais">
|
|
371
|
+
<th v-if="!dia.temBlocos" class="coluna-fixa cabecalho-canto">Nome</th>
|
|
372
|
+
<th
|
|
373
|
+
v-for="(col, idxH) in dia.colunasHorarios"
|
|
374
|
+
:key="idxH"
|
|
416
375
|
:style="{
|
|
417
|
-
backgroundColor:
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
376
|
+
backgroundColor: dia.metadadosColunas[idxH]?.corFundo || 'var(--bg-primary)',
|
|
377
|
+
borderColor: dia.metadadosColunas[idxH]?.corBorda || 'var(--border-light)'
|
|
378
|
+
}"
|
|
379
|
+
class="th-horario-individual"
|
|
380
|
+
:class="{
|
|
381
|
+
'borda-col-subbloco': dia.metadadosColunas[idxH]?.fimDeSubbloco,
|
|
382
|
+
'borda-col-bloco-principal': dia.metadadosColunas[idxH]?.fimDeBlocoPrincipal
|
|
421
383
|
}"
|
|
422
384
|
>
|
|
423
|
-
<div class="
|
|
424
|
-
<span class="
|
|
425
|
-
|
|
426
|
-
</span>
|
|
385
|
+
<div class="empilhado-horarios">
|
|
386
|
+
<span class="hora-topo">{{ col.horaInicio }}</span>
|
|
387
|
+
<span class="hora-base">{{ col.horaFim }}</span>
|
|
427
388
|
</div>
|
|
428
|
-
</
|
|
429
|
-
</
|
|
430
|
-
</
|
|
431
|
-
|
|
432
|
-
|
|
389
|
+
</th>
|
|
390
|
+
</tr>
|
|
391
|
+
</thead>
|
|
392
|
+
|
|
393
|
+
<tbody>
|
|
394
|
+
<tr v-for="recurso in dia.recursos_slot" :key="recurso.id_recurso">
|
|
395
|
+
<td class="coluna-fixa nome-recurso">{{ recurso.nome_recurso }}</td>
|
|
396
|
+
<template v-for="slot in recurso.horarios_slot" :key="slot.data_inicio_slot">
|
|
397
|
+
<BlocoArrastavel
|
|
398
|
+
v-if="!slot.ocultaPorColspan"
|
|
399
|
+
tag="td"
|
|
400
|
+
:grupo="`${dia.data_slot}__${recurso.id_recurso}`"
|
|
401
|
+
:indice="slot.indiceColuna"
|
|
402
|
+
:item="{ slot, idRecurso: recurso.id_recurso, dataSlot: dia.data_slot }"
|
|
403
|
+
:disponivel="Boolean(slot.reservavel_slot && !slot.reservado_slot)"
|
|
404
|
+
:controlador="controladorArrastoHorizontal"
|
|
405
|
+
:colspan="slot.colspan || 1"
|
|
406
|
+
class="td-celula-slot"
|
|
407
|
+
:class="{
|
|
408
|
+
'slot-ocupado': slot.reservado_slot,
|
|
409
|
+
'slot-api': slot.detalhes_reserva?.origem_criacao_reserva === 'API',
|
|
410
|
+
'slot-selecionado-arrasto': controladorArrastoHorizontal.verificarSelecionado(`${dia.data_slot}__${recurso.id_recurso}`, slot.indiceColuna),
|
|
411
|
+
'borda-col-subbloco': dia.metadadosColunas[slot.indiceColuna + (slot.colspan || 1) - 1]?.fimDeSubbloco,
|
|
412
|
+
'borda-col-bloco-principal': dia.metadadosColunas[slot.indiceColuna + (slot.colspan || 1) - 1]?.fimDeBlocoPrincipal
|
|
413
|
+
}"
|
|
414
|
+
:style="{
|
|
415
|
+
backgroundColor: controladorArrastoHorizontal.verificarSelecionado(`${dia.data_slot}__${recurso.id_recurso}`, slot.indiceColuna)
|
|
416
|
+
? 'var(--color-brand-light)'
|
|
417
|
+
: (dia.metadadosColunas[slot.indiceColuna]?.corFundo || 'var(--bg-primary)'),
|
|
418
|
+
borderColor: dia.metadadosColunas[slot.indiceColuna + (slot.colspan || 1) - 1]?.corBorda || 'var(--border-light)'
|
|
419
|
+
}"
|
|
420
|
+
>
|
|
421
|
+
<div class="conteudo-slot-matrix" v-if="slot.reservado_slot">
|
|
422
|
+
<span class="etiqueta-reserva">
|
|
423
|
+
{{ slot.detalhes_reserva?.titulo_reserva?.trim() || props.tituloPadrao || 'Reservado' }}
|
|
424
|
+
</span>
|
|
425
|
+
</div>
|
|
426
|
+
</BlocoArrastavel>
|
|
427
|
+
</template>
|
|
428
|
+
</tr>
|
|
429
|
+
</tbody>
|
|
430
|
+
</table>
|
|
431
|
+
</div>
|
|
433
432
|
</div>
|
|
434
433
|
</div>
|
|
435
434
|
|
|
@@ -441,46 +440,259 @@ const formatarData = (isoData: string) => {
|
|
|
441
440
|
</template>
|
|
442
441
|
|
|
443
442
|
<style scoped>
|
|
444
|
-
.matriz-container {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
.
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
443
|
+
.matriz-container {
|
|
444
|
+
width: 100%;
|
|
445
|
+
height: 100%;
|
|
446
|
+
flex: 1;
|
|
447
|
+
min-width: 0;
|
|
448
|
+
min-height: 0;
|
|
449
|
+
background: var(--bg-primary);
|
|
450
|
+
display: flex;
|
|
451
|
+
flex-direction: column;
|
|
452
|
+
user-select: none;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.matriz-conteudo {
|
|
456
|
+
display: flex;
|
|
457
|
+
flex-direction: column;
|
|
458
|
+
flex: 1;
|
|
459
|
+
min-width: 0;
|
|
460
|
+
min-height: 0;
|
|
461
|
+
overflow: hidden;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.aviso-vazio {
|
|
465
|
+
display: flex;
|
|
466
|
+
flex-direction: column;
|
|
467
|
+
justify-content: center;
|
|
468
|
+
align-items: center;
|
|
469
|
+
flex-grow: 1;
|
|
470
|
+
color: var(--text-secondary);
|
|
471
|
+
font-weight: 500;
|
|
472
|
+
font-size: 1rem;
|
|
473
|
+
gap: 12px;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.spinner {
|
|
477
|
+
width: 32px;
|
|
478
|
+
height: 32px;
|
|
479
|
+
border: 3px solid var(--border-light);
|
|
480
|
+
border-top-color: var(--color-brand);
|
|
481
|
+
border-radius: 50%;
|
|
482
|
+
animation: spin 1s linear infinite;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
@keyframes spin {
|
|
486
|
+
to { transform: rotate(360deg); }
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.tabelas-scroll-container {
|
|
490
|
+
flex: 1;
|
|
491
|
+
min-width: 0;
|
|
492
|
+
min-height: 0;
|
|
493
|
+
overflow-y: auto;
|
|
494
|
+
overflow-x: hidden;
|
|
495
|
+
background: var(--bg-primary);
|
|
496
|
+
display: flex;
|
|
497
|
+
flex-direction: column;
|
|
498
|
+
gap: 18px;
|
|
499
|
+
padding-bottom: 24px;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.bloco-dia-tabela {
|
|
503
|
+
width: 100%;
|
|
504
|
+
max-width: 100%;
|
|
505
|
+
display: flex;
|
|
506
|
+
flex-direction: column;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.scroll-horizontal-tabela {
|
|
510
|
+
width: 100%;
|
|
511
|
+
overflow-x: auto;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
.tabela-premium {
|
|
515
|
+
width: 100%;
|
|
516
|
+
border-collapse: separate;
|
|
517
|
+
border-spacing: 0;
|
|
518
|
+
font-size: 12.5px;
|
|
519
|
+
text-align: center;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
.tabela-premium th,
|
|
523
|
+
.tabela-premium td {
|
|
524
|
+
padding: 4px 6px;
|
|
525
|
+
min-width: 68px;
|
|
526
|
+
height: 44px;
|
|
527
|
+
border-bottom: 1px solid var(--border-light);
|
|
528
|
+
border-right: 1px solid var(--border-light);
|
|
529
|
+
box-sizing: border-box;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
.tabela-premium th:first-child,
|
|
533
|
+
.tabela-premium td:first-child {
|
|
534
|
+
border-left: 1px solid var(--border-light);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.tabela-premium thead th {
|
|
538
|
+
background: var(--bg-primary);
|
|
539
|
+
font-weight: 700;
|
|
540
|
+
color: var(--text-primary);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.coluna-fixa {
|
|
544
|
+
width: 200px;
|
|
545
|
+
min-width: 200px;
|
|
546
|
+
max-width: 200px;
|
|
547
|
+
text-align: left;
|
|
548
|
+
background: var(--bg-primary);
|
|
549
|
+
position: sticky;
|
|
550
|
+
left: 0;
|
|
551
|
+
z-index: 2;
|
|
552
|
+
border-right: 2px solid var(--border-light) !important;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.cabecalho-canto {
|
|
556
|
+
z-index: 3 !important;
|
|
557
|
+
padding-left: 24px !important;
|
|
558
|
+
background: var(--bg-primary) !important;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.th-bloco-principal {
|
|
562
|
+
color: #111827 !important;
|
|
563
|
+
padding: 6px 4px !important;
|
|
564
|
+
height: 36px !important;
|
|
565
|
+
border-bottom-width: 1.5px !important;
|
|
566
|
+
border-bottom-style: solid !important;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
.titulo-bloco-principal {
|
|
570
|
+
font-size: 13px;
|
|
571
|
+
font-weight: 800;
|
|
572
|
+
letter-spacing: 0.3px;
|
|
573
|
+
line-height: 1.2;
|
|
574
|
+
text-transform: uppercase;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.subtitulo-bloco-principal {
|
|
578
|
+
font-size: 10.5px;
|
|
579
|
+
font-weight: 700;
|
|
580
|
+
opacity: 0.9;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
.th-subbloco {
|
|
584
|
+
color: #111827 !important;
|
|
585
|
+
font-size: 11px !important;
|
|
586
|
+
font-weight: 700 !important;
|
|
587
|
+
height: 26px !important;
|
|
588
|
+
padding: 2px 4px !important;
|
|
589
|
+
border-bottom-width: 1.5px !important;
|
|
590
|
+
border-bottom-style: solid !important;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.th-horario-individual {
|
|
594
|
+
height: 42px !important;
|
|
595
|
+
padding: 4px 2px !important;
|
|
596
|
+
color: #111827 !important;
|
|
597
|
+
border-bottom-width: 2px !important;
|
|
598
|
+
border-bottom-style: solid !important;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.empilhado-horarios {
|
|
602
|
+
display: flex;
|
|
603
|
+
flex-direction: column;
|
|
604
|
+
align-items: center;
|
|
605
|
+
justify-content: center;
|
|
606
|
+
line-height: 1.15;
|
|
607
|
+
gap: 2px;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.hora-topo,
|
|
611
|
+
.hora-base {
|
|
612
|
+
font-size: 11.5px;
|
|
613
|
+
font-weight: 700;
|
|
614
|
+
color: #111827;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
.td-celula-slot {
|
|
618
|
+
cursor: pointer;
|
|
619
|
+
transition: filter 0.12s ease, box-shadow 0.12s ease;
|
|
620
|
+
vertical-align: middle;
|
|
621
|
+
color: #111827 !important;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
.td-celula-slot:hover {
|
|
625
|
+
filter: brightness(0.93);
|
|
626
|
+
box-shadow: inset 0 0 0 1.5px var(--color-brand);
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
.slot-selecionado-arrasto {
|
|
630
|
+
box-shadow: inset 0 0 0 2px var(--color-brand) !important;
|
|
631
|
+
}
|
|
632
|
+
|
|
471
633
|
.slot-ocupado {
|
|
472
634
|
font-weight: 700;
|
|
473
635
|
background-color: #e5e7eb !important;
|
|
474
636
|
background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06) 10px, transparent 10px, transparent 20px) !important;
|
|
475
637
|
}
|
|
476
638
|
|
|
477
|
-
.conteudo-slot-matrix {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
639
|
+
.conteudo-slot-matrix {
|
|
640
|
+
display: flex;
|
|
641
|
+
align-items: center;
|
|
642
|
+
justify-content: center;
|
|
643
|
+
width: 100%;
|
|
644
|
+
height: 100%;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
.etiqueta-reserva {
|
|
648
|
+
font-size: 12px;
|
|
649
|
+
font-weight: 700;
|
|
650
|
+
color: #111827;
|
|
651
|
+
line-height: 1.25;
|
|
652
|
+
word-break: break-word;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
.borda-col-subbloco {
|
|
656
|
+
border-right-width: 2px !important;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
.borda-col-bloco-principal {
|
|
660
|
+
border-right-width: 2.5px !important;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
.barra-data-full {
|
|
664
|
+
display: flex;
|
|
665
|
+
align-items: center;
|
|
666
|
+
justify-content: center;
|
|
667
|
+
width: 100%;
|
|
668
|
+
background-color: var(--color-brand);
|
|
669
|
+
color: #FFFFFF;
|
|
670
|
+
padding: 9px 0;
|
|
671
|
+
box-sizing: border-box;
|
|
672
|
+
text-align: center;
|
|
673
|
+
border-top: 1px solid #005291;
|
|
674
|
+
border-bottom: 1px solid #005291;
|
|
675
|
+
border-color: color-mix(in srgb, var(--color-brand) 90%, black) !important;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
.texto-data {
|
|
679
|
+
font-weight: 800;
|
|
680
|
+
font-size: 13.5px;
|
|
681
|
+
text-transform: uppercase;
|
|
682
|
+
letter-spacing: 0.5px;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.nome-recurso {
|
|
686
|
+
font-weight: 700;
|
|
687
|
+
color: var(--text-primary);
|
|
688
|
+
background: var(--bg-primary) !important;
|
|
689
|
+
padding-left: 20px !important;
|
|
690
|
+
padding-right: 12px !important;
|
|
691
|
+
white-space: nowrap;
|
|
692
|
+
overflow: hidden;
|
|
693
|
+
text-overflow: ellipsis;
|
|
694
|
+
box-shadow: 4px 0 8px rgba(0,0,0,0.03);
|
|
695
|
+
}
|
|
484
696
|
</style>
|
|
485
697
|
|
|
486
698
|
<style>
|
|
@@ -498,4 +710,9 @@ const formatarData = (isoData: string) => {
|
|
|
498
710
|
background-color: #374151 !important;
|
|
499
711
|
background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03) 10px, transparent 10px, transparent 20px) !important;
|
|
500
712
|
}
|
|
713
|
+
|
|
714
|
+
[data-bs-theme="dark"] .barra-data-full {
|
|
715
|
+
background-color: color-mix(in srgb, var(--color-brand) 50%, black) !important;
|
|
716
|
+
border-color: color-mix(in srgb, var(--color-brand) 70%, black) !important;
|
|
717
|
+
}
|
|
501
718
|
</style>
|
|
@@ -7,6 +7,7 @@ e expõe a lista contendo o recurso atualmente em exibição.
|
|
|
7
7
|
========
|
|
8
8
|
-->
|
|
9
9
|
<script setup lang="ts">
|
|
10
|
+
defineSlots<{ [key: string]: any }>();
|
|
10
11
|
import { computed, inject } from 'vue';
|
|
11
12
|
import { useAgenda } from '../composables/useAgenda';
|
|
12
13
|
import { useSincronizarRecursoUnico } from '../composables/useGradeCompartilhada';
|