@nixweb/nixloc-ui 0.0.87 → 0.0.90

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nixweb/nixloc-ui",
3
- "version": "0.0.87",
3
+ "version": "0.0.90",
4
4
  "description": "Componentes UI",
5
5
  "author": "Fábio Ávila <fabio@nixweb.com.br>",
6
6
  "private": false,
@@ -73,7 +73,7 @@ export default {
73
73
  }
74
74
 
75
75
  .titulo {
76
- margin-right: 5px;
76
+ margin: 2px;
77
77
  }
78
78
 
79
79
  .botao {
@@ -7,32 +7,32 @@
7
7
  </div>
8
8
  </li>
9
9
  <li>
10
- <a
11
- href="#"
12
- @click.prevent="navegarPara('dashboard')"
13
- :class="sessaoDestaque('home')"
14
- >
15
- <div class="div-icone lado-a-lado">
16
- <i class="fas fa-chart-area icone-dash" :style="'color:' + corBase"></i>
17
- </div>
18
- <div class="titulo">Dashboard</div>
19
- </a>
10
+ <div :class="{ 'menu-ativo': menuAtivo == 'Dashboard' }">
11
+ <a
12
+ href="#"
13
+ @click.prevent="navegarPara({ nomeRota: 'dashboard', modulo: 'Dashboard' })"
14
+ :class="sessaoDestaque('home')"
15
+ >
16
+ <div class="div-icone lado-a-lado">
17
+ <i class="fas fa-chart-area icone-dash" :style="'color:' + corBase"></i>
18
+ </div>
19
+ <div class="titulo">Dashboard</div>
20
+ </a>
21
+ </div>
20
22
  </li>
21
-
22
23
  <li v-for="(item, index) in menuFiltro(true)" :key="index">
23
- <a
24
- href="#"
25
- @click.prevent="abrirSubMenu(item.modulo)"
26
- :class="sessaoDestaque(item.modulo)"
27
- >
28
- <div class="div-icone lado-a-lado">
29
- <i :class="item.icone" class="icone" :style="'color:' + corBase"></i>
30
- </div>
31
- <div class="titulo">{{ item.titulo }}</div>
32
- <!-- <div class="lado-a-lado seta menu__arrow-icon">
33
- <i class="fas fa-angle-right"></i>
34
- </div> -->
35
- </a>
24
+ <div :class="{ 'menu-ativo': menuAtivo == item.modulo }">
25
+ <a
26
+ href="#"
27
+ @click.prevent="abrirSubMenu(item.modulo)"
28
+ :class="sessaoDestaque(item.modulo)"
29
+ >
30
+ <div class="div-icone lado-a-lado">
31
+ <i :class="item.icone" class="icone" :style="'color:' + corBase"></i>
32
+ </div>
33
+ <div class="titulo">{{ item.titulo }}</div>
34
+ </a>
35
+ </div>
36
36
  </li>
37
37
  </ul>
38
38
 
@@ -55,7 +55,7 @@
55
55
  <a
56
56
  v-else
57
57
  href="#"
58
- @click.prevent="navegarPara(item.nomeRota)"
58
+ @click.prevent="navegarPara(item)"
59
59
  :class="classeSubMenu(item.titulo)"
60
60
  >
61
61
  <b-row>
@@ -81,12 +81,17 @@ export default {
81
81
  type: String,
82
82
  default: "#4680A5",
83
83
  },
84
+ corBaseAtivo: {
85
+ type: String,
86
+ default: "#d98621",
87
+ },
84
88
  urlImagem: String,
85
89
  },
86
90
  data() {
87
91
  return {
88
92
  modulo: "",
89
93
  subMenuPrimeiroNivel: false,
94
+ menuAtivo: "Dashboard",
90
95
  };
91
96
  },
92
97
  methods: {
@@ -110,9 +115,9 @@ export default {
110
115
  "context-menu__link--active": this.activeSubMenu === subMenuName,
111
116
  };
112
117
  },
