@nixweb/nixloc-ui 0.0.121 → 0.0.124

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.
Files changed (135) hide show
  1. package/docs/src/component/template/ModeloRelatorioView.drawio +2 -2
  2. package/docs/src/store/modulos/relatorio.drawio +2 -2
  3. package/package.json +77 -77
  4. package/public/styles/app.css +1 -1
  5. package/src/component/forms/{Botao.vue → Button.vue} +53 -57
  6. package/src/component/forms/CheckboxGroup.vue +63 -0
  7. package/src/component/forms/{CheckboxUnico.vue → CheckboxSimple.vue} +8 -8
  8. package/src/component/forms/{Cor.vue → Color.vue} +9 -9
  9. package/src/component/forms/DateTime.vue +55 -55
  10. package/src/component/forms/{BotaoDropdown.vue → Dropdown.vue} +58 -58
  11. package/src/component/forms/EditorHtml.vue +123 -0
  12. package/src/component/forms/FileUpload.vue +189 -0
  13. package/src/component/forms/InputDecimal.vue +137 -0
  14. package/src/component/forms/InputNumber.vue +149 -0
  15. package/src/component/forms/InputPassword.vue +135 -0
  16. package/src/component/forms/InputText.vue +157 -0
  17. package/src/component/forms/Modal.vue +15 -15
  18. package/src/component/forms/RadioGroup.vue +50 -0
  19. package/src/component/forms/Select.vue +337 -0
  20. package/src/component/forms/SelectStatic.vue +120 -0
  21. package/src/component/forms/TextArea.vue +126 -0
  22. package/src/component/forms/Toggle.vue +13 -13
  23. package/src/component/layout/{Conta.vue → Account.vue} +28 -28
  24. package/src/component/layout/{Alerta.vue → Alert.vue} +22 -22
  25. package/src/component/layout/Badge.vue +23 -23
  26. package/src/component/layout/{BarraFixa.vue → FixedBar.vue} +16 -16
  27. package/src/component/layout/{Topo.vue → Header.vue} +5 -5
  28. package/src/component/layout/{CarregandoTelaInteira.vue → LoadingFullPage.vue} +3 -3
  29. package/src/component/layout/Menu.vue +66 -66
  30. package/src/component/layout/{Moldura.vue → Molded.vue} +4 -4
  31. package/src/component/layout/Panel.vue +142 -0
  32. package/src/component/layout/Popover.vue +1 -1
  33. package/src/component/layout/{BarraRolagem.vue → Scrollbar.vue} +9 -11
  34. package/src/component/layout/Tag.vue +15 -15
  35. package/src/component/layout/Wizard.vue +3 -3
  36. package/src/component/shared/{CodigoEditor.vue → CodeEditor.vue} +25 -25
  37. package/src/component/shared/Collapse.vue +131 -0
  38. package/src/component/shared/Confirmation.vue +80 -0
  39. package/src/component/shared/{DocumentoEditor.vue → DocumentEditor.vue} +10 -16
  40. package/src/component/shared/{DocumentoPreview.vue → DocumentPreview.vue} +2 -2
  41. package/src/component/shared/ExportExcel.vue +67 -0
  42. package/src/component/shared/{ExportarPDF.vue → ExportPDF.vue} +18 -18
  43. package/src/component/shared/HeaderPrint.vue +36 -0
  44. package/src/component/shared/HorizontalFilter.vue +59 -0
  45. package/src/component/shared/LegendaParametro.vue +22 -22
  46. package/src/component/shared/{Carregando.vue → Loading.vue} +16 -16
  47. package/src/component/shared/LoadingMoreButton.vue +23 -0
  48. package/src/component/shared/Messages.vue +83 -0
  49. package/src/component/shared/{Paginacao.vue → Pagination.vue} +12 -12
  50. package/src/component/shared/ProgressBar.vue +21 -0
  51. package/src/component/shared/{BotaoConsulta.vue → QueryButton.vue} +16 -16
  52. package/src/component/shared/SaveCancel.vue +56 -0
  53. package/src/component/shared/{Pesquisa.vue → Search.vue} +46 -46
  54. package/src/component/shared/Table.vue +243 -0
  55. package/src/component/shared/TableButton.vue +36 -0
  56. package/src/component/shared/{Registro.vue → TableTotalRecords.vue} +7 -7
  57. package/src/component/shared/{ResumoTabela.vue → TableTotalization.vue} +12 -8
  58. package/src/component/shared/Tip.vue +42 -0
  59. package/src/component/shared/Toast.vue +7 -7
  60. package/src/component/shared/{FiltroVertical.vue → VerticalFilter.vue} +24 -24
  61. package/src/component/shared/query-builder/AddRule.vue +187 -0
  62. package/src/component/shared/query-builder/ConvertToOdata.js +80 -0
  63. package/src/component/shared/query-builder/DynamicComponent.vue +107 -0
  64. package/src/component/shared/query-builder/Fields.vue +127 -0
  65. package/src/component/shared/query-builder/ListDynamicComponent.vue +42 -0
  66. package/src/component/shared/query-builder/QueryBuilder.vue +25 -120
  67. package/src/component/shared/query-builder/{Filtro.vue → Rules.vue} +13 -18
  68. package/src/component/shared/query-builder/SelectRule.vue +96 -0
  69. package/src/component/shared/query-builder/Tags.vue +14 -14
  70. package/src/component/shared/query-builder/{Rodape.vue → Totalization.vue} +10 -10
  71. package/src/component/template/AddEditReport.vue +106 -0
  72. package/src/component/template/ListViewWithHandlerData.vue +231 -0
  73. package/src/component/template/ViewTemplateConfiguration.vue +69 -0
  74. package/src/component/template/ViewTemplateDocumentView.vue +227 -0
  75. package/src/component/template/ViewTemplateReportList.vue +230 -0
  76. package/src/component/template/ViewTemplateReportPreview.vue +500 -0
  77. package/src/component/template/ViewTemplateWithSalveCancel.vue +32 -0
  78. package/src/component/template/ViewTemplateWithTable.vue +49 -0
  79. package/src/component/template/model/Report.js +6 -0
  80. package/src/component/value-objects/DadosContato.vue +34 -35
  81. package/src/component/value-objects/DadosPessoa.vue +58 -58
  82. package/src/component/value-objects/Endereco.vue +96 -97
  83. package/src/config/dicas.js +1 -1
  84. package/src/config/token.js +2 -2
  85. package/src/store/modules/generic.js +489 -0
  86. package/src/store/modules/report.js +246 -0
  87. package/src/store/modules/user.js +38 -0
  88. package/src/store/modules/validation.js +39 -0
  89. package/src/store/store.js +4 -4
  90. package/src/component/forms/ArquivoUpload.vue +0 -199
  91. package/src/component/forms/CheckboxMultiplo.vue +0 -63
  92. package/src/component/forms/Decimal.vue +0 -137
  93. package/src/component/forms/Escolher.vue +0 -335
  94. package/src/component/forms/EscolherEstatico.vue +0 -139
  95. package/src/component/forms/Numero.vue +0 -153
  96. package/src/component/forms/Opcoes.vue +0 -51
  97. package/src/component/forms/Senha.vue +0 -139
  98. package/src/component/forms/Texto.vue +0 -161
  99. package/src/component/forms/TextoArea.vue +0 -126
  100. package/src/component/forms/TextoEditor.vue +0 -123
  101. package/src/component/layout/Painel.vue +0 -142
  102. package/src/component/shared/BotaoCarregarMais.vue +0 -23
  103. package/src/component/shared/CabecalhoImpressao.vue +0 -36
  104. package/src/component/shared/Confirmacao.vue +0 -80
  105. package/src/component/shared/Dica.vue +0 -42
  106. package/src/component/shared/EsconderMostrar.vue +0 -131
  107. package/src/component/shared/ExportarExcel.vue +0 -67
  108. package/src/component/shared/FiltroHorizontal.vue +0 -59
  109. package/src/component/shared/Mensagem.vue +0 -86
  110. package/src/component/shared/Progresso.vue +0 -21
  111. package/src/component/shared/SalvarCancelar.vue +0 -56
  112. package/src/component/shared/Tabela.vue +0 -275
  113. package/src/component/shared/TabelaBotao.vue +0 -36
  114. package/src/component/shared/query-builder/Campo.vue +0 -116
  115. package/src/component/shared/query-builder/ConverteParaOdata.js +0 -77
  116. package/src/component/shared/query-builder/components/CustomSelect.vue +0 -115
  117. package/src/component/shared/query-builder/components/QueryBuilderChildren.vue +0 -46
  118. package/src/component/shared/query-builder/components/QueryBuilderGroup.vue +0 -151
  119. package/src/component/shared/query-builder/components/QueryBuilderRule.vue +0 -81
  120. package/src/component/shared/query-builder/layouts/Bootstrap/BootstrapGroup.vue +0 -120
  121. package/src/component/shared/query-builder/layouts/Bootstrap/BootstrapRule.vue +0 -187
  122. package/src/component/shared/query-builder/main.js +0 -81
  123. package/src/component/template/ModeloAdicionarModificarView.vue +0 -32
  124. package/src/component/template/ModeloDocumentoView.vue +0 -227
  125. package/src/component/template/ModeloLista.vue +0 -231
  126. package/src/component/template/ModeloRelatorioListaView.vue +0 -227
  127. package/src/component/template/ModeloRelatorioView.vue +0 -489
  128. package/src/component/template/ModeloSubView.vue +0 -69
  129. package/src/component/template/ModeloView.vue +0 -49
  130. package/src/component/template/Relatorio.js +0 -10
  131. package/src/component/template/RelatorioAdicionarModificar.vue +0 -106
  132. package/src/store/modulos/generic.js +0 -494
  133. package/src/store/modulos/relatorio.js +0 -204
  134. package/src/store/modulos/usuario.js +0 -38
  135. package/src/store/modulos/validation.js +0 -39
