@nixweb/nixloc-ui 0.0.57 → 0.0.60

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.57",
3
+ "version": "0.0.60",
4
4
  "description": "Componentes UI",
5
5
  "author": "Fábio Ávila <fabio@nixweb.com.br>",
6
6
  "private": false,
@@ -155,6 +155,6 @@ export default {
155
155
  }
156
156
 
157
157
  .margem-botao {
158
- margin-top: -10px;
158
+ margin-top: -15px;
159
159
  }
160
160
  </style>
@@ -7,8 +7,6 @@
7
7
  :class="{
8
8
  topo: posicao == 'topo',
9
9
  rodape: posicao == 'rodape',
10
- esconde: menu.escondeMostra,
11
- mostra: !menu.escondeMostra,
12
10
  }"
13
11
  >
14
12
  <div class="tamanho">
@@ -35,7 +33,6 @@ export default {
35
33
  },
36
34
  computed: {
37
35
  ...mapGetters("generic", ["carregando"]),
38
- ...mapState("generic", ["menu"]),
39
36
  },
40
37
  };
41
38
  </script>
@@ -48,6 +45,7 @@ export default {
48
45
  overflow: hidden;
49
46
  z-index: 20;
50
47
  padding: 18px;
48
+ margin-left: 230px;
51
49
  }
52
50
 
53
51
  .tamanho {
@@ -68,11 +66,4 @@ export default {
68
66
  border-top: 1px solid #e1e1e2;
69
67
  }
70
68
 
71
- .esconde {
72
- padding-left: 60px;
73
- }
74
-
75
- .mostra {
76
- padding-left: 230px;
77
- }
78
69
  </style>
@@ -112,7 +112,7 @@ export default {
112
112
  },
113
113
  },
114
114
  computed: {
115
- ...mapState("generic", ["menu"]),
115
+ ...mapState("usuario", ["menu"]),
116
116
  },
117
117
  };
118
118
  </script>
