@nixweb/nixloc-ui 0.0.57 → 0.0.58

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.58",
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>
@@ -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.dadosPessoa = 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>