@@ -0,0 +1,131 @@
1
+ <template>
2
+ <div>
3
+ <div class="line-arrow" v-if="type == 'arrow'">
4
+ <div class="arrow" @click="show" v-if="!showCollapse">
5
+ <b-row>
6
+ <b-col sm="6" class="text-left">
7
+ <span class="title">{{ title }}</span>
8
+ </b-col>
9
+ <b-col sm="6" class="text-right">
10
+ <i class="far fa-plus"></i>
11
+ </b-col>
12
+ </b-row>
13
+ </div>
14
+ <div class="arrow" @click="hide" v-if="showCollapse">
15
+ <b-row>
16
+ <b-col sm="6" class="text-left">
17
+ <span class="title">{{ title }}</span>
18
+ </b-col>
19
+ <b-col sm="6" class="text-right">
20
+ <i class="far fa-minus"></i>
21
+ </b-col>
22
+ </b-row>
23
+ </div>
24
+ </div>
25
+ <b-collapse id="collapse-4" v-model="showCollapse" class="mt-2">
26
+ <slot></slot>
27
+ </b-collapse>
28
+ <div v-if="type == 'button'">
29
+ <b-row>
30
+ <b-col sm="12">
31
+ <div class="text-center">
32
+ <Button
33
+ v-if="!showCollapse"
34
+ :title="buttonShow.title"
35
+ :classIcon="buttonShow.icon"
36
+ :type="buttonShow.type"
37
+ size="small"
38
+ :clicked="show"
39
+ />
40
+ </div>
41
+ </b-col>
42
+ </b-row>
43
+ <b-row>
44
+ <b-col>
45
+ <div class="text-center">
46
+ <Button
47
+ v-if="showCollapse"
48
+ key="hideCollapse"
49
+ :title="buttonHide.title"
50
+ :classIcon="buttonHide.icon"
51
+ :type="buttonHide.type"
52
+ size="small"
53
+ :clicked="hide"
54
+ />
55
+ </div>
56
+ </b-col>
57
+ </b-row>
58
+ </div>
59
+ </div>
60
+ </template>
61
+
62
+ <script>
63
+ import Button from "../forms/Button.vue";
64
+
65
+ import { mapMutations } from "vuex";
66
+
67
+ export default {
68
+ components: { Button },
69
+ name: "Collapse",
70
+ props: {
71
+ buttonShow: Object,
72
+ buttonHide: Object,
73
+ type: {
74
+ type: String,
75
+ default: "button",
76
+ },
77
+ title: String,
78
+ startOpen: {
79
+ type: Boolean,
80
+ default: false,
81
+ },
82
+ },
83
+ data() {
84
+ return {
85
+ showCollapse: false,
86
+ };
87
+ },
88
+ created() {
89
+ this.showCollapse = this.startOpen;
90
+ },
91
+ methods: {
92
+ ...mapMutations("generic", ["removeLoading"]),
93
+ show() {
94
+ let self = this;
95
+ setTimeout(function () {
96
+ self.showCollapse = true;
97
+ }, 200);
98
+ this.removeLoadingButton();
99
+ },
100
+ hide() {
101
+ let self = this;
102
+ setTimeout(function () {
103
+ self.showCollapse = false;
104
+ }, 200);
105
+ this.removeLoadingButton();
106
+ },
107
+ removeLoadingButton() {
108
+ this.removeLoading(["showCollapse", "hideCollapse"]);
109
+ },
110
+ },
111
+ };
112
+ </script>
113
+ <style scoped>
114
+ .arrow {
115
+ font-size: 14px;
116
+ color: #577696;
117
+ cursor: pointer;
118
+ margin-bottom: 10px;
119
+ }
120
+
121
+ .title {
122
+ font-size: 16px;
123
+ margin-left: 5px;
124
+ }
125
+
126
+ .line-arrow {
127
+ border-top: solid 1px #dbdfe9;
128
+ margin-top: 10px;
129
+ padding-top: 10px;
130
+ }
131
+ </style>
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <div>
3
+ <div @click="execute()">
4
+ <slot></slot>
5
+ </div>
6
+ <Modal
7
+ :title="title"
8
+ :width="450"
9
+ :height="250"
10
+ v-show="showModal(`confirmation${data.id}`)"
11
+ >
12
+ <b-col sm="12">
13
+ <div class="div-button text-center">
14
+ <Button
15
+ key="notConfirm"
16
+ type="edit"
17
+ title="cancel"
18
+ size="small"
19
+ :clicked="cancel"
20
+ />
21
+ <Button
22
+ key="confirm"
23
+ :type="type"
24
+ title="Sim, confirmar"
25
+ size="medium"
26
+ :clicked="confirm"
27
+ />
28
+ </div>
29
+ </b-col>
30
+ </Modal>
31
+ </div>
32
+ </template>
33
+
34
+ <script>
35
+ import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
36
+ import Modal from "@nixweb/nixloc-ui/src/component/forms/Modal";
37
+
38
+ import { mapGetters, mapMutations } from "vuex";
39
+
40
+ export default {
41
+ name: "Confirmation",
42
+ components: {
43
+ Button,
44
+ Modal,
45
+ },
46
+ props: {
47
+ title: String,
48
+ type: String,
49
+ data: Object,
50
+ confirmed: Function,
51
+ },
52
+ methods: {
53
+ ...mapMutations("generic", ["showModal", "hideModal", "removeLoading"]),
54
+ execute() {
55
+ this.showModal(`confirmation${this.data.id}`);
56
+ },
57
+ confirm() {
58
+ let self = this;
59
+ setTimeout(function () {
60
+ if (self.confirmed) self.confirmed(self.data);
61
+ self.removeLoading(["confirm"]);
62
+ self.hideModal();
63
+ }, 200);
64
+ },
65
+ cancel() {
66
+ this.removeLoading(["notConfirm"]);
67
+ this.hideModal();
68
+ },
69
+ },
70
+ computed: {
71
+ ...mapGetters("generic", ["showModal", "event"]),
72
+ },
73
+ };
74
+ </script>
75
+ <style scoped>
76
+ .div-button {
77
+ padding-top: 20px;
78
+ height: 100px;
79
+ }
80
+ </style>
@@ -6,9 +6,9 @@
6
6
  <div class="document-editor__editable-container">