@@ -0,0 +1,7 @@
1
+ export default class DadosContato {
2
+ constructor() {
3
+ this.telefone = "";
4
+ this.site = "";
5
+ this.email = "";
6
+ }
7
+ }
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
5
+ <Texto
6
+ titulo="Telefone"
7
+ campo="telefone"
8
+ :formNome="formNome"
9
+ :mascara="['(##) ####-####', '(##) #####-####']"
10
+ :tamanhoMaximo="20"
11
+ v-model="dadosContato.telefone"
12
+ />
13
+ </b-col>
14
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
15
+ <Texto
16
+ titulo="Site"
17
+ campo="site"
18
+ :formNome="formNome"
19
+ mascara=""
20
+ :tamanhoMaximo="100"
21
+ v-model="dadosContato.site"
22
+ />
23
+ </b-col>
24
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
25
+ <Texto
26
+ titulo="E-mail"
27
+ campo="email"
28
+ :formNome="formNome"
29
+ mascara=""
30
+ :tamanhoMaximo="100"
31
+ v-model="dadosContato.email"
32
+ />
33
+ </b-col>
34
+ </b-row>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import Botao from "@nixweb/nixloc-ui/src/component/forms/Botao";
40
+ import Texto from "@nixweb/nixloc-ui/src/component/forms/Texto";
41
+ import Opcoes from "@nixweb/nixloc-ui/src/component/forms/Opcoes";
42
+ import DadosContato from "@nixweb/nixloc-ui/src/component/value-objects/DadosContato.js";
43
+
44
+ import { mapGetters } from "vuex";
45
+
46
+ export default {
47
+ name: "DadosContato",
48
+ props: {
49
+ formNome: String,
50
+ value: Object,
51
+ },
52
+ components: { Opcoes, Texto, Botao },
53
+ data() {
54
+ return {
55
+ dadosContato: new DadosContato(),
56
+ };
57
+ },
58
+ methods: {
59
+ carregaDados(dados) {
60
+ this.dadosContato.telefone = dados.telefone;
61
+ this.dadosContato.email = dados.email;
62
+ },
63
+ },
64
+ computed: {
65
+ ...mapGetters("generic", ["evento"]),
66
+ },
67
+ watch: {
68
+ value: {
69
+ handler() {
70
+ this.dadosContato = this.value;
71
+ },
72
+ deep: true,
73
+ },
74
+ dadosContato: {
75
+ handler() {
76
+ this.$emit("input", this.dadosContato);
77
+ },
78
+ deep: true,
79
+ },
80
+ evento: {
81
+ handler(evento) {
82
+ if (evento.nome == "buscarCnpjReceita") {
83
+ this.carregaDados(evento.dados);
84
+ }
85
+ },
86
+ deep: true,
87
+ },
88
+ },
89
+ };
90
+ </script>
@@ -0,0 +1,10 @@
1
+ export default class DadosPessoa {
2
+ constructor() {
3
+ this.tipoPessoa = 2;
4
+ this.razaoSocialNome = "";
5
+ this.fantasiaApelido = "";
6
+ this.cnpjCpf = "";
7
+ this.inscricaoEstadualRg = "";
8
+ this.inscricaoMunicipal = "";
9
+ }
10
+ }
@@ -0,0 +1,138 @@
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
5
+ <Opcoes
6
+ campo="tipoPessoa"
7
+ :formNome="formNome"
8
+ :opcoes="[
9
+ { text: 'Física', value: 1 },
10
+ { text: 'Jurídica', value: 2 },
11
+ ]"
12
+ v-model="dadosPessoa.tipoPessoa"
13
+ />
14
+ </b-col>
15
+ </b-row>
16
+ <b-row>
17
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
18
+ <Texto
19
+ :titulo="dadosPessoa.tipoPessoa == 2 ? 'CNPJ' : 'CPF'"
20
+ campo="cnpjCpf"
21
+ :formNome="formNome"
22
+ :mascara="['##.###.###/####-##', '###.###.###-##']"
23
+ :tamanhoMaximo="30"
24
+ v-model="dadosPessoa.cnpjCpf"
25
+ ><div class="glyphicon margem-botao">
26
+ <Botao
27
+ v-if="dadosPessoa.tipoPessoa == 2"
28
+ chave="buscarCnpjReceita"
29
+ tipo="sucesso"
30
+ classeIcone="fas fa-search"
31
+ :desabilitado="dadosPessoa.cnpjCpf.length < 18"
32
+ tamanho="pequeno"
33
+ :clique="buscarCnpjReceita"
34
+ /></div
35
+ ></Texto>
36
+ </b-col>
37
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
38
+ <Texto
39
+ :titulo="dadosPessoa.tipoPessoa == 2 ? 'Inscrição Estadual' : 'RG'"
40
+ campo="inscricaoEstadualRg"
41
+ :formNome="formNome"
42
+ :tamanhoMaximo="50"
43
+ v-model="dadosPessoa.inscricaoEstadualRg"
44
+ />
45
+ </b-col>
46
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
47
+ <Texto
48
+ v-if="dadosPessoa.tipoPessoa == 2"
49
+ titulo="Inscrição Municipal"
50
+ campo="inscricaoMunicipal"
51
+ :formNome="formNome"
52
+ :tamanhoMaximo="50"
53
+ v-model="dadosPessoa.inscricaoMunicipal"
54
+ />
55
+ </b-col>
56
+ </b-row>
57
+ <br v-if="dadosPessoa.tipoPessoa == 2" />
58
+ <b-row>
59
+ <b-col xs="12" sm="12" md="12" lg="8" xl="8">
60
+ <Texto
61
+ :titulo="dadosPessoa.tipoPessoa == 2 ? 'Razão Social' : 'Nome'"
62
+ campo="razaoSocialNome"
63
+ :formNome="formNome"
64
+ :requerido="true"
65
+ :tamanhoMaximo="100"
66
+ v-model="dadosPessoa.razaoSocialNome"
67
+ />
68
+ </b-col>
69
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
70
+ <Texto
71
+ :titulo="dadosPessoa.tipoPessoa == 2 ? 'Fantasia' : 'Apelido'"
72
+ campo="fantasiaApelido"
73
+ :formNome="formNome"
74
+ :requerido="true"
75
+ :tamanhoMaximo="100"
76
+ v-model="dadosPessoa.fantasiaApelido"
77
+ />
78
+ </b-col>
79
+ </b-row>
80
+ </div>
81
+ </template>
82
+
83
+ <script>
84
+ import Botao from "@nixweb/nixloc-ui/src/component/forms/Botao";
85
+ import Texto from "@nixweb/nixloc-ui/src/component/forms/Texto";
86
+ import Opcoes from "@nixweb/nixloc-ui/src/component/forms/Opcoes";
87
+ import DadosPessoa from "@nixweb/nixloc-ui/src/component/value-objects/DadosPessoa.js";
88
+
89
+ import { mapMutations } from "vuex";
90
+
91
+ export default {
92
+ name: "DadosPessoa",
93
+ props: {
94
+ formNome: String,
95
+ value: Object,
96
+ },
97
+ components: { Opcoes, Texto, Botao },
98
+
99
+ data() {
100
+ return {
101
+ dadosPessoa: new DadosPessoa(),
102
+ };
103
+ },
104
+ methods: {
105
+ ...mapMutations("generic", ["insereEvento", "insereNotificacao", "removeCarregando"]),
106
+ buscarCnpjReceita() {
107
+ let url = `https://ws.hubdodesenvolvedor.com.br/v2/cnpj/?cnpj=${this.dadosPessoa.cnpjCpf}&token=94473735FzLqpNKajP170569464`;
108
+ this.$http.post(url, {}, {}).then((response) => {
109
+ if (response.data.return == "OK") {
110
+ this.insereEvento({
111
+ nome: "buscarCnpjReceita",
112
+ dados: response.data.result,
113
+ });
114
+ this.dadosPessoa.razaoSocialNome = response.data.result.nome;
115
+ this.dadosPessoa.fantasiaApelido = response.data.result.fantasia;
116
+ } else {
117
+ this.insereNotificacao([{ mensagem: "CNPJ inválido ou não encontrado." }]);
118
+ }
119
+ this.removeCarregando(["buscarCnpjReceita"]);
120
+ });
121
+ },
122
+ },
123
+ watch: {
124
+ value: {
125
+ handler() {
126
+ this.dadosPessoa = this.value;
127
+ },
128
+ deep: true,
129
+ },
130
+ dadosPessoa: {
131
+ handler() {
132
+ this.$emit("input", this.dadosPessoa);
133
+ },
134
+ deep: true,
135
+ },
136
+ },
137
+ };
138
+ </script>
@@ -0,0 +1,11 @@
1
+ export default class Endereco {
2
+ constructor() {
3
+ this.cep = "";
4
+ this.logradouro = "";
5
+ this.numero = "";
6
+ this.complemento = "";
7
+ this.bairro = "";
8
+ this.cidade = "";
9
+ this.estado = { id: "", conteudo: "" };
10
+ }
11
+ }
@@ -0,0 +1,183 @@
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col xs="12" sm="12" md="12" lg="3" xl="3">
5
+ <Texto
6
+ titulo="CEP"
7
+ campo="cep"
8
+ :formNome="formNome"
9
+ :mascara="'#####-###'"
10
+ :tamanhoMaximo="9"
11
+ v-model="endereco.cep"
12
+ >
13
+ <div class="glyphicon margem-botao">
14
+ <Botao
15
+ chave="buscarCep"
16
+ tipo="sucesso"
17
+ classeIcone="fas fa-search"
18
+ tamanho="pequeno"
19
+ :desabilitado="endereco.cep.length < 9"
20
+ :clique="buscarCep"
21
+ /></div
22
+ ></Texto>
23
+ </b-col>
24
+ <b-col xs="12" sm="12" md="12" lg="5" xl="5">
25
+ <Texto
26
+ titulo="Endereço"
27
+ campo="logradouro"
28
+ :formNome="formNome"
29
+ :tamanhoMaximo="150"
30
+ v-model="endereco.logradouro"
31
+ />
32
+ </b-col>
33
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2">
34
+ <Texto
35
+ titulo="Número"
36
+ campo="numero"
37
+ :formNome="formNome"
38
+ :tamanhoMaximo="20"
39
+ v-model="endereco.numero"
40
+ />
41
+ </b-col>
42
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2">
43
+ <Texto
44
+ titulo="Complemento"
45
+ campo="complemento"
46
+ :formNome="formNome"
47
+ :tamanhoMaximo="50"
48
+ v-model="endereco.complemento"
49
+ />
50
+ </b-col>
51
+ <br />
52
+ </b-row>
53
+ <b-row>
54
+ <b-col xs="12" sm="12" md="12" lg="5" xl="5">
55
+ <Texto
56
+ titulo="Bairro"
57
+ campo="bairro"
58
+ :formNome="formNome"
59
+ :tamanhoMaximo="100"
60
+ v-model="endereco.bairro"
61
+ /> </b-col
62
+ ><b-col xs="12" sm="12" md="12" lg="5" xl="5">
63
+ <Texto
64
+ titulo="Cidade"
65
+ campo="cidade"
66
+ :formNome="formNome"
67
+ :tamanhoMaximo="100"
68
+ v-model="endereco.cidade"
69
+ />
70
+ </b-col>
71
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2">
72
+ <EscolherEstatico
73
+ titulo="UF"
74
+ campoAlvo="uf"
75
+ v-model="endereco.estado"
76
+ :dados="estados"
77
+ /> </b-col
78
+ ></b-row>
79
+ </div>
80
+ </template>
81
+
82
+ <script>
83
+ import Botao from "@nixweb/nixloc-ui/src/component/forms/Botao";
84
+ import Texto from "@nixweb/nixloc-ui/src/component/forms/Texto";
85
+ import Opcoes from "@nixweb/nixloc-ui/src/component/forms/Opcoes";
86
+ import EscolherEstatico from "@nixweb/nixloc-ui/src/component/forms/EscolherEstatico";
87
+
88
+ import Endereco from "@nixweb/nixloc-ui/src/component/value-objects/Endereco.js";
89
+
90
+ import { mapGetters, mapMutations } from "vuex";
91
+
92
+ export default {
93
+ name: "Endereco",
94
+ props: {
95
+ formNome: String,
96
+ value: Object,
97
+ },
98
+ components: { Opcoes, Texto, Botao, EscolherEstatico },
99
+
100
+ data() {
101
+ return {
102
+ endereco: new Endereco(),
103
+ 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" },
131
+ ],
132
+ };
133
+ },
134
+ computed: {
135
+ ...mapGetters("generic", ["evento"]),
136
+ },
137
+ methods: {
138
+ ...mapMutations("generic", ["insereEvento", "insereNotificacao", "removeCarregando"]),
139
+ buscarCep() {
140
+ let cep = this.endereco.cep.replace(/\.|\-/g, "");
141
+ let url = `https://viacep.com.br/ws/${cep}/json/`;
142
+ this.$http.get(url).then((response) => {
143
+ let self = this;
144
+ setTimeout(function () {
145
+ self.carregaDados(response.data);
146
+ self.removeCarregando(["buscarCep"]);
147
+ }, 300);
148
+ });
149
+ },
150
+ carregaDados(dados) {
151
+ this.endereco.cep = dados.cep;
152
+ this.endereco.logradouro = dados.logradouro;
153
+ this.endereco.numero = dados.complemento;
154
+ this.endereco.bairro = dados.bairro;
155
+ this.endereco.cidade =
156
+ dados.localidade == undefined ? dados.municipio : dados.localidade;
157
+ this.endereco.estado = { id: dados.uf, conteudo: dados.uf };
158
+ },
159
+ },
160
+ watch: {
161
+ value: {
162
+ handler() {
163
+ this.endereco = this.value;
164
+ },
165
+ deep: true,
166
+ },
167
+ endereco: {
168
+ handler() {
169
+ this.$emit("input", this.endereco);
170
+ },
171
+ deep: true,
172
+ },
173
+ evento: {
174
+ handler(evento) {
175
+ if (evento.nome == "buscarCnpjReceita") {
176
+ this.carregaDados(evento.dados);
177
+ }
178
+ },
179
+ deep: true,
180
+ },
181
+ },
182
+ };
183
+ </script>
@@ -6,9 +6,6 @@ import Token from "@nixweb/nixloc-ui/src/config/token";
6
6
  export default {
7
7
  namespaced: true,
8
8
  state: {
9
- menu: {
10
- itens: []
11
- },
12
9
  modal: {
13
10
  nome: undefined,
14
11
  abrir: false
@@ -69,14 +66,6 @@ export default {
69
66
  },
70
67
  },
71
68
  mutations: {
72
- insereItemMenu: (state, itens) => {
73
- itens.forEach(function (obj) {
74
- state.menu.itens.push(obj);
75
- });
76
- },
77
- removeItensMenu: (state) => {
78
- state.menu.itens = [];
79
- },
80
69
  abrirModal: (state, nome) => {
81
70
  state.modal.nome = nome;
82
71
  state.modal.abrir = true;
@@ -187,7 +176,12 @@ export default {
187
176
  return response.data;
188
177
  }
189
178
  }, (err) => {
190
- context.commit('insereNotificacaoErroApi');
179
+ if (err.response)
180
+ if (err.response.status === 403)
181
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
182
+
183
+ if (!err.response)
184
+ context.commit('insereNotificacaoErroApi');
191
185
  return false;
192
186
  })
193
187
  },
@@ -212,7 +206,13 @@ export default {
212
206
  return response.data;
213
207
  }
214
208
  }, (err) => {
215
- context.commit('insereNotificacaoErroApi');
209
+ if (err.response)
210
+ if (err.response.status === 403)
211
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
212
+
213
+ if (!err.response)
214
+ context.commit('insereNotificacaoErroApi');
215
+
216
216
  return false;
217
217
  })