113
- navegarPara(nomeRota) {
118
+ navegarPara(item) {
114
119
  this.$router.push({
115
- name: nomeRota,
120
+ name: item.nomeRota,
116
121
  });
117
122
  this.fecharSubMenu();
118
123
  },
@@ -135,6 +140,14 @@ export default {
135
140
  computed: {
136
141
  ...mapState("usuario", ["menu"]),
137
142
  },
143
+ watch: {
144
+ $route: {
145
+ handler: function (router) {
146
+ this.menuAtivo = router.matched[0].props.default.modulo;
147
+ },
148
+ deep: true,
149
+ },
150
+ },
138
151
  };
139
152
  </script>
140
153
 
@@ -144,6 +157,12 @@ export default {
144
157
  z-index: 1000;
145
158
  }
146
159
 
160
+ .menu-ativo {
161
+ border-left: 3px solid #d98621;
162
+ color: #d98621 ;
163
+ background-color: #FAFAFC;
164
+ }
165
+
147
166
  .div-logo {
148
167
  padding-top: 5px;
149
168
  padding-bottom: 15px;
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <BarraFixa posicao="rodape" v-show="formSujo">
3
+ <BarraFixa posicao="rodape" v-show="formSujo && !modal.abrir">
4
4
  <div>
5
5
  <Botao
6
6
  chave="cancelarSalvarCancelar"
@@ -37,6 +37,7 @@ export default {
37
37
  computed: {
38
38
  ...mapState("validation", ["formSujo"]),
39
39
  ...mapGetters("validation", ["formValido"]),
40
+ ...mapState("generic", ["modal"]),
40
41
  },
41
42
  methods: {
42
43
  ...mapMutations("validation", ["insereFormSujo"]),
@@ -46,5 +47,10 @@ export default {
46
47
  this.removeCarregando(["cancelarSalvarCancelar"]);
47
48
  },
48
49
  },
50
+ watch: {
51
+ "modal.abrir": function (valor) {
52
+ this.insereFormSujo(false);
53
+ },
54
+ },
49
55
  };
50
56
  </script>
@@ -97,6 +97,9 @@
97
97
  >
98
98
  <TabelaBotao :obj="obj" :linha="linha" />
99
99
  </div>
100
+ <div class="link" v-if="obj.tipo === 'link'" @click="navegarPara(obj, linha)">
101
+ <span> {{ linha[obj.campo] }}</span>
102
+ </div>
100
103
  </td>
101
104
  </tr>
102
105
  </tbody>
@@ -143,7 +146,7 @@ export default {
143
146
  },
144
147
  },
145
148
  methods: {
146
- ...mapMutations("generic", ["adicionaSelecao"]),
149
+ ...mapMutations("generic", ["adicionaSelecao", "insereEvento"]),
147
150
  ...mapActions("generic", ["pdfApi"]),
148
151
  selecionar() {
149
152
  this.adicionaSelecao([]);
@@ -188,7 +191,21 @@ export default {
188
191
  };
189
192
  this.pdfApi(params).then((response) => {});
190
193
  },
194
+ navegarPara(obj, linha) {
195
+ if (obj.nomeRota) {
196
+ this.$router.push({
197
+ name: obj.nomeRota,
198
+ params: { id: linha.id },
199
+ });
200
+ } else {
201
+ this.insereEvento({
202
+ nome: obj.nomeEvento,
203
+ dados: linha,
204
+ });
205
+ }
206
+ },
191
207
  },
208
+
192
209
  beforeDestroy() {
193
210
  this.adicionaSelecao([]);
194
211
  },
@@ -214,10 +231,15 @@ table tbody tr td {
214
231
  width: 30px;
215
232
  }
216
233
 
234
+ tr:hover {
235
+ background-color: #fafafc;
236
+ }
237
+
217
238
  .titulo-cabecalho {
218
239
  font-size: 14px;
219
240
  color: #757d8c;
220
- font-weight: 500;
241
+ font-weight: 400;
242
+ text-transform: uppercase;
221
243
  }
222
244
 
223
245
  .tabela-numero {
@@ -235,12 +257,22 @@ table tbody tr td {
235
257
  min-width: 100px;
236
258
  }
237
259
 
238
- .icone {
239
- font-size: 20px;
240
- color: #8ca1b7;
260
+ .link {
261
+ color: #0057A9;
262
+ font-size: 14px;
263
+ font-weight: 400;
241
264
  cursor: pointer;
242
265
  }
243
266
 
267
+ .link:hover {
268
+ font-size: 14.5px;
269
+ transition: 0.1s;
270
+ }
271
+
272
+ .icone-link:hover {
273
+ font-size: 12.5px;
274
+ }
275
+
244
276
  .receita {
245
277
  font-size: 14px;
246
278
  color: darkblue;
@@ -1,9 +1,18 @@
1
1
  <template>
2
2
  <div>
3
3
  <slot name="conteudo-botoes"></slot>
4
- <Pesquisa />
5
- <br />
6
- <ModeloLista :modeloLista="modeloLista" :botaoExcluir="botaoExcluir">
4
+ <div v-if="mostrarPesquisa">
5
+ <Pesquisa />
6
+ <br />
7
+ </div>
8
+
9
+ <ModeloLista
10
+ :modeloLista="modeloLista"
11
+ :propsParam="propsParam"
12
+ :mostrarMoldura="false"
13
+ :mostrarFiltroHorizontal="mostrarFiltroHorizontal"
14
+ :botaoExcluir="botaoExcluir"
15
+ >
7
16
  <div slot="conteudo-botoes-tabela-cabecalho">
8
17
  <slot name="conteudo-botoes-tabela-cabecalho"></slot>
9
18
  </div>
@@ -27,6 +36,15 @@ export default {
27
36
  components: { Pesquisa, ModeloLista },
28
37
  props: {
29
38
  modeloLista: Object,
39
+ propsParam: Object,
40
+ mostrarPesquisa: {
41
+ type: Boolean,
42
+ default: true,
43
+ },
44
+ mostrarFiltroHorizontal: {
45
+ type: Boolean,
46
+ default: true,
47
+ },
30
48
  botaoExcluir: {
31
49
  type: Boolean,
32
50
  default: true,
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <div>
3
- <div class="g-div-moldura">
3
+ <div :class="{ 'g-div-moldura': mostrarMoldura }">
4
4
  <b-row>
5
5
  <b-col sm="12"
6
6
  ><div>
7
- <FiltroHorizontal>
7
+ <FiltroHorizontal v-if="mostrarFiltroHorizontal">
8
8
  <div slot="conteudo-filtro-horizontal">
9
9
  <slot name="conteudo-filtro-horizontal"></slot>
10
10
  </div>
@@ -62,6 +62,15 @@ export default {
62
62
  name: "ModeloLista",
63
63
  props: {
64
64
  modeloLista: Object,
65
+ propsParam: Object,
66
+ mostrarMoldura: {
67
+ type: Boolean,
68
+ default: true,
69
+ },
70
+ mostrarFiltroHorizontal: {
71
+ type: Boolean,
72
+ default: true,
73
+ },
65
74
  botaoExcluir: {
66
75
  type: Boolean,
67
76
  default: true,
@@ -89,7 +98,7 @@ export default {
89
98
  totalPorPagina: 10,
90
99
  },
91
100
  paramsFiltro: [],
92
- propsParams: {},
101
+ filtroDinamico: {},
93
102
  };
94
103
  },
95
104
  created() {
@@ -129,7 +138,7 @@ export default {
129
138
  "atualizaCampoPesquisa",
130
139
  ]),
131
140
  obterTodos() {
132
- let obj = { ...this.baseParams, ...this.propsParams };
141
+ let obj = { ...this.baseParams, ...this.filtroDinamico, ...this.propsParam };
133
142
  let params = { url: this.modeloLista.urlGetApi, obj: obj };
134
143
  this.getApi(params).then((response) => {
135
144
  this.conteudo = response.conteudo;
@@ -200,11 +209,11 @@ export default {
200
209
  }
201
210
  }
202
211
 
203
- this.propsParams = result;
212
+ this.filtroDinamico = result;
204
213
 
205
214
  this.atualizaPaginacao({
206
215
  chave: "modeloLista",
207
- totalPorPagina: this.propsParams.totalPorPagina,
216
+ totalPorPagina: this.filtroDinamico.totalPorPagina,
208
217
  });
209
218
 
210
219
  this.obterTodos();
@@ -8,6 +8,7 @@
8
8
  :formNome="formNome"
9
9
  :mascara="'#####-###'"
10
10
  :tamanhoMaximo="9"
11
+ :requerido="requerido"
11
12
  v-model="endereco.cep"
12
13
  >
13
14
  <div class="glyphicon margem-botao">
@@ -27,6 +28,7 @@
27
28
  campo="logradouro"
28
29
  :formNome="formNome"
29
30
  :tamanhoMaximo="150"
31
+ :requerido="requerido"
30
32
  v-model="endereco.logradouro"
31
33
  />
32
34
  </b-col>
@@ -57,6 +59,7 @@
57
59
  campo="bairro"
58
60
  :formNome="formNome"
59
61
  :tamanhoMaximo="100"
62
+ :requerido="requerido"
60
63
  v-model="endereco.bairro"
61
64
  /> </b-col
62
65
  ><b-col xs="12" sm="12" md="12" lg="5" xl="5">
@@ -65,6 +68,7 @@
65
68
  campo="cidade"
66
69
  :formNome="formNome"
67
70
  :tamanhoMaximo="100"
71
+ :requerido="requerido"
68
72
  v-model="endereco.cidade"
69
73
  />
70
74
  </b-col>
@@ -72,6 +76,7 @@
72
76
  <EscolherEstatico
73
77
  titulo="UF"
74
78
  campoAlvo="uf"
79
+ :requerido="requerido"
75
80
  v-model="endereco.estado"
76
81
  :dados="estados"
77
82
  /> </b-col
@@ -93,6 +98,10 @@ export default {
93
98
  name: "Endereco",
94
99
  props: {
95
100
  formNome: String,
101
+ requerido: {
102
+ type: Boolean,
103
+ default: false,
104
+ },
96
105
  value: Object,
97
106
  },
98
107
  components: { Opcoes, Texto, Botao, EscolherEstatico },
@@ -101,33 +110,33 @@ export default {
101
110
  return {
102
111
  endereco: new Endereco(),
103
112
  estados: [
104
- { titulo: "AC", valor: "AC" },
105
- { titulo: "AL", valor: "AL" },
106
- { titulo: "AP", valor: "AP" },
107
- { titulo: "AM", valor: "AM" },
108
- { titulo: "BA", valor: "BA" },
109
- { titulo: "CE", valor: "CE" },
110
- { titulo: "DF", valor: "DF" },
111
- { titulo: "ES", valor: "ES" },
112
- { titulo: "GO", valor: "GO" },
113
- { titulo: "MA", valor: "MA" },
114
- { titulo: "MT", valor: "MT" },
115
- { titulo: "MS", valor: "MS" },
116
- { titulo: "MG", valor: "MG" },
117
- { titulo: "PA", valor: "PA" },
118
- { titulo: "PB", valor: "PB" },
119
- { titulo: "PR", valor: "PR" },
120
- { titulo: "PE", valor: "PE" },
121
- { titulo: "PI", valor: "PI" },
122
- { titulo: "RJ", valor: "RJ" },
123
- { titulo: "RN", valor: "RN" },
124
- { titulo: "RS", valor: "RS" },
125
- { titulo: "RO", valor: "RO" },
126
- { titulo: "RR", valor: "RR" },
127
- { titulo: "SC", valor: "SC" },
128
- { titulo: "SP", valor: "SP" },
129
- { titulo: "SE", valor: "SE" },
130
- { titulo: "TO", valor: "TO" },
113
+ { conteudo: "AC", id: "AC" },
114
+ { conteudo: "AL", id: "AL" },
115
+ { conteudo: "AP", id: "AP" },
116
+ { conteudo: "AM", id: "AM" },
117
+ { conteudo: "BA", id: "BA" },
118
+ { conteudo: "CE", id: "CE" },
119
+ { conteudo: "DF", id: "DF" },
120
+ { conteudo: "ES", id: "ES" },
121
+ { conteudo: "GO", id: "GO" },
122
+ { conteudo: "MA", id: "MA" },
123
+ { conteudo: "MT", id: "MT" },
124
+ { conteudo: "MS", id: "MS" },
125
+ { conteudo: "MG", id: "MG" },
126
+ { conteudo: "PA", id: "PA" },
127
+ { conteudo: "PB", id: "PB" },
128
+ { conteudo: "PR", id: "PR" },
129
+ { conteudo: "PE", id: "PE" },
130
+ { conteudo: "PI", id: "PI" },
131
+ { conteudo: "RJ", id: "RJ" },
132
+ { conteudo: "RN", id: "RN" },
133
+ { conteudo: "RS", id: "RS" },
134
+ { conteudo: "RO", id: "RO" },
135
+ { conteudo: "RR", id: "RR" },
136
+ { conteudo: "SC", id: "SC" },
137
+ { conteudo: "SP", id: "SP" },
138
+ { conteudo: "SE", id: "SE" },
139
+ { conteudo: "TO", id: "TO" },
131
140
  ],
132
141
  };
133
142
  },