7
7
  <ckeditor
8
8
  :editor="editor"
9
- v-model="documentoHtml"
9
+ v-model="documentHtml"
10
10
  @ready="onReady"
11
- @focus="modificou"
11
+ @focus="changed"
12
12
  ></ckeditor>
13
13
  </div>
14
14
  </div>
@@ -23,7 +23,7 @@ import CKEditor from "ckeditor5-custom-build/build/ckeditor";
23
23
  import { mapState, mapMutations } from "vuex";
24
24
 
25
25
  export default {
26
- name: "DocumentoEditor",
26
+ name: "DocumentEditor",
27
27
  components: {
28
28
  CKEditor,
29
29
  },
@@ -33,24 +33,24 @@ export default {
33
33
  };
34
34
  },
35
35
  computed: {
36
- ...mapState("generic", ["documentoHtml"]),
37
- documentoHtml: {
36
+ ...mapState("generic", ["documentHtml"]),
37
+ documentHtml: {
38
38
  get() {
39
- return this.$store.state.generic.documentoHtml;
39
+ return this.$store.state.generic.documentHtml;
40
40
  },
41
41
  set(value) {
42
- this.atualizaDocumentoHtml(value);
42
+ this.updateDocumentHtml(value);
43
43
  },
44
44
  },
45
45
  },
46
46
  methods: {
47
- ...mapMutations("generic", ["atualizaDocumentoHtml", "insereEvento"]),
47
+ ...mapMutations("generic", ["updateDocumentHtml", "addEvent"]),
48
48
  onReady(editor) {
49
49
  const toolbarContainer = document.querySelector(".document-editor__toolbar");
50
50
  toolbarContainer.appendChild(editor.ui.view.toolbar.element);
51
51
  },
52
- modificou() {
53
- this.insereEvento({ nome: "documentoEditorFocus" });
52
+ changed() {
53
+ this.addEvent({ nome: "documentEditorChanged" });
54
54
  },
55
55
  },
56
56
  };
@@ -97,14 +97,11 @@ export default {
97
97
  font: 16px/1.6 "Helvetica Neue", Helvetica, Arial, sans-serif;
98
98
  }
99
99
 
100
- /* Adjust the headings dropdown to host some larger heading styles. */
101
100
  .document-editor .ck-heading-dropdown .ck-list .ck-button__label {
102
101
  line-height: calc(1.7 * var(--ck-line-height-base) * var(--ck-font-size-base));
103
102
  min-width: 6em;
104
103
  }
105
104
 
106
- /* Scale down all heading previews because they are way too big to be presented in the UI.
107
- Preserve the relative scale, though. */
108
105
  .document-editor
109
106
  .ck-heading-dropdown
110
107
  .ck-list
@@ -114,7 +111,6 @@ export default {
114
111
  transform-origin: left;
115
112
  }
116
113
 
117
- /* Set the styles for "Heading 1". */
118
114
  .document-editor .ck-content h2,
119
115
  .document-editor .ck-heading-dropdown .ck-heading_heading1 .ck-button__label {
120
116
  font-size: 2.18em;
@@ -127,7 +123,6 @@ export default {
127
123
  margin-bottom: 0.142em;
128
124
  }
129
125
 
130
- /* Set the styles for "Heading 2". */
131
126
  .document-editor .ck-content h3,
132
127
  .document-editor .ck-heading-dropdown .ck-heading_heading2 .ck-button__label {
133
128
  font-size: 1.75em;
@@ -139,7 +134,6 @@ export default {
139
134
  color: var(--ck-color-list-button-on-text);
140
135
  }
141
136
 
142
- /* Set the styles for "Heading 2". */
143
137
  .document-editor .ck-content h3 {
144
138
  line-height: 1.86em;
145
139
  padding-top: 0.171em;
@@ -26,9 +26,9 @@ export default {
26
26
  },
27
27
  },
28
28
  computed: {
29
- ...mapGetters("generic", ["agruparPor"]),
29
+ ...mapGetters("generic", ["groupBy"]),
30
30
  produtoAgrupado() {
31
- return this.agruparPor({ array: this.d.produto, key: "pGp" });
31
+ return this.groupBy({ array: this.d.produto, key: "pGp" });
32
32
  },
33
33
  },
34
34
  };
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <div>
3
+ <download-excel
4
+ :fields="column"
5
+ :data="data"
6
+ :before-finish="exportFinished"
7
+ worksheet="Planilha"
8
+ :name="`${fileName}.xls`"
9
+ >
10
+ <Button
11
+ key="exportExcel"
12
+ :type="button.type"
13
+ :title="button.title"
14
+ classIcon="fas fa-file-excel"
15
+ :size="button.size"
16
+ />
17
+ </download-excel>
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+ import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
23
+
24
+ import { mapMutations } from "vuex";
25
+
26
+ export default {
27
+ name: "ExportExcel",
28
+ props: {
29
+ button: Object,
30
+ header: Array,
31
+ data: Array,
32
+ },
33
+ components: {
34
+ Button,
35
+ },
36
+ data() {
37
+ return {
38
+ json_meta: [
39
+ [
40
+ {
41
+ key: "charset",
42
+ value: "utf-8",
43
+ },
44
+ ],
45
+ ],
46
+ };
47
+ },
48
+ methods: {
49
+ ...mapMutations("generic", ["removeLoading"]),
50
+ exportFinished() {
51
+ this.removeLoading(["exportExcel"]);
52
+ },
53
+ },
54
+ computed: {
55
+ column() {
56
+ var object = this.header.reduce(
57
+ (obj, item) => Object.assign(obj, { [item.title]: item.field }),
58
+ {}
59
+ );
60
+ return object;
61
+ },
62
+ fileName() {
63
+ return this.$route.matched[0].props.default.report;
64
+ },
65
+ },
66
+ };
67
+ </script>
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <div>
3
3
  <div v-show="carregando" class="full-width">
4
- <Carregando
5
- :centralizado="true"
6
- :largura="70"
7
- :altura="70"
8
- mensagem="Por favor aguarde, estamos gerando a impressão..."
4
+ <Loading
5
+ :center="true"
6
+ :width="70"
7
+ :height="70"
8
+ message="Por favor aguarde, estamos gerando a impressão..."
9
9
  />
10
10
  </div>
11
11
  <vue-html2pdf
@@ -14,7 +14,7 @@
14
14
  :enable-download="false"
15
15
  :preview-modal="true"
16
16
  :paginate-elements-by-height="1400"
17
- :filename="nomeArquivo"
17
+ :filename="fileName"
18
18
  :pdf-quality="2"
19
19
  :manual-pagination="false"
20
20
  :pdf-format="tamanhoPagina"
@@ -28,11 +28,11 @@
28
28
  >
29
29
  <section slot="pdf-content">
30
30
  <section class="pdf-item">
31
- <BarraRolagem :altura="alturaBarraRolagem">
32
- <div id="altura">
31
+ <ScrollBar :height="alturaBarraRolagem">
32
+ <div id="height">
33
33
  <slot></slot>
34
34
  </div>
35
- </BarraRolagem>
35
+ </ScrollBar>
36
36
  </section>
37
37
  </section>
38
38
  </vue-html2pdf>
@@ -46,16 +46,16 @@
46
46
  </template>
47
47
 
48
48
  <script>
49
- import Carregando from "./Carregando.vue";
50
- import BarraRolagem from "../layout/BarraRolagem.vue";
49
+ import Loading from "./Loading.vue";
50
+ import ScrollBar from "../layout/Scrollbar.vue";
51
51
  import VueHtml2pdf from "vue-html2pdf";
52
52
 
53
53
  export default {
54
- name: "ExportarPDF",
55
- components: { VueHtml2pdf, BarraRolagem, Carregando },
54
+ name: "ExportPDF",
55
+ components: { VueHtml2pdf, ScrollBar, Loading },
56
56
  props: {
57
- titulo: String,
58
- nomeArquivo: String,
57
+ title: String,
58
+ fileName: String,
59
59
  tamanhoPagina: String,
60
60
  orientacao: String,
61
61
  larguraImpressao: Number,
@@ -83,7 +83,7 @@ export default {
83
83
  console.log("finalizou");
84
84
  },
85
85
  gerarRelatorio() {
86
- const listElm = document.querySelector("#altura");
86
+ const listElm = document.querySelector("#height");
87
87
  this.alturaBarraRolagem = listElm.scrollHeight;
88
88
  this.carregando = true;
89
89
  let self = this;
@@ -96,11 +96,11 @@ export default {
96
96
  </script>
97
97
 
98
98
  <style scoped>
99
- .botao {
99
+ .button {
100
100
  margin-bottom: 20px;
101
101
  }
102
102
 
103
- .titulo {
103
+ .title {
104
104
  font-size: 20px;
105
105
  }
106
106
 
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <div class="div-header somente-impressao">
3
+ <div class="title">{{ fileName }}</div>
4
+ <div class="side-by-side div-tag" v-for="tag in tags" :key="tag.id">
5
+ <span>{{ tag.title }}</span> <span>{{ tag.value }}</span>
6
+ <span>,</span>
7
+ </div>
8
+ </div>
9
+ </template>
10
+
11
+ <script>
12
+ import { mapGetters } from "vuex";
13
+
14
+ export default {
15
+ name: "HeaderPrint",
16
+ computed: {
17
+ ...mapGetters("report", ["tags"]),
18
+ fileName() {
19
+ return this.$route.matched[0].props.default.report;
20
+ },
21
+ },
22
+ };
23
+ </script>
24
+ <style scoped>
25
+ .div-header {
26
+ margin: 20px;
27
+ }
28
+
29
+ .div-tag {
30
+ margin-right: 10px;
31
+ }
32
+
33
+ .title {
34
+ font-size: 18px;
35
+ }
36
+ </style>
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <div class="filter-horizontal">
3
+ <Collapse
4
+ :buttonShow="{
5
+ title: 'Mais filtros',
6
+ icon: 'fas fa-arrow-alt-circle-down',
7
+ type: 'info',
8
+ }"
9
+ :buttonHide="{
10
+ title: 'Menos filtros',
11
+ icon: 'fas fa-arrow-alt-circle-up',
12
+ type: 'warning',
13
+ }"
14
+ >
15
+ <b-row>
16
+ <b-col :sm="showTotalPerPage ? 10 : 12">
17
+ <slot name="content-filter-horizontal"></slot>
18
+ </b-col>
19
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2" v-if="showTotalPerPage">
20
+ <SelectStatic
21
+ title="show"
22
+ fieldTarget="totalPerPage"
23
+ :initialValue="{ content: '10', id: 10 }"
24
+ :data="[
25
+ { content: '10', id: 10 },
26
+ { content: '20', id: 20 },
27
+ { content: '30', id: 30 },
28
+ { content: '50', id: 50 },
29
+ { content: '100', id: 100 },
30
+ ]"
31
+ />
32
+ </b-col>
33
+ </b-row>
34
+ </Collapse>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import Collapse from "./Collapse.vue";
40
+ import SelectStatic from "../forms/SelectStatic.vue";
41
+ import Select from "../forms/Select";
42
+
43
+ export default {
44
+ name: "ListViewWithHandlerData",
45
+ components: { Select, SelectStatic, Collapse },
46
+ props: {
47
+ showTotalPerPage: {
48
+ type: Boolean,
49
+ default: true,
50
+ },
51
+ },
52
+ };
53
+ </script>
54
+
55
+ <style scoped>
56
+ .filter-horizontal {
57
+ margin-bottom: 5px;
58
+ }
59
+ </style>
@@ -2,13 +2,13 @@
2
2
  <div>
3
3
  <Pesquisa />
4
4
  <br />
5
- <BarraRolagem :alturaMinima="400" :alturaMaxima="400">
5
+ <ScrollBar :minHeight="400" :maxHeight="400">
6
6
  <table class="table table-responsive-xs">
7
7
  <thead>
8
8
  <tr>
9
- <th><span class="titulo-cabecalho">Parâmetro</span></th>
10
- <th><span class="titulo-cabecalho">Descrição</span></th>
11
- <th><span class="titulo-cabecalho">Exemplo</span></th>
9
+ <th><span class="title-header">Parâmetro</span></th>
10
+ <th><span class="title-header">Descrição</span></th>
11
+ <th><span class="title-header">Exemplo</span></th>
12
12
  </tr>
13
13
  </thead>
14
14
  <tbody v-for="(legendaLocal, grupoNome) in agrupado">
@@ -20,7 +20,7 @@
20
20
  <span> {{ item.parametro }}</span>
21
21
  </td>
22
22
  <td>
23
- <span> {{ item.descricao }}</span>
23
+ <span> {{ item.description }}</span>
24
24
  </td>
25
25
  <td>
26
26
  <span class="exemplo"> {{ item.exemplo }}</span>
@@ -28,19 +28,19 @@
28
28
  </tr>
29
29
  </tbody>
30
30
  </table>
31
- </BarraRolagem>
31
+ </ScrollBar>
32
32
  </div>
33
33
  </template>
34
34
  <script>
35
35
  import Pesquisa from "@nixweb/nixloc-ui/src/component/shared/Pesquisa.vue";
36
- import BarraRolagem from "@nixweb/nixloc-ui/src/component/layout/BarraRolagem.vue";
36
+ import ScrollBar from "@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue";
37
37
 
38
38
  import { mapGetters, mapState, mapMutations } from "vuex";
39
39
 
40
40
  export default {
41
41
  name: "LegendaParametro",
42
42
  components: {
43
- BarraRolagem,
43
+ ScrollBar,
44
44
  Pesquisa,
45
45
  },
46
46
  props: {
@@ -55,42 +55,42 @@ export default {
55
55
  this.legendaLocal = this.legenda;
56
56
  },
57
57
  methods: {
58
- ...mapMutations("generic", ["removeCarregando"]),
58
+ ...mapMutations("generic", ["removeLoading"]),
59
59
  },
60
60
  computed: {
61
- ...mapGetters("generic", ["agruparPor"]),
62
- ...mapState("generic", ["pesquisa", "buscouPesquisa", "limpouPesquisa"]),
61
+ ...mapGetters("generic", ["groupBy"]),
62
+ ...mapState("generic", ["search", "executedSearch", "clearedSearch"]),
63
63
  agrupado() {
64
- var lista = this.agruparPor({ array: this.legendaLocal, key: "grupoNome" });
64
+ var lista = this.groupBy({ array: this.legendaLocal, key: "grupoNome" });
65
65
  return lista;
66
66
  },
67
67
  },
68
68
  watch: {
69
- buscouPesquisa: function () {
69
+ executedSearch: function () {
70
70
  let legenda = [];
71
71
 
72
72
  let self = this;
73
73
  setTimeout(function () {
74
74
  self.legenda.forEach(function (item) {
75
- if (self.pesquisa.filtro.conteudo == "igual") {
76
- if (item.descricao == self.pesquisa.conteudo) legenda.push(item);
75
+ if (self.search.filter.content == "igual") {
76
+ if (item.description == self.search.content) legenda.push(item);
77
77
  }
78
78
 
79
- if (self.pesquisa.filtro.conteudo == "contem") {
80
- if (item.descricao.includes(self.pesquisa.conteudo)) legenda.push(item);
79
+ if (self.search.filter.content == "contem") {
80
+ if (item.description.includes(self.search.content)) legenda.push(item);
81
81
  }
82
82
  });
83
83
 
84
84
  self.legendaLocal = legenda;
85
85
 
86
- self.removeCarregando(["pesquisar", "limpar"]);
86
+ self.removeLoading(["search", "clean"]);
87
87
  }, 300);
88
88
  },
89
- limpouPesquisa: function () {
89
+ clearedSearch: function () {
90
90
  let self = this;
91
91
  setTimeout(function () {
92
92
  self.legendaLocal = self.legenda;
93
- self.removeCarregando(["pesquisar", "limpar"]);
93
+ self.removeLoading(["search", "clean"]);
94
94
  }, 300);
95
95
  },
96
96
  },
@@ -107,7 +107,7 @@ export default {
107
107
  border-bottom: 0px !important;
108
108
  }
109
109
 
110
- .titulo-cabecalho {
110
+ .title-header {
111
111
  font-size: 14px;
112
112
  color: #757d8c;
113
113
  font-weight: 400;
@@ -120,7 +120,7 @@ export default {
120
120
  font-weight: 500;
121
121
  }
122
122
 
123
- .div-alerta {
123
+ .div-warning {
124
124
  margin-bottom: 20px;
125
125
  }
126
126