218
218
  },
@@ -261,7 +261,12 @@ export default {
261
261
  }
262
262
 
263
263
  }, (err) => {
264
- context.commit('insereNotificacaoErroApi');
264
+ if (err.response)
265
+ if (err.response.status === 403)
266
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
267
+
268
+ if (!err.response)
269
+ context.commit('insereNotificacaoErroApi');
265
270
  return false;
266
271
  })
267
272
  },
@@ -286,7 +291,12 @@ export default {
286
291
  }
287
292
 
288
293
  }, (err) => {
289
- context.commit('insereNotificacaoErroApi');
294
+ if (err.response)
295
+ if (err.response.status === 403)
296
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
297
+
298
+ if (!err.response)
299
+ context.commit('insereNotificacaoErroApi');
290
300
  return false;
291
301
  })
292
302
  },
@@ -331,7 +341,12 @@ export default {
331
341
  return response.data;
332
342
  }
333
343
  }, (err) => {
334
- context.commit('insereNotificacaoErroApi');
344
+ if (err.response)
345
+ if (err.response.status === 403)
346
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
347
+
348
+ if (!err.response)
349
+ context.commit('insereNotificacaoErroApi');
335
350
  return false;
336
351
  })
337
352
  },
@@ -351,7 +366,12 @@ export default {
351
366
  return response.data;
352
367
  }
