oxpi-nglib 1.0.21 → 1.0.24
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/esm2020/lib/cadastros/clientes/clientes/clientes-form.component.mjs +18 -0
- package/esm2020/lib/cadastros/clientes/clientes/clientes.component.mjs +165 -0
- package/esm2020/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs +73 -0
- package/esm2020/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs +71 -0
- package/esm2020/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.mjs +108 -0
- package/esm2020/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.mjs +19 -0
- package/esm2020/lib/cadastros/fornecedores/fornecedores/fornecedores.component.mjs +165 -0
- package/esm2020/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.mjs +73 -0
- package/esm2020/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.mjs +71 -0
- package/esm2020/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.mjs +108 -0
- package/esm2020/lib/models/entidades/pessoa.mjs +9 -0
- package/esm2020/lib/models/settings/produto-search-setting.mjs +2 -2
- package/esm2020/lib/oxpi-nglib.module.mjs +33 -3
- package/esm2020/lib/providers/common-web-service.mjs +47 -1
- package/esm2020/public-api.mjs +12 -1
- package/fesm2015/oxpi-nglib.mjs +816 -5
- package/fesm2015/oxpi-nglib.mjs.map +1 -1
- package/fesm2020/oxpi-nglib.mjs +808 -5
- package/fesm2020/oxpi-nglib.mjs.map +1 -1
- package/lib/cadastros/clientes/clientes/clientes-form.component.d.ts +10 -0
- package/lib/cadastros/clientes/clientes/clientes.component.d.ts +36 -0
- package/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.d.ts +35 -0
- package/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.d.ts +10 -0
- package/lib/cadastros/fornecedores/fornecedores/fornecedores.component.d.ts +36 -0
- package/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.d.ts +35 -0
- package/lib/models/entidades/pessoa.d.ts +29 -0
- package/lib/oxpi-nglib.module.d.ts +20 -10
- package/lib/providers/common-web-service.d.ts +15 -1
- package/package.json +1 -1
- package/public-api.d.ts +11 -0
package/fesm2020/oxpi-nglib.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, EventEmitter, Component, Input, Inject, Output, HostListener, Pipe, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, Component, Input, Inject, Output, HostListener, Optional, Pipe, NgModule } from '@angular/core';
|
|
3
3
|
import * as i3 from '@angular/material/dialog';
|
|
4
4
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
@@ -132,6 +132,7 @@ class CommonWebService {
|
|
|
132
132
|
this.http = http;
|
|
133
133
|
this.ROOT_URL = '';
|
|
134
134
|
this.GERENCIAL_URL = '';
|
|
135
|
+
this.FINANCAS_URL = '';
|
|
135
136
|
this.FUNCIONARIO_BASE_URL = '';
|
|
136
137
|
this.FUNCIONARIO_CARGO_BASE_URL = '';
|
|
137
138
|
this.token = '';
|
|
@@ -143,6 +144,8 @@ class CommonWebService {
|
|
|
143
144
|
this.MEDIA_BASE_URL = '';
|
|
144
145
|
this.MEDIA_PRODUTO_IMAGEM_URL = '';
|
|
145
146
|
this.PRODUTO_COMPOSICAO_BASE_URL = '';
|
|
147
|
+
this.FORNECEDOR_BASE_URL = '';
|
|
148
|
+
this.CLIENTE_BASE_URL = '';
|
|
146
149
|
}
|
|
147
150
|
setToken(token) {
|
|
148
151
|
this.token = token;
|
|
@@ -158,8 +161,11 @@ class CommonWebService {
|
|
|
158
161
|
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = rootUrl + "ProdutoCategoriaCardapio/";
|
|
159
162
|
this.ESTOQUE_URL = rootUrl + 'Estoque/';
|
|
160
163
|
this.GERENCIAL_URL = rootUrl + 'Gerencial/';
|
|
164
|
+
this.FINANCAS_URL = rootUrl + 'Financas/';
|
|
161
165
|
this.MEDIA_BASE_URL = this.GERENCIAL_URL + "Media/";
|
|
162
166
|
this.MEDIA_PRODUTO_IMAGEM_URL = this.GERENCIAL_URL + 'GetProdutoImagem/';
|
|
167
|
+
this.FORNECEDOR_BASE_URL = this.FINANCAS_URL + 'Fornecedor/';
|
|
168
|
+
this.CLIENTE_BASE_URL = this.FINANCAS_URL + 'Cliente/';
|
|
163
169
|
}
|
|
164
170
|
getFuncionarios() {
|
|
165
171
|
const url = this.FUNCIONARIO_BASE_URL;
|
|
@@ -315,6 +321,46 @@ class CommonWebService {
|
|
|
315
321
|
const url = this.PRODUTO_COMPOSICAO_BASE_URL + id;
|
|
316
322
|
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
317
323
|
}
|
|
324
|
+
buscaCliente(setting) {
|
|
325
|
+
const url = this.CLIENTE_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
326
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
327
|
+
}
|
|
328
|
+
getAllCliente() {
|
|
329
|
+
const url = this.CLIENTE_BASE_URL;
|
|
330
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
331
|
+
}
|
|
332
|
+
saveCliente(s) {
|
|
333
|
+
const url = this.CLIENTE_BASE_URL;
|
|
334
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
335
|
+
}
|
|
336
|
+
addCliente(p) {
|
|
337
|
+
const url = this.CLIENTE_BASE_URL;
|
|
338
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
339
|
+
}
|
|
340
|
+
deleteCliente(id) {
|
|
341
|
+
const url = this.CLIENTE_BASE_URL + id;
|
|
342
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
343
|
+
}
|
|
344
|
+
buscaFornecedor(setting) {
|
|
345
|
+
const url = this.FORNECEDOR_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
346
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
347
|
+
}
|
|
348
|
+
getAllFornecedor() {
|
|
349
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
350
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
351
|
+
}
|
|
352
|
+
saveFornecedor(s) {
|
|
353
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
354
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
355
|
+
}
|
|
356
|
+
addFornecedor(p) {
|
|
357
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
358
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
359
|
+
}
|
|
360
|
+
deleteFornecedor(id) {
|
|
361
|
+
const url = this.FORNECEDOR_BASE_URL + id;
|
|
362
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
363
|
+
}
|
|
318
364
|
getHttpOptions(parameters) {
|
|
319
365
|
return {
|
|
320
366
|
headers: new HttpHeaders({
|
|
@@ -2573,7 +2619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
2573
2619
|
class ProdutoSearchSetting extends SearchSetting {
|
|
2574
2620
|
constructor() {
|
|
2575
2621
|
super();
|
|
2576
|
-
this.exibeControladoEstoque =
|
|
2622
|
+
this.exibeControladoEstoque = false;
|
|
2577
2623
|
this.exibeMostraRecepcao = false;
|
|
2578
2624
|
this.exibeImprimeCorredor = false;
|
|
2579
2625
|
this.exibeImprimeCozinha = false;
|
|
@@ -3661,6 +3707,743 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
3661
3707
|
args: [{ selector: 'ox-produtos-subgrupos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Subgrupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Subgrupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Subgrupos de Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um subgrupo no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-grupo-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\">\n </ox-produto-grupo-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}\n"] }]
|
|
3662
3708
|
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
3663
3709
|
|
|
3710
|
+
class ClientesFormComponent {
|
|
3711
|
+
constructor() { }
|
|
3712
|
+
ngOnInit() {
|
|
3713
|
+
}
|
|
3714
|
+
}
|
|
3715
|
+
ClientesFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3716
|
+
ClientesFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ClientesFormComponent, selector: "app-clientes-form", inputs: { model: "model" }, ngImport: i0, template: "<ng-container *ngIf=\"model\">\n <div class=\"form-block\">\n <label>Nome</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n\n <h4 class=\"margin-top-16\">Dados Complementares</h4>\n\n <div class=\"form-group\">\n <label>Nome Fantasia</label>\n <input [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"2\">\n </div>\n <div class=\"form-group\">\n <label>CPF/CNPJ</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-group\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\">\n </div>\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Fax</label>\n <input [(ngModel)]=\"model.fax\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-300\">\n </div>\n\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>IE/RG</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-300\">\n </div>\n</ng-container>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
3717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesFormComponent, decorators: [{
|
|
3718
|
+
type: Component,
|
|
3719
|
+
args: [{ selector: 'app-clientes-form', template: "<ng-container *ngIf=\"model\">\n <div class=\"form-block\">\n <label>Nome</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n\n <h4 class=\"margin-top-16\">Dados Complementares</h4>\n\n <div class=\"form-group\">\n <label>Nome Fantasia</label>\n <input [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"2\">\n </div>\n <div class=\"form-group\">\n <label>CPF/CNPJ</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-group\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\">\n </div>\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Fax</label>\n <input [(ngModel)]=\"model.fax\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-300\">\n </div>\n\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>IE/RG</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-300\">\n </div>\n</ng-container>", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
3720
|
+
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
3721
|
+
type: Input
|
|
3722
|
+
}] } });
|
|
3723
|
+
|
|
3724
|
+
function validaPessoa(item, focus) {
|
|
3725
|
+
if (valTextEmpty(item.nome)) {
|
|
3726
|
+
focus.set('nome');
|
|
3727
|
+
return 'Digite um nome válido.';
|
|
3728
|
+
}
|
|
3729
|
+
return null;
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
class ClientesAddDialogComponent {
|
|
3733
|
+
constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
|
|
3734
|
+
this.ws = ws;
|
|
3735
|
+
this.notification = notification;
|
|
3736
|
+
this.dataDialog = dataDialog;
|
|
3737
|
+
this.dialog = dialog;
|
|
3738
|
+
this.elRef = elRef;
|
|
3739
|
+
this.dialogRef = dialogRef;
|
|
3740
|
+
this.screenHelper = screenHelper;
|
|
3741
|
+
this.isBusy = false;
|
|
3742
|
+
this.focus = new FocusService();
|
|
3743
|
+
this.model = dataDialog ?? {
|
|
3744
|
+
id: 0,
|
|
3745
|
+
nome: '',
|
|
3746
|
+
isAtivo: true
|
|
3747
|
+
};
|
|
3748
|
+
this.mobile = this.screenHelper.isMedium;
|
|
3749
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
3750
|
+
}
|
|
3751
|
+
ngOnInit() {
|
|
3752
|
+
this.focus.registerElement(this.elRef.nativeElement);
|
|
3753
|
+
}
|
|
3754
|
+
ngOnDestroy() {
|
|
3755
|
+
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
3756
|
+
}
|
|
3757
|
+
salvar() {
|
|
3758
|
+
const valMsg = validaPessoa(this.model, this.focus);
|
|
3759
|
+
if (valMsg) {
|
|
3760
|
+
this.notification.showMsgError(valMsg);
|
|
3761
|
+
return;
|
|
3762
|
+
}
|
|
3763
|
+
this.isBusy = true;
|
|
3764
|
+
this.ws.addCliente(this.model)
|
|
3765
|
+
.subscribe({
|
|
3766
|
+
next: r => {
|
|
3767
|
+
this.isBusy = false;
|
|
3768
|
+
this.model.id = r;
|
|
3769
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3770
|
+
this.dialogRef.close(this.model);
|
|
3771
|
+
},
|
|
3772
|
+
error: err => {
|
|
3773
|
+
this.isBusy = false;
|
|
3774
|
+
this.notification.showMsg(err.error);
|
|
3775
|
+
}
|
|
3776
|
+
});
|
|
3777
|
+
}
|
|
3778
|
+
}
|
|
3779
|
+
ClientesAddDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesAddDialogComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: MAT_DIALOG_DATA, optional: true }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3780
|
+
ClientesAddDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ClientesAddDialogComponent, selector: "app-clientes-add-dialog", ngImport: i0, template: "<div class=\"header\">\n <h2 class=\"titulo\">Novo Cliente</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">SALVAR</button>\n <button mat-button [mat-dialog-close] >VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }] });
|
|
3781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesAddDialogComponent, decorators: [{
|
|
3782
|
+
type: Component,
|
|
3783
|
+
args: [{ selector: 'app-clientes-add-dialog', template: "<div class=\"header\">\n <h2 class=\"titulo\">Novo Cliente</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">SALVAR</button>\n <button mat-button [mat-dialog-close] >VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
3784
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: undefined, decorators: [{
|
|
3785
|
+
type: Optional
|
|
3786
|
+
}, {
|
|
3787
|
+
type: Inject,
|
|
3788
|
+
args: [MAT_DIALOG_DATA]
|
|
3789
|
+
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: ScreenHelperService }]; } });
|
|
3790
|
+
|
|
3791
|
+
class ClientesEditDialogComponent {
|
|
3792
|
+
constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
|
|
3793
|
+
this.ws = ws;
|
|
3794
|
+
this.notification = notification;
|
|
3795
|
+
this.dataDialog = dataDialog;
|
|
3796
|
+
this.dialog = dialog;
|
|
3797
|
+
this.elRef = elRef;
|
|
3798
|
+
this.dialogRef = dialogRef;
|
|
3799
|
+
this.screenHelper = screenHelper;
|
|
3800
|
+
this.isBusy = false;
|
|
3801
|
+
this.focus = new FocusService();
|
|
3802
|
+
if (dataDialog) {
|
|
3803
|
+
this.model = dataDialog;
|
|
3804
|
+
}
|
|
3805
|
+
this.mobile = this.screenHelper.isMedium;
|
|
3806
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
3807
|
+
}
|
|
3808
|
+
ngOnInit() {
|
|
3809
|
+
this.focus.registerElement(this.elRef.nativeElement);
|
|
3810
|
+
}
|
|
3811
|
+
ngOnDestroy() {
|
|
3812
|
+
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
3813
|
+
}
|
|
3814
|
+
salvar() {
|
|
3815
|
+
if (!this.model)
|
|
3816
|
+
return;
|
|
3817
|
+
const valMsg = validaPessoa(this.model, this.focus);
|
|
3818
|
+
if (valMsg) {
|
|
3819
|
+
this.notification.showMsgError(valMsg);
|
|
3820
|
+
return;
|
|
3821
|
+
}
|
|
3822
|
+
this.isBusy = true;
|
|
3823
|
+
this.ws.saveCliente(this.model)
|
|
3824
|
+
.subscribe({
|
|
3825
|
+
next: r => {
|
|
3826
|
+
this.isBusy = false;
|
|
3827
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3828
|
+
if (this.dialogRef)
|
|
3829
|
+
this.dialogRef.close(true);
|
|
3830
|
+
},
|
|
3831
|
+
error: err => {
|
|
3832
|
+
this.isBusy = false;
|
|
3833
|
+
this.notification.showMsg(err.error);
|
|
3834
|
+
}
|
|
3835
|
+
});
|
|
3836
|
+
}
|
|
3837
|
+
}
|
|
3838
|
+
ClientesEditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesEditDialogComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: MAT_DIALOG_DATA }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3839
|
+
ClientesEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ClientesEditDialogComponent, selector: "app-clientes-edit-dialog", ngImport: i0, template: "<div class=\"header\">\n <h2 class=\"titulo\">Editando Cliente</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }] });
|
|
3840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesEditDialogComponent, decorators: [{
|
|
3841
|
+
type: Component,
|
|
3842
|
+
args: [{ selector: 'app-clientes-edit-dialog', template: "<div class=\"header\">\n <h2 class=\"titulo\">Editando Cliente</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
3843
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: undefined, decorators: [{
|
|
3844
|
+
type: Inject,
|
|
3845
|
+
args: [MAT_DIALOG_DATA]
|
|
3846
|
+
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: ScreenHelperService }]; } });
|
|
3847
|
+
|
|
3848
|
+
class ClientesComponent {
|
|
3849
|
+
constructor(ws, notification, dialog, auth, screenHelper) {
|
|
3850
|
+
this.ws = ws;
|
|
3851
|
+
this.notification = notification;
|
|
3852
|
+
this.dialog = dialog;
|
|
3853
|
+
this.screenHelper = screenHelper;
|
|
3854
|
+
this.isBusy = false;
|
|
3855
|
+
this.items = [];
|
|
3856
|
+
this.selectedItem = null;
|
|
3857
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
3858
|
+
this.setting = new SearchSetting();
|
|
3859
|
+
this.focus = new FocusService();
|
|
3860
|
+
this.allowAdd = auth.permissoes.financasClienteAdd;
|
|
3861
|
+
this.allowExcluir = auth.permissoes.financasClienteDelete;
|
|
3862
|
+
this.mobile = this.screenHelper.isMedium;
|
|
3863
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
3864
|
+
}
|
|
3865
|
+
ngOnInit() {
|
|
3866
|
+
this.setting.ordem = "nome";
|
|
3867
|
+
this.atualiza();
|
|
3868
|
+
}
|
|
3869
|
+
onSelectItem() {
|
|
3870
|
+
if (!this.focus.hasInit()) {
|
|
3871
|
+
setTimeout(() => {
|
|
3872
|
+
this.focus.registerElementById("form-column");
|
|
3873
|
+
this.focus.setFirst();
|
|
3874
|
+
}, 500);
|
|
3875
|
+
//this._focus.registerElementById("form-column");
|
|
3876
|
+
}
|
|
3877
|
+
else {
|
|
3878
|
+
this.focus.setFirst();
|
|
3879
|
+
}
|
|
3880
|
+
}
|
|
3881
|
+
ngOnDestroy() {
|
|
3882
|
+
this.focus.unregisterElementById("form-column");
|
|
3883
|
+
}
|
|
3884
|
+
atualiza() {
|
|
3885
|
+
this.isBusy = true;
|
|
3886
|
+
this.ws.buscaCliente(this.setting)
|
|
3887
|
+
.subscribe({
|
|
3888
|
+
next: r => {
|
|
3889
|
+
this.items = r;
|
|
3890
|
+
this.selectedItem = null;
|
|
3891
|
+
console.info(r);
|
|
3892
|
+
this.isBusy = false;
|
|
3893
|
+
}, error: err => {
|
|
3894
|
+
this.isBusy = false;
|
|
3895
|
+
this.notification.showHttpError(err);
|
|
3896
|
+
}
|
|
3897
|
+
});
|
|
3898
|
+
}
|
|
3899
|
+
excluir() {
|
|
3900
|
+
const item = this.selectedItem;
|
|
3901
|
+
if (!item)
|
|
3902
|
+
return;
|
|
3903
|
+
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do cliente ${item.nome}?`, () => {
|
|
3904
|
+
this.isBusy = true;
|
|
3905
|
+
this.ws.deleteCliente(item.id)
|
|
3906
|
+
.subscribe({
|
|
3907
|
+
next: r => {
|
|
3908
|
+
this.notification.showMsg("O cliente foi excluído com sucesso.");
|
|
3909
|
+
this.items.remove(item);
|
|
3910
|
+
this.selectedItem = null;
|
|
3911
|
+
this.isBusy = false;
|
|
3912
|
+
},
|
|
3913
|
+
error: err => {
|
|
3914
|
+
this.isBusy = false;
|
|
3915
|
+
this.notification.showMsg(err.error);
|
|
3916
|
+
}
|
|
3917
|
+
});
|
|
3918
|
+
});
|
|
3919
|
+
}
|
|
3920
|
+
novo() {
|
|
3921
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
3922
|
+
let width = 550 + 'px';
|
|
3923
|
+
if (this.mobile) {
|
|
3924
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
3925
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
3926
|
+
}
|
|
3927
|
+
const dialog = this.dialog.open(ClientesAddDialogComponent, {
|
|
3928
|
+
width: width,
|
|
3929
|
+
height: height,
|
|
3930
|
+
maxWidth: '100%',
|
|
3931
|
+
panelClass: 'dialog-p0',
|
|
3932
|
+
});
|
|
3933
|
+
dialog.afterClosed().subscribe(result => {
|
|
3934
|
+
if (result === undefined)
|
|
3935
|
+
return;
|
|
3936
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3937
|
+
this.atualiza();
|
|
3938
|
+
});
|
|
3939
|
+
}
|
|
3940
|
+
abreCadastro(item) {
|
|
3941
|
+
let height = undefined;
|
|
3942
|
+
let width = 550 + 'px';
|
|
3943
|
+
if (this.mobile) {
|
|
3944
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
3945
|
+
height = (window.innerHeight * 0.99) + 'px';
|
|
3946
|
+
}
|
|
3947
|
+
const dialog = this.dialog.open(ClientesEditDialogComponent, {
|
|
3948
|
+
data: item,
|
|
3949
|
+
width: width,
|
|
3950
|
+
height: height,
|
|
3951
|
+
maxWidth: '100%',
|
|
3952
|
+
panelClass: 'dialog-p0',
|
|
3953
|
+
});
|
|
3954
|
+
dialog.afterClosed().subscribe(result => {
|
|
3955
|
+
if (result !== true)
|
|
3956
|
+
return;
|
|
3957
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3958
|
+
this.atualiza();
|
|
3959
|
+
});
|
|
3960
|
+
}
|
|
3961
|
+
salvar() {
|
|
3962
|
+
const item = this.selectedItem;
|
|
3963
|
+
if (!item)
|
|
3964
|
+
return;
|
|
3965
|
+
const valMsg = validaPessoa(item, this.focus);
|
|
3966
|
+
if (valMsg) {
|
|
3967
|
+
this.notification.showMsgError(valMsg);
|
|
3968
|
+
return;
|
|
3969
|
+
}
|
|
3970
|
+
this.isBusy = true;
|
|
3971
|
+
this.ws.saveCliente(item)
|
|
3972
|
+
.subscribe({
|
|
3973
|
+
next: r => {
|
|
3974
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3975
|
+
this.isBusy = false;
|
|
3976
|
+
},
|
|
3977
|
+
error: err => {
|
|
3978
|
+
this.isBusy = false;
|
|
3979
|
+
this.notification.showMsg(err.error);
|
|
3980
|
+
}
|
|
3981
|
+
});
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3984
|
+
ClientesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3985
|
+
ClientesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ClientesComponent, selector: "app-clientes", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Clientes</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um cliente no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-clientes-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-clientes-form>\n </div>\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
|
|
3986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ClientesComponent, decorators: [{
|
|
3987
|
+
type: Component,
|
|
3988
|
+
args: [{ selector: 'app-clientes', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Clientes</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um cliente no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-clientes-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-clientes-form>\n </div>\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fafafa}\n"] }]
|
|
3989
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
3990
|
+
|
|
3991
|
+
class SelecaoClienteDialogComponent {
|
|
3992
|
+
constructor(dialogRef, ws, notification, dialog, auth, screenHelper) {
|
|
3993
|
+
this.dialogRef = dialogRef;
|
|
3994
|
+
this.ws = ws;
|
|
3995
|
+
this.notification = notification;
|
|
3996
|
+
this.dialog = dialog;
|
|
3997
|
+
this.screenHelper = screenHelper;
|
|
3998
|
+
this.items = [];
|
|
3999
|
+
this.selectedItem = null;
|
|
4000
|
+
this.isBusy = false;
|
|
4001
|
+
this.setting = new SearchSetting();
|
|
4002
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
4003
|
+
this.nav = new NavegacaoSelecaoDialogUtil(this);
|
|
4004
|
+
this.mobile = this.screenHelper.isMedium;
|
|
4005
|
+
this.allowAdd = auth.permissoes.financasClienteAdd;
|
|
4006
|
+
this.allowEdit = auth.permissoes.financasClientePesquisa;
|
|
4007
|
+
}
|
|
4008
|
+
ngOnInit() {
|
|
4009
|
+
this.setting.ordem = "nome";
|
|
4010
|
+
this.atualiza();
|
|
4011
|
+
}
|
|
4012
|
+
atualiza() {
|
|
4013
|
+
this.isBusy = true;
|
|
4014
|
+
this.ws.buscaCliente(this.setting)
|
|
4015
|
+
.subscribe({
|
|
4016
|
+
next: r => {
|
|
4017
|
+
this.isBusy = false;
|
|
4018
|
+
this.items = r;
|
|
4019
|
+
console.info(r);
|
|
4020
|
+
},
|
|
4021
|
+
error: err => {
|
|
4022
|
+
this.isBusy = false;
|
|
4023
|
+
this.notification.showHttpError(err);
|
|
4024
|
+
}
|
|
4025
|
+
});
|
|
4026
|
+
}
|
|
4027
|
+
selectItem(i) {
|
|
4028
|
+
if (this.selectedItem === i) {
|
|
4029
|
+
this.dialogRef.close(i);
|
|
4030
|
+
}
|
|
4031
|
+
this.selectedItem = i;
|
|
4032
|
+
}
|
|
4033
|
+
novo() {
|
|
4034
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
4035
|
+
let width = 550 + 'px';
|
|
4036
|
+
if (this.mobile) {
|
|
4037
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4038
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
4039
|
+
}
|
|
4040
|
+
const dialog = this.dialog.open(ClientesAddDialogComponent, {
|
|
4041
|
+
width: width,
|
|
4042
|
+
height: height,
|
|
4043
|
+
maxWidth: '100%',
|
|
4044
|
+
panelClass: 'dialog-p0',
|
|
4045
|
+
});
|
|
4046
|
+
dialog.afterClosed().subscribe(result => {
|
|
4047
|
+
if (result === undefined)
|
|
4048
|
+
return;
|
|
4049
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4050
|
+
this.atualiza();
|
|
4051
|
+
});
|
|
4052
|
+
}
|
|
4053
|
+
editar() {
|
|
4054
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
4055
|
+
let width = 550 + 'px';
|
|
4056
|
+
if (this.mobile) {
|
|
4057
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4058
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
4059
|
+
}
|
|
4060
|
+
const dialog = this.dialog.open(ClientesEditDialogComponent, {
|
|
4061
|
+
width: width,
|
|
4062
|
+
height: height,
|
|
4063
|
+
maxWidth: '100%',
|
|
4064
|
+
panelClass: 'dialog-p0',
|
|
4065
|
+
data: this.selectedItem
|
|
4066
|
+
});
|
|
4067
|
+
dialog.afterClosed().subscribe(result => {
|
|
4068
|
+
if (result === undefined)
|
|
4069
|
+
return;
|
|
4070
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4071
|
+
this.atualiza();
|
|
4072
|
+
});
|
|
4073
|
+
}
|
|
4074
|
+
}
|
|
4075
|
+
SelecaoClienteDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SelecaoClienteDialogComponent, deps: [{ token: i3.MatDialogRef }, { token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4076
|
+
SelecaoClienteDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: SelecaoClienteDialogComponent, selector: "app-selecao-cliente-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Clientes</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button color=\"primary\" mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <div (click)=\"selectItem(i)\" [ngClass]=\"{selected: selectedItem === i}\" class=\"list-item\" *ngFor=\"let i of items\">\n <span>{{i.nome}}</span>\n </div>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n ", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }] });
|
|
4077
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SelecaoClienteDialogComponent, decorators: [{
|
|
4078
|
+
type: Component,
|
|
4079
|
+
args: [{ selector: 'app-selecao-cliente-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Clientes</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button color=\"primary\" mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <div (click)=\"selectItem(i)\" [ngClass]=\"{selected: selectedItem === i}\" class=\"list-item\" *ngFor=\"let i of items\">\n <span>{{i.nome}}</span>\n </div>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n ", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
4080
|
+
}], ctorParameters: function () { return [{ type: i3.MatDialogRef }, { type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
4081
|
+
|
|
4082
|
+
class FornecedoresFormComponent {
|
|
4083
|
+
constructor() {
|
|
4084
|
+
}
|
|
4085
|
+
ngOnInit() {
|
|
4086
|
+
}
|
|
4087
|
+
}
|
|
4088
|
+
FornecedoresFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4089
|
+
FornecedoresFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: { model: "model" }, ngImport: i0, template: "<ng-container *ngIf=\"model\">\n <div class=\"form-block\">\n <label>Nome</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n\n <h4 class=\"margin-top-16\">Dados Complementares</h4>\n\n <div class=\"form-group\">\n <label>Nome Fantasia</label>\n <input [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"2\">\n </div>\n <div class=\"form-group\">\n <label>CPF/CNPJ</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-group\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\">\n </div>\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Fax</label>\n <input [(ngModel)]=\"model.fax\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-300\">\n </div>\n\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>IE/RG</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-300\">\n </div>\n</ng-container>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
4090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresFormComponent, decorators: [{
|
|
4091
|
+
type: Component,
|
|
4092
|
+
args: [{ selector: 'app-fornecedores-form', template: "<ng-container *ngIf=\"model\">\n <div class=\"form-block\">\n <label>Nome</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n\n <h4 class=\"margin-top-16\">Dados Complementares</h4>\n\n <div class=\"form-group\">\n <label>Nome Fantasia</label>\n <input [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"2\">\n </div>\n <div class=\"form-group\">\n <label>CPF/CNPJ</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-group\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\">\n </div>\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Fax</label>\n <input [(ngModel)]=\"model.fax\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-300\">\n </div>\n\n <div class=\"hbox\">\n <div class=\"form-group\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\">\n </div>\n <div class=\"form-group margin-left-16\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-120\">\n </div>\n </div>\n <div class=\"form-group\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-300\">\n </div>\n <div class=\"form-group\">\n <label>IE/RG</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-300\">\n </div>\n</ng-container>", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
4093
|
+
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
4094
|
+
type: Input
|
|
4095
|
+
}] } });
|
|
4096
|
+
|
|
4097
|
+
class FornecedoresAddDialogComponent {
|
|
4098
|
+
constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
|
|
4099
|
+
this.ws = ws;
|
|
4100
|
+
this.notification = notification;
|
|
4101
|
+
this.dataDialog = dataDialog;
|
|
4102
|
+
this.dialog = dialog;
|
|
4103
|
+
this.elRef = elRef;
|
|
4104
|
+
this.dialogRef = dialogRef;
|
|
4105
|
+
this.screenHelper = screenHelper;
|
|
4106
|
+
this.isBusy = false;
|
|
4107
|
+
this.focus = new FocusService();
|
|
4108
|
+
this.model = dataDialog ?? {
|
|
4109
|
+
id: 0,
|
|
4110
|
+
nome: '',
|
|
4111
|
+
isAtivo: true
|
|
4112
|
+
};
|
|
4113
|
+
this.mobile = this.screenHelper.isMedium;
|
|
4114
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
4115
|
+
}
|
|
4116
|
+
ngOnInit() {
|
|
4117
|
+
this.focus.registerElement(this.elRef.nativeElement);
|
|
4118
|
+
}
|
|
4119
|
+
ngOnDestroy() {
|
|
4120
|
+
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
4121
|
+
}
|
|
4122
|
+
salvar() {
|
|
4123
|
+
const valMsg = validaPessoa(this.model, this.focus);
|
|
4124
|
+
if (valMsg) {
|
|
4125
|
+
this.notification.showMsgError(valMsg);
|
|
4126
|
+
return;
|
|
4127
|
+
}
|
|
4128
|
+
this.isBusy = true;
|
|
4129
|
+
this.ws.addFornecedor(this.model)
|
|
4130
|
+
.subscribe({
|
|
4131
|
+
next: r => {
|
|
4132
|
+
this.isBusy = false;
|
|
4133
|
+
this.model.id = r;
|
|
4134
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4135
|
+
this.dialogRef.close(this.model);
|
|
4136
|
+
},
|
|
4137
|
+
error: err => {
|
|
4138
|
+
this.isBusy = false;
|
|
4139
|
+
this.notification.showMsg(err.error);
|
|
4140
|
+
}
|
|
4141
|
+
});
|
|
4142
|
+
}
|
|
4143
|
+
}
|
|
4144
|
+
FornecedoresAddDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresAddDialogComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: MAT_DIALOG_DATA, optional: true }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4145
|
+
FornecedoresAddDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FornecedoresAddDialogComponent, selector: "app-fornecedores-add-dialog", ngImport: i0, template: "<div class=\"header\">\n <h2 class=\"titulo\">Novo Fornecedor</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-fornecedores-form [model]=\"model\" *ngIf=\"model\"></app-fornecedores-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">SALVAR</button>\n <button mat-button [mat-dialog-close] >VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: ["model"] }] });
|
|
4146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresAddDialogComponent, decorators: [{
|
|
4147
|
+
type: Component,
|
|
4148
|
+
args: [{ selector: 'app-fornecedores-add-dialog', template: "<div class=\"header\">\n <h2 class=\"titulo\">Novo Fornecedor</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-fornecedores-form [model]=\"model\" *ngIf=\"model\"></app-fornecedores-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">SALVAR</button>\n <button mat-button [mat-dialog-close] >VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
4149
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: undefined, decorators: [{
|
|
4150
|
+
type: Optional
|
|
4151
|
+
}, {
|
|
4152
|
+
type: Inject,
|
|
4153
|
+
args: [MAT_DIALOG_DATA]
|
|
4154
|
+
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: ScreenHelperService }]; } });
|
|
4155
|
+
|
|
4156
|
+
class FornecedoresEditDialogComponent {
|
|
4157
|
+
constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
|
|
4158
|
+
this.ws = ws;
|
|
4159
|
+
this.notification = notification;
|
|
4160
|
+
this.dataDialog = dataDialog;
|
|
4161
|
+
this.dialog = dialog;
|
|
4162
|
+
this.elRef = elRef;
|
|
4163
|
+
this.dialogRef = dialogRef;
|
|
4164
|
+
this.screenHelper = screenHelper;
|
|
4165
|
+
this.isBusy = false;
|
|
4166
|
+
this.focus = new FocusService();
|
|
4167
|
+
if (dataDialog) {
|
|
4168
|
+
this.model = dataDialog;
|
|
4169
|
+
}
|
|
4170
|
+
this.mobile = this.screenHelper.isMedium;
|
|
4171
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
4172
|
+
}
|
|
4173
|
+
ngOnInit() {
|
|
4174
|
+
this.focus.registerElement(this.elRef.nativeElement);
|
|
4175
|
+
}
|
|
4176
|
+
ngOnDestroy() {
|
|
4177
|
+
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
4178
|
+
}
|
|
4179
|
+
salvar() {
|
|
4180
|
+
if (!this.model)
|
|
4181
|
+
return;
|
|
4182
|
+
const valMsg = validaPessoa(this.model, this.focus);
|
|
4183
|
+
if (valMsg) {
|
|
4184
|
+
this.notification.showMsgError(valMsg);
|
|
4185
|
+
return;
|
|
4186
|
+
}
|
|
4187
|
+
this.isBusy = true;
|
|
4188
|
+
this.ws.saveFornecedor(this.model)
|
|
4189
|
+
.subscribe({
|
|
4190
|
+
next: r => {
|
|
4191
|
+
this.isBusy = false;
|
|
4192
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4193
|
+
if (this.dialogRef)
|
|
4194
|
+
this.dialogRef.close(true);
|
|
4195
|
+
},
|
|
4196
|
+
error: err => {
|
|
4197
|
+
this.isBusy = false;
|
|
4198
|
+
this.notification.showMsg(err.error);
|
|
4199
|
+
}
|
|
4200
|
+
});
|
|
4201
|
+
}
|
|
4202
|
+
}
|
|
4203
|
+
FornecedoresEditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresEditDialogComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: MAT_DIALOG_DATA }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4204
|
+
FornecedoresEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FornecedoresEditDialogComponent, selector: "app-fornecedores-edit-dialog", ngImport: i0, template: "<div class=\"header\">\n <h2 class=\"titulo\">Editando Fornecedor</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-fornecedores-form [model]=\"model\" *ngIf=\"model\"></app-fornecedores-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: ["model"] }] });
|
|
4205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresEditDialogComponent, decorators: [{
|
|
4206
|
+
type: Component,
|
|
4207
|
+
args: [{ selector: 'app-fornecedores-edit-dialog', template: "<div class=\"header\">\n <h2 class=\"titulo\">Editando Fornecedor</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <app-fornecedores-form [model]=\"model\" *ngIf=\"model\"></app-fornecedores-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
4208
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: undefined, decorators: [{
|
|
4209
|
+
type: Inject,
|
|
4210
|
+
args: [MAT_DIALOG_DATA]
|
|
4211
|
+
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: ScreenHelperService }]; } });
|
|
4212
|
+
|
|
4213
|
+
class FornecedoresComponent {
|
|
4214
|
+
constructor(ws, notification, dialog, auth, screenHelper) {
|
|
4215
|
+
this.ws = ws;
|
|
4216
|
+
this.notification = notification;
|
|
4217
|
+
this.dialog = dialog;
|
|
4218
|
+
this.screenHelper = screenHelper;
|
|
4219
|
+
this.isBusy = false;
|
|
4220
|
+
this.items = [];
|
|
4221
|
+
this.selectedItem = null;
|
|
4222
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
4223
|
+
this.setting = new SearchSetting();
|
|
4224
|
+
this.focus = new FocusService();
|
|
4225
|
+
this.allowAdd = auth.permissoes.financasFornecedorAdd;
|
|
4226
|
+
this.allowExcluir = auth.permissoes.financasFornecedorDelete;
|
|
4227
|
+
this.mobile = this.screenHelper.isMedium;
|
|
4228
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
4229
|
+
}
|
|
4230
|
+
ngOnInit() {
|
|
4231
|
+
this.setting.ordem = "nome";
|
|
4232
|
+
this.atualiza();
|
|
4233
|
+
}
|
|
4234
|
+
onSelectItem() {
|
|
4235
|
+
if (!this.focus.hasInit()) {
|
|
4236
|
+
setTimeout(() => {
|
|
4237
|
+
this.focus.registerElementById("form-column");
|
|
4238
|
+
this.focus.setFirst();
|
|
4239
|
+
}, 500);
|
|
4240
|
+
//this._focus.registerElementById("form-column");
|
|
4241
|
+
}
|
|
4242
|
+
else {
|
|
4243
|
+
this.focus.setFirst();
|
|
4244
|
+
}
|
|
4245
|
+
}
|
|
4246
|
+
ngOnDestroy() {
|
|
4247
|
+
this.focus.unregisterElementById("form-column");
|
|
4248
|
+
}
|
|
4249
|
+
atualiza() {
|
|
4250
|
+
this.isBusy = true;
|
|
4251
|
+
this.ws.buscaFornecedor(this.setting)
|
|
4252
|
+
.subscribe({
|
|
4253
|
+
next: r => {
|
|
4254
|
+
this.items = r;
|
|
4255
|
+
this.selectedItem = null;
|
|
4256
|
+
console.info(r);
|
|
4257
|
+
this.isBusy = false;
|
|
4258
|
+
}, error: err => {
|
|
4259
|
+
this.isBusy = false;
|
|
4260
|
+
this.notification.showHttpError(err);
|
|
4261
|
+
}
|
|
4262
|
+
});
|
|
4263
|
+
}
|
|
4264
|
+
excluir() {
|
|
4265
|
+
const item = this.selectedItem;
|
|
4266
|
+
if (!item)
|
|
4267
|
+
return;
|
|
4268
|
+
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do fornecedor ${item.nome}?`, () => {
|
|
4269
|
+
this.isBusy = true;
|
|
4270
|
+
this.ws.deleteFornecedor(item.id)
|
|
4271
|
+
.subscribe({
|
|
4272
|
+
next: r => {
|
|
4273
|
+
this.notification.showMsg("O fornecedor foi excluído com sucesso.");
|
|
4274
|
+
this.items.remove(item);
|
|
4275
|
+
this.selectedItem = null;
|
|
4276
|
+
this.isBusy = false;
|
|
4277
|
+
},
|
|
4278
|
+
error: err => {
|
|
4279
|
+
this.isBusy = false;
|
|
4280
|
+
this.notification.showMsg(err.error);
|
|
4281
|
+
}
|
|
4282
|
+
});
|
|
4283
|
+
});
|
|
4284
|
+
}
|
|
4285
|
+
novo() {
|
|
4286
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
4287
|
+
let width = 550 + 'px';
|
|
4288
|
+
if (this.mobile) {
|
|
4289
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4290
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
4291
|
+
}
|
|
4292
|
+
const dialog = this.dialog.open(FornecedoresAddDialogComponent, {
|
|
4293
|
+
width: width,
|
|
4294
|
+
height: height,
|
|
4295
|
+
maxWidth: '100%',
|
|
4296
|
+
panelClass: 'dialog-p0',
|
|
4297
|
+
});
|
|
4298
|
+
dialog.afterClosed().subscribe(result => {
|
|
4299
|
+
if (result === undefined)
|
|
4300
|
+
return;
|
|
4301
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4302
|
+
this.atualiza();
|
|
4303
|
+
});
|
|
4304
|
+
}
|
|
4305
|
+
abreCadastro(item) {
|
|
4306
|
+
let height = undefined;
|
|
4307
|
+
let width = 550 + 'px';
|
|
4308
|
+
if (this.mobile) {
|
|
4309
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4310
|
+
height = (window.innerHeight * 0.99) + 'px';
|
|
4311
|
+
}
|
|
4312
|
+
const dialog = this.dialog.open(FornecedoresEditDialogComponent, {
|
|
4313
|
+
data: item,
|
|
4314
|
+
width: width,
|
|
4315
|
+
height: height,
|
|
4316
|
+
maxWidth: '100%',
|
|
4317
|
+
panelClass: 'dialog-p0',
|
|
4318
|
+
});
|
|
4319
|
+
dialog.afterClosed().subscribe(result => {
|
|
4320
|
+
if (result !== true)
|
|
4321
|
+
return;
|
|
4322
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4323
|
+
this.atualiza();
|
|
4324
|
+
});
|
|
4325
|
+
}
|
|
4326
|
+
salvar() {
|
|
4327
|
+
const item = this.selectedItem;
|
|
4328
|
+
if (!item)
|
|
4329
|
+
return;
|
|
4330
|
+
const valMsg = validaPessoa(item, this.focus);
|
|
4331
|
+
if (valMsg) {
|
|
4332
|
+
this.notification.showMsgError(valMsg);
|
|
4333
|
+
return;
|
|
4334
|
+
}
|
|
4335
|
+
this.isBusy = true;
|
|
4336
|
+
this.ws.saveFornecedor(item)
|
|
4337
|
+
.subscribe({
|
|
4338
|
+
next: r => {
|
|
4339
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4340
|
+
this.isBusy = false;
|
|
4341
|
+
},
|
|
4342
|
+
error: err => {
|
|
4343
|
+
this.isBusy = false;
|
|
4344
|
+
this.notification.showMsg(err.error);
|
|
4345
|
+
}
|
|
4346
|
+
});
|
|
4347
|
+
}
|
|
4348
|
+
}
|
|
4349
|
+
FornecedoresComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4350
|
+
FornecedoresComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FornecedoresComponent, selector: "app-fornecedores", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Fornecedores</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-fornecedores-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-fornecedores-form>\n </div>\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: FornecedoresFormComponent, selector: "app-fornecedores-form", inputs: ["model"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
|
|
4351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FornecedoresComponent, decorators: [{
|
|
4352
|
+
type: Component,
|
|
4353
|
+
args: [{ selector: 'app-fornecedores', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Fornecedores</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\"\n (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um fornecedor no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-fornecedores-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-fornecedores-form>\n </div>\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fafafa}\n"] }]
|
|
4354
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
4355
|
+
|
|
4356
|
+
class SelecaoFornecedorDialogComponent {
|
|
4357
|
+
constructor(dialogRef, ws, notification, dialog, auth, screenHelper) {
|
|
4358
|
+
this.dialogRef = dialogRef;
|
|
4359
|
+
this.ws = ws;
|
|
4360
|
+
this.notification = notification;
|
|
4361
|
+
this.dialog = dialog;
|
|
4362
|
+
this.screenHelper = screenHelper;
|
|
4363
|
+
this.items = [];
|
|
4364
|
+
this.selectedItem = null;
|
|
4365
|
+
this.isBusy = false;
|
|
4366
|
+
this.setting = new SearchSetting();
|
|
4367
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
4368
|
+
this.nav = new NavegacaoSelecaoDialogUtil(this);
|
|
4369
|
+
this.mobile = this.screenHelper.isMedium;
|
|
4370
|
+
this.allowAdd = auth.permissoes.financasClienteAdd;
|
|
4371
|
+
this.allowEdit = auth.permissoes.financasClientePesquisa;
|
|
4372
|
+
}
|
|
4373
|
+
ngOnInit() {
|
|
4374
|
+
this.setting.ordem = "nome";
|
|
4375
|
+
this.atualiza();
|
|
4376
|
+
}
|
|
4377
|
+
atualiza() {
|
|
4378
|
+
this.isBusy = true;
|
|
4379
|
+
this.ws.buscaFornecedor(this.setting)
|
|
4380
|
+
.subscribe({
|
|
4381
|
+
next: r => {
|
|
4382
|
+
this.isBusy = false;
|
|
4383
|
+
this.items = r;
|
|
4384
|
+
console.info(r);
|
|
4385
|
+
},
|
|
4386
|
+
error: err => {
|
|
4387
|
+
this.isBusy = false;
|
|
4388
|
+
this.notification.showHttpError(err);
|
|
4389
|
+
}
|
|
4390
|
+
});
|
|
4391
|
+
}
|
|
4392
|
+
selectItem(i) {
|
|
4393
|
+
if (this.selectedItem === i) {
|
|
4394
|
+
this.dialogRef.close(i);
|
|
4395
|
+
}
|
|
4396
|
+
this.selectedItem = i;
|
|
4397
|
+
}
|
|
4398
|
+
novo() {
|
|
4399
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
4400
|
+
let width = 550 + 'px';
|
|
4401
|
+
if (this.mobile) {
|
|
4402
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4403
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
4404
|
+
}
|
|
4405
|
+
const dialog = this.dialog.open(FornecedoresAddDialogComponent, {
|
|
4406
|
+
width: width,
|
|
4407
|
+
height: height,
|
|
4408
|
+
maxWidth: '100%',
|
|
4409
|
+
panelClass: 'dialog-p0',
|
|
4410
|
+
});
|
|
4411
|
+
dialog.afterClosed().subscribe(result => {
|
|
4412
|
+
if (result === undefined)
|
|
4413
|
+
return;
|
|
4414
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4415
|
+
this.atualiza();
|
|
4416
|
+
});
|
|
4417
|
+
}
|
|
4418
|
+
editar() {
|
|
4419
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
4420
|
+
let width = 550 + 'px';
|
|
4421
|
+
if (this.mobile) {
|
|
4422
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
4423
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
4424
|
+
}
|
|
4425
|
+
const dialog = this.dialog.open(FornecedoresEditDialogComponent, {
|
|
4426
|
+
width: width,
|
|
4427
|
+
height: height,
|
|
4428
|
+
maxWidth: '100%',
|
|
4429
|
+
panelClass: 'dialog-p0',
|
|
4430
|
+
data: this.selectedItem
|
|
4431
|
+
});
|
|
4432
|
+
dialog.afterClosed().subscribe(result => {
|
|
4433
|
+
if (result === undefined)
|
|
4434
|
+
return;
|
|
4435
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
4436
|
+
this.atualiza();
|
|
4437
|
+
});
|
|
4438
|
+
}
|
|
4439
|
+
}
|
|
4440
|
+
SelecaoFornecedorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SelecaoFornecedorDialogComponent, deps: [{ token: i3.MatDialogRef }, { token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4441
|
+
SelecaoFornecedorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: SelecaoFornecedorDialogComponent, selector: "app-selecao-fornecedor-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Fornecedores</h2>\n</div>\n<div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button color=\"primary\" mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"dialog-content\">\n <div (click)=\"selectItem(i)\" [ngClass]=\"{selected: selectedItem === i}\" class=\"list-item\" *ngFor=\"let i of items\">\n <span>{{i.nome}}</span>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }] });
|
|
4442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SelecaoFornecedorDialogComponent, decorators: [{
|
|
4443
|
+
type: Component,
|
|
4444
|
+
args: [{ selector: 'app-selecao-fornecedor-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Fornecedores</h2>\n</div>\n<div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button color=\"primary\" mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button color=\"primary\" mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"dialog-content\">\n <div (click)=\"selectItem(i)\" [ngClass]=\"{selected: selectedItem === i}\" class=\"list-item\" *ngFor=\"let i of items\">\n <span>{{i.nome}}</span>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
4445
|
+
}], ctorParameters: function () { return [{ type: i3.MatDialogRef }, { type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
4446
|
+
|
|
3664
4447
|
class ImageViewerComponent {
|
|
3665
4448
|
constructor() {
|
|
3666
4449
|
this.infos = [];
|
|
@@ -4020,7 +4803,17 @@ OxpiNglibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
4020
4803
|
ProdutoCategoriaCardapioSelecaoDialogComponent,
|
|
4021
4804
|
ProdutoComposicaoComponent,
|
|
4022
4805
|
ProdutoComposicaoAddDialogComponent,
|
|
4023
|
-
ProdutoSelecaoDialogComponent
|
|
4806
|
+
ProdutoSelecaoDialogComponent,
|
|
4807
|
+
ClientesFormComponent,
|
|
4808
|
+
ClientesComponent,
|
|
4809
|
+
ClientesAddDialogComponent,
|
|
4810
|
+
ClientesEditDialogComponent,
|
|
4811
|
+
SelecaoClienteDialogComponent,
|
|
4812
|
+
FornecedoresFormComponent,
|
|
4813
|
+
FornecedoresComponent,
|
|
4814
|
+
FornecedoresAddDialogComponent,
|
|
4815
|
+
FornecedoresEditDialogComponent,
|
|
4816
|
+
SelecaoFornecedorDialogComponent], imports: [BrowserModule,
|
|
4024
4817
|
BrowserAnimationsModule,
|
|
4025
4818
|
FormsModule,
|
|
4026
4819
|
MatButtonModule,
|
|
@@ -4086,7 +4879,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
4086
4879
|
ProdutoCategoriaCardapioSelecaoDialogComponent,
|
|
4087
4880
|
ProdutoComposicaoComponent,
|
|
4088
4881
|
ProdutoComposicaoAddDialogComponent,
|
|
4089
|
-
ProdutoSelecaoDialogComponent
|
|
4882
|
+
ProdutoSelecaoDialogComponent,
|
|
4883
|
+
ClientesFormComponent,
|
|
4884
|
+
ClientesComponent,
|
|
4885
|
+
ClientesAddDialogComponent,
|
|
4886
|
+
ClientesEditDialogComponent,
|
|
4887
|
+
SelecaoClienteDialogComponent,
|
|
4888
|
+
FornecedoresFormComponent,
|
|
4889
|
+
FornecedoresComponent,
|
|
4890
|
+
FornecedoresAddDialogComponent,
|
|
4891
|
+
FornecedoresEditDialogComponent,
|
|
4892
|
+
SelecaoFornecedorDialogComponent
|
|
4090
4893
|
],
|
|
4091
4894
|
imports: [
|
|
4092
4895
|
BrowserModule,
|
|
@@ -4318,5 +5121,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
4318
5121
|
* Generated bundle index. Do not edit.
|
|
4319
5122
|
*/
|
|
4320
5123
|
|
|
4321
|
-
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoComposicaoAddDialogComponent, ProdutoComposicaoComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSelecaoDialogComponent, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SuitesIntervencoesSetting, confirmaExclusao, createProduct, fadeAnimation, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validaProduto, validaProdutoComposicao, validaProdutoGrupo, validaSetorEstoque };
|
|
5124
|
+
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, ClientesAddDialogComponent, ClientesComponent, ClientesEditDialogComponent, ClientesFormComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FornecedoresAddDialogComponent, FornecedoresComponent, FornecedoresEditDialogComponent, FornecedoresFormComponent, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoComposicaoAddDialogComponent, ProdutoComposicaoComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSelecaoDialogComponent, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SelecaoClienteDialogComponent, SelecaoFornecedorDialogComponent, SuitesIntervencoesSetting, confirmaExclusao, createProduct, fadeAnimation, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validaPessoa, validaProduto, validaProdutoComposicao, validaProdutoGrupo, validaSetorEstoque };
|
|
4322
5125
|
//# sourceMappingURL=oxpi-nglib.mjs.map
|