353
368
  }, (err) => {
354
- context.commit('insereNotificacaoErroApi');
369
+ if (err.response)
370
+ if (err.response.status === 403)
371
+ context.commit('insereNotificacao', [{ mensagem: "Usuário não autorizado!" }])
372
+
373
+ if (!err.response)
374
+ context.commit('insereNotificacaoErroApi');
355
375
  return false;
356
376
  })
357
377
  },
@@ -0,0 +1,22 @@
1
+ export default {
2
+ namespaced: true,
3
+ state: {
4
+ usuarioLogado: {},
5
+ menu: {
6
+ itens: []
7
+ },
8
+ },
9
+ mutations: {
10
+ insereUsuarioLogado: (state, obj) => {
11
+ state.usuarioLogado = obj;
12
+ },
13
+ insereItemMenu: (state, itens) => {
14
+ itens.forEach(function (obj) {
15
+ state.menu.itens.push(obj);
16
+ });
17
+ },
18
+ removeItensMenu: (state) => {
19
+ state.menu.itens = [];
20
+ },
21
+ },
22
+ }
@@ -1,6 +1,7 @@
1
1
  import Vue from 'vue';
2
2
  import Vuex from 'vuex';
3
3
 
4
+ import usuario from './modulos/usuario'
4
5
  import generic from './modulos/generic'
5
6
  import validation from './modulos/validation'
6
7
 
@@ -8,6 +9,6 @@ Vue.use(Vuex)
8
9
 
9
10
  export default new Vuex.Store({
10
11
  modules: {
11
- generic, validation
12
+ generic, validation, usuario
12
13
  }
13
14
  })