{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/@cmcore/component/cmbutton/cmbutton.component.html","./src/app/@cmcore/component/cmcontainer/cmcontainer.component.html","./src/app/@cmcore/component/cmdivider/cmdivider.component.html","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse.component.html","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html","./src/app/@cmcore/component/cmform/cmform-buttons-edit/cmform-buttons-edit.component.html","./src/app/@cmcore/component/cmform/cmform-email/cmform-email.component.html","./src/app/@cmcore/component/cmform/cmform-exec/cmform-exec-default.component.html","./src/app/@cmcore/component/cmform/cmform-globais/cmform-globais.component.html","./src/app/@cmcore/component/cmform/cmform-modal/cmform-modal.component.html","./src/app/@cmcore/component/cmform/cmform-pesquisa/cmform-pesquisa.component.html","./src/app/@cmcore/component/cmform/cmform-relat/cmform-relat-default.component.html","./src/app/@cmcore/component/cmgrid-v2/cmgrid-v2.component.html","./src/app/@cmcore/component/cmgrid/cmgrid-column.component.html","./src/app/@cmcore/component/cmgrid/cmgrid-edit.component.html","./src/app/@cmcore/component/cmgrid/cmgrid.component.html","./src/app/@cmcore/component/cmicone/cmicone.component.html","./src/app/@cmcore/component/cmimage/cmimage.component.html","./src/app/@cmcore/component/cminput/cmcheckbox.component.html","./src/app/@cmcore/component/cminput/cminput.component.html","./src/app/@cmcore/component/cminput/cmmemo.component.html","./src/app/@cmcore/component/cminput/cmselect.component.html","./src/app/@cmcore/component/cmlistcheckbox/cmlistcheckbox.component.html","./src/app/@cmcore/component/cmmenu/cmmenu.component.html","./src/app/@cmcore/component/cmpanel/cmpanel.component.html","./src/app/@cmcore/component/cmrow/cmrow.component.html","./src/app/@cmcore/component/cmtabs/cmtabs.component.html","./src/app/@cmcore/component/cmupload-file/cmupload-file.component.html","./src/app/@cmcore/guard/esqueceu-senha/esqueceu-senha.component.html","./src/app/@cmcore/guard/ips-bloqueados/ips-bloqueados.component.html","./src/app/@cmcore/guard/login-full-screen.component.html","./src/app/@cmcore/guard/login.component.html","./src/app/@cmcore/guard/maxusers/maxusers-confirm.component.html","./src/app/@cmcore/guard/maxusers/maxusers.component.html","./src/app/@cmcore/guard/seguranca/grupo-usuario-edit.component.html","./src/app/@cmcore/guard/seguranca/recurso-edit.component.html","./src/app/@cmcore/guard/seguranca/recurso-help/recurso-help-edit.component.html","./src/app/@cmcore/guard/usuario/usuario-edit.component.html","./src/app/__recursos/ajuste-saldo/ajuste-saldo-component.html","./src/app/__recursos/associado/associado-edit.component.html","./src/app/__recursos/caixa-sat/caixa-sat-edit.component.html","./src/app/__recursos/categoria-conta-contabil/categoria-conta-contabil.component.html","./src/app/__recursos/cest/cest-edit.component.html","./src/app/__recursos/cfe/cfe-edit.component.html","./src/app/__recursos/cfop/cfop-edit.component.html","./src/app/__recursos/cliente/cliente-edit.component.html","./src/app/__recursos/cobranca-baixa-em-lote/cobranca-baixa-em-lote-component.html","./src/app/__recursos/config-geral/config-geral-edit.component.html","./src/app/__recursos/conta-bancaria/conta-bancaria-edit.component.html","./src/app/__recursos/conta-contabil/conta-contabil-edit.component.html","./src/app/__recursos/conta-pagar-receber/conta-pagar-receber-edit.component.html","./src/app/__recursos/conta-pagar/conta-pagar-edit.component.html","./src/app/__recursos/cotacao/acesso-fornecedor/cotacao-acesso-fornecedor-component.html","./src/app/__recursos/cotacao/analise/cotacao-analise-component.html","./src/app/__recursos/cotacao/cotacao-edit.component.html","./src/app/__recursos/cotacao/email/cotacao-email.component.html","./src/app/__recursos/cupom-desconto-relatorios/cupom-desconto-relatorios.component.html","./src/app/__recursos/cupom-desconto/cupom-desconto-edit.component.html","./src/app/__recursos/duplicata-pagar/duplicata-pagar-edit.component.html","./src/app/__recursos/duplicata-receber-relatorios/duplicata-receber-relatorios.component.html","./src/app/__recursos/duplicata-receber/duplicata-receber-edit.component.html","./src/app/__recursos/empresa-associado/empresa-associado-edit.component.html","./src/app/__recursos/empresapreco/empresapreco-edit.component.html","./src/app/__recursos/fechamento-caixa/fechamento-caixa-edit.component.html","./src/app/__recursos/fluxodecaixa/fluxodecaixa-edit.component.html","./src/app/__recursos/footer-page/footer-page.component.html","./src/app/__recursos/formapagamento/formapagamento-edit.component.html","./src/app/__recursos/geracaoarquivocnab/geracaoarquivocnab-component.html","./src/app/__recursos/grade/grade-edit.component.html","./src/app/__recursos/grupodeoperacao/grupodeoperacao-edit.component.html","./src/app/__recursos/grupodeproduto/grupodeproduto-edit.component.html","./src/app/__recursos/home/home-consultas/home-consultas.component.html","./src/app/__recursos/home/home-dashboard/home-dashboard.component.html","./src/app/__recursos/home/home-destaques/home-destaques.component.html","./src/app/__recursos/home/home.component.html","./src/app/__recursos/home2/home2.component.html","./src/app/__recursos/ibpt/ibpt-edit.component.html","./src/app/__recursos/importacoes/importacoes-component.html","./src/app/__recursos/landing-page/landing-page.component.html","./src/app/__recursos/lote-conta-receber/lote-conta-receber-edit.component.html","./src/app/__recursos/marketplace/marketplace-edit.component.html","./src/app/__recursos/menu-lateral/menu-lateral.component.html","./src/app/__recursos/menu-principal/menu-principal.component.html","./src/app/__recursos/minha-conta/minha-conta.component.html","./src/app/__recursos/municipio/municipio-edit.component.html","./src/app/__recursos/necessidade-compra/necessidade-compra-edit.component.html","./src/app/__recursos/nfce-acoes/nfce-acoes.component.html","./src/app/__recursos/nfce/nfce-edit.component.html","./src/app/__recursos/nfe-acoes/nfe-acoes.component.html","./src/app/__recursos/nfe-consignacao-fechamento/nfe-consignacao-fechamento.component.html","./src/app/__recursos/nfe-consignacao-relatorios/nfe-consignacao-relatorios.component.html","./src/app/__recursos/nfe-consignacao/nfe-consignacao-edit.component.html","./src/app/__recursos/nfe-estoque/nfe-estoque-edit.component.html","./src/app/__recursos/nfe-importacao-marketplace/nfe-importacao-marketplace-edit.component.html","./src/app/__recursos/nfe-recebimento-acoes/nfe-recebimento-acoes.component.html","./src/app/__recursos/nfe-recebimento-alterar-data-duplicata/nfe-recebimento-alterar-data-duplicata.component.html","./src/app/__recursos/nfe-recebimento-relatorios/nfe-recebimento-relatorios.component.html","./src/app/__recursos/nfe-recebimento/nfe-recebimento-edit.component.html","./src/app/__recursos/nfe-relatorios/nfe-relatorios.component.html","./src/app/__recursos/nfe-troca-produto/nfe-troca-produto-edit.component.html","./src/app/__recursos/nfe/nfe-edit.component.html","./src/app/__recursos/nfeinutilizacao-acoes/nfeinutilizacao-acoes.component.html","./src/app/__recursos/nfeinutilizacao/nfeinutilizacao-edit.component.html","./src/app/__recursos/orcamento-relatorios/orcamento-relatorios.component.html","./src/app/__recursos/orcamento/orcamento-edit.component.html","./src/app/__recursos/ordem-compra-relatorios/ordem-compra-relatorios.component.html","./src/app/__recursos/ordem-compra/ordem-compra-edit.component.html","./src/app/__recursos/padraodeoperacao/padraodeoperacao-edit.component.html","./src/app/__recursos/prevenda-gerar-saida-estoque/prevenda-gerar-saida-estoque.component.html","./src/app/__recursos/prevenda-relatorios/prevenda-relatorios.component.html","./src/app/__recursos/prevenda/prevenda-edit.component.html","./src/app/__recursos/produto-altera-em-lote/produto-altera-em-lote-component.html","./src/app/__recursos/produto-detalhes-saldo/produto-detalhes-saldo.component.html","./src/app/__recursos/produto-marketplace/produto-marketplace-edit.component.html","./src/app/__recursos/produto-relatorios/produto-relatorios.component.html","./src/app/__recursos/produto/produto-edit.component.html","./src/app/__recursos/promocao/promocao-edit.component.html","./src/app/__recursos/relatorio-customizado/relatorio-customizado-edit.component.html","./src/app/__recursos/relats/boleto/boleto.component.html","./src/app/__recursos/relats/clientes-aniversariantes/clientes-aniversariantes.component.html","./src/app/__recursos/relats/conta-contabil/conta-contabil.component.html","./src/app/__recursos/relats/conta-pagar-receber/conta-pagar-receber.component.html","./src/app/__recursos/relats/conta-pagar/conta-pagar.component.html","./src/app/__recursos/relats/conta-receber/conta-receber.component.html","./src/app/__recursos/relats/dados-assinaturas/dados-assinaturas.component.html","./src/app/__recursos/relats/dre-liquidacao-vertical/dre-liquidacao-vertical.component.html","./src/app/__recursos/relats/emissao-carne/emissao-carne.component.html","./src/app/__recursos/relats/fluxo-caixa-futuro/fluxo-caixa-futuro.component.html","./src/app/__recursos/relats/listagem-produtos/listagem-produtos.component.html","./src/app/__recursos/relats/movimentacoes/movimentacoes.component.html","./src/app/__recursos/relats/movimento-diario/movimento-diario.component.html","./src/app/__recursos/relats/posicao-estoque/posicao-estoque.component.html","./src/app/__recursos/relats/produtos-consignacao/produtos-consignacao.component.html","./src/app/__recursos/relats/produtos-sem-venda/produtos-sem-venda.component.html","./src/app/__recursos/relats/ranking-produtos/ranking-produtos.component.html","./src/app/__recursos/relats/ultimo-login/ultimo-login.component.html","./src/app/__recursos/relats/uso-plataforma/uso-plataforma.component.html","./src/app/__recursos/relats/vendas-detalhado/vendas-detalhado.component.html","./src/app/__recursos/relats/vendas-por-dia/vendas-por-dia.component.html","./src/app/__recursos/relats/vendas-por-mes/vendas-por-mes.component.html","./src/app/__recursos/seguimento/seguimento-edit.component.html","./src/app/__recursos/solicita-senha-supervisor/solicita-senha-supervisor.component.html","./src/app/__recursos/sped-fiscal/sped-fiscal.component.html","./src/app/__recursos/subgrupodeproduto/subgrupodeproduto-edit.component.html","./src/app/__recursos/wizard-config/wizard-config.component.html","./src/app/app.component.html","./node_modules/tslib/tslib.es6.js","./src/angular-material.module.ts","./src/app/@cmcore/cmcore.module.ts","./src/app/@cmcore/cmcore.routing.ts","./src/app/@cmcore/component/cmbutton/cmbutton.component.scss","./src/app/@cmcore/component/cmbutton/cmbutton.component.ts","./src/app/@cmcore/component/cmbutton/index.ts","./src/app/@cmcore/component/cmcontainer/cmcontainer.component.ts","./src/app/@cmcore/component/cmcontainer/index.ts","./src/app/@cmcore/component/cmdivider/cmdivider.component.ts","./src/app/@cmcore/component/cmdivider/index.ts","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse.component.scss","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse.component.ts","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss","./src/app/@cmcore/component/cmform/cmform-browse/cmform-browse2.component.ts","./src/app/@cmcore/component/cmform/cmform-browse/index.ts","./src/app/@cmcore/component/cmform/cmform-buttons-edit/cmform-buttons-edit.component.scss","./src/app/@cmcore/component/cmform/cmform-buttons-edit/cmform-buttons-edit.component.ts","./src/app/@cmcore/component/cmform/cmform-buttons-edit/index.ts","./src/app/@cmcore/component/cmform/cmform-edit/cmform-edit.component.ts","./src/app/@cmcore/component/cmform/cmform-edit/index.ts","./src/app/@cmcore/component/cmform/cmform-email/cmform-email.component.scss","./src/app/@cmcore/component/cmform/cmform-email/cmform-email.component.ts","./src/app/@cmcore/component/cmform/cmform-email/index.ts","./src/app/@cmcore/component/cmform/cmform-exec/cmform-exec-default.component.scss","./src/app/@cmcore/component/cmform/cmform-exec/cmform-exec-default.component.ts","./src/app/@cmcore/component/cmform/cmform-exec/cmform-exec.component.ts","./src/app/@cmcore/component/cmform/cmform-exec/index.ts","./src/app/@cmcore/component/cmform/cmform-globais/cmform-globais.component.scss","./src/app/@cmcore/component/cmform/cmform-globais/cmform-globais.component.ts","./src/app/@cmcore/component/cmform/cmform-globais/index.ts","./src/app/@cmcore/component/cmform/cmform-modal/cmform-modal.component.scss","./src/app/@cmcore/component/cmform/cmform-modal/cmform-modal.component.ts","./src/app/@cmcore/component/cmform/cmform-modal/index.ts","./src/app/@cmcore/component/cmform/cmform-pesquisa/cmform-pesquisa.component.scss","./src/app/@cmcore/component/cmform/cmform-pesquisa/cmform-pesquisa.component.ts","./src/app/@cmcore/component/cmform/cmform-pesquisa/index.ts","./src/app/@cmcore/component/cmform/cmform-relat/cmform-relat-default.component.scss","./src/app/@cmcore/component/cmform/cmform-relat/cmform-relat-default.component.ts","./src/app/@cmcore/component/cmform/cmform-relat/cmform-relat.component.ts","./src/app/@cmcore/component/cmform/cmform-relat/index.ts","./src/app/@cmcore/component/cmform/cmform.component.ts","./src/app/@cmcore/component/cmform/index.ts","./src/app/@cmcore/component/cmgrid-v2/cmgrid-column-v2.component.ts","./src/app/@cmcore/component/cmgrid-v2/cmgrid-v2.component.scss","./src/app/@cmcore/component/cmgrid-v2/cmgrid-v2.component.ts","./src/app/@cmcore/component/cmgrid-v2/index.ts","./src/app/@cmcore/component/cmgrid/cmgrid-column.component.ts","./src/app/@cmcore/component/cmgrid/cmgrid-edit.component.scss","./src/app/@cmcore/component/cmgrid/cmgrid-edit.component.ts","./src/app/@cmcore/component/cmgrid/cmgrid.component.ts","./src/app/@cmcore/component/cmgrid/index.ts","./src/app/@cmcore/component/cmicone/cmicone.component.scss","./src/app/@cmcore/component/cmicone/cmicone.component.ts","./src/app/@cmcore/component/cmicone/index.ts","./src/app/@cmcore/component/cmimage/cmimage.component.scss","./src/app/@cmcore/component/cmimage/cmimage.component.ts","./src/app/@cmcore/component/cmimage/index.ts","./src/app/@cmcore/component/cminput/cmcheckbox.component.scss","./src/app/@cmcore/component/cminput/cmcheckbox.component.ts","./src/app/@cmcore/component/cminput/cminput-validator.ts","./src/app/@cmcore/component/cminput/cminput.component.scss","./src/app/@cmcore/component/cminput/cminput.component.ts","./src/app/@cmcore/component/cminput/cmmemo.component.ts","./src/app/@cmcore/component/cminput/cmselect.component.ts","./src/app/@cmcore/component/cminput/index.ts","./src/app/@cmcore/component/cmlayout/cmlayout.component.ts","./src/app/@cmcore/component/cmlayout/index.ts","./src/app/@cmcore/component/cmlistcheckbox/cmlistcheckbox.component.scss","./src/app/@cmcore/component/cmlistcheckbox/cmlistcheckbox.component.ts","./src/app/@cmcore/component/cmlistcheckbox/index.ts","./src/app/@cmcore/component/cmmenu/cmmenu-item.component.ts","./src/app/@cmcore/component/cmmenu/cmmenu.component.scss","./src/app/@cmcore/component/cmmenu/cmmenu.component.ts","./src/app/@cmcore/component/cmmenu/index.ts","./src/app/@cmcore/component/cmpanel/cmpanel.component.scss","./src/app/@cmcore/component/cmpanel/cmpanel.component.ts","./src/app/@cmcore/component/cmpanel/index.ts","./src/app/@cmcore/component/cmrow/cmrow.component.scss","./src/app/@cmcore/component/cmrow/cmrow.component.ts","./src/app/@cmcore/component/cmrow/index.ts","./src/app/@cmcore/component/cmtabs/cmtab.component.ts","./src/app/@cmcore/component/cmtabs/cmtabs.component.scss","./src/app/@cmcore/component/cmtabs/cmtabs.component.ts","./src/app/@cmcore/component/cmtabs/index.ts","./src/app/@cmcore/component/cmupload-file/cmupload-file.component.ts","./src/app/@cmcore/component/cmupload-file/index.ts","./src/app/@cmcore/component/dynamic-creator/dynamic-creator.component.ts","./src/app/@cmcore/component/dynamic-creator/index.ts","./src/app/@cmcore/component/index.ts","./src/app/@cmcore/decorator/cminput.decorator.ts","./src/app/@cmcore/decorator/index.ts","./src/app/@cmcore/directive/CMMaskedInput/adjustCaretPosition.ts","./src/app/@cmcore/directive/CMMaskedInput/cmmasked-input.directive.ts","./src/app/@cmcore/directive/CMMaskedInput/conformToMask.ts","./src/app/@cmcore/directive/CMMaskedInput/constants.ts","./src/app/@cmcore/directive/CMMaskedInput/createTextMaskInputElement.ts","./src/app/@cmcore/directive/CMMaskedInput/index.ts","./src/app/@cmcore/directive/CMMaskedInput/utilities.ts","./src/app/@cmcore/directive/cmcolumn.directive.ts","./src/app/@cmcore/directive/cmnumeric.directive.ts","./src/app/@cmcore/directive/index.ts","./src/app/@cmcore/guard/auth.guard.ts","./src/app/@cmcore/guard/auth.service.ts","./src/app/@cmcore/guard/esqueceu-senha/esqueceu-senha.component.scss","./src/app/@cmcore/guard/esqueceu-senha/esqueceu-senha.component.ts","./src/app/@cmcore/guard/esqueceu-senha/index.ts","./src/app/@cmcore/guard/index.ts","./src/app/@cmcore/guard/ips-bloqueados/index.ts","./src/app/@cmcore/guard/ips-bloqueados/ips-bloqueados.component.css","./src/app/@cmcore/guard/ips-bloqueados/ips-bloqueados.component.ts","./src/app/@cmcore/guard/login-api.component.ts","./src/app/@cmcore/guard/login-full-screen.component.scss","./src/app/@cmcore/guard/login-full-screen.component.ts","./src/app/@cmcore/guard/login.component.scss","./src/app/@cmcore/guard/login.component.ts","./src/app/@cmcore/guard/maxusers/index.ts","./src/app/@cmcore/guard/maxusers/maxusers-confirm.component.ts","./src/app/@cmcore/guard/maxusers/maxusers.component.css","./src/app/@cmcore/guard/maxusers/maxusers.component.ts","./src/app/@cmcore/guard/seguranca/grupo-usuario-browse.component.ts","./src/app/@cmcore/guard/seguranca/grupo-usuario-edit.component.ts","./src/app/@cmcore/guard/seguranca/index.ts","./src/app/@cmcore/guard/seguranca/recurso-browse.component.ts","./src/app/@cmcore/guard/seguranca/recurso-edit.component.ts","./src/app/@cmcore/guard/seguranca/recurso-help/index.ts","./src/app/@cmcore/guard/seguranca/recurso-help/recurso-help-browse.component.ts","./src/app/@cmcore/guard/seguranca/recurso-help/recurso-help-edit.component.ts","./src/app/@cmcore/guard/usuario/index.ts","./src/app/@cmcore/guard/usuario/usuario-browse.component.ts","./src/app/@cmcore/guard/usuario/usuario-edit.component.ts","./src/app/@cmcore/pipe/cmsafe.pipe.ts","./src/app/@cmcore/pipe/index.ts","./src/app/@cmcore/validator/cmvalidator.ts","./src/app/@cmcore/validator/cnpj-cpf.validator.ts","./src/app/@cmcore/validator/index.ts","./src/app/__recursos/ajuste-saldo/ajuste-saldo-component.scss","./src/app/__recursos/ajuste-saldo/ajuste-saldo-component.ts","./src/app/__recursos/ajuste-saldo/index.ts","./src/app/__recursos/associado/associado-browse.component.ts","./src/app/__recursos/associado/associado-edit.component.ts","./src/app/__recursos/associado/index.ts","./src/app/__recursos/caixa-sat/caixa-sat-browse.component.ts","./src/app/__recursos/caixa-sat/caixa-sat-edit.component.ts","./src/app/__recursos/caixa-sat/index.ts","./src/app/__recursos/categoria-conta-contabil/categoria-conta-contabil-browse.component.ts","./src/app/__recursos/categoria-conta-contabil/categoria-conta-contabil-edit.component.ts","./src/app/__recursos/categoria-conta-contabil/index.ts","./src/app/__recursos/cest/cest-browse.component.ts","./src/app/__recursos/cest/cest-edit.component.ts","./src/app/__recursos/cest/index.ts","./src/app/__recursos/cfe/cfe-browse.component.ts","./src/app/__recursos/cfe/cfe-edit.component.ts","./src/app/__recursos/cfe/index.ts","./src/app/__recursos/cfop/cfop-browse.component.ts","./src/app/__recursos/cfop/cfop-edit.component.ts","./src/app/__recursos/cfop/index.ts","./src/app/__recursos/cliente/cliente-browse.component.ts","./src/app/__recursos/cliente/cliente-edit.component.ts","./src/app/__recursos/cliente/index.ts","./src/app/__recursos/cobranca-baixa-em-lote/cobranca-baixa-em-lote-component.ts","./src/app/__recursos/cobranca-baixa-em-lote/index.ts","./src/app/__recursos/config-geral/config-geral-browse.component.ts","./src/app/__recursos/config-geral/config-geral-edit.component.ts","./src/app/__recursos/config-geral/index.ts","./src/app/__recursos/conta-bancaria/conta-bancaria-browse.component.ts","./src/app/__recursos/conta-bancaria/conta-bancaria-edit.component.ts","./src/app/__recursos/conta-bancaria/index.ts","./src/app/__recursos/conta-contabil/conta-contabil-browse.component.ts","./src/app/__recursos/conta-contabil/conta-contabil-edit.component.ts","./src/app/__recursos/conta-contabil/index.ts","./src/app/__recursos/conta-pagar-receber/conta-pagar-receber-browse.component.ts","./src/app/__recursos/conta-pagar-receber/conta-pagar-receber-edit.component.ts","./src/app/__recursos/conta-pagar-receber/index.ts","./src/app/__recursos/conta-pagar/conta-pagar-browse.component.ts","./src/app/__recursos/conta-pagar/conta-pagar-edit.component.ts","./src/app/__recursos/conta-pagar/index.ts","./src/app/__recursos/cotacao/acesso-fornecedor/cotacao-acesso-fornecedor-component.ts","./src/app/__recursos/cotacao/acesso-fornecedor/index.ts","./src/app/__recursos/cotacao/analise/cotacao-analise-component.scss","./src/app/__recursos/cotacao/analise/cotacao-analise-component.ts","./src/app/__recursos/cotacao/analise/index.ts","./src/app/__recursos/cotacao/cotacao-browse.component.ts","./src/app/__recursos/cotacao/cotacao-edit.component.ts","./src/app/__recursos/cotacao/email/cotacao-email.component.scss","./src/app/__recursos/cotacao/email/cotacao-email.component.ts","./src/app/__recursos/cotacao/email/index.ts","./src/app/__recursos/cotacao/index.ts","./src/app/__recursos/cupom-desconto-relatorios/cupom-desconto-relatorios.component.scss","./src/app/__recursos/cupom-desconto-relatorios/cupom-desconto-relatorios.component.ts","./src/app/__recursos/cupom-desconto-relatorios/index.ts","./src/app/__recursos/cupom-desconto/cupom-desconto-browse.component.ts","./src/app/__recursos/cupom-desconto/cupom-desconto-edit.component.ts","./src/app/__recursos/cupom-desconto/index.ts","./src/app/__recursos/curriculum/curriculum-browse.component.ts","./src/app/__recursos/curriculum/index.ts","./src/app/__recursos/duplicata-pagar/duplicata-pagar-browse.component.ts","./src/app/__recursos/duplicata-pagar/duplicata-pagar-edit.component.ts","./src/app/__recursos/duplicata-pagar/index.ts","./src/app/__recursos/duplicata-receber-relatorios/duplicata-receber-relatorios.component.scss","./src/app/__recursos/duplicata-receber-relatorios/duplicata-receber-relatorios.component.ts","./src/app/__recursos/duplicata-receber-relatorios/index.ts","./src/app/__recursos/duplicata-receber/duplicata-receber-browse.component.ts","./src/app/__recursos/duplicata-receber/duplicata-receber-edit.component.ts","./src/app/__recursos/duplicata-receber/index.ts","./src/app/__recursos/empresa-associado/empresa-associado-browse.component.ts","./src/app/__recursos/empresa-associado/empresa-associado-edit.component.ts","./src/app/__recursos/empresa-associado/index.ts","./src/app/__recursos/empresapreco/empresapreco-browse.component.ts","./src/app/__recursos/empresapreco/empresapreco-edit.component.ts","./src/app/__recursos/empresapreco/index.ts","./src/app/__recursos/fechamento-caixa/fechamento-caixa-browse.component.ts","./src/app/__recursos/fechamento-caixa/fechamento-caixa-edit.component.ts","./src/app/__recursos/fechamento-caixa/index.ts","./src/app/__recursos/fluxodecaixa/fluxodecaixa-browse.component.ts","./src/app/__recursos/fluxodecaixa/fluxodecaixa-edit.component.ts","./src/app/__recursos/fluxodecaixa/index.ts","./src/app/__recursos/footer-page/footer-page.component.ts","./src/app/__recursos/footer-page/index.ts","./src/app/__recursos/formapagamento/formapagamento-browse.component.ts","./src/app/__recursos/formapagamento/formapagamento-edit.component.ts","./src/app/__recursos/formapagamento/index.ts","./src/app/__recursos/fornecedor/fornecedor-browse.component.ts","./src/app/__recursos/fornecedor/index.ts","./src/app/__recursos/funcs.globais.ts","./src/app/__recursos/geracaoarquivocnab/geracaoarquivocnab-component.ts","./src/app/__recursos/geracaoarquivocnab/index.ts","./src/app/__recursos/grade/grade-browse.component.ts","./src/app/__recursos/grade/grade-edit.component.ts","./src/app/__recursos/grade/index.ts","./src/app/__recursos/grupodeoperacao/grupodeoperacao-browse.component.ts","./src/app/__recursos/grupodeoperacao/grupodeoperacao-edit.component.ts","./src/app/__recursos/grupodeoperacao/index.ts","./src/app/__recursos/grupodeproduto/grupodeproduto-browse.component.ts","./src/app/__recursos/grupodeproduto/grupodeproduto-edit.component.ts","./src/app/__recursos/grupodeproduto/index.ts","./src/app/__recursos/home/home-consultas/home-consultas.component.scss","./src/app/__recursos/home/home-consultas/home-consultas.component.ts","./src/app/__recursos/home/home-consultas/index.ts","./src/app/__recursos/home/home-dashboard/combo-chart/combo-chart.component.scss","./src/app/__recursos/home/home-dashboard/combo-chart/combo-chart.component.ts","./src/app/__recursos/home/home-dashboard/combo-chart/combo-series-vertical.component.ts","./src/app/__recursos/home/home-dashboard/combo-chart/index.ts","./src/app/__recursos/home/home-dashboard/home-dashboard.component.scss","./src/app/__recursos/home/home-dashboard/home-dashboard.component.ts","./src/app/__recursos/home/home-dashboard/index.ts","./src/app/__recursos/home/home-destaques/home-destaques.component.scss","./src/app/__recursos/home/home-destaques/home-destaques.component.ts","./src/app/__recursos/home/home-destaques/index.ts","./src/app/__recursos/home/home.component.scss","./src/app/__recursos/home/home.component.ts","./src/app/__recursos/home/index.ts","./src/app/__recursos/home2/home2.component.scss","./src/app/__recursos/home2/home2.component.ts","./src/app/__recursos/home2/index.ts","./src/app/__recursos/ibpt/ibpt-browse.component.ts","./src/app/__recursos/ibpt/ibpt-edit.component.ts","./src/app/__recursos/ibpt/index.ts","./src/app/__recursos/importacoes/importacoes-component.ts","./src/app/__recursos/importacoes/index.ts","./src/app/__recursos/index.ts","./src/app/__recursos/landing-page/index.ts","./src/app/__recursos/landing-page/landing-page.component.scss","./src/app/__recursos/landing-page/landing-page.component.ts","./src/app/__recursos/lote-conta-receber/index.ts","./src/app/__recursos/lote-conta-receber/lote-conta-receber-browse.component.ts","./src/app/__recursos/lote-conta-receber/lote-conta-receber-edit.component.ts","./src/app/__recursos/marketplace/index.ts","./src/app/__recursos/marketplace/marketplace-browse.component.ts","./src/app/__recursos/marketplace/marketplace-edit.component.ts","./src/app/__recursos/menu-lateral/index.ts","./src/app/__recursos/menu-lateral/menu-lateral.component.scss","./src/app/__recursos/menu-lateral/menu-lateral.component.ts","./src/app/__recursos/menu-principal/index.ts","./src/app/__recursos/menu-principal/menu-principal.component.scss","./src/app/__recursos/menu-principal/menu-principal.component.ts","./src/app/__recursos/minha-conta/index.ts","./src/app/__recursos/minha-conta/minha-conta.component.ts","./src/app/__recursos/municipio/index.ts","./src/app/__recursos/municipio/municipio-browse.component.ts","./src/app/__recursos/municipio/municipio-edit.component.ts","./src/app/__recursos/necessidade-compra/index.ts","./src/app/__recursos/necessidade-compra/necessidade-compra-browse.component.ts","./src/app/__recursos/necessidade-compra/necessidade-compra-edit.component.ts","./src/app/__recursos/nfce-acoes/index.ts","./src/app/__recursos/nfce-acoes/nfce-acoes.component.scss","./src/app/__recursos/nfce-acoes/nfce-acoes.component.ts","./src/app/__recursos/nfce/index.ts","./src/app/__recursos/nfce/nfce-browse.component.ts","./src/app/__recursos/nfce/nfce-edit.component.ts","./src/app/__recursos/nfe-acoes/index.ts","./src/app/__recursos/nfe-acoes/nfe-acoes.component.scss","./src/app/__recursos/nfe-acoes/nfe-acoes.component.ts","./src/app/__recursos/nfe-consignacao-fechamento/index.ts","./src/app/__recursos/nfe-consignacao-fechamento/nfe-consignacao-fechamento.component.scss","./src/app/__recursos/nfe-consignacao-fechamento/nfe-consignacao-fechamento.component.ts","./src/app/__recursos/nfe-consignacao-relatorios/index.ts","./src/app/__recursos/nfe-consignacao-relatorios/nfe-consignacao-relatorios.component.scss","./src/app/__recursos/nfe-consignacao-relatorios/nfe-consignacao-relatorios.component.ts","./src/app/__recursos/nfe-consignacao/index.ts","./src/app/__recursos/nfe-consignacao/nfe-consignacao-browse.component.ts","./src/app/__recursos/nfe-consignacao/nfe-consignacao-edit.component.ts","./src/app/__recursos/nfe-estoque/index.ts","./src/app/__recursos/nfe-estoque/nfe-estoque-browse.component.ts","./src/app/__recursos/nfe-estoque/nfe-estoque-edit.component.ts","./src/app/__recursos/nfe-importacao-marketplace/index.ts","./src/app/__recursos/nfe-importacao-marketplace/nfe-importacao-marketplace-browse.component.ts","./src/app/__recursos/nfe-importacao-marketplace/nfe-importacao-marketplace-edit.component.ts","./src/app/__recursos/nfe-recebimento-acoes/index.ts","./src/app/__recursos/nfe-recebimento-acoes/nfe-recebimento-acoes.component.scss","./src/app/__recursos/nfe-recebimento-acoes/nfe-recebimento-acoes.component.ts","./src/app/__recursos/nfe-recebimento-alterar-data-duplicata/index.ts","./src/app/__recursos/nfe-recebimento-alterar-data-duplicata/nfe-recebimento-alterar-data-duplicata.component.scss","./src/app/__recursos/nfe-recebimento-alterar-data-duplicata/nfe-recebimento-alterar-data-duplicata.component.ts","./src/app/__recursos/nfe-recebimento-relatorios/index.ts","./src/app/__recursos/nfe-recebimento-relatorios/nfe-recebimento-relatorios.component.scss","./src/app/__recursos/nfe-recebimento-relatorios/nfe-recebimento-relatorios.component.ts","./src/app/__recursos/nfe-recebimento/index.ts","./src/app/__recursos/nfe-recebimento/nfe-recebimento-browse.component.ts","./src/app/__recursos/nfe-recebimento/nfe-recebimento-edit.component.ts","./src/app/__recursos/nfe-relatorios/index.ts","./src/app/__recursos/nfe-relatorios/nfe-relatorios.component.scss","./src/app/__recursos/nfe-relatorios/nfe-relatorios.component.ts","./src/app/__recursos/nfe-troca-produto/index.ts","./src/app/__recursos/nfe-troca-produto/nfe-troca-produto-browse.component.ts","./src/app/__recursos/nfe-troca-produto/nfe-troca-produto-edit.component.ts","./src/app/__recursos/nfe/index.ts","./src/app/__recursos/nfe/nfe-browse.component.ts","./src/app/__recursos/nfe/nfe-edit.component.ts","./src/app/__recursos/nfeinutilizacao-acoes/index.ts","./src/app/__recursos/nfeinutilizacao-acoes/nfeinutilizacao-acoes.component.scss","./src/app/__recursos/nfeinutilizacao-acoes/nfeinutilizacao-acoes.component.ts","./src/app/__recursos/nfeinutilizacao/index.ts","./src/app/__recursos/nfeinutilizacao/nfeinutilizacao-browse.component.ts","./src/app/__recursos/nfeinutilizacao/nfeinutilizacao-edit.component.ts","./src/app/__recursos/orcamento-relatorios/index.ts","./src/app/__recursos/orcamento-relatorios/orcamento-relatorios.component.scss","./src/app/__recursos/orcamento-relatorios/orcamento-relatorios.component.ts","./src/app/__recursos/orcamento/index.ts","./src/app/__recursos/orcamento/orcamento-browse.component.ts","./src/app/__recursos/orcamento/orcamento-edit.component.ts","./src/app/__recursos/ordem-compra-relatorios/index.ts","./src/app/__recursos/ordem-compra-relatorios/ordem-compra-relatorios.component.scss","./src/app/__recursos/ordem-compra-relatorios/ordem-compra-relatorios.component.ts","./src/app/__recursos/ordem-compra/index.ts","./src/app/__recursos/ordem-compra/ordem-compra-browse.component.ts","./src/app/__recursos/ordem-compra/ordem-compra-edit.component.ts","./src/app/__recursos/padraodeoperacao/index.ts","./src/app/__recursos/padraodeoperacao/padraodeoperacao-browse.component.ts","./src/app/__recursos/padraodeoperacao/padraodeoperacao-edit.component.ts","./src/app/__recursos/pessoa/index.ts","./src/app/__recursos/pessoa/pessoa-browse.component.ts","./src/app/__recursos/prevenda-gerar-saida-estoque/index.ts","./src/app/__recursos/prevenda-gerar-saida-estoque/prevenda-gerar-saida-estoque.component.scss","./src/app/__recursos/prevenda-gerar-saida-estoque/prevenda-gerar-saida-estoque.component.ts","./src/app/__recursos/prevenda-relatorios/index.ts","./src/app/__recursos/prevenda-relatorios/prevenda-relatorios.component.scss","./src/app/__recursos/prevenda-relatorios/prevenda-relatorios.component.ts","./src/app/__recursos/prevenda/index.ts","./src/app/__recursos/prevenda/prevenda-browse.component.ts","./src/app/__recursos/prevenda/prevenda-edit.component.ts","./src/app/__recursos/produto-altera-em-lote/index.ts","./src/app/__recursos/produto-altera-em-lote/produto-altera-em-lote-component.ts","./src/app/__recursos/produto-detalhes-saldo/index.ts","./src/app/__recursos/produto-detalhes-saldo/produto-detalhes-saldo.component.scss","./src/app/__recursos/produto-detalhes-saldo/produto-detalhes-saldo.component.ts","./src/app/__recursos/produto-marketplace/index.ts","./src/app/__recursos/produto-marketplace/produto-marketplace-browse.component.ts","./src/app/__recursos/produto-marketplace/produto-marketplace-edit.component.ts","./src/app/__recursos/produto-relatorios/index.ts","./src/app/__recursos/produto-relatorios/produto-relatorios.component.scss","./src/app/__recursos/produto-relatorios/produto-relatorios.component.ts","./src/app/__recursos/produto/index.ts","./src/app/__recursos/produto/produto-browse.component.ts","./src/app/__recursos/produto/produto-edit.component.scss","./src/app/__recursos/produto/produto-edit.component.ts","./src/app/__recursos/promocao/index.ts","./src/app/__recursos/promocao/promocao-browse.component.ts","./src/app/__recursos/promocao/promocao-edit.component.ts","./src/app/__recursos/recursos.module.ts","./src/app/__recursos/recursos.routing.ts","./src/app/__recursos/relatorio-customizado/index.ts","./src/app/__recursos/relatorio-customizado/relatorio-customizado-browse.component.ts","./src/app/__recursos/relatorio-customizado/relatorio-customizado-edit.component.ts","./src/app/__recursos/relats/boleto/boleto.component.ts","./src/app/__recursos/relats/boleto/index.ts","./src/app/__recursos/relats/clientes-aniversariantes/clientes-aniversariantes.component.ts","./src/app/__recursos/relats/clientes-aniversariantes/index.ts","./src/app/__recursos/relats/conta-contabil/conta-contabil.component.ts","./src/app/__recursos/relats/conta-contabil/index.ts","./src/app/__recursos/relats/conta-pagar-receber/conta-pagar-receber.component.ts","./src/app/__recursos/relats/conta-pagar-receber/index.ts","./src/app/__recursos/relats/conta-pagar/conta-pagar.component.ts","./src/app/__recursos/relats/conta-pagar/index.ts","./src/app/__recursos/relats/conta-receber/conta-receber.component.ts","./src/app/__recursos/relats/conta-receber/index.ts","./src/app/__recursos/relats/dados-assinaturas/dados-assinaturas.component.ts","./src/app/__recursos/relats/dados-assinaturas/index.ts","./src/app/__recursos/relats/dre-liquidacao-vertical/dre-liquidacao-vertical.component.ts","./src/app/__recursos/relats/dre-liquidacao-vertical/index.ts","./src/app/__recursos/relats/emissao-carne/emissao-carne.component.ts","./src/app/__recursos/relats/emissao-carne/index.ts","./src/app/__recursos/relats/fluxo-caixa-futuro/fluxo-caixa-futuro.component.ts","./src/app/__recursos/relats/fluxo-caixa-futuro/index.ts","./src/app/__recursos/relats/index.ts","./src/app/__recursos/relats/listagem-produtos/index.ts","./src/app/__recursos/relats/listagem-produtos/listagem-produtos.component.ts","./src/app/__recursos/relats/movimentacoes/index.ts","./src/app/__recursos/relats/movimentacoes/movimentacoes.component.ts","./src/app/__recursos/relats/movimento-diario/index.ts","./src/app/__recursos/relats/movimento-diario/movimento-diario.component.ts","./src/app/__recursos/relats/posicao-estoque/index.ts","./src/app/__recursos/relats/posicao-estoque/posicao-estoque.component.ts","./src/app/__recursos/relats/produtos-consignacao/index.ts","./src/app/__recursos/relats/produtos-consignacao/produtos-consignacao.component.ts","./src/app/__recursos/relats/produtos-sem-venda/index.ts","./src/app/__recursos/relats/produtos-sem-venda/produtos-sem-venda.component.ts","./src/app/__recursos/relats/ranking-produtos/index.ts","./src/app/__recursos/relats/ranking-produtos/ranking-produtos.component.ts","./src/app/__recursos/relats/ultimo-login/index.ts","./src/app/__recursos/relats/ultimo-login/ultimo-login.component.ts","./src/app/__recursos/relats/uso-plataforma/index.ts","./src/app/__recursos/relats/uso-plataforma/uso-plataforma.component.ts","./src/app/__recursos/relats/vendas-detalhado/index.ts","./src/app/__recursos/relats/vendas-detalhado/vendas-detalhado.component.ts","./src/app/__recursos/relats/vendas-por-dia/index.ts","./src/app/__recursos/relats/vendas-por-dia/vendas-por-dia.component.ts","./src/app/__recursos/relats/vendas-por-mes/index.ts","./src/app/__recursos/relats/vendas-por-mes/vendas-por-mes.component.ts","./src/app/__recursos/seguimento/index.ts","./src/app/__recursos/seguimento/seguimento-browse.component.ts","./src/app/__recursos/seguimento/seguimento-edit.component.ts","./src/app/__recursos/solicita-senha-supervisor/index.ts","./src/app/__recursos/solicita-senha-supervisor/solicita-senha-supervisor.component.ts","./src/app/__recursos/sped-fiscal/index.ts","./src/app/__recursos/sped-fiscal/sped-fiscal.component.ts","./src/app/__recursos/subgrupodeproduto/index.ts","./src/app/__recursos/subgrupodeproduto/subgrupodeproduto-browse.component.ts","./src/app/__recursos/subgrupodeproduto/subgrupodeproduto-edit.component.ts","./src/app/__recursos/transportadora/index.ts","./src/app/__recursos/transportadora/transportadora-browse.component.ts","./src/app/__recursos/vendedor/index.ts","./src/app/__recursos/vendedor/vendedor-browse.component.ts","./src/app/__recursos/wizard-config/index.ts","./src/app/__recursos/wizard-config/wizard-config.component.scss","./src/app/__recursos/wizard-config/wizard-config.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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AE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oCAC3B,EAAE,K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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export default \"\\n \\n\\n\"","export default \"
\\r\\n \\r\\n
\"","export default \"

\"","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n {{ getTitle() }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ buttonsExtraIcon(i) }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n add\\r\\n mode_edit\\r\\n visibility\\r\\n delete\\r\\n print\\r\\n refresh\\r\\n {{ getIconHideShow() }}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n close\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 0\\\"\\r\\n name=\\\"browse_filter_{{ column.filterField }}\\\"\\r\\n [cmcolumn]=\\\"getColumnsFilter()\\\"\\r\\n [inputConfig]=\\\"column.filter\\\"\\r\\n [value]=\\\"valuesFilters[column.filterValue]\\\"\\r\\n (onChange)=\\\"valuesFilters[column.filterField] = $event.value\\\"\\r\\n >\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n search\\r\\n \\r\\n \\r\\n backspace\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ getTitle() }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{ buttonsExtraIcon(i) }}\\r\\n \\r\\n \\r\\n add\\r\\n \\r\\n \\r\\n refresh\\r\\n \\r\\n \\r\\n help\\r\\n \\r\\n \\r\\n {{ getIconHideShow() }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n close\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 0\\r\\n \\\"\\r\\n name=\\\"browse_filter_{{ column.filterField }}\\\"\\r\\n [cmcolumn]=\\\"getColumnsFilter()\\\"\\r\\n [inputConfig]=\\\"column.filter\\\"\\r\\n [value]=\\\"valuesFilters[column.filterValue]\\\"\\r\\n (onChange)=\\\"valuesFilters[column.filterField] = $event.value\\\"\\r\\n >\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n search\\r\\n \\r\\n \\r\\n backspace\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ column.caption }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ msgSemDados }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item[column.field] }}\\r\\n {{ column.icon }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n menu\\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n mode_edit\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n visibility\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n delete\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n print\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n mail\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n\\r\\n \\r\\n \\r\\n {{ buttonsExtraIcon(i) }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ totalCount }} total\\r\\n
\\r\\n \\r\\n \\r\\n first_page\\r\\n \\r\\n \\r\\n chevron_left\\r\\n \\r\\n \\r\\n {{ item + 1 }}\\r\\n \\r\\n \\r\\n chevron_right\\r\\n \\r\\n \\r\\n last_page\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ getTitleEdit() }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n import_contacts\\r\\n send\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{contato.nome}}
\\r\\n {{contato.email}}\\r\\n

\\r\\n
\\r\\n
\\r\\n

Adicionar como destinatário:

\\r\\n \\r\\n
Para
\\r\\n
Cc
\\r\\n
Cco
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\"","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fechar\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fechar\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fechar\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fechar\\r\\n
\\r\\n
\\r\\n table_chart\\r\\n
\\r\\n \\r\\n get_app\\r\\n
\\r\\n
\\r\\n print\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Não\\r\\n
\\r\\n
\\r\\n Sim\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Fechar\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n cancel\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n {{ caption }}\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n Selecionar\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n Cancelar\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n \\r\\n backspace\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ column.caption }}\\r\\n \\r\\n \\r\\n {{ row[column.field] }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ column.header }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n button.icon\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n add\\r\\n \\r\\n \\r\\n delete\\r\\n \\r\\n \\r\\n delete_sweep\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n done\\r\\n \\r\\n \\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{last ? atualizarWidth() : ''}}\\r\\n
\\r\\n {{ getCaptionColumn(column.config) }}\\r\\n \\r\\n arrow_upward\\r\\n \\r\\n \\r\\n arrow_downward\\r\\n \\r\\n
\\r\\n \\r\\n 0\\\"\\r\\n [attr.style]=\\\"widthMoreActions() | cmsafe: 'style'\\\"\\r\\n class=\\\"tr-td-moreActions\\\"\\r\\n >\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ getValueColumn(row, column) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\"\\r\\n class=\\\"tr-td-moreActions\\\"\\r\\n [attr.style]=\\\"widthMoreActions() | cmsafe: 'style'\\\"\\r\\n >\\r\\n
\\r\\n \\r\\n {{ more.getIcone() }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ getFooterLabelColumn(column) }}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ currentMore.getTitle() }}
\\r\\n
\\r\\n \\r\\n done_outline\\r\\n \\r\\n \\r\\n cancel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ currentExtra.getTitle() }}
\\r\\n
\\r\\n \\r\\n done_outline\\r\\n \\r\\n \\r\\n cancel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\n \\n \\n
\\n add\\n mode_edit\\n delete\\n refresh\\n \\n
\\n
\\n
\\n\\n \\n\"","export default \"\\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n attach_file\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\n \\n
\\n\"","export default \"\\n \\n clear\\n
\\n\\n \\n {{\\n getIconButton()\\n }}\\n \\n
0\\\">\\n
\\n \\n
\\n
\\n\\n \\n\\n \\n {{ getCaption() }}\\n \\n \\n\\n \\n {{ getBottomLabel() }}\\n \\n \\n\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\"","export default \"
\\r\\n \\r\\n {{ getCaption() }}\\r\\n \\r\\n \\r\\n \\r\\n {{ option.text ? option.text : option.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\n \\n
\\n
\\n menu\\n
\\n \\n
\\n
\\n \\n
\\n
    \\n
  • \\n \\n \\n \\n \\n Voltar\\n \\n
    \\n
  • \\n \\n \\n \\n {{ item.getMobileIcone() }}\\n {{ item.getMobileText() }}\\n \\n \\n {{ item.getMobileIcone() }}\\n {{ item.getMobileText() }}\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
    \\n \\n \\n {{ item.icone }}\\n {{ item.text }}\\n \\n \\n {{ item.icone }}\\n {{ item.text }}\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ currentExtra.getTitle() }}
\\r\\n
\\r\\n \\r\\n done_outline\\r\\n \\r\\n \\r\\n cancel\\r\\n \\r\\n \\r\\n {{ currentExtra.iconAction1 }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n\\r\\n\"","export default \"
    \\r\\n \\r\\n \\r\\n {{ tab1.caption }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n

{{ getFileName() }}

\\r\\n \\r\\n \\r\\n attach_file\\r\\n \\r\\n \\r\\n send\\r\\n \\r\\n \\r\\n \\r\\n cancel\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

{{ getStatusStr() }}

\\r\\n

{{ msg }}

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ dados.titulo }}\\r\\n \\r\\n \\r\\n {{ dados.texto }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n dados.bt_enviar_email\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ dados.titulo }}\\r\\n \\r\\n \\r\\n {{ dados.texto_nova_senha }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{\\r\\n dados.bt_enviar_senha\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n

Não existe nenhum IP bloqueado

\\r\\n
\\r\\n \\r\\n

\\r\\n IP:{{ ip }}\\r\\n Liberar\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ENTRAR send\\r\\n \\r\\n \\r\\n
\\r\\n Cadastre-se\\r\\n
\\r\\n 0\\\"\\r\\n >\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"

ATENÇÃO

\\r\\n
\\r\\n

\\r\\n Ao clicar em SIM, o usuário\\r\\n \\\"{{ data.usuario }}\\\" \\\"{{ data.fullname }}\\\" acessando pelo IP\\r\\n \\\"{{ data.remoteip }}\\\" será derrubado, e\\r\\n perderá qualquer trabalho que esteja realizando no\\r\\n momento.\\r\\n

\\r\\n

Deseja continuar?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n Quantidade máxima de usuários simultâneos excedida\\r\\n Lista de usuários logados \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Usuário\\r\\n \\r\\n {{\\r\\n element.usuario\\r\\n }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome\\r\\n \\r\\n {{\\r\\n element.fullname\\r\\n }}\\r\\n \\r\\n\\r\\n \\r\\n IP\\r\\n {{\\r\\n element.remoteip\\r\\n }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Último Acesso\\r\\n \\r\\n {{\\r\\n element.lastaccess\\r\\n }}\\r\\n \\r\\n\\r\\n \\r\\n Navegador / Agente\\r\\n {{\\r\\n element.useragent\\r\\n }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Ação\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Carregar produtos\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ key + ': ' + naoimportados[key] }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Ajustar\\r\\n \\r\\n\\r\\n\"","export default \"\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n
\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n
\\n\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Carregar Duplicatas\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Baixar\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n CARREGAR NOVO CERTIFICADO DIGITAL E ENVIAR\\r\\n
{{ model.sat_infocertificadodigital }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \"","export default \"\\r\\n

\\r\\n {{ model.erropodeeditar }}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Gerar Duplicatas\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n

\\r\\n {{ model.erropodeeditar }}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Gerar Duplicatas\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n

Empresa: {{filter.empresa}}

\\r\\n

Data máxima para envio da cotação: {{filter.datamaximaresposta}}

\\r\\n

Dados alterados e não transmitidos

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n {{filter.statusmsg}}\\r\\n

\\r\\n
\\r\\n \\r\\n Transmitir\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Demonstrar\\r\\n Gerar Ordem de Compra\\r\\n \\r\\n \\r\\n
Fornecedor: {{demostrativo.fornecedor}}
\\r\\n
\\r\\n
Produto
\\r\\n
Quantidade
\\r\\n
Valor Unitário
\\r\\n
Valor Total
\\r\\n
\\r\\n
\\r\\n
{{produto.codigo_produto}} - {{produto.descricao_produto}}
\\r\\n
{{produto.quantidade}}
\\r\\n
{{produto.valorunitario}}
\\r\\n
{{produto.valortotal}}
\\r\\n
\\r\\n
\\r\\n
Total Geral
\\r\\n
\\r\\n
\\r\\n
{{demostrativo.totalgeral}}
\\r\\n
\\r\\n
\\r\\n

Condições da Proposta: {{demostrativo.condicoesproposta}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{dados.statusmsg}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{ model.erropodeeditar }}\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n queue\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n send\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n Para cadastrar uma nova baixa salve ou cancele as alterações para\\r\\n atualização do saldo.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n Para cadastrar uma nova baixa salve ou cancele as alterações para\\r\\n atualização do saldo.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n TESTE ENVIO DE EMAIL\\n \\n\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Tags disponíveis para as mensagens\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ model.parametronfe.infocertificadodigital }}
\\n
\\n \\n CARREGAR NOVO CERTIFICADO DIGITAL E ENVIAR\\n TESTAR CERTIFICADO DIGITAL\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

\\n Configuração indisponível. Para habilitar, a Empresa Definida\\n deve ser a mesma que está sendo editada\\n

\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n \\n \\n Tags disponíveis para as mensagens\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n Tags disponíveis para as mensagens\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n \\n \\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n Para cadastrar uma nova baixa salve ou cancele as alterações para\\r\\n atualização do saldo.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \"","export default \"\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\t\\t\\t\\t\\r\\n \\r\\n Gerar\\r\\n \\t \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n Banco de dados de currículos que são cadastrados\\r\\n diretamente no site Acirc. Acesse consultar para filtar\\r\\n todas as informações.\\r\\n

\\r\\n
\\r\\n consultar\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Para retirar a 2ª via, você deverá consultar as informações\\r\\n diretamente pelo site. Se o boleto estiver vencido, você o\\r\\n visualizará com a data e o valor atualizados.\\r\\n

\\r\\n
\\r\\n consultar\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n refresh\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ item.name }}

\\r\\n \\r\\n {{ item.value }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n VENDAS POR DIA\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
TAXA DE INADIMPLÊNCIA
\\r\\n \\r\\n \\r\\n {{ graficoInadimplencia.getValueLegend(0, 0) }}\\r\\n {{ graficoInadimplencia.getValueLegend(0, 1) }}\\r\\n
\\r\\n \\r\\n {{ graficoInadimplencia.getValueLegend(1, 0) }}\\r\\n {{ graficoInadimplencia.getValueLegend(1, 1) }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{\\r\\n blogInfo.titulo\\r\\n }}\\r\\n

\\r\\n

{{ blogInfo.texto }}

\\r\\n
\\r\\n SAIBA MAIS\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n {{ anotacao.titulo }}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    {{ anotacao.descricao }}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n Empresa\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n Recursos\\r\\n Grupo de Usuários\\r\\n Usuários\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Ajuda\\r\\n Associado\\r\\n CEST\\r\\n CFOP\\r\\n IBPT (NCM/SH)\\r\\n Município\\r\\n Seguimento\\r\\n Importações\\r\\n \\r\\n \\r\\n print Uso da plataforma\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 1\\\" cmcolumn=\\\"12\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Empresa\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Emitir 2ª Via de Boleto\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Pré-Venda\\r\\n NF-e\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Consulta\\r\\n \\r\\n \\r\\n Grupo de Usuário\\r\\n Usuário\\r\\n Empresa\\r\\n {{ paramEmpresa.nomeGrade1 }}\\r\\n {{ paramEmpresa.nomeGrade2 }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Lote\\r\\n Duplicatas\\r\\n Baixa em Lote\\r\\n print Emissão de carnê\\r\\n print Emissão de Boleto\\r\\n print Relatório geral\\r\\n \\r\\n Geracao de Arquivo CNAB\\r\\n \\r\\n \\r\\n Cadastro\\r\\n Duplicatas\\r\\n Baixa em Lote\\r\\n print Relatório geral\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n print Fluxo de caixa futuro\\r\\n print Cliente Aniversariantes\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Pessoas\\r\\n Forma de Pagamento\\r\\n NF-e Inutilização\\r\\n Padrão de Operação\\r\\n Produto\\r\\n Altera Produtos em Lote\\r\\n \\r\\n \\r\\n Entrada / Saída\\r\\n Ajuste de Saldo\\r\\n print Posição de Estoque\\r\\n \\r\\n \\r\\n Solicitação de Compra\\r\\n Cotação\\r\\n Ordem de Compra\\r\\n NF-e de Recebimento\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ key + ': ' + naoimportados[key] }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ key + ': ' + jacadastrados[key] }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ key + ': ' + importados[key] }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\t\\t\\r\\n \\r\\n Importar\\r\\n \\t \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n Começar\\r\\n
\\r\\n
\\r\\n \\\"3281295.png\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"2048574.png\\\"\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n Começar\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"2640795.png\\\"
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"2640795.png\\\"
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"2640795.png\\\"
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"2640795.png\\\"
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. Morbi tempor felis nunc. Aliquam lacinia ullamcorper tempus. Sed in porta ligula. Fusce sit amet ipsum quam. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate id nulla a fermentum. 
\\r\\n Começar\\r\\n
\\r\\n
\\r\\n \\\"3281295.png\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"icone-suporte1.svg\\\"
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
\\r\\n
\\r\\n
\\\"icone-suporte1.svg\\\"
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
\\r\\n
\\r\\n
\\\"icone-suporte1.svg\\\"
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet. 
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Links
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Links
\\r\\n
\\r\\n
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n
Lorem ipsum dolor sit amet
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Redes Sociais
\\r\\n
\\r\\n
\\r\\n \\\"3600947-set-of-social-media-icon-in-round-bakground-grátis-vetor.jpg\\\"\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Siga-nos
\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Copyright © 2023 Bessani Softwares. Todos os direitos reservados.
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n

{{model.erropodeeditar}}

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ menu.icone }}\\r\\n
    {{ menu.grupo }}
    \\r\\n
\\r\\n
0\\\" class=\\\"collapsible-body\\\">\\r\\n
\\r\\n {{\\r\\n getIconFavorito(rota)\\r\\n }}\\r\\n \\r\\n {{ rota.caption }}\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{ subgrupo.icone }}\\r\\n
{{ subgrupo.grupo }}
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n {{\\r\\n getIconFavorito(rota)\\r\\n }}\\r\\n \\r\\n {{ rota.caption }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ALTERAR \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n

    \\r\\n Data da assinatura: {{ dadosAssinatura.dassinatura }}\\r\\n

    \\r\\n

    \\r\\n Valor da assinatura: {{ dadosAssinatura.vassinatura }}\\r\\n

    \\r\\n

    \\r\\n Último pagamento: {{ dadosAssinatura.dhultimopagamento }} -\\r\\n {{ dadosAssinatura.vultimopagamento }}\\r\\n

    \\r\\n

    \\r\\n Próximo pagamento: {{ dadosAssinatura.dproximopagamento }}\\r\\n

    \\r\\n
    \\r\\n\\r\\n \\r\\n

    \\r\\n Cartão cadastrado: {{ dadosAssinatura.cartaocardnumber }} -\\r\\n {{ dadosAssinatura.cartaoholder }} -\\r\\n {{ dadosAssinatura.cartaoexpirationdate }}\\r\\n

    \\r\\n Cadastrar novo cartão\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Salvar\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    {{ model.erropodeeditar }}

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n

    Verifique a(s) menssagem(s) abaixo:

    \\r\\n

    {{ retorno.msg }}

    \\r\\n

    \\r\\n {{ retorno.cstat }}\\r\\n

    \\r\\n

    \\r\\n {{ retorno.result_str }}\\r\\n

    \\r\\n

    \\r\\n Devido ao Serviço Indisponível você pode Tentar Retransmitir a NFC-e\\r\\n ou Gerar a Contingência\\r\\n

    \\r\\n

    \\r\\n Gerada a NFC-e em Contingência número: {{ retorno.nnf }}\\r\\n

    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Download XML conferência\\r\\n Download XML retorno do erro\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Enviar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n

    \\r\\n Número: {{ dadosNFCe.infnfe?.ide?.nnf }}\\r\\n

    \\r\\n

    \\r\\n Status: {{ dadosNFCe.infnfe?.statusstr }}\\r\\n

    \\r\\n

    \\r\\n Valor total: {{ dadosNFCe.infnfe?.total?.vnf }}\\r\\n

    \\r\\n

    \\r\\n Data de Emissão: {{ dadosNFCe.infnfe?.ide?.dhemi }}\\r\\n

    \\r\\n

    \\r\\n Destinatário: \\r\\n {{ dadosNFCe.infnfe?.dest?.destinatario }}\\r\\n

    \\r\\n

    \\r\\n Tipo: \\r\\n {{ dadosNFCe.infnfe?.ide?.tpemis }}\\r\\n

    \\r\\n

    \\r\\n Nota Fiscal foi Substituída pela nota em Contingência número:\\r\\n \\r\\n {{ dadosNFCe.infnfe?.ide?.nnfcontingencia }}\\r\\n

    \\r\\n\\r\\n

    \\r\\n Data transmissão: \\r\\n {{ dadosNFCe.protnfe?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo de transmissão: \\r\\n {{ dadosNFCe.protnfe?.nprot }}\\r\\n

    \\r\\n

    \\r\\n Status: \\r\\n {{ dadosNFCe.protnfe?.result_cstat }}\\r\\n

    \\r\\n

    \\r\\n Motivo: \\r\\n {{ dadosNFCe.protnfe?.result_xmotivo }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ getCaptionImpressao() }}\\r\\n {{\\r\\n getCaptionTransmissao(\\\"Transmitir\\\")\\r\\n }}\\r\\n \\r\\n \\r\\n Cancelar\\r\\n \\r\\n \\r\\n Gerar Contingência\\r\\n \\r\\n \\r\\n

    \\r\\n IMPORTANTE: Os XMLs ficarão salvos no servidor por apenas 3 dias\\r\\n após sua geração.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n Data autorização: \\r\\n {{ dadosNFCe.protnfe?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo de autorização: \\r\\n {{ dadosNFCe.protnfe?.nprot }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n Voltar\\r\\n

    \\r\\n {{ getCaptionTransmissao(\\\"\\\") }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n Data do Cancelamento: \\r\\n {{ dadosNFCe.cancelamento?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo do Cancelamento: \\r\\n {{ dadosNFCe.cancelamento?.nprot }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n Voltar\\r\\n

    \\r\\n {{ getCaptionCancelamento() }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n

    \\r\\n Nota Fiscal Eletrônica em ambiente de homologação (TESTES)\\r\\n

    \\r\\n

    \\r\\n {{ model.infnfe.erropodeeditar }}\\r\\n

    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n swap_horiz\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n lock_outline Calcular Impostos\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n

    Verifique a(s) menssagem(s) abaixo:

    \\r\\n

    {{ retorno.msg }}

    \\r\\n

    \\r\\n {{ retorno.cstat }}\\r\\n

    \\r\\n

    \\r\\n {{ retorno.result_str }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n Download XML conferência\\r\\n Download XML retorno do erro\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Enviar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n

    \\r\\n Número: {{ dadosNFe.infnfe?.ide?.nnf }}\\r\\n

    \\r\\n

    \\r\\n Status: {{ dadosNFe.infnfe?.statusstr }}\\r\\n

    \\r\\n

    \\r\\n Valor total: {{ dadosNFe.infnfe?.total?.vnf }}\\r\\n

    \\r\\n

    \\r\\n Data de Emissão: {{ dadosNFe.infnfe?.ide?.dhemi }}\\r\\n

    \\r\\n

    \\r\\n Destinatário: \\r\\n {{ dadosNFe.infnfe?.dest?.destinatario }}\\r\\n

    \\r\\n

    \\r\\n Data transmissão: \\r\\n {{ dadosNFe.protnfe?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo de transmissão: \\r\\n {{ dadosNFe.protnfe?.nprot }}\\r\\n

    \\r\\n

    \\r\\n Status: \\r\\n {{ dadosNFe.protnfe?.result_cstat }}\\r\\n

    \\r\\n

    \\r\\n Motivo: \\r\\n {{ dadosNFe.protnfe?.result_xmotivo }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n getCaptionImpressao()\\r\\n }}\\r\\n Transmissão\\r\\n Cancelamento\\r\\n Carta de Correção\\r\\n

    \\r\\n IMPORTANTE: Os XMLs ficaram salvos no servidor por apenas 3 dias\\r\\n após sua geração.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n Data autorização: \\r\\n {{ dadosNFe.protnfe?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo de autorização: \\r\\n {{ dadosNFe.protnfe?.nprot }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n Voltar\\r\\n

    \\r\\n {{ getCaptionTransmissao() }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n Data do Cancelamento: \\r\\n {{ dadosNFe.cancelamento?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo do Cancelamento: \\r\\n {{ dadosNFe.cancelamento?.nprot }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n Voltar\\r\\n

    \\r\\n {{ getCaptionCancelamento() }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n O registro de uma nova Carta de Correção substitui a Carta de\\r\\n Correção anterior, assim a nova Carta de Correção deve conter\\r\\n todas as correções a serem consideradas.\\r\\n

    \\r\\n \\r\\n
    \\r\\n \\r\\n

    \\r\\n Data da Carta de Correção: \\r\\n {{ dadosNFe.cartacorrecao?.dhrecbto }}\\r\\n

    \\r\\n

    \\r\\n Protocolo da Carta de Correção: \\r\\n {{ dadosNFe.cartacorrecao?.nprot }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n Voltar\\r\\n Emitir\\r\\n Enviar e-Mail\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n

    \\r\\n {{ model.infnfe.erropodeeditar }}\\r\\n

    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download XML conferência\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    Fornecedor: {{ nomeFornecedor() }}

    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Salvar\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n

    \\r\\n {{ model.infnfe.erropodeeditar }}\\r\\n

    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    \\r\\n {{ getCupomDesconto() }}\\r\\n

    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Carregar Produtos\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n

    \\r\\n Nota Fiscal Eletrônica em ambiente de homologação (TESTES)\\r\\n

    \\r\\n

    \\r\\n {{ model.infnfe.erropodeeditar }}\\r\\n

    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n swap_horiz\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n lock_open\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n lock_outline Calcular Impostos\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n

    Verifique a(s) menssagem(s) abaixo:

    \\r\\n

    {{retorno.msg}}

    \\r\\n

    {{retorno.cstat}}

    \\r\\n

    {{retorno.result_str}}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Download XML conferência\\r\\n Download XML retorno do erro\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Enviar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n

    Ano: {{modelNFeInutilizacao.ano}}

    \\r\\n

    Série: {{modelNFeInutilizacao.serie}}

    \\r\\n

    Nota Incial: {{modelNFeInutilizacao.nnfini}}

    \\r\\n

    Nota Final: {{modelNFeInutilizacao.nnffin}}

    \\r\\n
    \\r\\n \\r\\n\\t\\t\\t\\t\\r\\n

    Status da resposta: {{modelNFeInutilizacao.cstat}} - {{modelNFeInutilizacao.xmotivo}}

    \\r\\n

    Data e Hora: {{modelNFeInutilizacao.dhrecbto}}

    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\tTransmitir\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\tEnviar e-Mail\\r\\n\\t\\t\\t\\t\\r\\n

    \\r\\n IMPORTANTE: Os XMLs ficaram salvos no servidor por apenas 3 dias após sua geração.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \"","export default \"\\r\\n \\r\\n

    \\r\\n Inutilização em ambiente de homologação (TESTES)\\r\\n

    \\r\\n

    {{model.erropodeeditar}}

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n queue\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Adicionar\\r\\n Fechar\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    {{model.erropodeeditar}}

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Informações\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Gerar Saídas\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n
    \\r\\n Número no {{ model?.nfemarketplace?.marketplace?.nome }}: \\r\\n {{ model?.nfemarketplace?.infnfe?.chaveacesso }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n {{ model.erropodeeditar }}\\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n queue\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

    \\r\\n Existe um ou mais cupons de desconto não completamente utilizados.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Adicionar\\r\\n Fechar\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Carregar Produtos\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Alterar\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n
    \\r\\n \\r\\n \\r\\n

    \\r\\n Produto: {{ descricaoProduto() }}\\r\\n

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Imprimir\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n X\\r\\n \\r\\n =\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Gerar grades\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Limpar Filtros\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Limpar Filtros\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Limpar Filtros\\r\\n \\r\\n \\r\\n \\r\\n \"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Gerar\\r\\n \\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    Configuração inicial do sistema
    \\r\\n
    \\r\\n
    \\r\\n
    Dados da Empresa
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n Envio de e-Mail pelo sistema\\r\\n
    • \\r\\n
    • \\r\\n Nota Fiscal Eletrônica\\r\\n
    • \\r\\n
    • \\r\\n Certificado Digital\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    Cadastros
    \\r\\n
    \\r\\n
      \\r\\n
    • Cadastro da uma Pessoa
    • \\r\\n
    • Cadastro de um Produto
    • \\r\\n
    • \\r\\n Cadastro de uma Pré-Venda\\r\\n
    • \\r\\n
    • Emita sua primeira NF-e
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n TESTE ENVIO DE EMAIL\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    {{ model.parametronfe.infocertificadodigital }}
    \\r\\n
    \\r\\n \\r\\n CARREGAR NOVO CERTIFICADO DIGITAL E ENVIAR\\r\\n TESTAR CERTIFICADO DIGITAL\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","export default \"
    \\n \\n \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { A11yModule } from \"@angular/cdk/a11y\";\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CdkStepperModule } from \"@angular/cdk/stepper\";\nimport { CdkTableModule } from \"@angular/cdk/table\";\nimport { CdkTreeModule } from \"@angular/cdk/tree\";\nimport {\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n MatPaginatorIntl,\n} from \"@angular/material\";\n\nexport class CustomPaginator extends MatPaginatorIntl {\n constructor() {\n super();\n this.nextPageLabel = \" Próxima página\";\n this.previousPageLabel = \" Página anterior\";\n this.itemsPerPageLabel = \"Itens por página: \";\n this.firstPageLabel = \" Primeira página\";\n this.lastPageLabel = \" Última página\";\n }\n}\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n ],\n exports: [\n A11yModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n ],\n providers: [\n {\n provide: MatPaginatorIntl,\n useClass: CustomPaginator,\n },\n ],\n})\nexport class AngularMaterialModule {}\n","// tslint:disable\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { SimpleNotificationsModule } from \"angular2-notifications\";\r\nimport { NgxChartsModule } from \"@swimlane/ngx-charts\";\r\nimport { CMRouting } from \"./cmcore.routing\";\r\nimport {\r\n CMButtonComponent,\r\n CMMenuComponent,\r\n CMMenuItemComponent,\r\n CMIconeComponent,\r\n CMInputComponent,\r\n CMCheckBoxComponent,\r\n CMSelectComponent,\r\n CMGridComponent,\r\n CMGridColumnComponent,\r\n CMFormModalComponent,\r\n CMFormButtonsEditComponent,\r\n CMDynamicCreatorComponent,\r\n CMFormGlobaisComponent,\r\n CMListCheckBoxComponent,\r\n CMPanelComponent,\r\n CMRowComponent,\r\n CMDividerComponent,\r\n CMContainerComponent,\r\n CMImageComponent,\r\n CMTabComponent,\r\n CMTabsComponent,\r\n CMFormPesquisaComponent,\r\n CMMemoComponent,\r\n CMLayoutComponent,\r\n CMFormRelatDefaultComponent,\r\n CMUploadFileComponent,\r\n CMFormEmailComponent,\r\n CMFormExecDefaultComponent,\r\n GridEditComponent,\r\n CMGridV2Component,\r\n} from \"./component\";\r\nimport {\r\n CMMaskedInputDirective,\r\n CMColumnDirective,\r\n CMNumericDirective,\r\n} from \"./directive\";\r\nimport {\r\n LoginComponent,\r\n LoginApiComponent,\r\n LoginFullScreenComponent,\r\n AuthGuard,\r\n AuthService,\r\n UsuarioEditComponent,\r\n UsuarioBrowseComponent,\r\n RecursoBrowseComponent,\r\n RecursoEditComponent,\r\n GrupoUsuarioBrowseComponent,\r\n GrupoUsuarioEditComponent,\r\n RecursoHelpBrowseComponent,\r\n RecursoHelpEditComponent,\r\n MaxUsersComponent,\r\n MaxUsersConfirmComponent,\r\n IPsBloqueadosComponent,\r\n EsqueceuSenhaComponent,\r\n} from \"./guard\";\r\nimport { CMSafePipe } from \"./pipe\";\r\n\r\nimport { AngularMaterialModule } from \"./../../angular-material.module\";\r\n\r\nimport * as $ from \"jquery\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n SimpleNotificationsModule.forRoot(),\r\n RouterModule,\r\n AngularMaterialModule,\r\n CMRouting,\r\n NgxChartsModule,\r\n ],\r\n declarations: [\r\n CMButtonComponent,\r\n CMMenuComponent,\r\n CMMenuItemComponent,\r\n CMIconeComponent,\r\n CMInputComponent,\r\n CMMaskedInputDirective,\r\n CMNumericDirective,\r\n CMCheckBoxComponent,\r\n CMSelectComponent,\r\n CMFormButtonsEditComponent,\r\n LoginComponent,\r\n LoginApiComponent,\r\n LoginFullScreenComponent,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridComponent,\r\n CMGridColumnComponent,\r\n CMDynamicCreatorComponent,\r\n CMListCheckBoxComponent,\r\n CMPanelComponent,\r\n CMRowComponent,\r\n CMColumnDirective,\r\n CMDividerComponent,\r\n CMContainerComponent,\r\n CMImageComponent,\r\n CMTabComponent,\r\n CMTabsComponent,\r\n CMFormPesquisaComponent,\r\n CMMemoComponent,\r\n CMSafePipe,\r\n CMLayoutComponent,\r\n CMFormRelatDefaultComponent,\r\n CMUploadFileComponent,\r\n CMFormEmailComponent,\r\n CMFormExecDefaultComponent,\r\n UsuarioEditComponent,\r\n UsuarioBrowseComponent,\r\n RecursoBrowseComponent,\r\n RecursoEditComponent,\r\n GrupoUsuarioBrowseComponent,\r\n GrupoUsuarioEditComponent,\r\n GridEditComponent,\r\n RecursoHelpBrowseComponent,\r\n RecursoHelpEditComponent,\r\n MaxUsersComponent,\r\n MaxUsersConfirmComponent,\r\n CMGridV2Component,\r\n IPsBloqueadosComponent,\r\n EsqueceuSenhaComponent,\r\n ],\r\n entryComponents: [\r\n CMFormEmailComponent,\r\n UsuarioEditComponent,\r\n RecursoEditComponent,\r\n GrupoUsuarioEditComponent,\r\n RecursoHelpEditComponent,\r\n MaxUsersConfirmComponent,\r\n ],\r\n providers: [AuthGuard, AuthService],\r\n exports: [\r\n CMButtonComponent,\r\n CMMenuComponent,\r\n CMMenuItemComponent,\r\n CMIconeComponent,\r\n CMInputComponent,\r\n CMCheckBoxComponent,\r\n CMSelectComponent,\r\n CMFormButtonsEditComponent,\r\n LoginComponent,\r\n LoginApiComponent,\r\n LoginFullScreenComponent,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridComponent,\r\n CMGridColumnComponent,\r\n CMDynamicCreatorComponent,\r\n CMListCheckBoxComponent,\r\n CMPanelComponent,\r\n CMRowComponent,\r\n CMColumnDirective,\r\n CMNumericDirective,\r\n CMDividerComponent,\r\n CMContainerComponent,\r\n CMImageComponent,\r\n CMTabComponent,\r\n CMTabsComponent,\r\n CMFormPesquisaComponent,\r\n CMMemoComponent,\r\n CMSafePipe,\r\n CMLayoutComponent,\r\n CMFormRelatDefaultComponent,\r\n CMUploadFileComponent,\r\n CMFormEmailComponent,\r\n CMFormExecDefaultComponent,\r\n UsuarioEditComponent,\r\n UsuarioBrowseComponent,\r\n RecursoBrowseComponent,\r\n RecursoEditComponent,\r\n GrupoUsuarioBrowseComponent,\r\n GrupoUsuarioEditComponent,\r\n GridEditComponent,\r\n NgxChartsModule,\r\n CMGridV2Component,\r\n ],\r\n})\r\nexport class CMCoreModule {}\r\n","// tslint:disable\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport {\r\n LoginFullScreenComponent,\r\n LoginApiComponent,\r\n AuthGuard,\r\n UsuarioBrowseComponent,\r\n RecursoBrowseComponent,\r\n GrupoUsuarioBrowseComponent,\r\n RecursoHelpBrowseComponent,\r\n MaxUsersComponent,\r\n IPsBloqueadosComponent,\r\n EsqueceuSenhaComponent,\r\n} from \"./guard\";\r\n\r\nconst appRoutes: Routes = [\r\n { path: \"login\", component: LoginFullScreenComponent },\r\n { path: \"router/semchave/:routerok\", component: LoginApiComponent },\r\n { path: \"router/:chaveacesso/:routerok\", component: LoginApiComponent },\r\n { path: \"esqueceu-senha\", component: EsqueceuSenhaComponent },\r\n { path: \"esqueceu-senha/:token\", component: EsqueceuSenhaComponent },\r\n {\r\n path: \"usuario\",\r\n component: UsuarioBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"recurso\",\r\n component: RecursoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"grupousuario\",\r\n component: GrupoUsuarioBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"recurso-help\",\r\n component: RecursoHelpBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"maxusers\",\r\n component: MaxUsersComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ips-bloqueados\",\r\n component: IPsBloqueadosComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n];\r\n\r\nexport const CMRouting = RouterModule.forRoot(appRoutes);\r\n","export default \".cmbtn {\\n height: auto;\\n width: 100%;\\n}\\n\\n.cmbtn-all-inherit {\\n width: inherit;\\n height: inherit;\\n text-align: inherit;\\n max-height: inherit;\\n max-width: inherit;\\n}\\n\\n.cmbthide {\\n display: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21idXR0b24vQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbWJ1dHRvblxcY21idXR0b24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtYnV0dG9uL2NtYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxhQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbWJ1dHRvbi9jbWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWJ0biB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY21idG4tYWxsLWluaGVyaXQge1xyXG4gIHdpZHRoOiBpbmhlcml0O1xyXG4gIGhlaWdodDogaW5oZXJpdDtcclxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG4gIG1heC1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xyXG59XHJcblxyXG4uY21idGhpZGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIuY21idG4ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY21idG4tYWxsLWluaGVyaXQge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG59XG5cbi5jbWJ0aGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59Il19 */\"","// tslint:disable\nimport { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\nimport { CMInput } from \"../../decorator\";\nimport { CMInputComponent } from \"../../component\";\n\n@Component({\n selector: \"cmbutton\",\n templateUrl: \"./cmbutton.component.html\",\n styleUrls: [\"./cmbutton.component.scss\"],\n})\nexport class CMButtonComponent {\n @Output()\n cmclick: EventEmitter = new EventEmitter();\n @Input() type: string = \"\";\n @CMInput()\n @Input()\n disabled: boolean = false;\n @CMInput()\n @Input()\n visible: boolean = true;\n @CMInput()\n @Input()\n flat: boolean = false;\n @CMInput()\n @Input()\n large: boolean = false;\n @CMInput()\n @Input()\n floating: boolean = false;\n _hint: string = \"\";\n @Input()\n get hint() {\n return this._hint;\n }\n set hint(value) {\n this._hint = value;\n }\n @CMInput()\n @Input()\n useInputField: boolean = true;\n @CMInput()\n @Input()\n useInputFieldFloating: boolean = false;\n @Input(\"class\") extraClass: string = \"\";\n @Input() classbtn: string = \"\";\n @Input() lineheight: string = \"\";\n @Input() marginTop: string = \"\";\n @Input() marginRight: string = \"\";\n @Input() fontsize: string = \"\";\n @Input() background: string = \"\";\n @Input() padding: string = \"\";\n @Input() paddingLeft: string = \"\";\n @Input() paddingRight: string = \"\";\n @Input()\n name: string = \"bt_\" + CMInputComponent.nextGlobalId().toString();\n\n getStyle() {\n let r: string = \"\";\n if (this.lineheight !== \"\") r += \"line-height: \" + this.lineheight + \";\";\n if (this.marginTop !== \"\") r += \"margin-top: \" + this.marginTop + \";\";\n if (this.marginRight !== \"\") r += \"margin-right: \" + this.marginRight + \";\";\n if (this.padding !== \"\") r += \"padding: \" + this.padding + \";\";\n if (this.paddingLeft !== \"\") r += \"padding-left: \" + this.paddingLeft + \";\";\n if (this.paddingRight !== \"\")\n r += \"padding-right: \" + this.paddingRight + \";\";\n if (this.fontsize !== \"\") r += \"font-size: \" + this.fontsize + \";\";\n if (this.background !== \"\") r += \"background: \" + this.background + \";\";\n return r;\n }\n\n getUseInputField() {\n if (this.floating) return this.useInputFieldFloating;\n else return this.useInputField;\n }\n\n getClass() {\n let r: string = \"waves-effect waves-light \" + this.classbtn;\n if (this.getUseInputField()) r += \" input-field\";\n if (this.disabled) r += \" disabled\";\n if (this.flat) r += \" btn-flat\";\n if (this.large) r += \" btn-large\";\n if (this.floating) r += \" btn-floating\";\n if (!this.floating) r += \" btn cmbtn\";\n if (this.extraClass !== \"\") r += \" cmbtn-all-inherit\";\n if (!this.visible) r += \" cmbthide\";\n r += \" color-cmbutton\";\n return r;\n }\n\n olddisabled: boolean;\n clickbutton(event) {\n if (!this.disabled) {\n this.removeWaves();\n this.olddisabled = this.disabled;\n this.disabled = true;\n setTimeout(() => {\n this.disabled = this.olddisabled;\n this.cmclick.emit(this);\n }, 100);\n }\n }\n\n removeWaves() {\n setTimeout(() => {\n const waves: HTMLCollectionOf = document.getElementsByClassName(\n \"waves-ripple\"\n );\n for (let index = 0; index < waves.length; index++) {\n const wave = waves[index];\n wave.remove();\n }\n }, 1000);\n }\n\n onMouseDown(event) {\n this.removeWaves();\n }\n}\n","export * from './cmbutton.component';","// tslint:disable\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cmcontainer\",\r\n templateUrl: \"cmcontainer.component.html\",\r\n})\r\nexport class CMContainerComponent {\r\n @Input()\r\n width: string = \"\";\r\n\r\n @Input()\r\n maxWidth: string = \"\";\r\n\r\n @Input()\r\n minHeight: string = \"\";\r\n\r\n @Input()\r\n height: string = \"\";\r\n\r\n @Input()\r\n innerClass: string = \"\";\r\n\r\n @Input()\r\n marginTop: string = \"\";\r\n\r\n @Input()\r\n background: string = \"\";\r\n\r\n @Input()\r\n backgroundImage: string = \"\";\r\n\r\n @Input()\r\n backgroundSize: string = \"\";\r\n\r\n @Input()\r\n backgroundPosition: string = \"\";\r\n\r\n @Input()\r\n backgroundRepeat: string = \"\";\r\n\r\n @Input(\"cm-overflow\")\r\n overflow: string = \"\";\r\n\r\n @Input()\r\n paddingLeft: string = \"\";\r\n\r\n @Input()\r\n paddingRight: string = \"\";\r\n\r\n getStyle() {\r\n let r: string = \"\";\r\n if (this.width !== \"\") {\r\n r += \"width: \" + this.width + \";\";\r\n if (this.maxWidth !== \"\") r += \"max-width: \" + this.maxWidth + \";\";\r\n else r += \"max-width: \" + this.width + \";\";\r\n }\r\n if (this.minHeight !== \"\") r += \"min-height: \" + this.minHeight + \";\";\r\n if (this.height !== \"\") r += \"height: \" + this.height + \";\";\r\n if (this.marginTop !== \"\") r += \"margin-top: \" + this.marginTop + \";\";\r\n if (this.background !== \"\") r += \"background: \" + this.background + \";\";\r\n if (this.backgroundImage !== \"\")\r\n r += \"background-image: \" + this.backgroundImage + \";\";\r\n if (this.backgroundSize !== \"\")\r\n r += \"background-size: \" + this.backgroundSize + \";\";\r\n if (this.backgroundPosition !== \"\")\r\n r += \"background-position: \" + this.backgroundPosition + \";\";\r\n if (this.backgroundRepeat !== \"\")\r\n r += \"background-repeat: \" + this.backgroundRepeat + \";\";\r\n if (this.overflow !== \"\") r += \"overflow: \" + this.overflow + \";\";\r\n if (this.paddingLeft !== \"\") r += \"padding-left: \" + this.paddingLeft + \";\";\r\n if (this.paddingRight !== \"\")\r\n r += \"padding-right: \" + this.paddingRight + \";\";\r\n return r;\r\n }\r\n}\r\n","export * from './cmcontainer.component';","// tslint:disable\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cmdivider',\r\n templateUrl: 'cmdivider.component.html'\r\n})\r\nexport class CMDividerComponent {}","export * from './cmdivider.component';","export default \".titulo {\\n padding-left: 10px;\\n font-size: 1.4em;\\n}\\n\\n.bt-close-filtro {\\n transform: scaleY(0.6) scaleX(0.6);\\n position: absolute;\\n right: 10px;\\n top: 0px;\\n width: 40px;\\n text-align: center;\\n}\\n\\n.div_bt_extra {\\n border-right-style: solid;\\n border-right-width: 1px;\\n padding-right: 10px;\\n margin-right: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1icm93c2UvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbWZvcm1cXGNtZm9ybS1icm93c2VcXGNtZm9ybS1icm93c2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tYnJvd3NlL2NtZm9ybS1icm93c2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBQTtFQUFvQixnQkFBQTtBQ0V0Qjs7QURDQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBQ0VGOztBRENBO0VBQ0UseUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUNFRiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tYnJvd3NlL2NtZm9ybS1icm93c2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0dWxvIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IGZvbnQtc2l6ZTogMS40ZW07XHJcbn1cclxuXHJcbi5idC1jbG9zZS1maWx0cm8ge1xyXG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNikgc2NhbGVYKDAuNik7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAxMHB4O1xyXG4gIHRvcDogMHB4O1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmRpdl9idF9leHRyYSB7XHJcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufSIsIi50aXR1bG8ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG59XG5cbi5idC1jbG9zZS1maWx0cm8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjYpIHNjYWxlWCgwLjYpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRpdl9idF9leHRyYSB7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59Il19 */\"","// tslint:disable\r\nimport { Injector, OnDestroy } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../../component/cmform/cmform.component\";\r\nimport {\r\n CMGridComponent,\r\n CMFormModalComponent,\r\n CMFormEditComponent,\r\n CMDynamicCreatorComponent,\r\n CMFormGlobaisComponent,\r\n CMInputConfig,\r\n CMFormEmailComponent,\r\n} from \"../../../component\";\r\nimport { AppComponent } from \"./../../../../app.component\";\r\n\r\nexport class CMFormBrowseComponent\r\n extends CMFormComponent\r\n implements OnDestroy {\r\n static iconeFiltro: string = \"keyboard_arrow_down\";\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.addCheckReload();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.removeCheckReload();\r\n }\r\n\r\n protected formEdit: CMFormEditComponent = null;\r\n\r\n public formEditComponent: any = undefined;\r\n\r\n protected __formEditDynamic: any;\r\n\r\n public beforeComponent: any = undefined;\r\n\r\n protected columns = [];\r\n\r\n public columnsGrid = [];\r\n\r\n public grid: CMGridComponent;\r\n\r\n public fixedFooterFormEdit: boolean = true;\r\n\r\n protected showPrintButton: boolean = false;\r\n\r\n protected showEmailButton: boolean = false;\r\n\r\n protected controllerName: string = \"\";\r\n\r\n public filters = [];\r\n\r\n public valuesFilters: any = {};\r\n\r\n protected extraValuesFilters: any = {};\r\n\r\n public buttonsExtra: number = 0;\r\n\r\n protected direitoButtonsExtra: boolean[] = [];\r\n\r\n getButtonsExtraArray() {\r\n let r = [];\r\n r.length = this.buttonsExtra;\r\n return r;\r\n }\r\n\r\n buttonsExtraClick(index: number) {}\r\n buttonsExtraIcon(index: number) {}\r\n buttonsExtraHint(index: number) {}\r\n buttonsExtraPosicao(index: number) {\r\n return \"record\";\r\n }\r\n buttonsExtraVisible(index: number) {\r\n return this.buttonsExtraDireito(index);\r\n }\r\n buttonsExtraDireito(index: number) {\r\n let r: boolean = false;\r\n if (index < this.direitoButtonsExtra.length)\r\n r = this.direitoButtonsExtra[index];\r\n return r;\r\n }\r\n\r\n fieldNameId() {\r\n return \"id\";\r\n }\r\n\r\n loadDireitoButtonsExtra() {\r\n if (this.buttonsExtra > 0 && this.direitoButtonsExtra.length === 0) {\r\n for (let i = 0; i < this.buttonsExtra; i++) {\r\n this.loadDireitoButtonExtra(i);\r\n this.direitoButtonsExtra.push(false);\r\n }\r\n }\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {}\r\n\r\n disabledAllFormEdit() {\r\n let r: boolean = false;\r\n if (this.formEdit) r = this.formEdit.disabledAll;\r\n return r;\r\n }\r\n\r\n showButtonExtraFormEdit() {\r\n let r: boolean = false;\r\n if (this.formEdit) r = this.formEdit.showButtonExtra();\r\n return r;\r\n }\r\n\r\n hintButtonExtraFormEdit() {\r\n let r: string = \"\";\r\n if (this.formEdit) r = this.formEdit.hintButtonExtra();\r\n return r;\r\n }\r\n\r\n iconButtonExtraFormEdit() {\r\n let r: string = \"\";\r\n if (this.formEdit) r = this.formEdit.iconButtonExtra();\r\n return r;\r\n }\r\n\r\n clickButtonExtraFormEdit() {\r\n if (this.formEdit) this.formEdit.clickButtonExtra();\r\n }\r\n\r\n _print() {\r\n if (this.diretoImprimir) this.print();\r\n }\r\n\r\n _email() {\r\n if (this.diretoEmail) this.getDadosEmail();\r\n }\r\n\r\n getDataPrint(data) {\r\n return data;\r\n }\r\n\r\n print() {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n\r\n getColumnsFilter() {\r\n let r = Math.floor(11 / this.filters.length);\r\n if (r < 3) r = 3;\r\n return r;\r\n }\r\n\r\n afterOnPage() {}\r\n\r\n msgSemDados = \"\";\r\n onPage(grid: CMGridComponent) {\r\n this.grid = grid;\r\n this.msgSemDados = \"Buscando dados. Aguarde...\";\r\n if (this.possuiAlgumDireito()) {\r\n let valuesFilters: any = this.extraValuesFilters;\r\n this.filters.forEach((item) => {\r\n if (item.filter) {\r\n let value = this.getValueObject(this.valuesFilters, item.filterField);\r\n if (value !== undefined) {\r\n if (item.filter.valid(value, true) === \"\")\r\n valuesFilters[item.filterField] = value;\r\n }\r\n }\r\n });\r\n this.postSubscribe(\r\n AppComponent.basePathApi +\r\n \"/api/\" +\r\n this.controllerName.toLowerCase() +\r\n \"/getbrowseobjects\",\r\n JSON.stringify({\r\n page: grid.page,\r\n limit: grid.limit,\r\n filter: valuesFilters,\r\n }),\r\n (data) => {\r\n if (data[\"data\"] !== undefined && data[\"totalCount\"] !== undefined) {\r\n grid.setPageData(data[\"data\"], data[\"totalCount\"]);\r\n if (data[\"data\"].length == 0) {\r\n this.msgSemDados = \"Sem dados para exibir\";\r\n }\r\n } else {\r\n grid.setPageData([], 0);\r\n this.msgSemDados = \"Sem dados para exibir\";\r\n }\r\n this.afterOnPage();\r\n return true;\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n } else grid.setPageData([], 0);\r\n }\r\n\r\n selectedItem() {\r\n if (this.grid) {\r\n return this.grid.selected.length > 0;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n modalFormEditClose() {\r\n this.formEditAberto = false;\r\n CMFormModalComponent.close(\"modalFormEdit\");\r\n if (this.formEdit) {\r\n this.formEdit.unSelectItens(this.formEdit.modelConfig);\r\n this.generateEmptyModel(this.formEdit.modelConfig, this.formEdit.model);\r\n }\r\n }\r\n\r\n getTitleEdit() {\r\n if (this.formEdit) return this.formEdit.getTitle();\r\n else return \"\";\r\n }\r\n\r\n getTitle() {\r\n return \"\";\r\n }\r\n\r\n modalFormEditSave(event: any) {\r\n if (this.diretoCadastrar || this.diretoEditar)\r\n this.formEdit.save(this);\r\n }\r\n\r\n deleteModel(idDataModel: number) {\r\n if (this.diretoApagar) {\r\n CMFormGlobaisComponent.showSpinner();\r\n let data = {};\r\n data[this.fieldNameId()] = idDataModel;\r\n this.postSubscribe(\r\n AppComponent.basePathApi +\r\n \"/api/\" +\r\n this.controllerName.toLowerCase() +\r\n \"/deleteobject\",\r\n JSON.stringify(data),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.grid.refreshCurrentPage();\r\n } else {\r\n let str: string = '

    ';\r\n str +=\r\n \"

    Mensagem: \" +\r\n result[\"result\"] +\r\n \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"deleteModel\", error);\r\n }\r\n );\r\n return {};\r\n }\r\n }\r\n\r\n focusFirstComponentEdit() {\r\n this.formEdit.focusFirstComponentEdit();\r\n }\r\n\r\n formEditAberto: boolean = false;\r\n\r\n openmodalFormEdit() {\r\n this.formEditAberto = true;\r\n CMFormModalComponent.open(\"modalFormEdit\", (r) => {\r\n this.formEdit.activeFirstPageTabs();\r\n this.focusFirstComponentEdit();\r\n });\r\n }\r\n\r\n add(formEditDynamic: CMDynamicCreatorComponent, onAfter?: Function) {\r\n if (formEditDynamic == undefined) formEditDynamic = this.__formEditDynamic;\r\n if (this.diretoCadastrar) {\r\n this.formEdit = formEditDynamic.componentReference.instance;\r\n this.formEdit.disabledAll = false;\r\n this.formEdit.getModelData(0, (model) => {\r\n this.openmodalFormEdit();\r\n if (onAfter) onAfter(model);\r\n });\r\n }\r\n }\r\n\r\n edit(formEditDynamic: CMDynamicCreatorComponent) {\r\n if (this.diretoEditar) {\r\n this.formEdit = formEditDynamic.componentReference.instance;\r\n this.formEdit.disabledAll = false;\r\n this.formEdit.getModelData(\r\n this.grid.selected[0][this.fieldNameId()],\r\n (r) => {\r\n this.openmodalFormEdit();\r\n }\r\n );\r\n }\r\n }\r\n\r\n view(formEditDynamic: CMDynamicCreatorComponent) {\r\n if (this.diretoVisualizar) {\r\n this.formEdit = formEditDynamic.componentReference.instance;\r\n this.formEdit.disabledAll = true;\r\n this.formEdit.getModelData(\r\n this.grid.selected[0][this.fieldNameId()],\r\n (r) => {\r\n this.openmodalFormEdit();\r\n }\r\n );\r\n }\r\n }\r\n\r\n delete(formEditDynamic: CMDynamicCreatorComponent) {\r\n if (this.diretoApagar) {\r\n this.formEdit = formEditDynamic.componentReference.instance;\r\n this.deleteModel(this.grid.selected[0][this.fieldNameId()]);\r\n }\r\n }\r\n\r\n clickDelete(event) {\r\n if (this.diretoApagar) {\r\n if (this.grid) this.grid._onRemove(event);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.internalInit();\r\n }\r\n\r\n internalInit() {\r\n this.filters = [];\r\n this.valuesFilters = {};\r\n this.columnsGrid = [];\r\n this.columns.forEach((item) => {\r\n if (item.visible === undefined) item.visible = true;\r\n if (item.width === undefined) item.width = 1;\r\n if (item.visible) {\r\n if (item.visible instanceof Function) {\r\n if (item.visible()) this.columnsGrid.push(item);\r\n } else this.columnsGrid.push(item);\r\n }\r\n if (item.filter) {\r\n if (item.filterVisible === undefined) {\r\n item.filterVisible = () => {\r\n return true;\r\n };\r\n } else if (!(item.filterVisible instanceof Function)) {\r\n item._filterVisible = item.filterVisible;\r\n item.filterVisible = () => {\r\n return item._filterVisible;\r\n };\r\n }\r\n if (item.filterField === undefined) item.filterField = item.field;\r\n if (item.filterValue === undefined) item.filterValue = item.filterField;\r\n if (item.filter === true) {\r\n item.filter = new CMInputConfig({\r\n caption: item.caption,\r\n });\r\n } else {\r\n if (item.filter.caption === \"\") item.filter.caption = item.caption;\r\n if (item.filter.dataType === \"boolean\") {\r\n item.filter.values = [\r\n { text: \"\", value: \"\" },\r\n { text: \"Sim\", value: \"true\" },\r\n { text: \"Não\", value: \"false\" },\r\n ];\r\n }\r\n }\r\n this.filters.push(item);\r\n }\r\n if (item.value) {\r\n if (item.value instanceof Function)\r\n this.valuesFilters[item.field] = item.value();\r\n else this.valuesFilters[item.field] = item.value;\r\n }\r\n });\r\n this.getDireitosMenuBrowse();\r\n }\r\n\r\n filtrar() {\r\n if (document.activeElement instanceof HTMLElement)\r\n document.activeElement.blur();\r\n if (this.grid) {\r\n this.grid.page = 0;\r\n this.grid.refreshCurrentPage();\r\n }\r\n }\r\n\r\n lastHashReload: string = localStorage.getItem(\"lastHashReload\");\r\n needReload() {\r\n return this.lastHashReload !== localStorage.getItem(\"lastHashReload\");\r\n }\r\n\r\n private handleStorageEvent = (event: StorageEvent): void => {\r\n if (this.needReload()) {\r\n window.location.reload();\r\n }\r\n };\r\n\r\n addCheckReload() {\r\n window.addEventListener(\"storage\", this.handleStorageEvent);\r\n }\r\n\r\n removeCheckReload() {\r\n window.removeEventListener(\"storage\", this.handleStorageEvent);\r\n }\r\n\r\n refresh() {\r\n if (this.grid) this.grid.refreshCurrentPage();\r\n }\r\n\r\n getShowPrintButton() {\r\n let r: boolean = this.diretoImprimir;\r\n if (r && this.grid) {\r\n r = this.showPrintButton;\r\n if (r) r = this.grid.isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n getShowEmailButton() {\r\n let r: boolean = this.diretoEmail;\r\n if (r && this.grid) {\r\n r = this.showEmailButton;\r\n if (r) r = this.grid.isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n getShowActionAdd() {\r\n return this.diretoCadastrar;\r\n }\r\n\r\n getShowActionEdit() {\r\n let r: boolean = this.diretoEditar;\r\n if (r && this.grid) {\r\n r = this.grid.isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n getShowActionView() {\r\n let r: boolean = this.diretoVisualizar;\r\n if (r && this.grid) {\r\n r = this.grid.isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n getShowMenuActions() {\r\n return true;\r\n }\r\n\r\n getShowActionRemove() {\r\n let r: boolean = this.diretoApagar;\r\n if (r && this.grid) {\r\n r = this.grid.isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n getShowActionHelp() {\r\n return this.helps.length > 0;\r\n }\r\n\r\n _hideShowFilters: boolean = false;\r\n hideShowFilters(event) {\r\n this._hideShowFilters = !this._hideShowFilters;\r\n }\r\n\r\n getIconHideShow() {\r\n if (this._hideShowFilters) return \"keyboard_arrow_up\";\r\n else return CMFormBrowseComponent.iconeFiltro;\r\n }\r\n\r\n limparFiltros() {\r\n this.valuesFilters = {};\r\n this.filtrar();\r\n }\r\n\r\n protected getKeyDownCodes() {\r\n let r = super.getKeyDownCodes();\r\n r.push(13);\r\n return r;\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {\r\n super.onKeydown(keyCode, event);\r\n switch (keyCode) {\r\n case 13: // enter\r\n if (!this.formEditAberto) this.filtrar();\r\n break;\r\n }\r\n }\r\n\r\n protected diretoCadastrar: boolean = false;\r\n protected diretoEditar: boolean = false;\r\n protected diretoVisualizar: boolean = false;\r\n protected diretoApagar: boolean = false;\r\n protected diretoImprimir: boolean = false;\r\n protected diretoExecutar: boolean = false;\r\n protected diretoEmail: boolean = false;\r\n public helps = [];\r\n\r\n possuiAlgumDireito() {\r\n let r: boolean =\r\n this.diretoCadastrar ||\r\n this.diretoEditar ||\r\n this.diretoApagar ||\r\n this.diretoVisualizar ||\r\n this.diretoExecutar ||\r\n this.diretoImprimir ||\r\n this.diretoEmail;\r\n return r;\r\n }\r\n\r\n protected innerGetDireitosMenuBrowse(data: Object, controllerName: string) {\r\n this.diretoCadastrar = data[\"Cadastrar\"] === \"true\";\r\n this.diretoEditar = data[\"Editar\"] === \"true\";\r\n this.diretoVisualizar = data[\"Visualizar\"] === \"true\";\r\n this.diretoApagar = data[\"Apagar\"] === \"true\";\r\n this.diretoImprimir = data[\"Imprimir\"] === \"true\";\r\n this.diretoEmail = data[\"Email\"] === \"true\";\r\n this.diretoExecutar = data[\"Executar\"] === \"true\";\r\n if (data[\"Helps\"]) this.helps = data[\"Helps\"];\r\n else this.helps = [];\r\n this.setCacheDireitos(data, controllerName);\r\n if (this.grid) this.onPage(this.grid);\r\n }\r\n\r\n getDireitosMenuBrowse() {\r\n let cacheData = this.getCacheDireitos(this.controllerName);\r\n if (cacheData) {\r\n this.innerGetDireitosMenuBrowse(cacheData, this.controllerName);\r\n this.loadDireitoButtonsExtra();\r\n } else {\r\n this.postSubscribe(\r\n AppComponent.basePathApi +\r\n \"/api/\" +\r\n this.controllerName.toLowerCase() +\r\n \"/getdireitos\",\r\n JSON.stringify({\r\n hash: \"ClassName\",\r\n tipo: \"Direct\",\r\n }),\r\n (data) => {\r\n this.innerGetDireitosMenuBrowse(data, this.controllerName);\r\n this.loadDireitoButtonsExtra();\r\n return true;\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"getDireitosMenuBrowse\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private setDireitoMenuBrowseButtonsExtraData(index: number, data) {\r\n this.direitoButtonsExtra[index] = data[\"Executar\"] === \"true\";\r\n }\r\n\r\n setDireitoMenuBrowseButtonsExtra(index: number, bol: boolean) {\r\n this.direitoButtonsExtra[index] = bol;\r\n }\r\n\r\n getDireitosMenuBrowseButtonsExtra(index: number, funcName: string) {\r\n let cacheData = this.getCacheDireitos(\r\n this.controllerName,\r\n index.toString()\r\n );\r\n if (cacheData) {\r\n this.setDireitoMenuBrowseButtonsExtraData(index, cacheData);\r\n } else {\r\n this.postSubscribe(\r\n AppComponent.basePathApi +\r\n \"/api/\" +\r\n this.controllerName.toLowerCase() +\r\n \"/getdireitos\",\r\n JSON.stringify({\r\n hash: \"ClassName.\" + funcName,\r\n tipo: \"Extra\",\r\n }),\r\n (data) => {\r\n this.setCacheDireitos(data, this.controllerName, index.toString());\r\n this.setDireitoMenuBrowseButtonsExtraData(index, data);\r\n return true;\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"getDireitosMenuBrowseButtonsExtra\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n togglePopup(event) {\r\n setTimeout(() => {\r\n const popup = document.getElementById(\"popupHelp_\" + this.name);\r\n popup.style.top = \"auto\";\r\n popup.style.left = \"auto\";\r\n popup.style.marginRight = \"10px\";\r\n popup.style.right = \"0\";\r\n popup.classList.toggle(\"show\");\r\n }, 10);\r\n }\r\n\r\n showHelpLinkIFrame(recursoHelp) {\r\n let html = this.trimValue(recursoHelp.link);\r\n if (!html.toLocaleLowerCase().startsWith(\"\";\r\n }\r\n CMFormGlobaisComponent.showMessageHtml(html, recursoHelp.titulo);\r\n }\r\n\r\n emailOpenForm(data) {\r\n let id = this.grid.fieldByName(\"id\");\r\n data.id = id;\r\n data.tipo = \"SendMail\";\r\n CMFormEmailComponent.open(\r\n \"/api/\" + this.controllerName + \"/Email\",\r\n data.caption,\r\n data\r\n );\r\n }\r\n\r\n getDadosEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/Email\",\r\n JSON.stringify({\r\n id: this.grid.fieldByName(\"id\"),\r\n tipo: \"GetData\",\r\n }),\r\n (data) => {\r\n if (data[\"result\"] === \"true\") this.emailOpenForm(data);\r\n else CMFormGlobaisComponent.toastErro(data[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"getDadosEmail\", error);\r\n }\r\n );\r\n }\r\n\r\n areFormsSaved() {\r\n let r = !this.formEditAberto;\r\n if (!r) {\r\n if (this.formEdit) {\r\n r = this.formEdit.disabledAll;\r\n if (!r) {\r\n r = !this.formEdit.modified();\r\n }\r\n }\r\n }\r\n if (!r) {\r\n CMFormGlobaisComponent.toastInformacao(\r\n \"Dados não salvos. Verifique!\",\r\n \"ATENÇÃO\"\r\n );\r\n }\r\n return r;\r\n }\r\n}\r\n","export default \".titulo-warpper {\\n margin-top: 0.5em;\\n line-height: 4em;\\n color: #fff;\\n}\\n\\n.titulo-warpper2 {\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n\\n.titulo {\\n font-size: 1.4em;\\n display: contents;\\n}\\n\\n.titulo-browse {\\n display: inline-flex;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 70%;\\n}\\n\\n.buttons {\\n float: right;\\n}\\n\\n.bt-close-filtro {\\n transform: scaleY(0.6) scaleX(0.6);\\n position: absolute;\\n right: 10px;\\n top: 0px;\\n width: 40px;\\n text-align: center;\\n}\\n\\n.div_bt_extra {\\n border-right-style: solid;\\n border-right-width: 1px;\\n padding-right: 10px;\\n margin-right: 10px;\\n}\\n\\n.box {\\n display: flex;\\n flex-flow: column;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.box .row.header {\\n flex: 0 1 auto;\\n width: 100%;\\n margin-bottom: 0px;\\n margin: 0;\\n}\\n\\n.box .row.content {\\n flex: 1 1 auto;\\n width: 100%;\\n margin-bottom: 0px;\\n margin: 0;\\n}\\n\\n.box .content-browse {\\n height: calc(100% - 155px);\\n}\\n\\n.box .content-edit {\\n height: 100%;\\n}\\n\\n.box .row.footer {\\n flex: 0 1 40px;\\n width: 100%;\\n margin-bottom: 0px;\\n background: #fff;\\n z-index: 1;\\n margin: 0;\\n}\\n\\n.pagination-browse {\\n float: right;\\n}\\n\\n.warpper-grid-browse {\\n position: relative;\\n height: 100%;\\n}\\n\\n.warpper-grid-browse .grid-browse {\\n height: 100%;\\n overflow-y: auto;\\n min-height: 50px;\\n}\\n\\n.warpper-grid-browse .grid-browse .thead {\\n background: #fff;\\n}\\n\\n.warpper-grid-browse .grid-browse th {\\n height: 30px;\\n line-height: 30px;\\n padding-top: 0;\\n padding-bottom: 0;\\n color: black;\\n border: none;\\n white-space: nowrap;\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 5;\\n background: #fff;\\n}\\n\\n.warpper-grid-browse .grid-browse tr {\\n cursor: pointer;\\n}\\n\\n.warpper-grid-browse .grid-browse td,\\n.warpper-grid-browse .grid-browse th {\\n padding: 7px 5px;\\n}\\n\\n.hidden {\\n visibility: hidden;\\n}\\n\\n.total {\\n float: left;\\n line-height: 4em;\\n}\\n\\n.btn-trigger-acaoes {\\n width: 32.4px;\\n height: 32.4px;\\n line-height: 32.4px;\\n font-size: 13px;\\n}\\n\\n.btn-acoes {\\n margin: 0 auto;\\n display: table;\\n width: 40px;\\n text-align: center;\\n}\\n\\n.warpper-form-edit {\\n height: calc(100% - 60px);\\n overflow-y: auto;\\n}\\n\\n.text-column-ellipsis {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.titulo-edit {\\n display: inherit;\\n}\\n\\n.titulo-warpper-edit {\\n max-width: 85%;\\n display: inline-block;\\n}\\n\\n.popup-help {\\n /* Popup container - can be anything you want */\\n /* The actual popup */\\n /* Toggle this class - hide and show the popup */\\n /* Add animation (fade in the popup) */\\n}\\n\\n.popup-help .popup {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.popup-help .dropdown-content {\\n overflow-y: inherit !important;\\n opacity: 1 !important;\\n}\\n\\n.popup-help .popup .popuptext {\\n visibility: hidden;\\n background-color: #fff;\\n color: #fff;\\n text-align: center;\\n position: fixed;\\n z-index: 1;\\n top: 0px;\\n left: 0px;\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);\\n}\\n\\n.popup-help .popup .show {\\n visibility: visible;\\n -webkit-animation: fadeIn 1s;\\n animation: fadeIn 1s;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1icm93c2UvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbWZvcm1cXGNtZm9ybS1icm93c2VcXGNtZm9ybS1icm93c2UyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbWZvcm0vY21mb3JtLWJyb3dzZS9jbWZvcm0tYnJvd3NlMi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtFQUNBLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSxvQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7QUNDRjs7QURFQTtFQUNFLFlBQUE7QUNDRjs7QURFQTtFQUNFLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBQ0NGOztBREVBO0VBQ0UseUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0FDQ0Y7O0FEQ0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtBQ0NKOztBREVFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7QUNBSjs7QURHRTtFQUNFLDBCQUFBO0FDREo7O0FESUU7RUFDRSxZQUFBO0FDRko7O0FES0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtBQ0hKOztBRE9BO0VBQ0UsWUFBQTtBQ0pGOztBRE9BO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0FDSkY7O0FETUU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBQ0pKOztBRE1JO0VBQ0UsZ0JBQUE7QUNKTjs7QURPSTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUFBLGdCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtBQ0xOOztBRFFJO0VBQ0UsZUFBQTtBQ05OOztBRFNJOztFQUVFLGdCQUFBO0FDUE47O0FEWUE7RUFDRSxrQkFBQTtBQ1RGOztBRFlBO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0FDVEY7O0FEWUE7RUFDRSxhQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ1RGOztBRFlBO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QUNURjs7QURZQTtFQUNFLHlCQUFBO0VBQ0EsZ0JBQUE7QUNURjs7QURZQTtFQUNFLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtBQ1RGOztBRFlBO0VBQ0UsZ0JBQUE7QUNURjs7QURZQTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtBQ1RGOztBRFlBO0VBQ0UsK0NBQUE7RUFXQSxxQkFBQTtFQWNBLGdEQUFBO0VBT0Esc0NBQUE7QUN0Q0Y7O0FET0U7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0FDTEo7O0FEUUU7RUFDRSw4QkFBQTtFQUNBLHFCQUFBO0FDTko7O0FEVUU7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLCtHQUFBO0FDUko7O0FEYUU7RUFDRSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0Esb0JBQUE7QUNYSjs7QURlRTtFQUNFO0lBQ0UsVUFBQTtFQ2JKO0VEZUU7SUFDRSxVQUFBO0VDYko7QUFDRjs7QURnQkU7RUFDRTtJQUNFLFVBQUE7RUNkSjtFRGdCRTtJQUNFLFVBQUE7RUNkSjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1icm93c2UvY21mb3JtLWJyb3dzZTIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0dWxvLXdhcnBwZXIge1xyXG4gIG1hcmdpbi10b3A6IDAuNWVtO1xyXG4gIGxpbmUtaGVpZ2h0OiA0ZW07XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi50aXR1bG8td2FycHBlcjIge1xyXG4gIHBhZGRpbmctbGVmdDogMWVtO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLnRpdHVsbyB7XHJcbiAgZm9udC1zaXplOiAxLjRlbTtcclxuICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLnRpdHVsby1icm93c2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBtYXgtd2lkdGg6IDcwJTtcclxufVxyXG5cclxuLmJ1dHRvbnMge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmJ0LWNsb3NlLWZpbHRybyB7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC42KSBzY2FsZVgoMC42KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgdG9wOiAwcHg7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZGl2X2J0X2V4dHJhIHtcclxuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYm94IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLnJvdy5oZWFkZXIge1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5yb3cuY29udGVudCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQtYnJvd3NlIHtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTU1cHgpO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQtZWRpdCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAucm93LmZvb3RlciB7XHJcbiAgICBmbGV4OiAwIDEgNDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbi1icm93c2Uge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLndhcnBwZXItZ3JpZC1icm93c2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gIC5ncmlkLWJyb3dzZSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogNTBweDtcclxuXHJcbiAgICAudGhlYWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIHRoIHtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIHRyIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHRkLFxyXG4gICAgdGgge1xyXG4gICAgICBwYWRkaW5nOiA3cHggNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhpZGRlbiB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4udG90YWwge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGxpbmUtaGVpZ2h0OiA0ZW07XHJcbn1cclxuXHJcbi5idG4tdHJpZ2dlci1hY2FvZXMge1xyXG4gIHdpZHRoOiAzMi40cHg7XHJcbiAgaGVpZ2h0OiAzMi40cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDMyLjRweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5idG4tYWNvZXMge1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLndhcnBwZXItZm9ybS1lZGl0IHtcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50ZXh0LWNvbHVtbi1lbGxpcHNpcyB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGl0dWxvLWVkaXQge1xyXG4gIGRpc3BsYXk6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi50aXR1bG8td2FycHBlci1lZGl0IHtcclxuICBtYXgtd2lkdGg6IDg1JTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5wb3B1cC1oZWxwIHtcclxuICAvKiBQb3B1cCBjb250YWluZXIgLSBjYW4gYmUgYW55dGhpbmcgeW91IHdhbnQgKi9cclxuICAucG9wdXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3cteTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLyogVGhlIGFjdHVhbCBwb3B1cCAqL1xyXG4gIC5wb3B1cCAucG9wdXB0ZXh0IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksXHJcbiAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICB9XHJcblxyXG4gIC8qIFRvZ2dsZSB0aGlzIGNsYXNzIC0gaGlkZSBhbmQgc2hvdyB0aGUgcG9wdXAgKi9cclxuICAucG9wdXAgLnNob3cge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gMXM7XHJcbiAgICBhbmltYXRpb246IGZhZGVJbiAxcztcclxuICB9XHJcblxyXG4gIC8qIEFkZCBhbmltYXRpb24gKGZhZGUgaW4gdGhlIHBvcHVwKSAqL1xyXG4gIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnRpdHVsby13YXJwcGVyIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGxpbmUtaGVpZ2h0OiA0ZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udGl0dWxvLXdhcnBwZXIyIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cblxuLnRpdHVsbyB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4udGl0dWxvLWJyb3dzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiA3MCU7XG59XG5cbi5idXR0b25zIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uYnQtY2xvc2UtZmlsdHJvIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC42KSBzY2FsZVgoMC42KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kaXZfYnRfZXh0cmEge1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYm94IC5yb3cuaGVhZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbjogMDtcbn1cbi5ib3ggLnJvdy5jb250ZW50IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbjogMDtcbn1cbi5ib3ggLmNvbnRlbnQtYnJvd3NlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNTVweCk7XG59XG4uYm94IC5jb250ZW50LWVkaXQge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uYm94IC5yb3cuZm9vdGVyIHtcbiAgZmxleDogMCAxIDQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBhZ2luYXRpb24tYnJvd3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ud2FycHBlci1ncmlkLWJyb3dzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLndhcnBwZXItZ3JpZC1icm93c2UgLmdyaWQtYnJvd3NlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuLndhcnBwZXItZ3JpZC1icm93c2UgLmdyaWQtYnJvd3NlIC50aGVhZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ud2FycHBlci1ncmlkLWJyb3dzZSAuZ3JpZC1icm93c2UgdGgge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ud2FycHBlci1ncmlkLWJyb3dzZSAuZ3JpZC1icm93c2UgdHIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ud2FycHBlci1ncmlkLWJyb3dzZSAuZ3JpZC1icm93c2UgdGQsXG4ud2FycHBlci1ncmlkLWJyb3dzZSAuZ3JpZC1icm93c2UgdGgge1xuICBwYWRkaW5nOiA3cHggNXB4O1xufVxuXG4uaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udG90YWwge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDRlbTtcbn1cblxuLmJ0bi10cmlnZ2VyLWFjYW9lcyB7XG4gIHdpZHRoOiAzMi40cHg7XG4gIGhlaWdodDogMzIuNHB4O1xuICBsaW5lLWhlaWdodDogMzIuNHB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5idG4tYWNvZXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53YXJwcGVyLWZvcm0tZWRpdCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50ZXh0LWNvbHVtbi1lbGxpcHNpcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGl0dWxvLWVkaXQge1xuICBkaXNwbGF5OiBpbmhlcml0O1xufVxuXG4udGl0dWxvLXdhcnBwZXItZWRpdCB7XG4gIG1heC13aWR0aDogODUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wb3B1cC1oZWxwIHtcbiAgLyogUG9wdXAgY29udGFpbmVyIC0gY2FuIGJlIGFueXRoaW5nIHlvdSB3YW50ICovXG4gIC8qIFRoZSBhY3R1YWwgcG9wdXAgKi9cbiAgLyogVG9nZ2xlIHRoaXMgY2xhc3MgLSBoaWRlIGFuZCBzaG93IHRoZSBwb3B1cCAqL1xuICAvKiBBZGQgYW5pbWF0aW9uIChmYWRlIGluIHRoZSBwb3B1cCkgKi9cbn1cbi5wb3B1cC1oZWxwIC5wb3B1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnBvcHVwLWhlbHAgLmRyb3Bkb3duLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5wb3B1cC1oZWxwIC5wb3B1cCAucG9wdXB0ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5wb3B1cC1oZWxwIC5wb3B1cCAuc2hvdyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gMXM7XG4gIGFuaW1hdGlvbjogZmFkZUluIDFzO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufSJdfQ== */\"","// tslint:disable\r\nimport { Injector, Input } from \"@angular/core\";\r\n\r\nimport { CMFormBrowseComponent } from \"./\";\r\n\r\nimport { CMFormGlobaisComponent } from \"../../../component\";\r\n\r\nexport class CMFormBrowse2Component extends CMFormBrowseComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n let g: any = this;\r\n this.grid = g;\r\n }\r\n\r\n page = 0;\r\n limit = 10;\r\n rowsData = [];\r\n selected = [];\r\n totalCount: number = 0;\r\n totalPage: number = 0;\r\n pages = [];\r\n depthPages = [];\r\n public setPageData(rowsData: any, totalCount: number) {\r\n this.rowsData = rowsData;\r\n this.totalCount = totalCount;\r\n this.totalPage = Math.ceil(this.totalCount / this.limit);\r\n this.pages = [];\r\n for (let i = 0; i < this.totalPage; i++) this.pages.push(i);\r\n let iniPage = 0;\r\n if (this.page > 5) iniPage = this.page - 4;\r\n let fimPage = iniPage + 9;\r\n if (fimPage > this.totalPage) {\r\n fimPage = this.totalPage;\r\n iniPage = fimPage - 9;\r\n if (iniPage < 0) iniPage = 0;\r\n }\r\n this.depthPages = [];\r\n if (this.totalPage > 0) {\r\n for (let i = iniPage; i < fimPage; i++) {\r\n this.depthPages.push(i);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.config_dropdown_button();\r\n }, 1000);\r\n }\r\n\r\n config_dropdown_button() {\r\n let d: any = $(\".dropdown-trigger\");\r\n d.dropdown({\r\n inDuration: 300,\r\n outDuration: 225,\r\n constrainWidth: false, // Does not change width of dropdown to that of the activator\r\n hover: false, // Activate on hover\r\n gutter: 0, // Spacing from edge\r\n coverTrigger: true, // Displays dropdown below the button\r\n alignment: \"left\", // Displays dropdown with edge aligned to the left of button\r\n });\r\n }\r\n\r\n selectFirst() {\r\n if (this.count > 0) this.selected = [this.rowsData[0]];\r\n }\r\n\r\n incPage() {\r\n this.setPage(this.page + 1);\r\n }\r\n\r\n decPage() {\r\n this.setPage(this.page - 1);\r\n }\r\n\r\n firstPage() {\r\n this.setPage(0);\r\n }\r\n\r\n lastPage() {\r\n this.setPage(this.totalPage);\r\n }\r\n\r\n setPage(page) {\r\n if (page < 0) page = 0;\r\n if (page > this.totalPage - 1) page = this.totalPage - 1;\r\n if (this.page != page) {\r\n this.page = page;\r\n let g: any = this;\r\n this.onPage(g);\r\n }\r\n }\r\n\r\n showAcoes(item) {\r\n this.selected = [item];\r\n }\r\n\r\n row_click(item, formEditDynamic, column) {\r\n this.selected = [item];\r\n if (column.iconClick === undefined) {\r\n if (this.getShowMenuActions()) {\r\n if (this.getShowActionEdit()) {\r\n this.edit(formEditDynamic);\r\n } else {\r\n this.view(formEditDynamic);\r\n }\r\n }\r\n } else {\r\n column.iconClick(item, column);\r\n }\r\n }\r\n\r\n refreshCurrentPage() {\r\n this.selected = [];\r\n let g: any = this;\r\n this.onPage(g);\r\n }\r\n\r\n buttonsExtraGridClick(index: number, formEditDynamic) {\r\n this.__formEditDynamic = formEditDynamic;\r\n this.buttonsExtraClick(index);\r\n }\r\n\r\n private emptyModel: any = undefined;\r\n public get current() {\r\n let r = {};\r\n if (this.isCurrent && this.selected[0] !== undefined) r = this.selected[0];\r\n else {\r\n if (!this.emptyModel) {\r\n this.emptyModel = {};\r\n this.generateEmptyModel(this.columns, r);\r\n }\r\n r = this.emptyModel;\r\n }\r\n return r;\r\n }\r\n\r\n public fieldByName(aFieldName: string) {\r\n return this.getValueObject(this.current, aFieldName);\r\n }\r\n\r\n public _onRemove(event) {\r\n if (this.isCurrent) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Confirmação\",\r\n '

    Deseja apagar o registro selecionado?

    ',\r\n () => {\r\n if (this.diretoApagar) {\r\n let id = this.grid.selected[0][this.fieldNameId()];\r\n this.grid.selected = [];\r\n this.deleteModel(id);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n public get count() {\r\n if (this.rowsData) return this.rowsData.length;\r\n else return 0;\r\n }\r\n\r\n public get isCurrent() {\r\n if (this.count > 0 && this.selected && this.selected.length > 0)\r\n return true;\r\n else return false;\r\n }\r\n\r\n heightGrid() {\r\n if (this._hideShowFilters) {\r\n let height = \"0\";\r\n const PN_Pesquisa = $(\"#PN_Pesquisa\");\r\n if (PN_Pesquisa && PN_Pesquisa.height) height = PN_Pesquisa.height() + \"\";\r\n height = \"calc(100% - \" + height + \"px)\";\r\n return height;\r\n } else return \"100%\";\r\n }\r\n\r\n modalFormEditClose() {\r\n const callback = () => {\r\n if ($(\".warpper-form-edit\")[0].scrollTo)\r\n $(\".warpper-form-edit\")[0].scrollTo(0, 0);\r\n super.modalFormEditClose();\r\n };\r\n\r\n if (!this.formEdit.disabledAll && this.formEdit.modified()) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"ATENÇÃO\",\r\n '

    As informações foram modificadas. Deseja mesmo cancelar a operação?

    ',\r\n callback\r\n );\r\n } else {\r\n callback();\r\n }\r\n }\r\n\r\n permiteFiltros() {\r\n return true;\r\n }\r\n\r\n getcolor(item) {\r\n return undefined;\r\n }\r\n}\r\n","export * from './cmform-browse.component';\r\nexport * from './cmform-browse2.component';","export default \".cmform-buttons-edit {\\n padding-right: 20px;\\n}\\n\\n.text-column-ellipsis {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.leftText {\\n width: calc(100% - 300px);\\n}\\n\\n.leftText li {\\n font-size: 1.4em;\\n padding-left: 1em;\\n padding-right: 1em;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1idXR0b25zLWVkaXQvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbWZvcm1cXGNtZm9ybS1idXR0b25zLWVkaXRcXGNtZm9ybS1idXR0b25zLWVkaXQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tYnV0dG9ucy1lZGl0L2NtZm9ybS1idXR0b25zLWVkaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FDQ0Y7O0FERUE7RUFDRSx5QkFBQTtBQ0NGOztBREdFO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1idXR0b25zLWVkaXQvY21mb3JtLWJ1dHRvbnMtZWRpdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0tYnV0dG9ucy1lZGl0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4udGV4dC1jb2x1bW4tZWxsaXBzaXMge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmxlZnRUZXh0IHtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xyXG59XHJcblxyXG4ubGVmdFRleHQge1xyXG4gIGxpIHtcclxuICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIuY21mb3JtLWJ1dHRvbnMtZWRpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi50ZXh0LWNvbHVtbi1lbGxpcHNpcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubGVmdFRleHQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xufVxuXG4ubGVmdFRleHQgbGkge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\nimport { CMInput } from \"../../../decorator\";\r\n\r\n@Component({\r\n selector: \"cmform-buttons-edit\",\r\n templateUrl: \"./cmform-buttons-edit.component.html\",\r\n styleUrls: [\"./cmform-buttons-edit.component.scss\"],\r\n})\r\nexport class CMFormButtonsEditComponent {\r\n @Input()\r\n @CMInput()\r\n showButtonEdit: boolean = true;\r\n @Input()\r\n @CMInput()\r\n showButtonCancel: boolean = true;\r\n @Input()\r\n @CMInput()\r\n showButtonExtra: boolean = false;\r\n @Input()\r\n @CMInput()\r\n hintButtonExtra: string = \"\";\r\n @Input()\r\n @CMInput()\r\n iconButtonExtra: string = \"\";\r\n\r\n @Input()\r\n @CMInput()\r\n leftText: string = \"\";\r\n\r\n @Output()\r\n clickButtonSave = new EventEmitter();\r\n _clickButtonSave(event: any) {\r\n this.clickButtonSave.emit(event);\r\n }\r\n\r\n @Output()\r\n clickButtonCancel = new EventEmitter();\r\n _clickButtonCancel(event: any) {\r\n this.clickButtonCancel.emit(event);\r\n }\r\n\r\n @Output()\r\n clickButtonExtra = new EventEmitter();\r\n _clickButtonExtra(event: any) {\r\n this.clickButtonExtra.emit(event);\r\n }\r\n\r\n isLeftText() {\r\n return this.leftText !== \"\";\r\n }\r\n}\r\n","export * from './cmform-buttons-edit.component';","// tslint:disable\r\nimport { Input, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../../component/cmform/cmform.component\";\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormBrowseComponent,\r\n} from \"../../../component\";\r\nimport { AppComponent } from \"./../../../../app.component\";\r\n\r\nexport class CMFormEditComponent extends CMFormComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n @Input() idDataModel: number = 0;\r\n @Input() controllerName: string = \"\";\r\n @Input() functionSaveName: string = \"saveobject\";\r\n public model: any = {};\r\n private innerModelConfig = {};\r\n public get modelConfig() {\r\n return this.innerModelConfig;\r\n }\r\n public set modelConfig(value: any) {\r\n this.innerModelConfig = value;\r\n this.model = {};\r\n this.generateEmptyModel(value, this.model);\r\n }\r\n\r\n public beforeComponent: any = undefined;\r\n\r\n activeFirstPageTab(tab) {\r\n let lis = tab.getElementsByTagName(\"LI\");\r\n if (lis.length > 0) {\r\n let _as = lis[0].getElementsByTagName(\"A\");\r\n if (_as.length > 0) _as[0].click();\r\n }\r\n }\r\n\r\n activeFirstPageTabs() {\r\n let tabs = document.getElementsByTagName(\"CMTABS\");\r\n if (tabs) {\r\n if (tabs.length > 0) {\r\n for (let i = 0; i < tabs.length; i++) this.activeFirstPageTab(tabs[i]);\r\n }\r\n }\r\n }\r\n\r\n originalValue: any = \"\";\r\n setOriginalValue() {\r\n this.originalValue = this.modelJSON_noEmpty();\r\n }\r\n modified() {\r\n return this.originalValue != this.modelJSON_noEmpty();\r\n }\r\n\r\n private modelJSON_noEmpty() {\r\n return JSON.stringify(this.model, (key, value) => {\r\n let r = true;\r\n if (r) r = value !== null && value !== undefined && value !== \"\";\r\n if (r && value instanceof Array) r = value.length > 0;\r\n if (r && CMFormComponent.isBaseObject(value))\r\n r = JSON.stringify(value) !== \"{}\";\r\n if (r) {\r\n return value;\r\n }\r\n });\r\n }\r\n\r\n afterGetModelData() {\r\n this.setOriginalValue();\r\n }\r\n\r\n beforeGetModelData() {\r\n this.unSelectItens(this.modelConfig);\r\n }\r\n\r\n getTitle() {\r\n return \"\";\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"\";\r\n }\r\n\r\n focusFirstComponentEdit() {\r\n if (this.getFirstComponentName() !== \"\")\r\n $(\"#\" + this.getFirstComponentName()).focus();\r\n }\r\n\r\n customValid() {\r\n return super.customValid(this.modelConfig);\r\n }\r\n\r\n valid() {\r\n return super.valid(this.modelConfig, this.model);\r\n }\r\n\r\n novoCadastro() {\r\n return this.valueToInteger(this.model[this.fieldNameId()], 0) <= 0;\r\n }\r\n\r\n formBrowse: CMFormBrowseComponent = undefined;\r\n validProc: Function = undefined;\r\n save(formBrowse: CMFormBrowseComponent) {\r\n this.formBrowse = formBrowse;\r\n if (this.valid()) {\r\n if (this.validProc !== undefined) {\r\n this.validProc(() => {\r\n this.saveModelData(formBrowse);\r\n })\r\n }\r\n else {\r\n this.saveModelData(formBrowse);\r\n }\r\n }\r\n }\r\n\r\n fieldNameId() {\r\n return \"id\";\r\n }\r\n\r\n getModelData(\r\n idDataModel: number,\r\n afterGetModelData?: Function,\r\n filters?: any\r\n ) {\r\n this.idDataModel = idDataModel;\r\n if (filters === undefined)\r\n filters = [{ field: this.fieldNameId(), value: this.idDataModel }];\r\n this.beforeGetModelData();\r\n this.getObjectData(this.controllerName, filters, (object) => {\r\n this.model = object;\r\n if (this.idDataModel === -1)\r\n this.idDataModel = this.valueToInteger(this.model[this.fieldNameId()]);\r\n this.afterGetModelData();\r\n if (afterGetModelData) afterGetModelData(this.model);\r\n });\r\n }\r\n\r\n procAfterSave: Function = undefined;\r\n afterSave() {\r\n if (this.procAfterSave !== undefined) this.procAfterSave(this.model);\r\n }\r\n\r\n beforeSave(procSave: Function) {\r\n procSave();\r\n }\r\n\r\n beforeSaveModelData(formBrowse: CMFormBrowseComponent, dataSend) {}\r\n\r\n saveModelData(formBrowse: CMFormBrowseComponent) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.beforeSave(() => {\r\n let dataSend = {};\r\n dataSend[\"_fieldId\"] = this.fieldNameId();\r\n dataSend[this.fieldNameId()] = this.idDataModel;\r\n dataSend[\"modeldata\"] = this.model;\r\n this.beforeSaveModelData(formBrowse, dataSend);\r\n this.postSubscribe(\r\n AppComponent.basePathApi +\r\n \"/api/\" +\r\n this.controllerName +\r\n \"/\" +\r\n this.functionSaveName,\r\n JSON.stringify(dataSend),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.model[this.fieldNameId()] = result[this.fieldNameId()];\r\n this.afterSave();\r\n this.setOriginalValue();\r\n if (formBrowse) {\r\n formBrowse.modalFormEditClose();\r\n if (formBrowse.grid) formBrowse.grid.refreshCurrentPage();\r\n }\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"saveModelData\", error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n public fieldByName(aFieldName: string) {\r\n return CMFormComponent.getValueObject(this.model, aFieldName);\r\n }\r\n\r\n public fieldIsEmpty(aFieldName: string) {\r\n return CMFormComponent.valueIsEmpty(this.model, aFieldName);\r\n }\r\n\r\n showButtonExtra() {\r\n return false;\r\n }\r\n\r\n hintButtonExtra() {\r\n return \"\";\r\n }\r\n\r\n iconButtonExtra() {\r\n return \"\";\r\n }\r\n\r\n clickButtonExtra() {}\r\n}\r\n","export * from './cmform-edit.component';","export default \".cmform-inner {\\n width: 100%;\\n max-width: 80em;\\n}\\n\\n.divAcoes {\\n text-align: center;\\n padding-bottom: 10px;\\n margin-left: 10px;\\n margin-right: 10px;\\n margin-top: -35px;\\n margin-bottom: 25px;\\n position: relative;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1lbWFpbC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtZm9ybVxcY21mb3JtLWVtYWlsXFxjbWZvcm0tZW1haWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tZW1haWwvY21mb3JtLWVtYWlsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbWZvcm0vY21mb3JtLWVtYWlsL2NtZm9ybS1lbWFpbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogODBlbTtcclxufVxyXG5cclxuLmRpdkFjb2VzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIG1hcmdpbi10b3A6IC0zNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAgXHJcbn0iLCIuY21mb3JtLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODBlbTtcbn1cblxuLmRpdkFjb2VzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogLTM1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMInputConfig, CMValidatorEmail,\r\n CMFormGlobaisComponent } from '../../../component';\r\nimport { CMFormComponent } from '../../../component/cmform/cmform.component';\r\n\r\n@Component({\r\n selector: 'cmform-email',\r\n templateUrl: './cmform-email.component.html',\r\n styleUrls: ['./cmform-email.component.scss']\r\n})\r\nexport class CMFormEmailComponent extends CMFormComponent {\r\n\r\n static open(urlPost: string, caption: string, data: any = {}) {\r\n let f = CMFormGlobaisComponent.createComponent(CMFormEmailComponent);\r\n f.setData(urlPost, caption, data);\r\n f.openModal();\r\n }\r\n\r\n getColumnsEmail() {\r\n if (this.showContatos)\r\n return '9';\r\n else\r\n return '12';\r\n }\r\n clickShowContatos() {\r\n this.showContatos = !this.showContatos;\r\n }\r\n showContatos: boolean = false;\r\n temListaContatos() {\r\n let r: boolean = false;\r\n if ((this.model) && (this.model.listacontatos))\r\n r = (this.model.listacontatos.length > 0);\r\n return r;\r\n }\r\n\r\n caption: string = '';\r\n urlPost: string = '';\r\n modelConfig: any = {};\r\n model: any = {};\r\n onSend: Function = undefined;\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setModelConfig();\r\n }\r\n\r\n Teste() {\r\n CMFormEmailComponent.open('', this.model.para);\r\n }\r\n\r\n setData(urlPost: string, caption: string, data: any = {}) {\r\n this.caption = caption;\r\n this.urlPost = urlPost;\r\n if (data) {\r\n if (data.para !== undefined) {\r\n this.model.para = data.para;\r\n delete data.para;\r\n }\r\n if (data.cc !== undefined) {\r\n this.model.cc = data.cc;\r\n delete data.cc;\r\n }\r\n if (data.cco !== undefined) {\r\n this.model.cco = data.cco;\r\n delete data.cco;\r\n if (CMInputConfig.trimValue(this.model.cco) !== '')\r\n this.model.exibecco = 'Sim';\r\n }\r\n if (data.assunto !== undefined) {\r\n this.model.assunto = data.assunto;\r\n delete data.assunto;\r\n }\r\n if (data.mensagem !== undefined) {\r\n this.model.mensagem = data.mensagem;\r\n delete data.mensagem;\r\n }\r\n if (data.listacontatos !== undefined) {\r\n this.model.listacontatos = data.listacontatos;\r\n delete data.listacontatos;\r\n }\r\n if (data.onsend !== undefined) {\r\n this.onSend = data.onsend;\r\n delete data.onsend;\r\n }\r\n }\r\n let props = Object.getOwnPropertyNames(data);\r\n props.forEach(prop => {\r\n this.model[prop] = data[prop];\r\n });\r\n this.showContatos = this.temListaContatos();\r\n if (this.showContatos) {\r\n if (this.model.listacontatos.length === 1)\r\n this.showContatos = (this.model.para !== this.model.listacontatos[0].email);\r\n }\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n para: new CMInputConfig({form: this,\r\n caption: 'Para',\r\n required: true,\r\n customvalidators: [new CMValidatorEmail(true)],\r\n }),\r\n cc: new CMInputConfig({form: this,\r\n caption: 'Cc',\r\n customvalidators: [new CMValidatorEmail(true)],\r\n }),\r\n exibecco: new CMInputConfig({form: this,\r\n caption: 'Com cópia oculta',\r\n }),\r\n cco: new CMInputConfig({form: this,\r\n caption: 'Cco',\r\n visibleFunc: () => {\r\n return this.model.exibecco === 'Sim';\r\n },\r\n customvalidators: [new CMValidatorEmail(true)],\r\n }),\r\n assunto: new CMInputConfig({form: this,\r\n caption: 'Assunto',\r\n required: true,\r\n }),\r\n mensagem: new CMInputConfig({form: this,\r\n caption: 'Mensagem',\r\n required: true,\r\n }),\r\n };\r\n this.generateEmptyModel(this.modelConfig, this.model);\r\n }\r\n\r\n enviarEmail() {\r\n if (this.valid(this.modelConfig, this.model)) {\r\n CMFormGlobaisComponent.showSpinner();\r\n CMFormGlobaisComponent.toastErro('Não testado em angular 8');\r\n console.error('Não testado em angular 8'); \r\n this.postSubscribe(this.urlPost,\r\n JSON.stringify(this.model),\r\n (r) => {\r\n this.model.result = r;\r\n if (r['result'] === 'true') {\r\n CMFormGlobaisComponent.toastSucesso(r['msg']);\r\n if (this.onSend !== undefined)\r\n this.onSend(this.model);\r\n this.closeModal();\r\n }\r\n else {\r\n let msg: string = r['msg'];\r\n if (msg.startsWith('{') && msg.endsWith('}')) {\r\n msg = JSON.parse(r['msg']);\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '
    '+JSON.stringify(msg, null, 2).replace(/\\\\r\\\\n/g, \"
    \")+'
    '\r\n );\r\n }\r\n else {\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '

    '+msg+'

    '\r\n );\r\n }\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n });\r\n }\r\n }\r\n\r\n showAcoesContato(contato) {\r\n if (contato.showAcoes === 'Sim')\r\n contato.showAcoes = 'Não';\r\n else {\r\n this.model.listacontatos.forEach(contato => {\r\n contato.showAcoes = 'Não';\r\n });\r\n contato.showAcoes = 'Sim';\r\n }\r\n }\r\n\r\n addDestinatario(contato, tipo) {\r\n contato.showAcoes = 'Não';\r\n let tmp: string = this.trimValue(this.model[tipo]);\r\n if (tmp.indexOf(contato.email) === -1) {\r\n if (tmp !== '')\r\n tmp += ';';\r\n tmp += contato.email;\r\n this.model[tipo] = tmp;\r\n }\r\n }\r\n\r\n}","export * from './cmform-email.component';","export default \".cmform-buttons-exec-default {\\n padding-right: 20px;\\n}\\n\\n.caption-top {\\n float: left;\\n padding-left: 15px;\\n font-size: 1.4em;\\n}\\n\\n.box {\\n display: flex;\\n flex-flow: column;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.box .row.header {\\n flex: 0 1 auto;\\n width: 100%;\\n margin-bottom: 0px;\\n margin: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1leGVjL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY21mb3JtXFxjbWZvcm0tZXhlY1xcY21mb3JtLWV4ZWMtZGVmYXVsdC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1leGVjL2NtZm9ybS1leGVjLWRlZmF1bHQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxtQkFBQTtBQ0NKOztBREVBO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUNDRjs7QURHQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0FDQUY7O0FERUU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1leGVjL2NtZm9ybS1leGVjLWRlZmF1bHQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWJ1dHRvbnMtZXhlYy1kZWZhdWx0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jYXB0aW9uLXRvcCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMS40ZW07XHJcbn1cclxuXHJcblxyXG4uYm94IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLnJvdy5oZWFkZXIge1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG59XHJcbiIsIi5jbWZvcm0tYnV0dG9ucy1leGVjLWRlZmF1bHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uY2FwdGlvbi10b3Age1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuXG4uYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYm94IC5yb3cuaGVhZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbjogMDtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Input, EventEmitter, Output } from '@angular/core';\r\n\r\nimport { CMInput } from '../../../decorator';\r\n\r\n@Component({\r\n selector: 'cmform-exec',\r\n templateUrl: './cmform-exec-default.component.html',\r\n styleUrls: ['./cmform-exec-default.component.scss']\r\n})\r\nexport class CMFormExecDefaultComponent {\r\n\r\n @Output()\r\n clickExec = new EventEmitter();\r\n _clickButtonExec(event: any) {\r\n this.clickExec.emit(event);\r\n }\r\n\r\n @Input()\r\n @CMInput()\r\n caption: string = '';\r\n\r\n \r\n @Input()\r\n showExecButton = true;\r\n\r\n @Input()\r\n @CMInput()\r\n iconeExec: string = '';\r\n\r\n @Input()\r\n @CMInput()\r\n hintExec: string = '';\r\n\r\n @Input()\r\n @CMInput()\r\n posicaoButtons: string = 'bottom';\r\n\r\n}","// tslint:disable\r\nimport { Injector } from '@angular/core';\r\n\r\nimport { CMFormComponent } from '../../../component/cmform/cmform.component';\r\n\r\nexport class CMFormExecComponent extends CMFormComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n public filter: any = {};\r\n private innerFilterConfig = {};\r\n public get filterConfig() {\r\n return this.innerFilterConfig;\r\n }\r\n public set filterConfig(value: any) {\r\n this.innerFilterConfig = value;\r\n this.filter = {};\r\n this.generateEmptyModel(value, this.filter);\r\n }\r\n\r\n valid() {\r\n return super.valid(this.filterConfig, this.filter);\r\n\t}\r\n\r\n\tinnerExec() {\r\n\t}\r\n\r\n exec() {\r\n if (this.valid())\r\n this.innerExec();\r\n }\r\n\r\n}","export * from './cmform-exec.component';\r\nexport * from './cmform-exec-default.component';","export default \".global-message-title {\\n padding-left: 10px;\\n margin-top: 0px;\\n font-weight: 500;\\n}\\n\\n.global-message-margin-r {\\n padding-right: 20px;\\n padding-bottom: 10px;\\n padding-top: 10px;\\n}\\n\\n.cmform-global-inner {\\n width: 100%;\\n max-width: 70em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1nbG9iYWlzL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY21mb3JtXFxjbWZvcm0tZ2xvYmFpc1xcY21mb3JtLWdsb2JhaXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tZ2xvYmFpcy9jbWZvcm0tZ2xvYmFpcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FDQ0o7O0FERUE7RUFDSSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUNDSjs7QURFQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbWZvcm0vY21mb3JtLWdsb2JhaXMvY21mb3JtLWdsb2JhaXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZ2xvYmFsLW1lc3NhZ2UtdGl0bGUge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmdsb2JhbC1tZXNzYWdlLW1hcmdpbi1yIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY21mb3JtLWdsb2JhbC1pbm5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA3MGVtO1xyXG59IiwiLmdsb2JhbC1tZXNzYWdlLXRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5nbG9iYWwtbWVzc2FnZS1tYXJnaW4tciB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLmNtZm9ybS1nbG9iYWwtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3MGVtO1xufSJdfQ== */\"","// tslint:disable\r\nimport {\r\n Component,\r\n Injector,\r\n ViewChild,\r\n ViewContainerRef,\r\n Type,\r\n ComponentFactory,\r\n} from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../../component/cmform/cmform.component\";\r\nimport { CMFormModalComponent } from \"../../../component\";\r\nimport { environment } from \"./../../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: \"cmform-globais\",\r\n templateUrl: \"./cmform-globais.component.html\",\r\n styleUrls: [\"./cmform-globais.component.scss\"],\r\n})\r\nexport class CMFormGlobaisComponent extends CMFormComponent {\r\n @ViewChild(\"dynamicTargetGlobal\", { read: ViewContainerRef, static: true })\r\n private dynamicTargetGlobal: ViewContainerRef;\r\n\r\n static createComponent(component: Type, owner?: any): T {\r\n let componentFactory: ComponentFactory = CMFormGlobaisComponent.defaultInstance.resolver.resolveComponentFactory(\r\n component\r\n );\r\n let componentReference = CMFormGlobaisComponent.defaultInstance.dynamicTargetGlobal.createComponent(\r\n componentFactory\r\n );\r\n componentReference[\"_component\"][\"owner\"] = owner;\r\n let r = componentReference.instance;\r\n r[\"componentReference\"] = componentReference;\r\n return r;\r\n }\r\n\r\n static freeComponent(instance: T) {\r\n if (instance) {\r\n let componentReference = instance[\"componentReference\"];\r\n if (componentReference) {\r\n componentReference[\"_component\"][\"owner\"] = undefined;\r\n componentReference.destroy();\r\n }\r\n }\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n CMFormGlobaisComponent.defaultInstance = this;\r\n }\r\n\r\n public simpleNotificationsOptions = {\r\n timeOut: 2000,\r\n lastOnBottom: true,\r\n clickToClose: true,\r\n maxLength: 0,\r\n maxStack: 7,\r\n showProgressBar: false,\r\n pauseOnHover: true,\r\n preventDuplicates: false,\r\n preventLastDuplicates: \"visible\",\r\n rtl: false,\r\n animate: \"scale\",\r\n position: [\"right\", \"top\"],\r\n };\r\n\r\n public showModalComponent: any = undefined;\r\n public showModalTitle: string = \"\";\r\n private showModalCallbackClose: Function = undefined;\r\n private showModalCallbackCreate: Function = undefined;\r\n private showModalComponentInstance: any = undefined;\r\n public messageErrorStr: string = \"\";\r\n public messageAvisoStr: string = \"\";\r\n public messageStr: string = \"\";\r\n public titleMessage: string = \"\";\r\n public fixedFooterMessageURL: boolean = true;\r\n public showPrintMessageURL: boolean = true;\r\n public urlCSVMessageURL: string = \"\";\r\n public showMessageURL_nameDownload: string = \"\";\r\n static messageConfirmationStr: string = \"\";\r\n static titleConfirmationStr: string = \"\";\r\n static confirmationCallbackYes: Function;\r\n static messageConfirmationDynamicValidator: any = undefined;\r\n static messageConfirmationDynamicValidatorInstance: any = undefined;\r\n public messageHtml: string = \"\";\r\n public messageHtmlTitle: string = \"\";\r\n\r\n static showSpinner() {\r\n $(\"#globalSpinner\").show();\r\n }\r\n\r\n static hideSpinner() {\r\n $(\"#globalSpinner\").hide();\r\n }\r\n\r\n static showMessageError(messageErrorStr: string) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.defaultInstance.messageErrorStr = messageErrorStr;\r\n if (CMFormGlobaisComponent.defaultInstance.messageErrorStr !== undefined)\r\n CMFormModalComponent.open(\"globalMessageError\");\r\n }\r\n\r\n closeMessageError(name) {\r\n CMFormModalComponent.close(name);\r\n if (environment.production) this.openNewURL(this.router.url, \"_self\");\r\n }\r\n\r\n static showMessageAviso(messageAvisoStr: string) {\r\n CMFormGlobaisComponent.defaultInstance.messageAvisoStr = messageAvisoStr.substring(\r\n 0\r\n );\r\n CMFormModalComponent.open(\"globalMessageAviso\");\r\n }\r\n\r\n static showMessage(titleMessage: string, messageStr: string) {\r\n CMFormGlobaisComponent.defaultInstance.titleMessage = titleMessage.substring(\r\n 0\r\n );\r\n CMFormGlobaisComponent.defaultInstance.messageStr = messageStr.substring(0);\r\n CMFormModalComponent.open(\"globalMessage\");\r\n }\r\n\r\n static showMessageHtml(messageHtml: string, title: string) {\r\n CMFormGlobaisComponent.defaultInstance.messageHtmlTitle = title.substring(\r\n 0\r\n );\r\n CMFormGlobaisComponent.defaultInstance.messageHtml = messageHtml.substring(\r\n 0\r\n );\r\n CMFormModalComponent.open(\"globalMessageHTML\");\r\n }\r\n\r\n static showModalComponent(\r\n caption: string,\r\n component: any,\r\n callbackCreate?: Function,\r\n callbackClose?: Function\r\n ) {\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackCreate = callbackCreate;\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackClose = callbackClose;\r\n CMFormGlobaisComponent.defaultInstance.showModalTitle = caption;\r\n CMFormGlobaisComponent.defaultInstance.showModalComponent = component;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"globalModalComponent\");\r\n }, 1000);\r\n }\r\n\r\n static closeModalComponent() {\r\n CMFormModalComponent.close(\"globalModalComponent\");\r\n if (\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackClose !==\r\n undefined\r\n )\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackClose(\r\n CMFormGlobaisComponent.defaultInstance.showModalComponentInstance\r\n );\r\n CMFormGlobaisComponent.defaultInstance.showModalComponent = undefined;\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackClose = undefined;\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackCreate = undefined;\r\n }\r\n\r\n showModalComponentCreatedCallback(component: Component) {\r\n CMFormGlobaisComponent.defaultInstance.showModalComponentInstance = component;\r\n if (\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackCreate !==\r\n undefined\r\n )\r\n CMFormGlobaisComponent.defaultInstance.showModalCallbackCreate(component);\r\n }\r\n\r\n closeModalComponent() {\r\n CMFormGlobaisComponent.closeModalComponent();\r\n }\r\n\r\n static showMessageURL(\r\n _url: any,\r\n fixedFooter?: boolean,\r\n showPrint?: boolean,\r\n _urlcsv?: any,\r\n _nameDownload?: string\r\n ) {\r\n if (_nameDownload)\r\n CMFormGlobaisComponent.defaultInstance.showMessageURL_nameDownload = _nameDownload;\r\n if (fixedFooter !== undefined)\r\n CMFormGlobaisComponent.defaultInstance.fixedFooterMessageURL = fixedFooter;\r\n else CMFormGlobaisComponent.defaultInstance.fixedFooterMessageURL = true;\r\n if (CMFormComponent.isMSIE() || CMFormComponent.isiPad()) showPrint = false;\r\n if (showPrint === undefined) showPrint = true;\r\n CMFormGlobaisComponent.defaultInstance.showPrintMessageURL = showPrint;\r\n CMFormGlobaisComponent.defaultInstance.urlCSVMessageURL = \"\";\r\n if (_urlcsv !== undefined)\r\n CMFormGlobaisComponent.defaultInstance.urlCSVMessageURL = _urlcsv;\r\n if (Object.getPrototypeOf(_url).constructor.name.toLowerCase() === \"blob\") {\r\n if (showPrint) {\r\n if (CMFormComponent.isFireFox()) {\r\n showPrint = false;\r\n CMFormGlobaisComponent.defaultInstance.showPrintMessageURL = showPrint;\r\n }\r\n }\r\n var newurl = window.URL.createObjectURL(_url);\r\n $(\"#iframe_globalMessageURL\").attr(\"src\", newurl);\r\n } else $(\"#iframe_globalMessageURL\").attr(\"src\", _url.substring(0));\r\n CMFormModalComponent.open(\"globalMessageURL\");\r\n }\r\n\r\n closeMessageURL() {\r\n CMFormGlobaisComponent.defaultInstance.showMessageURL_nameDownload = \"\";\r\n $(\"#iframe_globalMessageURL\").attr(\"src\", \"\");\r\n this.closeMessage(\"globalMessageURL\");\r\n }\r\n\r\n printMessageURL() {\r\n let iframe: any = document.getElementById(\"iframe_globalMessageURL\");\r\n iframe.contentWindow.focus();\r\n iframe.contentWindow.print();\r\n }\r\n\r\n downloadCSV() {\r\n window.open(this.urlCSVMessageURL, \"_self\");\r\n }\r\n\r\n messageURL_nameDownload() {\r\n var a: any = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.style = \"display: none\";\r\n a.href = $(\"#iframe_globalMessageURL\").attr(\"src\");\r\n a.download =\r\n CMFormGlobaisComponent.defaultInstance.showMessageURL_nameDownload;\r\n a.click();\r\n }\r\n\r\n static showConfirmation(\r\n caption: string,\r\n message: string,\r\n callbackYes: Function,\r\n dynamicValidator?: any\r\n ) {\r\n CMFormGlobaisComponent.titleConfirmationStr = caption;\r\n CMFormGlobaisComponent.messageConfirmationStr = message;\r\n CMFormGlobaisComponent.confirmationCallbackYes = callbackYes;\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidator = dynamicValidator;\r\n CMFormModalComponent.open(\"globalConfirmation\"); \r\n }\r\n\r\n getMessageConfirmationDynamicValidator() {\r\n return CMFormGlobaisComponent.messageConfirmationDynamicValidator;\r\n }\r\n\r\n public messageConfirmationDynamicValidatorComponentCreatedCallback(component: Component) {\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidatorInstance = component;\r\n } \r\n\r\n public messageConfirmationDynamicValidatorComponentDestroyedCallback() {\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidatorInstance = undefined;\r\n }\r\n\r\n getMessageConfirmationStr() {\r\n return CMFormGlobaisComponent.messageConfirmationStr;\r\n }\r\n\r\n getTitleConfirmationStr() {\r\n return CMFormGlobaisComponent.titleConfirmationStr;\r\n }\r\n\r\n globalMessageConfirmationYes() {\r\n const callYes = () => {\r\n CMFormGlobaisComponent.confirmationCallbackYes();\r\n CMFormModalComponent.close(\"globalConfirmation\");\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidator = undefined; \r\n };\r\n if (CMFormGlobaisComponent.messageConfirmationDynamicValidatorInstance !== undefined) {\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidatorInstance.validate(() => {\r\n callYes();\r\n });\r\n }\r\n else {\r\n callYes();\r\n }\r\n }\r\n\r\n globalMessageConfirmationNo() {\r\n CMFormGlobaisComponent.messageConfirmationDynamicValidator = undefined; \r\n CMFormModalComponent.close(\"globalConfirmation\");\r\n }\r\n\r\n closeGlobalMessageHTML() {\r\n CMFormGlobaisComponent.defaultInstance.messageHtml = \"\";\r\n this.closeMessage(\"globalMessageHTML\");\r\n }\r\n\r\n closeMessage(name) {\r\n CMFormModalComponent.close(name);\r\n }\r\n\r\n static toastSucesso(content: string, caption?: string) {\r\n if (caption === undefined) caption = \"Sucesso\";\r\n CMFormGlobaisComponent.defaultInstance.notificationsService.success(\r\n caption,\r\n content\r\n );\r\n }\r\n\r\n static toastErro(content: string, caption?: string) {\r\n if (caption === undefined) caption = \"Erro\";\r\n CMFormGlobaisComponent.defaultInstance.notificationsService.error(\r\n caption,\r\n content\r\n );\r\n }\r\n\r\n static toastAlerta(content: string, caption?: string) {\r\n if (caption === undefined) caption = \"Alerta\";\r\n CMFormGlobaisComponent.defaultInstance.notificationsService.alert(\r\n caption,\r\n content\r\n );\r\n }\r\n\r\n static toastInformacao(content: string, caption?: string) {\r\n if (caption === undefined) caption = \"Informação\";\r\n CMFormGlobaisComponent.defaultInstance.notificationsService.info(\r\n caption,\r\n content\r\n );\r\n }\r\n\r\n static defaultInstance: CMFormGlobaisComponent = undefined;\r\n}\r\n","export * from './cmform-globais.component';","export default \".cmmodal {\\n width: 90%;\\n max-width: 90%;\\n max-height: 90%;\\n}\\n\\n.cmmodal-fixed-footer {\\n height: 90%;\\n bottom: 10%;\\n}\\n\\n.modal-content {\\n padding: 0 0 0 0;\\n}\\n\\n.cmmodal-footer {\\n height: auto;\\n padding-top: 0px;\\n padding-left: 0px;\\n padding-bottom: 0px;\\n padding-right: 0px;\\n border-top-width: 0px;\\n min-height: 68px;\\n}\\n\\n.cmmodal-caption {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n position: absolute;\\n width: 100%;\\n font-size: 1.1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1tb2RhbC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtZm9ybVxcY21mb3JtLW1vZGFsXFxjbWZvcm0tbW9kYWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tbW9kYWwvY21mb3JtLW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksVUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0FDQ0o7O0FERUE7RUFDSSxXQUFBO0VBQ0EsV0FBQTtBQ0NKOztBREVBO0VBQ0ksZ0JBQUE7QUNDSjs7QURFQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QUNDSjs7QURFQTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbWZvcm0vY21mb3JtLW1vZGFsL2NtZm9ybS1tb2RhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbW1vZGFsIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgIG1heC1oZWlnaHQ6IDkwJTtcclxufVxyXG5cclxuLmNtbW9kYWwtZml4ZWQtZm9vdGVyIHtcclxuICAgIGhlaWdodDogOTAlO1xyXG4gICAgYm90dG9tOiAxMCU7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDA7XHJcbn1cclxuXHJcbi5jbW1vZGFsLWZvb3RlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMHB4OyAgICBcclxuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XHJcbn1cclxuXHJcbi5jbW1vZGFsLWNhcHRpb24ge1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAxLjFlbTtcclxufSIsIi5jbW1vZGFsIHtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDkwJTtcbn1cblxuLmNtbW9kYWwtZml4ZWQtZm9vdGVyIHtcbiAgaGVpZ2h0OiA5MCU7XG4gIGJvdHRvbTogMTAlO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMCAwIDA7XG59XG5cbi5jbW1vZGFsLWZvb3RlciB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xuICBtaW4taGVpZ2h0OiA2OHB4O1xufVxuXG4uY21tb2RhbC1jYXB0aW9uIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59Il19 */\"","// tslint:disable\r\nimport { Component, Input, Output, OnInit, EventEmitter } from \"@angular/core\";\r\n\r\nimport { CMInput } from \"../../../decorator\";\r\nimport { CMFormGlobaisComponent } from \"../../../component\";\r\n\r\nimport * as M from \"materialize-css\";\r\n\r\n@Component({\r\n selector: \"cmform-modal\",\r\n templateUrl: \"./cmform-modal.component.html\",\r\n styleUrls: [\"./cmform-modal.component.scss\"],\r\n})\r\nexport class CMFormModalComponent {\r\n @Input() caption: string = \"\";\r\n @Input() classCaption: string = \"default-color lighten-1\";\r\n @Input() name: string = \"\";\r\n @Input() maxWidth: string = \"inherit\";\r\n @Input() overflowY: string = \"auto\";\r\n\r\n @CMInput()\r\n @Input()\r\n fixedFooter: boolean = true;\r\n @CMInput()\r\n @Input()\r\n bottomSheet: boolean = false;\r\n @CMInput()\r\n @Input()\r\n useFooter: boolean = true;\r\n @Input()\r\n @CMInput()\r\n showButtonCancel: boolean = false;\r\n\r\n @Output()\r\n clickButtonCancel = new EventEmitter();\r\n _clickButtonCancel(event: any) {\r\n this.clickButtonCancel.emit(event);\r\n }\r\n\r\n static onOpens = [];\r\n\r\n static close(name: string): void {\r\n let a: any = $(\"#\" + name);\r\n a.modal(\"close\");\r\n }\r\n\r\n static closeForm(form: T): void {\r\n let f: any = form;\r\n CMFormModalComponent.close(f.name);\r\n CMFormGlobaisComponent.freeComponent(form);\r\n }\r\n\r\n static onOpen() {\r\n while (CMFormModalComponent.onOpens.length > 0) {\r\n const ev = CMFormModalComponent.onOpens.pop();\r\n ev();\r\n }\r\n }\r\n\r\n static open(name: string, onOpen?: Function) {\r\n console.log('name: ', name);\r\n setTimeout(() => {\r\n if (onOpen !== undefined) {\r\n CMFormModalComponent.onOpens.push(onOpen);\r\n }\r\n let qIntance = document.querySelector(\"#\" + name);\r\n if (qIntance) {\r\n let instance = M.Modal.getInstance(qIntance);\r\n if (!instance) {\r\n instance = M.Modal.init(qIntance, {\r\n dismissible: false,\r\n startingTop: \"10%\",\r\n endingTop: \"10%\",\r\n onOpenEnd: function (modal, trigger) {\r\n CMFormModalComponent.onOpen();\r\n },\r\n });\r\n }\r\n if (instance) {\r\n instance.open();\r\n }\r\n } else {\r\n CMFormModalComponent.onOpen();\r\n }\r\n let e = document.getElementById(name);\r\n if (e) {\r\n e.scrollTop = 0;\r\n e.scrollLeft = 0;\r\n }\r\n }, 100);\r\n }\r\n\r\n static openForm(form: T, onOpen?: Function): void {\r\n let f: any = form;\r\n CMFormModalComponent.open(f.name, onOpen);\r\n }\r\n}\r\n","export * from './cmform-modal.component';","export default \".cmform-pesquisa {\\n max-width: 80%;\\n}\\n\\n.cmform-buttons-pesquisa {\\n padding-left: 10px;\\n padding-right: 10px;\\n}\\n\\n.label-info {\\n display: flex;\\n position: relative;\\n bottom: 42px;\\n left: 137px;\\n z-index: 999;\\n width: 294px;\\n height: 1px;\\n}\\n\\n/* Structure */\\n\\n.example-container {\\n position: relative;\\n min-height: 200px;\\n}\\n\\n.example-table-container {\\n position: relative;\\n max-height: 450px;\\n overflow: auto;\\n}\\n\\ntable {\\n width: 100%;\\n}\\n\\n.example-loading-shade {\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 56px;\\n right: 0;\\n background: rgba(0, 0, 0, 0.15);\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.example-rate-limit-reached {\\n color: #980000;\\n max-width: 360px;\\n text-align: center;\\n}\\n\\n/* Column Widths */\\n\\n.mat-column-number,\\n.mat-column-state {\\n max-width: 64px;\\n}\\n\\n.mat-column-created {\\n max-width: 124px;\\n}\\n\\n.highlight {\\n background: var(--primary-base-color-lighten-4);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1wZXNxdWlzYS9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtZm9ybVxcY21mb3JtLXBlc3F1aXNhXFxjbWZvcm0tcGVzcXVpc2EuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZm9ybS9jbWZvcm0tcGVzcXVpc2EvY21mb3JtLXBlc3F1aXNhLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQSxjQUFBOztBQUNBO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7QUNDRjs7QURFQTtFQUNFLFdBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxZQUFBO0VBQ0EsUUFBQTtFQUNBLCtCQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0FDQ0Y7O0FERUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBQ0NGOztBREVBLGtCQUFBOztBQUNBOztFQUVFLGVBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FERUE7RUFDRSwrQ0FBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1wZXNxdWlzYS9jbWZvcm0tcGVzcXVpc2EuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLXBlc3F1aXNhIHtcclxuICBtYXgtd2lkdGg6IDgwJTtcclxufVxyXG5cclxuLmNtZm9ybS1idXR0b25zLXBlc3F1aXNhIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmxhYmVsLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvdHRvbTogNDJweDtcclxuICBsZWZ0OiAxMzdweDtcclxuICB6LWluZGV4OiA5OTk7XHJcbiAgd2lkdGg6IDI5NHB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG59XHJcblxyXG4vKiBTdHJ1Y3R1cmUgKi9cclxuLmV4YW1wbGUtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMjAwcHg7XHJcbn1cclxuXHJcbi5leGFtcGxlLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC1oZWlnaHQ6IDQ1MHB4O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWxvYWRpbmctc2hhZGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDU2cHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmV4YW1wbGUtcmF0ZS1saW1pdC1yZWFjaGVkIHtcclxuICBjb2xvcjogIzk4MDAwMDtcclxuICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLyogQ29sdW1uIFdpZHRocyAqL1xyXG4ubWF0LWNvbHVtbi1udW1iZXIsXHJcbi5tYXQtY29sdW1uLXN0YXRlIHtcclxuICBtYXgtd2lkdGg6IDY0cHg7XHJcbn1cclxuXHJcbi5tYXQtY29sdW1uLWNyZWF0ZWQge1xyXG4gIG1heC13aWR0aDogMTI0cHg7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1saWdodGVuLTQpO1xyXG59XHJcbiIsIi5jbWZvcm0tcGVzcXVpc2Ege1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuLmNtZm9ybS1idXR0b25zLXBlc3F1aXNhIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubGFiZWwtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiA0MnB4O1xuICBsZWZ0OiAxMzdweDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMjk0cHg7XG4gIGhlaWdodDogMXB4O1xufVxuXG4vKiBTdHJ1Y3R1cmUgKi9cbi5leGFtcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMjAwcHg7XG59XG5cbi5leGFtcGxlLXRhYmxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogNDUwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZXhhbXBsZS1sb2FkaW5nLXNoYWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogNTZweDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZXhhbXBsZS1yYXRlLWxpbWl0LXJlYWNoZWQge1xuICBjb2xvcjogIzk4MDAwMDtcbiAgbWF4LXdpZHRoOiAzNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBDb2x1bW4gV2lkdGhzICovXG4ubWF0LWNvbHVtbi1udW1iZXIsXG4ubWF0LWNvbHVtbi1zdGF0ZSB7XG4gIG1heC13aWR0aDogNjRweDtcbn1cblxuLm1hdC1jb2x1bW4tY3JlYXRlZCB7XG4gIG1heC13aWR0aDogMTI0cHg7XG59XG5cbi5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItbGlnaHRlbi00KTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Injector, Component, ViewChild, AfterViewInit } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\n\r\nimport { CMFormComponent } from \"../../../component/cmform/cmform.component\";\r\nimport {\r\n CMFormModalComponent,\r\n CMFormGlobaisComponent,\r\n CMInputComponent,\r\n CMInputConfig,\r\n} from \"../../../component\";\r\nimport { merge, Observable, of as observableOf } from \"rxjs\";\r\nimport { catchError, map, startWith, switchMap } from \"rxjs/operators\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"cmform-pesquisa\",\r\n templateUrl: \"./cmform-pesquisa.component.html\",\r\n styleUrls: [\"./cmform-pesquisa.component.scss\"],\r\n})\r\nexport class CMFormPesquisaComponent\r\n extends CMFormComponent\r\n implements AfterViewInit {\r\n static inPesquisa: boolean = false;\r\n\r\n public muiltSelect: boolean = false;\r\n\r\n public limitPesq = 0;\r\n\r\n public columns = [];\r\n\r\n public filters = [];\r\n\r\n public valuesFilters = {};\r\n\r\n protected extraFilters = {};\r\n\r\n protected controllerName: string = \"\";\r\n\r\n caption: string;\r\n\r\n onOK: Function = undefined;\r\n afterPostPesq: Function = undefined;\r\n\r\n rowHeight = \"40px\";\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n CMFormPesquisaComponent.instance = this;\r\n }\r\n\r\n displayedColumns: string[] = [];\r\n data: any[] = [];\r\n\r\n dataSource = new MatTableDataSource([]);\r\n selection = new SelectionModel(true, []);\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle() {\r\n this.isAllSelected()\r\n ? this.selection.clear()\r\n : this.dataSource.data.forEach((row) => this.selection.select(row));\r\n }\r\n\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? \"select\" : \"deselect\"} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${\r\n row.position + 1\r\n }`;\r\n }\r\n\r\n resultsLength = 0;\r\n isLoadingResults = true;\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n\r\n postPesq() {\r\n if (\r\n CMFormPesquisaComponent.inPesquisa &&\r\n this.filtrado &&\r\n this.controllerName !== \"\"\r\n ) {\r\n let valuesFilters = this.valuesFilters;\r\n valuesFilters[\"extra\"] = this.extraFilters;\r\n\r\n const hrefPesq =\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/getbrowseobjects\";\r\n const dataPesq = {\r\n origem: \"pesquisa\",\r\n page: this.paginator.pageIndex,\r\n limit: this.limit,\r\n filter: this.valuesFilters,\r\n };\r\n return this.post(hrefPesq, dataPesq);\r\n } else return observableOf([]);\r\n }\r\n\r\n ngAfterViewInit() {\r\n merge(this.paginator.page)\r\n .pipe(\r\n startWith({}),\r\n switchMap(() => {\r\n this.isLoadingResults = true;\r\n return this.postPesq();\r\n }),\r\n map((data) => {\r\n this.dataSource.data = [];\r\n this.selection.clear();\r\n if (data[\"data\"] !== undefined && data[\"totalCount\"] !== undefined) {\r\n this.isLoadingResults = false;\r\n this.resultsLength = data[\"totalCount\"];\r\n return data[\"data\"];\r\n } else {\r\n this.resultsLength = 0;\r\n return [];\r\n }\r\n }),\r\n catchError((err) => {\r\n this.showMessageErrorHTTP(\"onPage\", err);\r\n this.isLoadingResults = false;\r\n return observableOf([]);\r\n })\r\n )\r\n .subscribe((data) => {\r\n this.data = data;\r\n if (this.muiltSelect) {\r\n this.dataSource.data = data;\r\n }\r\n if (this.afterPostPesq !== undefined) this.afterPostPesq(this);\r\n const table = document.getElementById(\"wapperTableFormPesquisa\");\r\n if (table) {\r\n table.scrollTop = 0;\r\n }\r\n });\r\n }\r\n\r\n _OnDblClick(row) {\r\n this.selectedRow = row;\r\n if (!this.muiltSelect) {\r\n setTimeout(() => {\r\n this._ok();\r\n }, 10);\r\n } else {\r\n if (this.selection.isSelected(row)) {\r\n this.selection.deselect(row);\r\n } else {\r\n this.selection.select(row);\r\n }\r\n }\r\n }\r\n\r\n selectedRow = undefined;\r\n\r\n highlight(row) {\r\n this.selectedRow = row;\r\n }\r\n\r\n _close() {\r\n CMFormModalComponent.close(\"modalFormPesquisa\");\r\n CMFormPesquisaComponent.inPesquisa = false;\r\n }\r\n\r\n _ok() {\r\n if (this.valid()) {\r\n this._close();\r\n if (this.onOK) {\r\n if (this.muiltSelect) {\r\n let rows = this.selection.selected;\r\n this.onOK(rows);\r\n } else this.onOK(this.selectedRow);\r\n }\r\n }\r\n }\r\n\r\n valid() {\r\n return this.selectedRow !== undefined || !this.selection.isEmpty();\r\n }\r\n\r\n private filtrado: boolean = false;\r\n filtrar() {\r\n this.selectedRow = undefined;\r\n this.selection.clear();\r\n $(\"#bt_pesqusia\")[0].focus();\r\n this.filtrado = true;\r\n this.paginator.firstPage();\r\n this.paginator.page.emit();\r\n }\r\n\r\n limparFiltros() {\r\n this.columns.forEach((item) => {\r\n if (item.filter) {\r\n if (item.value) this.valuesFilters[item.field] = item.value;\r\n else this.valuesFilters[item.field] = undefined;\r\n }\r\n });\r\n this.filtrar();\r\n }\r\n\r\n private countLastFilter = 0;\r\n private countFilterVisible = 0;\r\n getColumnsFilter(column) {\r\n if (column.columns !== undefined) return column.columns;\r\n else {\r\n if (\r\n this.countLastFilter == 0 ||\r\n this.countLastFilter != this.filters.length\r\n ) {\r\n this.countFilterVisible = 0;\r\n this.filters.forEach((filter) => {\r\n if (filter.filterVisible == true) {\r\n this.countFilterVisible = this.countFilterVisible + 1;\r\n }\r\n });\r\n }\r\n let r = Math.floor(12 / this.countFilterVisible);\r\n if (r < 2) r = 2;\r\n return r;\r\n }\r\n }\r\n\r\n focusFirstFilter() {\r\n if (this.filters.length > 0)\r\n $(\"#\" + this.name_pesquisa_filter(this.filters[0])).focus();\r\n }\r\n\r\n static open(\r\n controllerName: string,\r\n caption: string,\r\n onOK: Function,\r\n columns = [],\r\n rowHeight: string,\r\n extraFilters: Object\r\n ) {\r\n CMFormPesquisaComponent.instance.open(\r\n controllerName,\r\n caption,\r\n onOK,\r\n columns,\r\n rowHeight,\r\n extraFilters\r\n );\r\n }\r\n\r\n checkClear(controllerName: string, columns = []) {\r\n let clear: boolean = false;\r\n if (!clear) clear = this.controllerName !== controllerName;\r\n if (!clear) clear = this.columns.length !== columns.length;\r\n if (!clear) clear = this.columns[0].field !== columns[0].field;\r\n if (!clear) {\r\n columns.forEach((item) => {\r\n if (item.value !== undefined) {\r\n if (!clear) clear = this.valuesFilters[item.field] !== item.value;\r\n }\r\n });\r\n }\r\n if (!clear) {\r\n if (this.extraFilters) clear = this.extraFilters !== {};\r\n }\r\n if (clear) this.clear(controllerName, columns);\r\n }\r\n\r\n clear(controllerName: string, columns = []) {\r\n this.filters = [];\r\n this.displayedColumns = [];\r\n if (this.muiltSelect) this.displayedColumns.push(\"$$select\");\r\n this.valuesFilters = {};\r\n this.dataSource.data = [];\r\n this.selection.clear();\r\n columns.forEach((item) => {\r\n if (item.filter) this.filters.push(item);\r\n if (item.value) this.valuesFilters[item.field] = item.value;\r\n if (item.visible !== false) this.displayedColumns.push(item.field);\r\n });\r\n this.filtrado = false;\r\n this.controllerName = controllerName;\r\n this.columns = columns;\r\n }\r\n\r\n open(\r\n controllerName: string,\r\n caption: string,\r\n onOK: Function,\r\n columns = [],\r\n rowHeight: string,\r\n extraFilters: Object\r\n ) {\r\n if (rowHeight === undefined) rowHeight = \"40px\";\r\n this.rowHeight = rowHeight;\r\n this.extraFilters = extraFilters;\r\n CMFormPesquisaComponent.inPesquisa = true;\r\n this.caption = caption;\r\n this.onOK = onOK;\r\n CMFormModalComponent.open(\"modalFormPesquisa\", () => {\r\n this.focusFirstFilter();\r\n if (!this.filtrado) this.filtrar();\r\n });\r\n }\r\n\r\n getObjectDataPesquisa(\r\n value: any,\r\n targetObj: any,\r\n targetProp: string,\r\n field: string,\r\n onAfterSelect: Function,\r\n onNotExists: Function,\r\n fieldInteger: boolean,\r\n row: any,\r\n extraFilters: Object,\r\n fieldsAlternativeWhere: Array\r\n ) {\r\n if (targetObj) {\r\n let b: boolean = true;\r\n if (targetObj[targetProp]) b = targetObj[targetProp][field] !== value;\r\n if (b) {\r\n if (value !== \"\") {\r\n let _filters = [\r\n { field: \"_Origem\", value: \"pesquisa\" },\r\n { field: field, value: value },\r\n { extra: extraFilters },\r\n { fieldsalternativewhere: fieldsAlternativeWhere },\r\n ];\r\n this.filters.forEach((filter) => {\r\n if (filter.field.indexOf(\"$\") > -1) {\r\n _filters.push({\r\n field: filter.field,\r\n value: this.valuesFilters[filter.field],\r\n });\r\n }\r\n });\r\n this.getObjectData(this.controllerName, _filters, (object) => {\r\n let value = this.getValueObject(object, field);\r\n let valid: boolean = object && value && value !== \"\";\r\n if (valid) valid = !this.isEmpty(value);\r\n if (valid && (field === \"id\" || fieldInteger))\r\n valid = this.valueToInteger(value, 0) > 0;\r\n if (valid) {\r\n targetObj[targetProp] = object;\r\n if (onAfterSelect !== undefined) onAfterSelect(object, row);\r\n } else {\r\n if (onNotExists !== undefined) onNotExists(row);\r\n targetObj[targetProp] = {};\r\n }\r\n });\r\n } else targetObj[targetProp] = {};\r\n }\r\n }\r\n }\r\n\r\n static instance: CMFormPesquisaComponent;\r\n\r\n static defaultPesquisa(\r\n _sender: any,\r\n _controllerName: string,\r\n _titlePesquisa: string,\r\n _columnsPesquisa = [],\r\n _targetObj: any,\r\n _targetProp?: string,\r\n _field?: string,\r\n _onAfterSelect?: Function,\r\n _fieldInteger?: boolean,\r\n _rowHeight?: string,\r\n _extraFilters?: Object,\r\n _muiltSelect?: boolean,\r\n _limitPesq?: number,\r\n _afterPostPesq?: Function,\r\n _onNotExists?: Function,\r\n _fieldsAlternativeWhere?: Array\r\n ) {\r\n CMFormPesquisaComponent.defaultPesquisaOnSelect(\r\n _sender,\r\n _controllerName,\r\n _titlePesquisa,\r\n _columnsPesquisa,\r\n _targetObj,\r\n _targetProp,\r\n _field,\r\n _onAfterSelect,\r\n _fieldInteger,\r\n _rowHeight,\r\n _extraFilters,\r\n (row, targetObj, targetProp, field, onAfterSelect, fieldInteger) => {\r\n if (_sender === undefined) {\r\n let f = field.split(\".\");\r\n let f2 = f.pop();\r\n CMFormPesquisaComponent.instance.getObjectDataPesquisa(\r\n row[f2],\r\n targetObj,\r\n targetProp,\r\n field,\r\n onAfterSelect,\r\n _onNotExists,\r\n fieldInteger,\r\n row,\r\n _extraFilters,\r\n _fieldsAlternativeWhere\r\n );\r\n } else if (!CMFormPesquisaComponent.inPesquisa) {\r\n let input: CMInputComponent = _sender;\r\n CMFormPesquisaComponent.instance.getObjectDataPesquisa(\r\n input.value,\r\n targetObj,\r\n targetProp,\r\n field,\r\n onAfterSelect,\r\n (object) => {\r\n if (_onNotExists !== undefined) _onNotExists(object);\r\n CMFormGlobaisComponent.toastErro(\r\n 'Registro \"' + input.value + '\" não encontrado',\r\n input.getCaptionText()\r\n );\r\n input.value = \"\";\r\n input.focus();\r\n },\r\n fieldInteger,\r\n row,\r\n _extraFilters,\r\n _fieldsAlternativeWhere\r\n );\r\n }\r\n },\r\n _muiltSelect,\r\n _limitPesq,\r\n _afterPostPesq\r\n );\r\n }\r\n\r\n static defaultPesquisaMuiltSelect(\r\n controllerName: string,\r\n titlePesquisa: string,\r\n columnsPesquisa = [],\r\n onAfterSelect: Function,\r\n rowHeight?: string,\r\n extraFilters?: Object,\r\n limitPesq?: number,\r\n afterPostPesq?: Function\r\n ) {\r\n CMFormPesquisaComponent.defaultPesquisaOnSelect(\r\n undefined,\r\n controllerName,\r\n titlePesquisa,\r\n columnsPesquisa,\r\n {},\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n rowHeight,\r\n extraFilters,\r\n onAfterSelect,\r\n true,\r\n limitPesq,\r\n afterPostPesq\r\n );\r\n }\r\n\r\n static defaultPesquisaSelect(\r\n controllerName: string,\r\n titlePesquisa: string,\r\n columnsPesquisa = [],\r\n onAfterSelect: Function,\r\n rowHeight?: string,\r\n extraFilters?: Object,\r\n limitPesq?: number,\r\n afterPostPesq?: Function\r\n ) {\r\n CMFormPesquisaComponent.defaultPesquisaOnSelect(\r\n undefined,\r\n controllerName,\r\n titlePesquisa,\r\n columnsPesquisa,\r\n {},\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n rowHeight,\r\n extraFilters,\r\n onAfterSelect,\r\n false,\r\n limitPesq,\r\n afterPostPesq\r\n );\r\n }\r\n\r\n static defaultPesquisaOnSelect(\r\n sender: any,\r\n controllerName: string,\r\n titlePesquisa: string,\r\n columnsPesquisa = [],\r\n targetObj: any,\r\n targetProp?: string,\r\n field?: string,\r\n onAfterSelect?: Function,\r\n fieldInteger?: boolean,\r\n rowHeight?: string,\r\n extraFilters?: Object,\r\n onSelect?: Function,\r\n muiltSelect?: boolean,\r\n limitPesq?: number,\r\n afterPostPesq?: Function\r\n ) {\r\n if (muiltSelect === undefined) muiltSelect = false;\r\n if (limitPesq === undefined) limitPesq = 0;\r\n if (fieldInteger === undefined) fieldInteger = true;\r\n if (targetProp === undefined) targetProp = controllerName.toLowerCase();\r\n if (field === undefined) field = \"id\";\r\n let cl = [];\r\n columnsPesquisa.forEach((item) => {\r\n if (item.dataType === \"boolean\") {\r\n item.tipo = \"select\";\r\n item.options = [\r\n { text: \"\", value: \"\" },\r\n { text: \"Sim\", value: \"true\" },\r\n { text: \"Não\", value: \"false\" },\r\n ];\r\n }\r\n if (item.dataType === \"select\"){\r\n item.tipo = \"select\";\r\n item.options = item.filter.values;\r\n }\r\n if (item.width === undefined) item.width = \"auto\";\r\n if (item.filterVisible === undefined) item.filterVisible = true;\r\n if (item.upper === undefined) item.upper = false;\r\n if (item.lower === undefined) item.lower = false;\r\n if (item.tipo === undefined) item.tipo = \"input\";\r\n cl.push(item);\r\n });\r\n if (CMFormPesquisaComponent.instance.muiltSelect != muiltSelect) {\r\n CMFormPesquisaComponent.instance.muiltSelect = muiltSelect;\r\n CMFormPesquisaComponent.instance.clear(controllerName, cl);\r\n } else {\r\n CMFormPesquisaComponent.instance.muiltSelect = muiltSelect;\r\n CMFormPesquisaComponent.instance.checkClear(controllerName, cl);\r\n }\r\n CMFormPesquisaComponent.instance.limitPesq = limitPesq;\r\n CMFormPesquisaComponent.instance.afterPostPesq = afterPostPesq;\r\n if (sender === undefined) {\r\n CMFormPesquisaComponent.open(\r\n controllerName,\r\n titlePesquisa,\r\n (row) => {\r\n onSelect(\r\n row,\r\n targetObj,\r\n targetProp,\r\n field,\r\n onAfterSelect,\r\n fieldInteger\r\n );\r\n },\r\n cl,\r\n rowHeight,\r\n extraFilters\r\n );\r\n } else if (!CMFormPesquisaComponent.inPesquisa) {\r\n onSelect(\r\n undefined,\r\n targetObj,\r\n targetProp,\r\n field,\r\n onAfterSelect,\r\n fieldInteger\r\n );\r\n }\r\n }\r\n\r\n protected getKeyDownCodes() {\r\n let r = super.getKeyDownCodes();\r\n r.push(13);\r\n return r;\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {\r\n super.onKeydown(keyCode, event);\r\n switch (keyCode) {\r\n case 13: // enter\r\n if (CMFormPesquisaComponent.inPesquisa) this.filtrar();\r\n break;\r\n }\r\n }\r\n\r\n name_pesquisa_filter(column) {\r\n let r = \"pesquisa_filter_\";\r\n r += column.field;\r\n return r.replace(\"$\", \"\");\r\n }\r\n\r\n get limit() {\r\n if (this.limitPesq > 0) return this.limitPesq;\r\n else if (this.muiltSelect) return 1000;\r\n else return 8;\r\n }\r\n\r\n getInputConfig(column) {\r\n let r: CMInputConfig = null;\r\n if (column.filter) {\r\n if (column.filter instanceof CMInputConfig) r = column.filter;\r\n }\r\n return r;\r\n }\r\n\r\n getmaxlength(column) {\r\n let maxlength = 0;\r\n let filter = this.getInputConfig(column);\r\n if (filter) maxlength = filter.getMaxLength({});\r\n return maxlength;\r\n }\r\n\r\n getpadInfo(column) {\r\n let padInfo = undefined;\r\n let filter = this.getInputConfig(column);\r\n if (filter) padInfo = filter.padInfo;\r\n return padInfo;\r\n }\r\n\r\n getValueInPath(_column) {\r\n return this.valuesFilters[_column.field];\r\n }\r\n\r\n setValueInPath(column, value) {\r\n this.valuesFilters[column.field] = value;\r\n }\r\n}\r\n","export * from './cmform-pesquisa.component';","export default \".cmform-buttons-relat-default {\\n padding-right: 20px;\\n}\\n\\n.popup-help {\\n /* Popup container - can be anything you want */\\n /* The actual popup */\\n /* Toggle this class - hide and show the popup */\\n /* Add animation (fade in the popup) */\\n}\\n\\n.popup-help .popup {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.popup-help .dropdown-content {\\n overflow-y: inherit !important;\\n opacity: 1 !important;\\n}\\n\\n.popup-help .popup .popuptext {\\n visibility: hidden;\\n background-color: #fff;\\n color: #fff;\\n text-align: center;\\n position: fixed;\\n z-index: 1;\\n top: 0px;\\n left: 0px;\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);\\n}\\n\\n.popup-help .popup .show {\\n visibility: visible;\\n -webkit-animation: fadeIn 1s;\\n animation: fadeIn 1s;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1yZWxhdC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtZm9ybVxcY21mb3JtLXJlbGF0XFxjbWZvcm0tcmVsYXQtZGVmYXVsdC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1yZWxhdC9jbWZvcm0tcmVsYXQtZGVmYXVsdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSwrQ0FBQTtFQVdBLHFCQUFBO0VBY0EsZ0RBQUE7RUFPQSxzQ0FBQTtBQzVCRjs7QURIRTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7QUNLSjs7QURGRTtFQUNFLDhCQUFBO0VBQ0EscUJBQUE7QUNJSjs7QURBRTtFQUNFLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsK0dBQUE7QUNFSjs7QURHRTtFQUNFLG1CQUFBO0VBQ0EsNEJBQUE7RUFDQSxvQkFBQTtBQ0RKOztBREtFO0VBQ0U7SUFDRSxVQUFBO0VDSEo7RURLRTtJQUNFLFVBQUE7RUNISjtBQUNGOztBRE1FO0VBQ0U7SUFDRSxVQUFBO0VDSko7RURNRTtJQUNFLFVBQUE7RUNKSjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21mb3JtL2NtZm9ybS1yZWxhdC9jbWZvcm0tcmVsYXQtZGVmYXVsdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0tYnV0dG9ucy1yZWxhdC1kZWZhdWx0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4ucG9wdXAtaGVscCB7XHJcbiAgLyogUG9wdXAgY29udGFpbmVyIC0gY2FuIGJlIGFueXRoaW5nIHlvdSB3YW50ICovXHJcbiAgLnBvcHVwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi1jb250ZW50IHtcclxuICAgIG92ZXJmbG93LXk6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8qIFRoZSBhY3R1YWwgcG9wdXAgKi9cclxuICAucG9wdXAgLnBvcHVwdGV4dCB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxyXG4gICAgICAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgfVxyXG5cclxuICAvKiBUb2dnbGUgdGhpcyBjbGFzcyAtIGhpZGUgYW5kIHNob3cgdGhlIHBvcHVwICovXHJcbiAgLnBvcHVwIC5zaG93IHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluIDFzO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMXM7XHJcbiAgfVxyXG5cclxuICAvKiBBZGQgYW5pbWF0aW9uIChmYWRlIGluIHRoZSBwb3B1cCkgKi9cclxuICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jbWZvcm0tYnV0dG9ucy1yZWxhdC1kZWZhdWx0IHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnBvcHVwLWhlbHAge1xuICAvKiBQb3B1cCBjb250YWluZXIgLSBjYW4gYmUgYW55dGhpbmcgeW91IHdhbnQgKi9cbiAgLyogVGhlIGFjdHVhbCBwb3B1cCAqL1xuICAvKiBUb2dnbGUgdGhpcyBjbGFzcyAtIGhpZGUgYW5kIHNob3cgdGhlIHBvcHVwICovXG4gIC8qIEFkZCBhbmltYXRpb24gKGZhZGUgaW4gdGhlIHBvcHVwKSAqL1xufVxuLnBvcHVwLWhlbHAgLnBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucG9wdXAtaGVscCAuZHJvcGRvd24tY29udGVudCB7XG4gIG92ZXJmbG93LXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLnBvcHVwLWhlbHAgLnBvcHVwIC5wb3B1cHRleHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnBvcHVwLWhlbHAgLnBvcHVwIC5zaG93IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJbiAxcztcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMXM7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59Il19 */\"","// tslint:disable\r\nimport { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { CMFormGlobaisComponent, CMFormRelatComponent } from \"..\";\r\n\r\nimport { CMInput } from \"../../../decorator\";\r\nimport { CMInputComponent } from \"../../cminput/cminput.component\";\r\nimport { CMFormComponent } from \"../cmform.component\";\r\n\r\n@Component({\r\n selector: \"cmform-relat\",\r\n templateUrl: \"./cmform-relat-default.component.html\",\r\n styleUrls: [\"./cmform-relat-default.component.scss\"],\r\n})\r\nexport class CMFormRelatDefaultComponent {\r\n @Output()\r\n clickPrint = new EventEmitter();\r\n _clickButtonPrint(event: any) {\r\n this.clickPrint.emit(event);\r\n }\r\n\r\n @Input()\r\n @CMInput()\r\n caption: string = \"\";\r\n\r\n @Input()\r\n @CMInput()\r\n iconeButton: string = \"print\";\r\n\r\n @Input()\r\n @CMInput()\r\n hintButton: string = \"Imprimir\";\r\n\r\n @Input()\r\n get owner() {\r\n return this.fOwner;\r\n }\r\n set owner(aOwner) {\r\n this.fOwner = aOwner;\r\n if (aOwner && aOwner.relatName) {\r\n aOwner.getDireitos(\"relats\", \"Extra\", aOwner.relatName, (data) => {\r\n if (data && data.Helps) {\r\n this.helps = data.Helps;\r\n }\r\n });\r\n }\r\n }\r\n fOwner: CMFormRelatComponent = undefined;\r\n\r\n public helps = [];\r\n\r\n name: string = \"cmform_\" + CMInputComponent.nextGlobalId().toString();\r\n\r\n getShowActionHelp() {\r\n return this.helps.length > 0;\r\n }\r\n\r\n togglePopup(event) {\r\n setTimeout(() => {\r\n const popup = document.getElementById(\"popupHelp_\" + this.name);\r\n popup.style.top = \"auto\";\r\n popup.style.left = \"auto\";\r\n popup.style.marginRight = \"5%\";\r\n popup.style.right = \"0\";\r\n popup.classList.toggle(\"show\");\r\n }, 10);\r\n }\r\n\r\n showHelpLinkIFrame(recursoHelp) {\r\n let html = CMFormComponent.trimValue(recursoHelp.link);\r\n if (!html.toLocaleLowerCase().startsWith(\"\";\r\n }\r\n CMFormGlobaisComponent.showMessageHtml(html, recursoHelp.titulo);\r\n }\r\n\r\n}\r\n","// tslint:disable\r\nimport { Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../../component/cmform/cmform.component\";\r\n\r\nexport class CMFormRelatComponent extends CMFormComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n public relatName: string = \"\";\r\n public filter: any = {};\r\n private innerFilterConfig = {};\r\n public get filterConfig() {\r\n return this.innerFilterConfig;\r\n }\r\n public set filterConfig(value: any) {\r\n this.innerFilterConfig = value;\r\n this.filter = {};\r\n this.generateEmptyModel(value, this.filter);\r\n }\r\n\r\n valid() {\r\n return true;\r\n }\r\n\r\n print() {\r\n if (this.valid()) this.showRelat(this.relatName, this.filter);\r\n }\r\n}\r\n","export * from './cmform-relat.component';\r\nexport * from './cmform-relat-default.component';","// tslint:disable\r\nimport {\r\n Injectable,\r\n OnInit,\r\n HostListener,\r\n NgZone,\r\n Injector,\r\n ComponentFactoryResolver,\r\n DoCheck,\r\n} from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { NotificationsService } from \"angular2-notifications\";\r\n\r\nimport {\r\n CMInputComponent,\r\n CMInputConfig,\r\n CMGridConfig,\r\n CMGridEditConfig,\r\n CMListCheckBoxConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMMenuComponent,\r\n} from \"../../component\";\r\n\r\n@Injectable()\r\nexport abstract class CMFormComponent implements OnInit, DoCheck {\r\n configJSON: any = {};\r\n configJSONPath: string = \"\";\r\n\r\n static funcBasePathApi: Function = undefined;\r\n static get basePathApi() {\r\n if (CMFormComponent.funcBasePathApi)\r\n return CMFormComponent.funcBasePathApi();\r\n else return \"\";\r\n }\r\n\r\n public focusedComponent: Object = undefined;\r\n\r\n name: string = \"cmform_\" + CMInputComponent.nextGlobalId().toString();\r\n openModal() {\r\n CMFormModalComponent.openForm(this);\r\n }\r\n closeModal() {\r\n CMFormModalComponent.closeForm(this);\r\n }\r\n\r\n public disabledAll: boolean = undefined;\r\n\r\n protected get windowWidth() {\r\n return CMMenuComponent.windowWidth;\r\n }\r\n protected get windowHeight() {\r\n return CMMenuComponent.windowHeight;\r\n }\r\n\r\n protected usaMenuMobile: boolean = true;\r\n get inDesktop() {\r\n return CMMenuComponent.inDesktop(this.usaMenuMobile);\r\n }\r\n\r\n generateEmptyModel(config: any, obj: any) {\r\n CMFormComponent.generateEmptyModel(config, obj);\r\n }\r\n\r\n static generateEmptyModel(config: any, obj: any) {\r\n let props = Object.getOwnPropertyNames(config);\r\n for (var i = 0; i < props.length; ++i) {\r\n let prop = props[i];\r\n if (config[prop] instanceof CMInputConfig) {\r\n obj[prop] = \"\";\r\n } else if (config[prop] instanceof CMGridConfig) {\r\n let so = {};\r\n CMFormComponent.generateEmptyModel(config[prop].fields, so);\r\n obj[prop] = [so];\r\n } else if (config[prop] instanceof CMGridEditConfig) {\r\n obj[prop] = [];\r\n } else if (config[prop] instanceof CMListCheckBoxConfig) {\r\n obj[prop] = [];\r\n } else if (config[prop] instanceof Array) {\r\n obj[prop] = [];\r\n } else if (CMFormComponent.isBaseObject(config[prop])) {\r\n obj[prop] = {};\r\n CMFormComponent.generateEmptyModel(config[prop], obj[prop]);\r\n }\r\n }\r\n }\r\n\r\n static isBaseObject(_var: any) {\r\n return (\r\n Object.getPrototypeOf(_var).constructor.name.toLowerCase() === \"object\"\r\n );\r\n }\r\n\r\n post(url: string, body: any) {\r\n return CMFormComponent.post(this.http, url, body);\r\n }\r\n\r\n postSubscribe(\r\n url: string,\r\n body: any,\r\n next?: (value: Object) => void,\r\n error?: (error: any) => void,\r\n complete?: () => void\r\n ) {\r\n\r\n console.log(url + \" \" + body);\r\n CMFormComponent.postSubscribe(this.http, url, body, next, error, complete);\r\n }\r\n\r\n postSubscribeT(\r\n url: string,\r\n body: any,\r\n next?: (value: T) => void,\r\n error?: (error: any) => void,\r\n complete?: () => void\r\n ) {\r\n CMFormComponent.postSubscribeT(\r\n this.http,\r\n url,\r\n body,\r\n next,\r\n error,\r\n complete\r\n );\r\n }\r\n\r\n static postT(\r\n http: HttpClient,\r\n url: string,\r\n body: any,\r\n responseType?: string\r\n ) {\r\n let _url = url.toLowerCase();\r\n if (_url.startsWith(\"/api/\")) _url = CMFormComponent.basePathApi + _url;\r\n let headers = new HttpHeaders({\r\n Authorization: \"Token \" + localStorage.getItem(\"token\"),\r\n \"Content-Type\": \"application/json\",\r\n });\r\n let options = { headers: headers };\r\n if (responseType) options[\"responseType\"] = responseType;\r\n return http.post(_url, body, options);\r\n }\r\n\r\n static post(http: HttpClient, url: string, body: any, responseType?: string) {\r\n return CMFormComponent.postT(http, url, body, responseType);\r\n }\r\n\r\n private static tryPostSubscribe(\r\n tentativa: number,\r\n http: HttpClient,\r\n url: string,\r\n body: any,\r\n next?: (value: Object) => void,\r\n error?: (error: any) => void,\r\n complete?: () => void,\r\n responseType?: string\r\n ) {\r\n if (tentativa > 0)\r\n console.warn(\"Tentativa \" + tentativa + \" no endereço \" + url);\r\n const s = CMFormComponent.postT(http, url, body, responseType).subscribe(\r\n next,\r\n (e) => {\r\n if (!navigator.onLine || e.status === 0) {\r\n if (tentativa <= 4) {\r\n console.error(e);\r\n setTimeout(() => {\r\n CMFormComponent.tryPostSubscribe(\r\n tentativa + 1,\r\n http,\r\n url,\r\n body,\r\n next,\r\n error,\r\n complete,\r\n responseType\r\n );\r\n }, 5000);\r\n } else if (error) {\r\n error(e);\r\n }\r\n } else if (error) {\r\n error(e);\r\n }\r\n },\r\n () => {\r\n s.unsubscribe();\r\n if (complete) complete();\r\n }\r\n );\r\n }\r\n\r\n static postSubscribe(\r\n http: HttpClient,\r\n url: string,\r\n body: any,\r\n next?: (value: Object) => void,\r\n error?: (error: any) => void,\r\n complete?: () => void,\r\n responseType?: string\r\n ) {\r\n CMFormComponent.tryPostSubscribe(\r\n 0,\r\n http,\r\n url,\r\n body,\r\n next,\r\n error,\r\n complete,\r\n responseType\r\n );\r\n }\r\n\r\n // tslint:disable-next-line: member-ordering\r\n // tslint:disable-next-line: max-line-length\r\n // tslint:disable-next-line: member-ordering\r\n static postSubscribeT(\r\n http: HttpClient,\r\n url: string,\r\n body: any,\r\n next?: (value: T) => void,\r\n error?: (error: any) => void,\r\n complete?: () => void,\r\n responseType?: string\r\n ) {\r\n CMFormComponent.tryPostSubscribe(\r\n 0,\r\n http,\r\n url,\r\n body,\r\n next,\r\n error,\r\n complete,\r\n responseType\r\n );\r\n }\r\n\r\n getValueObject(source: any, pathField: string) {\r\n return CMFormComponent.getValueObject(source, pathField);\r\n }\r\n\r\n static getValueObject(source: any, pathField: string) {\r\n let r: string = \"\";\r\n if (source && pathField !== \"\" && pathField !== undefined) {\r\n let paths = pathField.replace(/^[\\s*.]+|[\\s*.]+$/g, \"\").split(\".\");\r\n let obj = source;\r\n let prop = paths[paths.length - 1];\r\n for (let i = 0; i < paths.length - 1; i++) {\r\n if (obj[paths[i]] !== undefined) obj = obj[paths[i]];\r\n else {\r\n obj = undefined;\r\n break;\r\n }\r\n }\r\n if (obj !== undefined) r = obj[prop];\r\n }\r\n if (r === undefined || r === null) r = \"\";\r\n return r;\r\n }\r\n\r\n static setValueObject(source: any, pathField: string, value) {\r\n if (source && pathField !== \"\" && pathField !== undefined) {\r\n let paths = pathField.replace(/^[\\s*.]+|[\\s*.]+$/g, \"\").split(\".\");\r\n let obj = source;\r\n let prop = paths[paths.length - 1];\r\n for (let i = 0; i < paths.length - 1; i++) {\r\n if (obj[paths[i]] !== undefined) obj = obj[paths[i]];\r\n else {\r\n obj = undefined;\r\n break;\r\n }\r\n }\r\n if (obj !== undefined) obj[prop] = value;\r\n }\r\n }\r\n\r\n static valueIsEmpty(source: any, pathField: string) {\r\n let r: string = CMFormComponent.getValueObject(source, pathField);\r\n return r === \"\";\r\n }\r\n\r\n static trimValue(value: any) {\r\n return CMInputConfig.trimValue(value);\r\n }\r\n\r\n trimValue(value: any) {\r\n return CMInputConfig.trimValue(value);\r\n }\r\n\r\n getFormatError(origem: string, error: any) {\r\n console.error(error);\r\n let str: string = '

    ';\r\n if (origem !== \"\") str += \"

    Origem: \" + origem + \"

    \";\r\n if (error.status !== undefined) {\r\n str += \"

    Status: \" + error.status + \"

    \";\r\n if (error.status === 403) {\r\n localStorage.clear();\r\n let extras = {\r\n queryParams: {},\r\n };\r\n if (this.route.snapshot.queryParams) {\r\n Object.assign(extras.queryParams, this.route.snapshot.queryParams);\r\n }\r\n let rt = [];\r\n this.route.snapshot.url.forEach((element) => {\r\n rt.push(element.path);\r\n });\r\n if (rt.length > 0) {\r\n Object.assign(extras.queryParams, {\r\n routerok: rt.join(\"/\"),\r\n });\r\n }\r\n this.router.navigate([\"login\"], extras);\r\n return undefined;\r\n }\r\n }\r\n if (error.statusText !== undefined)\r\n str += \"

    StatusText: \" + error.statusText + \"

    \";\r\n if (error._body !== undefined)\r\n str += \"

    Body: \" + error._body + \"

    \";\r\n str +=\r\n \"

    Detalhes:

    \" +\r\n      JSON.stringify(error, undefined, 2) +\r\n      \"

    \";\r\n return str + '

    ';\r\n }\r\n\r\n showMessageErrorHTTP(origem: string, error: any) {\r\n CMFormGlobaisComponent.showMessageError(this.getFormatError(origem, error));\r\n }\r\n\r\n protected injector: Injector;\r\n protected http: HttpClient;\r\n public router: Router;\r\n protected ngZone: NgZone;\r\n protected route: ActivatedRoute;\r\n protected resolver: ComponentFactoryResolver;\r\n protected notificationsService: NotificationsService;\r\n\r\n constructor(_injector: Injector) {\r\n this.injector = _injector;\r\n this.http = this.injector.get(HttpClient);\r\n this.router = this.injector.get(Router);\r\n this.ngZone = this.injector.get(NgZone);\r\n this.route = this.injector.get(ActivatedRoute);\r\n this.resolver = this.injector.get(ComponentFactoryResolver);\r\n this.notificationsService = this.injector.get(NotificationsService);\r\n }\r\n\r\n loadRoles() {\r\n let ro = localStorage.getItem(\"roles\");\r\n if (ro) {\r\n try {\r\n this.roles = JSON.parse(ro);\r\n } catch (e) {\r\n this.roles = [];\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() {}\r\n\r\n ngOnInit() {\r\n if (this.configJSONPath != \"\") {\r\n let random = 1 + Math.random() * 100;\r\n this.http\r\n .get(\r\n CMFormComponent.basePathApi +\r\n \"/api/\" +\r\n this.configJSONPath +\r\n \"?\" +\r\n random.toString()\r\n )\r\n .subscribe((data) => {\r\n this.configJSON = data;\r\n });\r\n }\r\n this.loadRoles();\r\n\r\n let re = localStorage.getItem(\"recursos\");\r\n if (re) {\r\n try {\r\n this.recursos = JSON.parse(re);\r\n } catch (e) {\r\n this.recursos = [];\r\n }\r\n }\r\n window.scrollBy(0, 0);\r\n }\r\n\r\n getObjectData(\r\n controllerName: string,\r\n filters = [],\r\n afterGetObjectData: Function\r\n ) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n CMFormComponent.basePathApi + \"/api/\" + controllerName + \"/getobject\",\r\n JSON.stringify(filters),\r\n (obj) => {\r\n if (afterGetObjectData) afterGetObjectData(obj);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"getObjectData\", error);\r\n }\r\n );\r\n }\r\n\r\n get date() {\r\n return CMFormComponent.date();\r\n }\r\n\r\n static date() {\r\n return this.dateToValue(new Date());\r\n }\r\n\r\n static mes() {\r\n return CMFormComponent.valueToDate(CMFormComponent.date()).getMonth() + 1;\r\n }\r\n\r\n get mes() {\r\n return CMFormComponent.mes();\r\n }\r\n\r\n static incDate(days, date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n date.setDate(date.getDate() + days);\r\n return this.dateToValue(date);\r\n }\r\n\r\n incDate(days, date?: Date) {\r\n return CMFormComponent.incDate(days, date);\r\n }\r\n\r\n static decDate(days, date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n date.setDate(date.getDate() - days);\r\n return this.dateToValue(date);\r\n }\r\n\r\n decDate(days, date?: Date) {\r\n return CMFormComponent.decDate(days, date);\r\n }\r\n static firstDate(date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n return this.dateToValue(new Date(date.getFullYear(), date.getMonth(), 1));\r\n }\r\n\r\n firstDate(date?: Date) {\r\n return CMFormComponent.firstDate(date);\r\n }\r\n\r\n static firstDateLastMonth(date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n return this.dateToValue(\r\n new Date(date.getFullYear(), date.getMonth() - 1, 1)\r\n );\r\n }\r\n\r\n static firstDateNextMonth(date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n return this.dateToValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 1)\r\n );\r\n }\r\n\r\n firstDateLastMonth(date?: Date) {\r\n return CMFormComponent.firstDateLastMonth(date);\r\n }\r\n\r\n firstDateNextMonth(date?: Date) {\r\n return CMFormComponent.firstDateNextMonth(date);\r\n }\r\n\r\n static lastDate(date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n return this.dateToValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n\r\n lastDate(date?: Date) {\r\n return CMFormComponent.lastDate(date);\r\n }\r\n\r\n static lastDateNextMonth(date?: Date) {\r\n if (date === undefined)\r\n date = CMFormComponent.valueToDate(CMFormComponent.date());\r\n return this.dateToValue(\r\n new Date(date.getFullYear(), date.getMonth() + 2, 0)\r\n );\r\n }\r\n\r\n lastDateNextMonth(date?: Date) {\r\n return CMFormComponent.lastDateNextMonth(date);\r\n }\r\n\r\n relatAction(\r\n functionName: string,\r\n filter: Object,\r\n action: Function,\r\n controllerName?: string\r\n ) {\r\n if (controllerName === undefined) controllerName = \"relats\";\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribeT>(\r\n CMFormComponent.basePathApi +\r\n \"/api/\" +\r\n controllerName +\r\n \"/\" +\r\n functionName,\r\n JSON.stringify(filter),\r\n (result) => {\r\n this.parseRelatAction(result, action, controllerName);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"relatAction\", error);\r\n }\r\n );\r\n }\r\n\r\n parseRelatAction(result, action: Function, controllerName?: string) {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n let idArquivo = result.pop();\r\n let idArquivo_csv = \"\";\r\n if (result.length == 1) {\r\n idArquivo_csv = result.pop();\r\n if (idArquivo_csv !== \"\")\r\n idArquivo_csv =\r\n CMFormComponent.basePathApi +\r\n \"/api/\" +\r\n controllerName +\r\n \"/getfilerelat/\" +\r\n idArquivo_csv;\r\n }\r\n action(\r\n CMFormComponent.basePathApi +\r\n \"/api/\" +\r\n controllerName +\r\n \"/getfilerelat/\" +\r\n idArquivo,\r\n idArquivo_csv\r\n );\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n }\r\n }\r\n\r\n getRelat(functionName: string, filter: Object, newWindow: boolean = false) {\r\n this.relatAction(functionName, filter, (url) => {\r\n let targetWindow: string = \"\";\r\n if (!newWindow) targetWindow = \"_self\";\r\n window.open(url, targetWindow);\r\n });\r\n }\r\n\r\n showRelat(functionName: string, filter: Object, controllerName?: string) {\r\n this.relatAction(\r\n functionName,\r\n filter,\r\n (url, url_csv) => {\r\n if (CMFormComponent.isAndroid()) window.open(url, \"_self\");\r\n else\r\n window.open(url, \"_blank\");\r\n },\r\n controllerName\r\n );\r\n }\r\n\r\n static isMSIE() {\r\n return /(MSIE|Trident\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n static isAndroid() {\r\n return /Android/i.test(navigator.userAgent);\r\n }\r\n\r\n static isiPad() {\r\n return /(iPad)/i.test(navigator.userAgent);\r\n }\r\n\r\n static isiPhone() {\r\n return /(iPhone)/i.test(navigator.userAgent);\r\n }\r\n\r\n static isMSIE_or_Edge() {\r\n return /(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n static isMobile() {\r\n return (\r\n CMFormComponent.isAndroid() ||\r\n CMFormComponent.isiPad() ||\r\n CMFormComponent.isiPhone()\r\n );\r\n }\r\n\r\n static isFireFox() {\r\n return /firefox/i.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n static dateToValue(date: Date) {\r\n let d = date;\r\n let dia = d.getDate().toString();\r\n if (dia.length === 1) dia = \"0\" + dia;\r\n let mes = (d.getMonth() + 1).toString();\r\n if (mes.length === 1) mes = \"0\" + mes;\r\n let ano = d.getFullYear().toString();\r\n let r = dia + \"/\" + mes + \"/\" + ano;\r\n return r;\r\n }\r\n\r\n dateToValue(date: Date) {\r\n return CMFormComponent.dateToValue(date);\r\n }\r\n\r\n formatarDataExtenso(data, diaDaSemana: boolean = false) {\r\n return CMFormComponent.formatarDataExtenso(data, diaDaSemana);\r\n }\r\n\r\n static formatarDataExtenso(data, diaDaSemana: boolean = false) {\r\n // Meses possíveis\r\n var meses = [\r\n \"Janeiro\",\r\n \"Fevereiro\",\r\n \"Março\",\r\n \"Abril\",\r\n \"Maio\",\r\n \"Junho\",\r\n \"Julho\",\r\n \"Agosto\",\r\n \"Setembro\",\r\n \"Outubro\",\r\n \"Novembro\",\r\n \"Dezembro\",\r\n ];\r\n // Dias possíveis\r\n var diasSemana = [\r\n \"Domingo\",\r\n \"Segunda-feira\",\r\n \"Terça-feira\",\r\n \"Quarta-feira\",\r\n \"Quinta-feira\",\r\n \"Sexta-feira\",\r\n \"Sábado\",\r\n ];\r\n // Partes da data informada\r\n var dia = data.getDate();\r\n var dias = data.getDay();\r\n var mes = data.getMonth();\r\n var ano = data.getYear();\r\n // Resultado\r\n var extenso = \"\";\r\n\r\n // Para o navegador Netscape o ano começa em 1900\r\n if (navigator.appName == \"Netscape\") {\r\n ano = ano + 1900;\r\n }\r\n\r\n if (dia.toString().length === 1) dia = \"0\" + dia;\r\n\r\n if (diaDaSemana) extenso += diasSemana[dias] + \", \";\r\n extenso += dia + \" de \" + meses[mes] + \" de \" + ano;\r\n\r\n return extenso;\r\n }\r\n\r\n numeroExtenso(c): string {\r\n return CMFormComponent.numeroExtenso(c);\r\n }\r\n\r\n static numeroExtenso(c): string {\r\n return c;\r\n }\r\n\r\n static valueToDate(date: string) {\r\n let d = [\"0\", \"0\", \"0\"];\r\n if (date !== undefined && date.split !== undefined) d = date.split(\"/\");\r\n let dia = CMInputConfig.valueToInteger(d[0], 0);\r\n let mes = CMInputConfig.valueToInteger(d[1], 0) - 1;\r\n let ano = CMInputConfig.valueToInteger(d[2], 0);\r\n let r = new Date(ano, mes, dia);\r\n return r;\r\n }\r\n\r\n valueToDate(date: string) {\r\n return CMFormComponent.valueToDate(date);\r\n }\r\n\r\n static currentUser() {\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n if (user) {\r\n return {\r\n id: user[\"id\"],\r\n nome: user[\"nome\"],\r\n ownerid: user[\"ownerid\"],\r\n };\r\n } else {\r\n return {\r\n id: 0,\r\n nome: \"\",\r\n ownerid: 0,\r\n };\r\n }\r\n }\r\n\r\n get currentUser() {\r\n return CMFormComponent.currentUser();\r\n }\r\n\r\n get currentUserStorage() {\r\n return CMFormComponent.currentUserStorage();\r\n }\r\n\r\n static currentUserStorage() {\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n if (user) return user;\r\n else return {};\r\n }\r\n\r\n private roles = [];\r\n isRole(role: string) {\r\n if (this.roles.length === 0) {\r\n this.loadRoles();\r\n }\r\n return this.roles.indexOf(role) > -1;\r\n }\r\n\r\n get isLogged() {\r\n let r: boolean = false;\r\n if (localStorage.getItem(\"currentUser\")) r = true;\r\n if (r) {\r\n r = false;\r\n if (localStorage.getItem(\"token\")) r = true;\r\n }\r\n return r;\r\n }\r\n\r\n protected recursos = [];\r\n isRecurso(recurso: number) {\r\n let s = recurso + \"=true\";\r\n return this.recursos.indexOf(s) > -1;\r\n }\r\n\r\n isAnyRecurso(recursos: number[]) {\r\n let r = false;\r\n for (let i = 0; i < recursos.length; i++) {\r\n r = this.isRecurso(recursos[i]);\r\n if (r) break;\r\n }\r\n return r;\r\n }\r\n\r\n isEmpty(value: any) {\r\n return CMInputConfig.trimValue(value) === \"\";\r\n }\r\n\r\n valueToInteger(value: any, _default?: number) {\r\n return CMInputConfig.valueToInteger(value, _default);\r\n }\r\n\r\n integerToValue(integer: number) {\r\n return CMInputConfig.integerToValue(integer);\r\n }\r\n\r\n valueToFloat(value: any, _default?: number) {\r\n return CMInputConfig.valueToFloat(value, _default);\r\n }\r\n\r\n floatToValue(float: number, casasDecimais?: number) {\r\n return CMInputConfig.floatToValue(float, casasDecimais);\r\n }\r\n\r\n arredondar(value: number, casasDecimais?: number) {\r\n return CMInputConfig.arredondar(value, casasDecimais);\r\n }\r\n\r\n protected getKeyDownCodes() {\r\n return [];\r\n }\r\n\r\n @HostListener(\"window:keydown\", [\"$event\"])\r\n public _onKeydown(event: KeyboardEvent) {\r\n let ok: boolean = true;\r\n if (event.keyCode === 13) {\r\n if (document.activeElement) {\r\n ok = document.activeElement.tagName.toLowerCase() !== \"textarea\";\r\n }\r\n }\r\n if (ok) {\r\n let keyCode = this.getKeyDownCodes().find((no) => no === event.keyCode);\r\n if (keyCode) event.preventDefault();\r\n this.onKeydown(keyCode, event);\r\n }\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {}\r\n\r\n getCacheDireitos(controllerName: string, complemento?: string) {\r\n if (complemento === undefined) complemento = \"Direct\";\r\n if (complemento === \"Direct\") complemento = \"\";\r\n let s = localStorage.getItem(controllerName + complemento + \"1cd\");\r\n return JSON.parse(s);\r\n }\r\n\r\n setCacheDireitos(data: Object, controllerName: string, complemento?: string) {\r\n if (complemento === undefined) complemento = \"Direct\";\r\n if (complemento === \"Direct\") complemento = \"\";\r\n localStorage.setItem(\r\n controllerName + complemento + \"1cd\",\r\n JSON.stringify(data)\r\n );\r\n }\r\n\r\n static clearCacheAllDireitos() {\r\n let apagar = [];\r\n for (let index = 0; index < localStorage.length; index++) {\r\n const key: string = localStorage.key(index);\r\n if (key.endsWith(\"1cd\")) {\r\n const item = localStorage.getItem(key);\r\n if (item && item.indexOf(\"Cadastrar\") !== 1) apagar.push(key);\r\n }\r\n }\r\n for (const key in apagar) {\r\n localStorage.removeItem(apagar[key]);\r\n }\r\n }\r\n\r\n getDireitos(\r\n controllerName: string,\r\n tipo?: string,\r\n funcname?: string,\r\n callBack?: Function\r\n ) {\r\n if (tipo === undefined) tipo = \"Direct\";\r\n let complemento = \"\";\r\n if (funcname !== undefined) complemento = \".\" + funcname;\r\n let cacheData = this.getCacheDireitos(controllerName, tipo + complemento);\r\n if (!cacheData) {\r\n this.postSubscribe(\r\n CMFormComponent.basePathApi +\r\n \"/api/\" +\r\n controllerName.toLowerCase() +\r\n \"/getdireitos\",\r\n JSON.stringify({\r\n hash: \"ClassName\" + complemento,\r\n tipo: tipo,\r\n }),\r\n (data) => {\r\n this.setCacheDireitos(data, controllerName, tipo + complemento);\r\n if (callBack) callBack(data);\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"getDireitos\", error);\r\n }\r\n );\r\n } else {\r\n if (callBack) callBack(cacheData);\r\n }\r\n }\r\n\r\n // usado para converter uma string UTF-8 em ANSI\r\n stringToUint8Array(str: String): Uint8Array {\r\n const uint8 = new Uint8Array(str.length);\r\n for (let i = 0; i < uint8.length; i++) uint8[i] = str.charCodeAt(i);\r\n return uint8;\r\n }\r\n\r\n downloadContent(content, filename, contentType = \"text/csv;charset=utf-8;\") {\r\n var blob = new Blob([content], { type: contentType });\r\n if (navigator.msSaveBlob)\r\n // IE 10+\r\n navigator.msSaveBlob(blob, filename);\r\n //create a link and click it\r\n else {\r\n var link = document.createElement(\"a\");\r\n if (link.download !== undefined) {\r\n // feature detection\r\n // Browsers that support HTML5 download attribute\r\n var url = URL.createObjectURL(blob);\r\n link.setAttribute(\"href\", url);\r\n link.setAttribute(\"download\", filename);\r\n link.style.visibility = \"hidden\";\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n\r\n downloadTmpFile(\r\n controllerName,\r\n functionPrepareFile,\r\n dataPrepareFile,\r\n target = \"_self\"\r\n ) {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe(\r\n \"/api/\" + controllerName + \"/\" + functionPrepareFile + \"/FuncaoExtra\",\r\n JSON.stringify(dataPrepareFile),\r\n (r) => {\r\n if (r[\"result\"] === \"ok\") {\r\n let file = r[\"file\"];\r\n let userid = r[\"chave\"];\r\n window.open(\r\n \"/api/\" +\r\n controllerName +\r\n \"/GetTmpFile/\" +\r\n userid +\r\n \"/\" +\r\n file +\r\n \"/\" +\r\n target,\r\n target\r\n );\r\n } else {\r\n CMFormGlobaisComponent.toastErro(r[\"result\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"downloadTmpFile\", error);\r\n }\r\n );\r\n }\r\n\r\n showTmpFile(controllerName, functionPrepareFile, dataPrepareFile) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/\" + controllerName + \"/\" + functionPrepareFile + \"/FuncaoExtra\",\r\n JSON.stringify(dataPrepareFile),\r\n (r) => {\r\n if (r[\"result\"] === \"ok\") {\r\n let file = r[\"file\"];\r\n let userid = r[\"chave\"];\r\n let url =\r\n \"/api/\" + controllerName + \"/GetTmpFileShow/\" + userid + \"/\" + file;\r\n CMFormGlobaisComponent.showMessageURL(url, undefined, false);\r\n } else {\r\n CMFormGlobaisComponent.toastErro(r[\"result\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"downloadTmpFile\", error);\r\n }\r\n );\r\n }\r\n\r\n validField(config: CMInputConfig, value: any, row, parentCaption) {\r\n let result = \"\";\r\n if (config && config.components && config.components.length > 0) {\r\n result = config.valid(value, false, row);\r\n if (result !== \"\") {\r\n let c: CMInputComponent = config.components[0];\r\n c.focus();\r\n c.checkCustomValidity();\r\n let tmp = \"\";\r\n if (this.trimValue(parentCaption) !== \"\") {\r\n tmp = parentCaption + \" - \";\r\n }\r\n CMFormGlobaisComponent.toastErro(result, tmp + c.getCaptionText());\r\n }\r\n }\r\n return result === \"\";\r\n }\r\n\r\n private internalValid(config: any, obj: any, parentCaption) {\r\n let props = Object.getOwnPropertyNames(config);\r\n let result: boolean = true;\r\n for (var i = 0; i < props.length; ++i) {\r\n let prop = props[i];\r\n if (config[prop] instanceof CMInputConfig) {\r\n if (obj && obj[prop])\r\n result = this.validField(config[prop], obj[prop], obj, parentCaption);\r\n else\r\n result = this.validField(\r\n config[prop],\r\n undefined,\r\n undefined,\r\n parentCaption\r\n );\r\n if (!result) break;\r\n } else if (config[prop] instanceof CMGridConfig) {\r\n let gridConfig: CMGridConfig = config[prop];\r\n let objName = prop;\r\n if (gridConfig.objName !== \"\") objName = gridConfig.objName;\r\n let arr = obj[objName];\r\n if (arr instanceof Array) {\r\n if (gridConfig.required && arr.length === 0) {\r\n result = false;\r\n CMFormGlobaisComponent.toastErro(\r\n \"ao menos um item deve ser informado\",\r\n gridConfig.caption\r\n );\r\n } else {\r\n for (var j = 0; j < arr.length; ++j) {\r\n let item = arr[j];\r\n if (gridConfig.grid)\r\n gridConfig.grid.selectIndex(item.$$index, false);\r\n result = this.internalValid(\r\n gridConfig.fields,\r\n item,\r\n gridConfig.caption\r\n );\r\n if (result) result = gridConfig.validItem(item);\r\n if (!result) break;\r\n }\r\n }\r\n if (!result) break;\r\n } else if (gridConfig.required) {\r\n result = false;\r\n CMFormGlobaisComponent.toastErro(\r\n \"ao menos um item deve ser informado\",\r\n gridConfig.caption\r\n );\r\n break;\r\n }\r\n } else if (config[prop] instanceof CMGridEditConfig) {\r\n let gridConfig: CMGridEditConfig = config[prop];\r\n let objName = prop;\r\n if (gridConfig.objName !== \"\") objName = gridConfig.objName;\r\n let arr = obj[objName];\r\n if (arr instanceof Array) {\r\n if (gridConfig.required && arr.length === 0) {\r\n result = false;\r\n CMFormGlobaisComponent.toastErro(\r\n \"ao menos um item deve ser informado\",\r\n gridConfig.caption\r\n );\r\n } else {\r\n for (var j = 0; j < arr.length; ++j) {\r\n let item = arr[j];\r\n if (gridConfig.grid) gridConfig.grid.select(item, false);\r\n result = this.internalValid(\r\n gridConfig.fields,\r\n item,\r\n gridConfig.caption\r\n );\r\n if (result) result = gridConfig.validItem(item);\r\n if (!result) break;\r\n }\r\n }\r\n if (!result) break;\r\n } else if (gridConfig.required) {\r\n result = false;\r\n CMFormGlobaisComponent.toastErro(\r\n \"ao menos um item deve ser informado\",\r\n gridConfig.caption\r\n );\r\n break;\r\n }\r\n } else if (config[prop] instanceof CMListCheckBoxConfig) {\r\n let listCheckBoxConfig: CMListCheckBoxConfig = config[prop];\r\n let arr = obj[prop];\r\n if (arr instanceof Array) {\r\n if (listCheckBoxConfig.required && arr.length === 0) {\r\n result = false;\r\n CMFormGlobaisComponent.toastErro(\r\n \"ao menos um item deve ser selecionado\",\r\n listCheckBoxConfig.caption\r\n );\r\n break;\r\n }\r\n }\r\n } else if (CMFormComponent.isBaseObject(config[prop])) {\r\n result = this.internalValid(config[prop], obj[prop], \"\");\r\n if (!result) break;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n unSelectItens(config: any) {\r\n let props = Object.getOwnPropertyNames(config);\r\n for (var i = 0; i < props.length; ++i) {\r\n let prop = props[i];\r\n if (config[prop] instanceof CMGridConfig) {\r\n let gridConfig: CMGridConfig = config[prop];\r\n gridConfig.unSelect();\r\n } else if (config[prop] instanceof CMGridEditConfig) {\r\n let gridConfig: CMGridEditConfig = config[prop];\r\n gridConfig.unSelect();\r\n } else if (CMFormComponent.isBaseObject(config[prop]))\r\n this.unSelectItens(config[prop]);\r\n }\r\n }\r\n\r\n customValid(modelConfig) {\r\n this.unSelectItens(modelConfig);\r\n return \"\";\r\n }\r\n\r\n beforeValid() {\r\n return \"\";\r\n }\r\n\r\n valid(modelConfig, model) {\r\n let r = true;\r\n let bv: string = this.beforeValid();\r\n if (CMInputConfig.trimValue(bv) !== \"\") {\r\n CMFormGlobaisComponent.toastErro(bv);\r\n r = false;\r\n }\r\n if (r) {\r\n r = this.internalValid(modelConfig, model, \"\");\r\n if (r) {\r\n let cv: string = this.customValid(modelConfig);\r\n if (CMInputConfig.trimValue(cv) !== \"\") {\r\n CMFormGlobaisComponent.toastErro(cv);\r\n r = false;\r\n }\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n openNewURL(url: string, target?: string) {\r\n if (!target) target = \"_blank\";\r\n setTimeout(function () {\r\n let w = window.open(url, target);\r\n if (w) {\r\n if (w.document) w.document.close();\r\n w.focus();\r\n }\r\n }, 10);\r\n }\r\n\r\n static _loadCSS_Color: boolean = false;\r\n static loadCSS_Color() {\r\n if (!CMFormComponent._loadCSS_Color) {\r\n let styleColor: string = CMFormComponent.trimValue(\r\n CMFormComponent.currentUserStorage().styleColor\r\n );\r\n if (styleColor) {\r\n CMFormComponent._loadCSS_Color = true;\r\n let cn = document.getElementsByTagName(\"head\").item(0).childNodes;\r\n for (let index = 0; index < cn.length; index++) {\r\n const element = cn.item(index);\r\n let link: any = element;\r\n if (link.href) {\r\n let href: string = link.href;\r\n if (href.endsWith(\".bundle.css\"))\r\n link.href = href.replace(\r\n \".bundle.css\",\r\n \".bundle.\" + styleColor + \".css\"\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n reloadCurrentRoute() {\r\n let currentUrl = this.router.url;\r\n this.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => {\r\n this.router.navigate([currentUrl]);\r\n });\r\n }\r\n}\r\n","export * from './cmform-globais';\r\nexport * from './cmform-browse';\r\nexport * from './cmform-modal';\r\nexport * from './cmform-edit';\r\nexport * from './cmform-buttons-edit';\r\nexport * from './cmform-pesquisa';\r\nexport * from './cmform-relat';\r\nexport * from './cmform-email';\r\nexport * from './cmform-exec';","export enum CMGridV2EditType {\r\n INPUT = 0,\r\n CHECKBOX = 1,\r\n}\r\n\r\nexport enum CMGridV2EditDataType {\r\n STRING = 0,\r\n BOOLEAN = 1,\r\n DOUBLE = 2,\r\n}\r\n\r\nexport type CMGridV2ColumnButtonOnClick = (row: any) => void;\r\n\r\nexport type CMGridV2ColumnFuncRowBoolean = (row: any) => boolean;\r\nexport const getValueFuncRowBoolean = (\r\n value: boolean | CMGridV2ColumnFuncRowBoolean,\r\n row: any\r\n) => {\r\n if (typeof value == \"boolean\") {\r\n return value;\r\n } else {\r\n return value(row);\r\n }\r\n};\r\n\r\nexport class CMGridV2ColumnButton {\r\n icon: string;\r\n hint?: string;\r\n onClick: CMGridV2ColumnButtonOnClick;\r\n className?: string;\r\n enabled?: boolean | CMGridV2ColumnFuncRowBoolean;\r\n visible?: boolean | CMGridV2ColumnFuncRowBoolean;\r\n}\r\n\r\nexport class CMGridV2Column {\r\n field: string;\r\n header: string;\r\n editType?: CMGridV2EditType;\r\n dataType?: CMGridV2EditDataType;\r\n decimals?: number;\r\n visible?: boolean;\r\n enabled?: boolean | CMGridV2ColumnFuncRowBoolean;\r\n buttons?: Array;\r\n}\r\n\r\nexport class CMGridV2ListColumns {\r\n constructor(aParams?: { columns?: Array }) {\r\n if (aParams) {\r\n if (aParams.columns) {\r\n this.columns = aParams.columns;\r\n }\r\n }\r\n }\r\n\r\n get columns() {\r\n return this.fColumns;\r\n }\r\n set columns(aColumns) {\r\n this.fColumns = aColumns;\r\n this.changeColumns();\r\n }\r\n\r\n fColumns: Array = [];\r\n displayedColumns: string[] = [];\r\n\r\n changeColumns() {\r\n setTimeout(() => {\r\n this.changeColumns();\r\n }, 5000);\r\n this.displayedColumns = [];\r\n this.fColumns.forEach((column) => {\r\n if (column.dataType == undefined) {\r\n column.dataType = CMGridV2EditDataType.STRING;\r\n }\r\n if (column.decimals == undefined) {\r\n column.decimals = 0;\r\n }\r\n if (column.editType == undefined) {\r\n column.editType = CMGridV2EditType.INPUT;\r\n if (column.enabled == undefined) {\r\n column.enabled = false;\r\n }\r\n }\r\n if (column.visible == undefined) {\r\n column.visible = true;\r\n }\r\n if (column.enabled == undefined) {\r\n column.enabled = true;\r\n }\r\n if (column.visible) {\r\n this.displayedColumns.push(column.field);\r\n }\r\n if (column.buttons == undefined) {\r\n column.buttons = [];\r\n }\r\n column.buttons.forEach((button) => {\r\n if (button.hint == undefined) {\r\n button.hint = \"\";\r\n }\r\n if (button.className == undefined) {\r\n button.className = \"\";\r\n }\r\n if (button.enabled == undefined) {\r\n button.enabled = true;\r\n }\r\n if (button.visible == undefined) {\r\n button.visible = true;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","export default \".column-readonly {\\n border-width: 1;\\n padding-left: 0.3em;\\n width: 100%;\\n border: none;\\n color: rgba(0, 0, 0, 0.5);\\n background: transparent;\\n line-height: 3rem;\\n}\\n\\n.column-button {\\n margin: 2px;\\n cursor: pointer;\\n}\\n\\n.column-readonly-disabled {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.read-only-dots {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n}\\n\\n.current-row {\\n background-color: rgba(0, 0, 0, 0.03);\\n}\\n\\n.input-pesquisa {\\n padding: 5px;\\n}\\n\\n.input-pesquisa:focus {\\n border-bottom: 2px solid var(--primary-base-color-darken-3);\\n}\\n\\n::ng-deep .grid-edit-v2 {\\n background: #fff;\\n}\\n\\n::ng-deep .grid-edit-v2 input:focus {\\n border-bottom: 2px solid var(--primary-base-color-darken-3);\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-header-row {\\n min-height: 31px;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-row {\\n min-height: 38px;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-cell, ::ng-deep .grid-edit-v2 .mat-cell:last-child {\\n border-right: 1px solid #d0d0d0;\\n align-self: stretch;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-cell:last-child {\\n border-right: 0;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-header-cell, ::ng-deep .grid-edit-v2 .mat-header-cell:last-child {\\n border-top: 1px solid #d0d0d0;\\n border-right: 1px solid #d0d0d0;\\n align-self: stretch;\\n color: #393737;\\n font-size: 14px;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-header-cell:last-child {\\n border-right: 0;\\n}\\n\\n::ng-deep .grid-edit-v2 mat-cell:first-of-type,\\n::ng-deep .grid-edit-v2 mat-footer-cell:first-of-type,\\n::ng-deep .grid-edit-v2 mat-header-cell:first-of-type {\\n padding-left: 0;\\n}\\n\\n::ng-deep .grid-edit-v2 mat-cell:last-of-type,\\n::ng-deep .grid-edit-v2 mat-footer-cell:last-of-type,\\n::ng-deep .grid-edit-v2 mat-header-cell:last-of-type {\\n padding-right: 0;\\n}\\n\\n::ng-deep .grid-edit-v2 .mat-sort-header-container {\\n padding-left: 10px;\\n}\\n\\n::ng-deep .grid-edit-v2 .check-box {\\n padding-top: 0px !important;\\n text-align: center;\\n}\\n\\n::ng-deep .grid-edit-v2 .check-box .label-edit-dots {\\n width: 1px !important;\\n}\\n\\n::ng-deep .grid-edit-v2 input[type=grid-edit] {\\n border-width: 1;\\n padding: 0.3em;\\n width: 100%;\\n border: none;\\n color: rgba(0, 0, 0, 0.87);\\n background: transparent;\\n height: 3rem;\\n}\\n\\n::ng-deep .grid-edit-v2 input[type=grid-edit]:disabled {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n::ng-deep .grid-edit-v2 select {\\n border-width: 1;\\n padding: 0.3em;\\n width: 100%;\\n border: none;\\n color: rgba(0, 0, 0, 0.87);\\n background: transparent;\\n height: 3rem;\\n}\\n\\n::ng-deep .grid-edit-v2 select:disabled {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n::ng-deep .grid-edit-v2 .input-field {\\n margin-top: 0px;\\n}\\n\\n::ng-deep .grid-edit-v2 .inputBottomLabel {\\n top: 0px !important;\\n position: inherit !important;\\n padding-left: 0.5em !important;\\n border-top: 1px solid #d0d0d0;\\n font-size: 0.8rem !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21ncmlkLXYyL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY21ncmlkLXYyXFxjbWdyaWQtdjIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZ3JpZC12Mi9jbWdyaWQtdjIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7QUNDRjs7QURFQTtFQUNFLHlCQUFBO0FDQ0Y7O0FERUE7RUFDRSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUNDRjs7QURFQTtFQUNFLHFDQUFBO0FDQ0Y7O0FERUE7RUFDRSxZQUFBO0FDQ0Y7O0FEQ0E7RUFDRSwyREFBQTtBQ0VGOztBREVFO0VBa0RFLGdCQUFBO0FDaERKOztBRERJO0VBQ0UsMkRBQUE7QUNHTjs7QURESTtFQUNFLGdCQUFBO0FDR047O0FEREk7RUFDRSxnQkFBQTtBQ0dOOztBREFJO0VBQ0UsK0JBQUE7RUFDQSxtQkFBQTtBQ0VOOztBRENJO0VBRUUsZUFBQTtBQ0FOOztBREdJO0VBQ0UsNkJBQUE7RUFDQSwrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QUNETjs7QURJSTtFQUVFLGVBQUE7QUNITjs7QURNSTs7O0VBR0UsZUFBQTtBQ0pOOztBRE9JOzs7RUFHRSxnQkFBQTtBQ0xOOztBRFFJO0VBQ0Usa0JBQUE7QUNOTjs7QURXSTtFQUNFLDJCQUFBO0VBQ0Esa0JBQUE7QUNUTjs7QURXTTtFQUNFLHFCQUFBO0FDVFI7O0FEYUk7RUFDRSxlQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7QUNYTjs7QURjSTtFQUNFLHlCQUFBO0FDWk47O0FEZUk7RUFDRSxlQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7QUNiTjs7QURnQkk7RUFDRSx5QkFBQTtBQ2ROOztBRGlCSTtFQUNFLGVBQUE7QUNmTjs7QURrQkk7RUFDRSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0EsOEJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FDaEJOIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21ncmlkLXYyL2NtZ3JpZC12Mi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb2x1bW4tcmVhZG9ubHkge1xyXG4gIGJvcmRlci13aWR0aDogMTtcclxuICBwYWRkaW5nLWxlZnQ6IDAuM2VtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG59XHJcblxyXG4uY29sdW1uLWJ1dHRvbiB7XHJcbiAgbWFyZ2luOiAycHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29sdW1uLXJlYWRvbmx5LWRpc2FibGVkIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG59XHJcblxyXG4ucmVhZC1vbmx5LWRvdHMge1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmN1cnJlbnQtcm93IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG59XHJcblxyXG4uaW5wdXQtcGVzcXVpc2Ege1xyXG4gIHBhZGRpbmc6IDVweDtcclxufVxyXG4uaW5wdXQtcGVzcXVpc2E6Zm9jdXMge1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTMpO1xyXG59XHJcblxyXG46Om5nLWRlZXAge1xyXG4gIC5ncmlkLWVkaXQtdjIge1xyXG4gICAgaW5wdXQ6Zm9jdXMge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi0zKTtcclxuICAgIH1cclxuICAgIC5tYXQtaGVhZGVyLXJvdyB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDMxcHg7XHJcbiAgICB9XHJcbiAgICAubWF0LXJvdyB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdC1jZWxsIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QwZDBkMDtcclxuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgIH1cclxuXHJcbiAgICAubWF0LWNlbGw6bGFzdC1jaGlsZCB7XHJcbiAgICAgIEBleHRlbmQgLm1hdC1jZWxsO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdC1oZWFkZXItY2VsbCB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMGQwO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDBkMGQwO1xyXG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICBjb2xvcjogIzM5MzczNztcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XHJcbiAgICAgIEBleHRlbmQgLm1hdC1oZWFkZXItY2VsbDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIG1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsXHJcbiAgICBtYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSxcclxuICAgIG1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIG1hdC1jZWxsOmxhc3Qtb2YtdHlwZSxcclxuICAgIG1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGUsXHJcbiAgICBtYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cclxuICAgIC5jaGVjay1ib3gge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5sYWJlbC1lZGl0LWRvdHMge1xyXG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJncmlkLWVkaXRcIl0ge1xyXG4gICAgICBib3JkZXItd2lkdGg6IDE7XHJcbiAgICAgIHBhZGRpbmc6IDAuM2VtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGhlaWdodDogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiZ3JpZC1lZGl0XCJdOmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBib3JkZXItd2lkdGg6IDE7XHJcbiAgICAgIHBhZGRpbmc6IDAuM2VtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGhlaWdodDogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Q6ZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1maWVsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXRCb3R0b21MYWJlbCB7XHJcbiAgICAgIHRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMC41ZW0gIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMGQwZDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jb2x1bW4tcmVhZG9ubHkge1xuICBib3JkZXItd2lkdGg6IDE7XG4gIHBhZGRpbmctbGVmdDogMC4zZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogM3JlbTtcbn1cblxuLmNvbHVtbi1idXR0b24ge1xuICBtYXJnaW46IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sdW1uLXJlYWRvbmx5LWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnJlYWQtb25seS1kb3RzIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jdXJyZW50LXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG59XG5cbi5pbnB1dC1wZXNxdWlzYSB7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmlucHV0LXBlc3F1aXNhOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMyk7XG59XG5cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMyk7XG59XG46Om5nLWRlZXAgLmdyaWQtZWRpdC12MiAubWF0LWhlYWRlci1yb3cge1xuICBtaW4taGVpZ2h0OiAzMXB4O1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgLm1hdC1yb3cge1xuICBtaW4taGVpZ2h0OiAzOHB4O1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgLm1hdC1jZWxsLCA6Om5nLWRlZXAgLmdyaWQtZWRpdC12MiAubWF0LWNlbGw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG46Om5nLWRlZXAgLmdyaWQtZWRpdC12MiAubWF0LWNlbGw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5tYXQtaGVhZGVyLWNlbGwsIDo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMGQwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDBkMGQwO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogIzM5MzczNztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgLm1hdC1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgbWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSxcbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIG1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBlLFxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgbWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG46Om5nLWRlZXAgLmdyaWQtZWRpdC12MiBtYXQtY2VsbDpsYXN0LW9mLXR5cGUsXG46Om5nLWRlZXAgLmdyaWQtZWRpdC12MiBtYXQtZm9vdGVyLWNlbGw6bGFzdC1vZi10eXBlLFxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgbWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG46Om5nLWRlZXAgLmdyaWQtZWRpdC12MiAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5jaGVjay1ib3gge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5jaGVjay1ib3ggLmxhYmVsLWVkaXQtZG90cyB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIGlucHV0W3R5cGU9Z3JpZC1lZGl0XSB7XG4gIGJvcmRlci13aWR0aDogMTtcbiAgcGFkZGluZzogMC4zZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAzcmVtO1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgaW5wdXRbdHlwZT1ncmlkLWVkaXRdOmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIHNlbGVjdCB7XG4gIGJvcmRlci13aWR0aDogMTtcbiAgcGFkZGluZzogMC4zZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAzcmVtO1xufVxuOjpuZy1kZWVwIC5ncmlkLWVkaXQtdjIgc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5pbnB1dC1maWVsZCB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbjo6bmctZGVlcCAuZ3JpZC1lZGl0LXYyIC5pbnB1dEJvdHRvbUxhYmVsIHtcbiAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDtcbiAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, Input, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator, MatSort, MatTableDataSource } from \"@angular/material\";\r\nimport {\r\n CMGridV2Column,\r\n CMGridV2ColumnButton,\r\n CMGridV2ColumnFuncRowBoolean,\r\n CMGridV2EditDataType,\r\n CMGridV2EditType,\r\n CMGridV2ListColumns,\r\n getValueFuncRowBoolean,\r\n} from \"./cmgrid-column-v2.component\";\r\n\r\n@Component({\r\n selector: \"cmgrid-v2\",\r\n templateUrl: \"./cmgrid-v2.component.html\",\r\n styleUrls: [\"./cmgrid-v2.component.scss\"],\r\n})\r\nexport class CMGridV2Component {\r\n editTypes = CMGridV2EditType;\r\n dataTypes = CMGridV2EditDataType;\r\n\r\n @Input()\r\n listColumns: CMGridV2ListColumns = new CMGridV2ListColumns();\r\n\r\n @Input()\r\n get data() {\r\n return this.fData;\r\n }\r\n set data(aData) {\r\n this.fData = aData;\r\n this.dataSource = new MatTableDataSource(this.fData);\r\n this.configDataSource();\r\n }\r\n fData = [];\r\n\r\n @Input()\r\n stickyHeader: boolean = true;\r\n\r\n @Input()\r\n showFilter: boolean = true;\r\n\r\n @Input()\r\n showHintValueField: boolean = true;\r\n\r\n @Input()\r\n get sortable() {\r\n return this.fSortable;\r\n }\r\n set sortable(aSortable: boolean) {\r\n this.fSortable = aSortable === true;\r\n if (this.sort) {\r\n this.sort.disabled = !this.sortable;\r\n }\r\n }\r\n fSortable: boolean = true;\r\n\r\n @Input()\r\n get showPaginator() {\r\n return this.fShowPaginator;\r\n }\r\n set showPaginator(aShowPaginator: boolean) {\r\n this.fShowPaginator = aShowPaginator === true;\r\n this.setPaginator();\r\n }\r\n fShowPaginator: boolean = false;\r\n\r\n @Input()\r\n pageSizeDefault: number = 10;\r\n\r\n dataSource: MatTableDataSource = null;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n setPaginator() {\r\n if (this.showPaginator) {\r\n this.dataSource.paginator = this.paginator;\r\n } else {\r\n this.dataSource.paginator = null;\r\n }\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.pageSize = this.pageSizeDefault;\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n configDataSource() {\r\n if (this.dataSource) {\r\n this.sort.disabled = !this.sortable;\r\n this.dataSource.sort = this.sort;\r\n this.setPaginator();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configDataSource();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n if (this.dataSource) {\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.pageSize = this.pageSizeDefault;\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n }\r\n\r\n getNameInput(row, column: CMGridV2Column) {\r\n let r = column.field;\r\n if (row[\"id\"]) {\r\n r += row[\"id\"];\r\n }\r\n return r;\r\n }\r\n\r\n currentRow = undefined;\r\n selectRow(row) {\r\n this.currentRow = row;\r\n }\r\n isCurrentRow(row) {\r\n return this.currentRow == row;\r\n }\r\n\r\n clickButton(button: CMGridV2ColumnButton, row: any) {\r\n if (button.onClick !== undefined) {\r\n button.onClick(row);\r\n }\r\n }\r\n\r\n getValueFuncRowBoolean(\r\n value: boolean | CMGridV2ColumnFuncRowBoolean,\r\n row: any\r\n ) {\r\n return getValueFuncRowBoolean(value, row);\r\n }\r\n}\r\n","export * from \"./cmgrid-v2.component\";\r\nexport * from \"./cmgrid-column-v2.component\";\r\n","// tslint:disable\nimport {Component, OnInit, Input, ViewChild, TemplateRef, ContentChild} from '@angular/core';\n\nimport {CMGridComponent} from './cmgrid.component';\nimport {CMInput, BooleanConverter} from '../../decorator';\n\n@Component({\n selector: 'cmgrid-column-nao-usar',\n templateUrl: 'cmgrid-column.component.html',\n})\nexport class CMGridColumnComponent implements OnInit {\n @Input() caption: string = '';\n @Input() field: string = '';\n @Input() name: string = '';\n @Input()\n @CMInput()\n sortable: boolean = false;\n @Input()\n @CMInput()\n width: number = 1;\n get canAutoResize() {\n return this.width === 1;\n }\n @Input()\n @CMInput()\n frozenRight: boolean = false;\n\n private _visible: boolean = true;\n @Input()\n @CMInput(BooleanConverter)\n get visible() {\n return this._visible;\n }\n set visible(value: boolean) {\n if (this._visible !== value) {\n this._visible = value;\n this.grid.changeVisibleColumns();\n }\n }\n\n @ViewChild('cellTemplate', {static: true}) cellTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: true}) cellTemplateChild: TemplateRef;\n\n constructor(private grid: CMGridComponent) {}\n\n ngOnInit() {\n this.grid.addColumn(this);\n }\n\n getTitle() {\n let r = this.caption;\n return r;\n }\n}\n","export default \"::ng-deep .selectQtdeRows select {\\n font-weight: 500;\\n height: auto;\\n margin-top: 0.3em;\\n}\\n\\n.hiddenRow {\\n display: none;\\n}\\n\\n.read-only-dots {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n}\\n\\n.warpper-grid-edit {\\n background: #fff;\\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\\n}\\n\\n.nav-grid {\\n height: 3em;\\n line-height: 3em;\\n background: #fff;\\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\\n display: block;\\n}\\n\\n.nav-grid .titulo {\\n padding-left: 10px;\\n color: #393737;\\n font-size: 1.1em;\\n font-weight: 600;\\n}\\n\\n.nav-grid .titulo-more {\\n color: #fff;\\n}\\n\\n.wrapper1, .wrapper2 {\\n border: none 0px RED;\\n overflow-x: auto;\\n}\\n\\n.wrapper1 {\\n height: 20px;\\n}\\n\\n#div1 {\\n height: 20px;\\n}\\n\\n#div2 {\\n overflow: auto;\\n}\\n\\n.nav-grid-sticky {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 2;\\n}\\n\\n.warpper-table {\\n padding: 0;\\n overflow-x: hidden;\\n max-height: 50vh !important;\\n}\\n\\n.warpper-table-sticky-thead thead th {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 4;\\n}\\n\\n.warpper-table-sticky-tfoot {\\n /* safari and ios need the tfoot itself to be position:sticky also */\\n}\\n\\n.warpper-table-sticky-tfoot tfoot,\\n.warpper-table-sticky-tfoot tfoot th,\\n.warpper-table-sticky-tfoot tfoot td {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 4;\\n border-right: 1px solid #d0d0d0;\\n}\\n\\n.warpper-table-sticky-tfoot tfoot th :last-child {\\n border-right: none;\\n}\\n\\n.wapper-right-bt {\\n padding-right: 1em;\\n display: flex;\\n}\\n\\n.selected {\\n background: rgba(0, 0, 0, 0.03);\\n}\\n\\n.column-readonly {\\n border-width: 1;\\n padding-left: 0.3em;\\n width: 100%;\\n border: none;\\n color: rgba(0, 0, 0, 0.5);\\n background: transparent;\\n line-height: 3rem;\\n}\\n\\n.column-readonly-disabled {\\n color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.tr-td-moreActions {\\n vertical-align: middle;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21ncmlkL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY21ncmlkXFxjbWdyaWQtZWRpdC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21ncmlkL2NtZ3JpZC1lZGl0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVJO0VBQ0UsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUNETjs7QURNQTtFQUNFLGFBQUE7QUNIRjs7QURNQTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBQ0hGOztBRE1BO0VBQ0UsZ0JBQUE7RUFDQSw0RUFBQTtBQ0hGOztBRE1BO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0RUFBQTtFQUNBLGNBQUE7QUNIRjs7QURLRTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUNISjs7QURNRTtFQUNFLFdBQUE7QUNKSjs7QURRQTtFQUFxQixvQkFBQTtFQUNyQixnQkFBQTtBQ0pBOztBREtBO0VBQVUsWUFBQTtBQ0RWOztBREdBO0VBQ0UsWUFBQTtBQ0FGOztBREVBO0VBQ0UsY0FBQTtBQ0NGOztBREdBO0VBQ0Usd0JBQUE7RUFBQSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0FDQUY7O0FER0E7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSwyQkFBQTtBQ0FGOztBRElFO0VBQ0Usd0JBQUE7RUFBQSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0FDREo7O0FES0E7RUFDRSxvRUFBQTtBQ0ZGOztBREdFOzs7RUFHRSx3QkFBQTtFQUFBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSwrQkFBQTtBQ0RKOztBREdFO0VBQ0Usa0JBQUE7QUNESjs7QURLQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtBQ0ZGOztBREtBO0VBQ0UsK0JBQUE7QUNGRjs7QURLQTtFQUNFLGVBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0FDRkY7O0FES0E7RUFDRSx5QkFBQTtBQ0ZGOztBREtBO0VBQ0Usc0JBQUE7QUNGRiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtZ3JpZC9jbWdyaWQtZWRpdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCB7XHJcbiAgLnNlbGVjdFF0ZGVSb3dzIHtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogMC4zZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGlkZGVuUm93IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucmVhZC1vbmx5LWRvdHMge1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLndhcnBwZXItZ3JpZC1lZGl0IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XHJcbn1cclxuXHJcbi5uYXYtZ3JpZCB7XHJcbiAgaGVpZ2h0OiAzZW07XHJcbiAgbGluZS1oZWlnaHQ6IDNlbTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIC50aXR1bG8ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgY29sb3I6ICMzOTM3Mzc7XHJcbiAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG4gIC50aXR1bG8tbW9yZSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi53cmFwcGVyMSwgLndyYXBwZXIye2JvcmRlcjogbm9uZSAwcHggUkVEO1xyXG5vdmVyZmxvdy14OiBhdXRvO31cclxuLndyYXBwZXIxe2hlaWdodDogMjBweDsgfVxyXG5cclxuI2RpdjEge1xyXG4gIGhlaWdodDogMjBweDsgXHJcbiAgfVxyXG4jZGl2MiB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcblxyXG4ubmF2LWdyaWQtc3RpY2t5IHtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4ud2FycHBlci10YWJsZSB7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgbWF4LWhlaWdodDogNTB2aCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2FycHBlci10YWJsZS1zdGlja3ktdGhlYWQge1xyXG4gIHRoZWFkIHRoIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiA0O1xyXG4gIH1cclxufVxyXG5cclxuLndhcnBwZXItdGFibGUtc3RpY2t5LXRmb290IHtcclxuICAvKiBzYWZhcmkgYW5kIGlvcyBuZWVkIHRoZSB0Zm9vdCBpdHNlbGYgdG8gYmUgcG9zaXRpb246c3RpY2t5IGFsc28gKi9cclxuICB0Zm9vdCxcclxuICB0Zm9vdCB0aCxcclxuICB0Zm9vdCB0ZCB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgei1pbmRleDogNDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkMGQwZDA7XHJcbiAgfVxyXG4gIHRmb290IHRoIDpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi53YXBwZXItcmlnaHQtYnQge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uc2VsZWN0ZWQge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XHJcbn1cclxuXHJcbi5jb2x1bW4tcmVhZG9ubHkge1xyXG4gIGJvcmRlci13aWR0aDogMTtcclxuICBwYWRkaW5nLWxlZnQ6IDAuM2VtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG59XHJcblxyXG4uY29sdW1uLXJlYWRvbmx5LWRpc2FibGVkIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG59XHJcblxyXG4udHItdGQtbW9yZUFjdGlvbnMge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuIiwiOjpuZy1kZWVwIC5zZWxlY3RRdGRlUm93cyBzZWxlY3Qge1xuICBmb250LXdlaWdodDogNTAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuM2VtO1xufVxuXG4uaGlkZGVuUm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlYWQtb25seS1kb3RzIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53YXJwcGVyLWdyaWQtZWRpdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi5uYXYtZ3JpZCB7XG4gIGhlaWdodDogM2VtO1xuICBsaW5lLWhlaWdodDogM2VtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uYXYtZ3JpZCAudGl0dWxvIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzM5MzczNztcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5uYXYtZ3JpZCAudGl0dWxvLW1vcmUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLndyYXBwZXIxLCAud3JhcHBlcjIge1xuICBib3JkZXI6IG5vbmUgMHB4IFJFRDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLndyYXBwZXIxIHtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4jZGl2MSB7XG4gIGhlaWdodDogMjBweDtcbn1cblxuI2RpdjIge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm5hdi1ncmlkLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbn1cblxuLndhcnBwZXItdGFibGUge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDUwdmggIWltcG9ydGFudDtcbn1cblxuLndhcnBwZXItdGFibGUtc3RpY2t5LXRoZWFkIHRoZWFkIHRoIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA0O1xufVxuXG4ud2FycHBlci10YWJsZS1zdGlja3ktdGZvb3Qge1xuICAvKiBzYWZhcmkgYW5kIGlvcyBuZWVkIHRoZSB0Zm9vdCBpdHNlbGYgdG8gYmUgcG9zaXRpb246c3RpY2t5IGFsc28gKi9cbn1cbi53YXJwcGVyLXRhYmxlLXN0aWNreS10Zm9vdCB0Zm9vdCxcbi53YXJwcGVyLXRhYmxlLXN0aWNreS10Zm9vdCB0Zm9vdCB0aCxcbi53YXJwcGVyLXRhYmxlLXN0aWNreS10Zm9vdCB0Zm9vdCB0ZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogNDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QwZDBkMDtcbn1cbi53YXJwcGVyLXRhYmxlLXN0aWNreS10Zm9vdCB0Zm9vdCB0aCA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLndhcHBlci1yaWdodC1idCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbn1cblxuLmNvbHVtbi1yZWFkb25seSB7XG4gIGJvcmRlci13aWR0aDogMTtcbiAgcGFkZGluZy1sZWZ0OiAwLjNlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xufVxuXG4uY29sdW1uLXJlYWRvbmx5LWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnRyLXRkLW1vcmVBY3Rpb25zIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn0iXX0= */\"","// tslint:disable\r\nimport {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n SimpleChange,\r\n OnChanges,\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridConfig,\r\n CMGridComponent,\r\n} from \"./../../component\";\r\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\r\nimport { CMInput } from \"../../decorator\";\r\nimport { Observable, Observer } from \"rxjs\";\r\n\r\nexport class CMGridEditConfigColumn {\r\n readOnly: boolean = false;\r\n getValue: Function = undefined;\r\n getBottomLabelColumn: Function = undefined;\r\n getFooterLabelColumn: Function = undefined;\r\n width: string = \"auto\";\r\n maxHeight: string = \"3em\";\r\n whiteSpace: string = \"nowrap\";\r\n whiteSpaceRow: string = \"nowrap\";\r\n textAlignHead: string = \"inherit\";\r\n paddingRight: string = \"10px\";\r\n ordem: Number = 0;\r\n tipo: string | Function = \"\";\r\n public disabledFunc: Function = undefined;\r\n background: string | Function = undefined;\r\n onGetValue: Function = undefined;\r\n onSetValue: Function = undefined;\r\n owner: CMGridEditConfig;\r\n wordwrap: boolean = false;\r\n onClick: Function = undefined;\r\n verticalAlign: string = \"sub\";\r\n\r\n getTipo(row) {\r\n if (this.tipo instanceof Function) {\r\n return this.tipo(row);\r\n } else {\r\n return this.tipo;\r\n }\r\n }\r\n innerTipo: string = \"\";\r\n getTipoEdit(row) {\r\n let r = this.getTipo(row);\r\n if (r === \"\") r = this.innerTipo;\r\n return r;\r\n }\r\n\r\n isReadOnly(row) {\r\n let r = this.readOnly;\r\n if (!r && this.getTipo(row) !== \"input-pesquisa\")\r\n r = this.getValue !== undefined;\r\n return r;\r\n }\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n if (data.readOnly) this.readOnly = data.readOnly;\r\n if (data.getValue) this.getValue = data.getValue;\r\n if (data.getBottomLabelColumn)\r\n this.getBottomLabelColumn = data.getBottomLabelColumn;\r\n if (data.getFooterLabelColumn)\r\n this.getFooterLabelColumn = data.getFooterLabelColumn;\r\n if (data.width) this.width = data.width;\r\n if (data.maxHeight) this.maxHeight = data.maxHeight;\r\n if (data.whiteSpace) this.whiteSpace = data.whiteSpace;\r\n if (data.whiteSpaceRow) this.whiteSpaceRow = data.whiteSpaceRow;\r\n if (data.textAlignHead) this.textAlignHead = data.textAlignHead;\r\n if (data.wordwrap) this.wordwrap = data.wordwrap;\r\n if (data.paddingRight) this.paddingRight = data.paddingRight;\r\n if (data.ordem) this.ordem = data.ordem;\r\n if (data.tipo) this.tipo = data.tipo;\r\n if (data.disabledFunc) this.disabledFunc = data.disabledFunc;\r\n if (data.background) this.background = data.background;\r\n if (data.onGetValue) this.onGetValue = data.onGetValue;\r\n if (data.onSetValue) this.onSetValue = data.onSetValue;\r\n if (data.onClick) this.onClick = data.onClick;\r\n if (data.verticalAlign) this.verticalAlign = data.verticalAlign;\r\n }\r\n }\r\n}\r\n\r\nexport class CMGridEditConfigMore {\r\n title: string | Function = \"\";\r\n index = 0;\r\n hint = \"\";\r\n icone: string | Function = \"\";\r\n defaultInAdd: boolean = false;\r\n allowCancel: boolean = false;\r\n onClick: Function = undefined;\r\n visible: boolean | Function = true;\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n if (data.title) this.title = data.title;\r\n if (data.index) this.index = data.index;\r\n if (data.hint) this.hint = data.hint;\r\n if (data.icone) this.icone = data.icone;\r\n if (data.defaultInAdd) this.defaultInAdd = data.defaultInAdd;\r\n if (data.onClick) this.onClick = data.onClick;\r\n if (data.visible) this.visible = data.visible;\r\n }\r\n }\r\n\r\n getIcone() {\r\n if (this.icone instanceof Function) return this.icone();\r\n else return this.icone;\r\n }\r\n\r\n getVisible(row) {\r\n if (this.visible instanceof Function) return this.visible(row);\r\n else return this.visible;\r\n }\r\n\r\n getTitle() {\r\n let r = \"\";\r\n if (this.title instanceof Function) r = this.title();\r\n if (r === \"\" && !(this.title instanceof Function)) r = this.title;\r\n if (r === \"\") r = this.hint;\r\n return r;\r\n }\r\n}\r\n\r\nexport class CMGridEditConfig {\r\n public fields = {};\r\n public extraColumns = {};\r\n\r\n private innerRequired: boolean = true;\r\n get required() {\r\n let r = this.innerRequired;\r\n if (this.requiredFunc !== undefined) r = this.requiredFunc();\r\n if (r) r = !this.disabledAll;\r\n return r;\r\n }\r\n set required(value: boolean) {\r\n this.innerRequired = value;\r\n }\r\n public requiredFunc: Function = undefined;\r\n public gridName: string = \"grid_\" + CMGridEditConfig.newId();\r\n public onNewItem: Function = undefined;\r\n public onSelect: Function = undefined;\r\n public onRemoveItem: Function = undefined;\r\n public onAllowRemoveItem: Function = undefined;\r\n public onAllowRemoveItemCallback: Function = undefined;\r\n public customValidItem: Function = undefined;\r\n public caption: string = \"\";\r\n public captionFunc: Function = undefined;\r\n public form: CMFormComponent = null;\r\n public focusComponentOnSelect: string = \"\";\r\n public objName: string = \"\";\r\n public moreActions = [];\r\n public disabledFunc: Function = undefined;\r\n public visibleRow: Function = undefined;\r\n\r\n public getCaption() {\r\n if (this.captionFunc !== undefined) return this.captionFunc(this.current);\r\n else return this.caption;\r\n }\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n if (data.fields !== undefined) this.fields = data.fields;\r\n if (data.extraColumns !== undefined)\r\n this.extraColumns = data.extraColumns;\r\n if (data.required !== undefined) this.required = data.required;\r\n if (data.requiredFunc !== undefined)\r\n this.requiredFunc = data.requiredFunc;\r\n if (data.grid !== undefined) this.gridName = data.grid;\r\n if (data.form !== undefined) this.form = data.form;\r\n if (data.onNewItem !== undefined) this.onNewItem = data.onNewItem;\r\n if (data.onRemoveItem !== undefined)\r\n this.onRemoveItem = data.onRemoveItem;\r\n if (data.onAllowRemoveItem !== undefined)\r\n this.onAllowRemoveItem = data.onAllowRemoveItem;\r\n if (data.onAllowRemoveItemCallback !== undefined)\r\n this.onAllowRemoveItemCallback = data.onAllowRemoveItemCallback;\r\n if (data.caption !== undefined) this.caption = data.caption;\r\n if (data.captionFunc !== undefined) this.captionFunc = data.captionFunc;\r\n if (data.focusComponentOnSelect !== undefined)\r\n this.focusComponentOnSelect = data.focusComponentOnSelect;\r\n if (data.onSelect !== undefined) this.onSelect = data.onSelect;\r\n if (data.customValidItem !== undefined)\r\n this.customValidItem = data.customValidItem;\r\n if (data.objName !== undefined) this.objName = data.objName;\r\n if (data.moreActions !== undefined) this.moreActions = data.moreActions;\r\n if (data.disabledFunc) this.disabledFunc = data.disabledFunc;\r\n if (data.visibleRow !== undefined) this.visibleRow = data.visibleRow;\r\n }\r\n }\r\n\r\n\r\n\r\n \r\n static getDataFields(fields) {\r\n let propFields = Object.getOwnPropertyNames(fields);\r\n let ret = {};\r\n for (var i = 0; i < propFields.length; ++i) {\r\n let field = propFields[i];\r\n if (fields[field] instanceof CMInputConfig)\r\n ret[field] = fields[field].clone();\r\n else if (fields[field] instanceof CMGridConfig)\r\n ret[field] = fields[field].clone();\r\n else if (fields[field] instanceof CMGridEditConfig)\r\n ret[field] = fields[field].clone();\r\n //else if (this.fields[field] instanceof CMListCheckBoxConfig)\r\n // newFields[field] = this.fields[field].clone();\r\n else if (CMFormComponent.isBaseObject(fields[field])) {\r\n ret[field] = CMGridConfig.getDataFields(fields[field]);\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n getData() {\r\n let data: any = {};\r\n if (this.fields !== undefined)\r\n data.fields = CMGridConfig.getDataFields(this.fields);\r\n if (this.extraColumns !== undefined) data.extraColumns = this.extraColumns;\r\n if (this.required !== undefined) data.required = this.required;\r\n if (this.requiredFunc !== undefined) data.requiredFunc = this.requiredFunc;\r\n if (this.gridName !== undefined) data.gridName = this.gridName;\r\n if (this.form !== undefined) data.form = this.form;\r\n if (this.onNewItem !== undefined) data.onNewItem = this.onNewItem;\r\n if (this.onRemoveItem !== undefined) data.onRemoveItem = this.onRemoveItem;\r\n if (this.onAllowRemoveItem !== undefined)\r\n data.onAllowRemoveItem = this.onAllowRemoveItem;\r\n if (this.onAllowRemoveItemCallback !== undefined)\r\n data.onAllowRemoveItemCallback = this.onAllowRemoveItemCallback;\r\n if (this.caption !== undefined) data.caption = this.caption;\r\n if (this.captionFunc !== undefined) data.captionFunc = this.captionFunc;\r\n if (this.focusComponentOnSelect !== undefined)\r\n data.focusComponentOnSelect = this.focusComponentOnSelect;\r\n if (this.onSelect !== undefined) data.onSelect = this.onSelect;\r\n if (this.customValidItem !== undefined)\r\n data.customValidItem = this.customValidItem;\r\n if (this.objName !== undefined) data.objName = this.objName;\r\n if (this.moreActions !== undefined) data.moreActions = this.moreActions;\r\n if (this.visibleRow !== undefined) data.visibleRow = this.visibleRow;\r\n return data;\r\n }\r\n\r\n public grid: any;\r\n\r\n static newId() {\r\n return CMGridComponent.newId();\r\n }\r\n\r\n private emptyModel: any = undefined;\r\n public get current() {\r\n let r = undefined;\r\n if (this.grid) r = this.grid.current;\r\n if (!r) {\r\n if (!this.emptyModel) {\r\n this.emptyModel = {};\r\n CMFormComponent.generateEmptyModel(this.fields, this.emptyModel);\r\n r = this.emptyModel;\r\n }\r\n r = this.emptyModel;\r\n }\r\n return r;\r\n }\r\n\r\n get count() {\r\n let g = this.grid;\r\n if (g) return g.count;\r\n else return 0;\r\n }\r\n\r\n unSelect() {\r\n let g = this.grid;\r\n if (g) g.unSelect();\r\n }\r\n\r\n checkVisibleRow() {\r\n let g = this.grid;\r\n if (g) g.checkVisibleRow();\r\n }\r\n /*\r\n public unSelectFields() {\r\n let g = this.grid;\r\n if (g)\r\n g.unSelectFields();\r\n }*/\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.customValidItem !== undefined) r = this.customValidItem(item);\r\n if (r !== \"\") CMFormGlobaisComponent.toastErro(r, this.getCaption());\r\n return r === \"\";\r\n }\r\n\r\n get isCurrent() {\r\n let g = this.grid;\r\n if (g) return g.isCurrent;\r\n else return false;\r\n }\r\n\r\n public fieldByName(aFieldName: string) {\r\n return CMFormComponent.getValueObject(this.current, aFieldName);\r\n }\r\n\r\n clone() {\r\n return new CMGridEditConfig(this.getData());\r\n }\r\n\r\n public selectFirst(setFocus: boolean = true) {\r\n let g = this.grid;\r\n if (g) g.selectFirst(setFocus);\r\n }\r\n\r\n get disabledAll() {\r\n let r: boolean = false;\r\n if (!r && this.form) {\r\n if (this.form.disabledAll !== undefined) r = this.form.disabledAll;\r\n }\r\n if (!r) {\r\n if (this.disabledFunc !== undefined) r = this.disabledFunc();\r\n }\r\n return r;\r\n }\r\n\r\n addNew() {\r\n let g = this.grid;\r\n if (g) return g.addNew();\r\n }\r\n\r\n extraClick(extra) {\r\n let g = this.grid;\r\n if (g) g.extraClick(extra);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: \"cmgrid-edit\",\r\n templateUrl: \"cmgrid-edit.component.html\",\r\n styleUrls: [\"./cmgrid-edit.component.scss\"],\r\n})\r\nexport class GridEditComponent {\r\n private internalGridConfig: CMGridEditConfig = null;\r\n @Input()\r\n get gridConfig() {\r\n return this.internalGridConfig;\r\n }\r\n set gridConfig(value: CMGridEditConfig) {\r\n if (this.internalGridConfig) this.internalGridConfig.grid = null;\r\n this.internalGridConfig = value;\r\n if (this.internalGridConfig) this.internalGridConfig.grid = this;\r\n }\r\n\r\n _dataRows = {};\r\n _rows = [];\r\n @Input()\r\n get rows() {\r\n return this._rows;\r\n }\r\n set rows(_rows) {\r\n this._rows = _rows;\r\n this._dataRows = {};\r\n this.clearordemAtual();\r\n this.selectFirst(false);\r\n }\r\n\r\n @Output() public onNewItem: EventEmitter = new EventEmitter();\r\n\r\n getCaptionColumn(column: CMInputConfig) {\r\n let s = column.getCaption();\r\n if (column.required && !column.disabled) {\r\n s += \" *\";\r\n }\r\n return s;\r\n }\r\n\r\n @Input() @CMInput() public newItemInFirst: boolean = false;\r\n @Input() @CMInput() public showActionAdd: boolean = true;\r\n @Input() @CMInput() public showActionRemove: boolean = true;\r\n @Input() @CMInput() public showDivCaption: boolean = true;\r\n @Input() @CMInput() public allowRemoveMany: boolean = false;\r\n @Input() @CMInput() public stickyThead: boolean = false;\r\n @Input() @CMInput() public stickyTfoot: boolean = false;\r\n @Input() @CMInput() public stickyNavBar: boolean = false;\r\n @Input() @CMInput() public scrollType: String = \"auto\";\r\n @Input() @CMInput() public atualizaWidth: boolean = false;\r\n @Input() @CMInput() public overflowY: string = \"auto\";\r\n @Input()\r\n showQtdeRows: boolean = false;\r\n atualizouWidth: boolean = true;\r\n\r\n atualizarWidth(){\r\n if (this.atualizouWidth && this.atualizaWidth){\r\n if (document.getElementById('div1') !== null){\r\n document.getElementById('div1').style.width = CMInputConfig.integerToValue(document.getElementById('div2').offsetWidth);\r\n this.atualizouWidth = false;\r\n }\r\n }\r\n }\r\n\r\n _columns = [];\r\n private loadColumns(path, fieldsObject) {\r\n let fields = Object.keys(fieldsObject);\r\n fields.forEach((field) => {\r\n if (CMFormComponent.isBaseObject(fieldsObject[field])) {\r\n let p = path;\r\n if (p !== \"\") p += \".\";\r\n this.loadColumns(p + field, fieldsObject[field]);\r\n } else {\r\n let config = fieldsObject[field];\r\n if (config.gridConfig) {\r\n let gc = config.gridConfig;\r\n gc.owner = this.gridConfig;\r\n if (gc.ordem === 0) {\r\n gc.ordem = 1000 + this._columns.length;\r\n }\r\n if (gc.path === undefined) gc.path = path;\r\n else gc.path += \".\" + path;\r\n if (gc.path !== \"\") gc.path += \".\";\r\n gc.name = field;\r\n gc.config = config;\r\n if (config.values && config.values.length > 0)\r\n gc.innerTipo = \"select\";\r\n else if (config.dataType === \"boolean\") gc.innerTipo = \"checkbox\";\r\n else gc.innerTipo = \"input\";\r\n this._columns.push(gc);\r\n }\r\n }\r\n });\r\n }\r\n\r\n columns() {\r\n if (this._columns.length == 0) {\r\n if (this.gridConfig) {\r\n if (this.gridConfig.fields)\r\n this.loadColumns(\"\", this.gridConfig.fields);\r\n if (this.gridConfig.extraColumns)\r\n this.loadColumns(\"\", this.gridConfig.extraColumns);\r\n }\r\n this._columns.sort((a, b) => {\r\n return a.ordem - b.ordem;\r\n });\r\n }\r\n //document.getElementById('div1').style.width = CMInputConfig.integerToValue(document.getElementById('div2').offsetWidth);\r\n return this._columns;\r\n }\r\n\r\n getNameInput(row, _column) {\r\n let r = \"\";\r\n if (this.gridConfig) r += this.gridConfig.gridName;\r\n r += _column.name;\r\n if (row[\"id\"]) r += row[\"id\"];\r\n return r;\r\n }\r\n\r\n getProp(row, column) {\r\n let pathField: string = column.path + column.nane;\r\n if (row && pathField !== \"\" && pathField !== undefined) {\r\n let paths = pathField.split(\".\");\r\n let obj = row;\r\n let prop = paths[paths.length - 1];\r\n for (let i = 0; i < paths.length - 1; i++) {\r\n if (obj[paths[i]] !== undefined) obj = obj[paths[i]];\r\n else {\r\n obj = undefined;\r\n break;\r\n }\r\n }\r\n return obj[prop];\r\n }\r\n }\r\n\r\n getValueInPath(row, _column) {\r\n if (_column.onGetValue !== undefined)\r\n return _column.onGetValue(row, _column);\r\n else\r\n return CMFormComponent.getValueObject(row, _column.path + _column.name);\r\n }\r\n\r\n setValueInPath(row, column, value) {\r\n if (column.onSetValue !== undefined) return column.onSetValue(row, value);\r\n else CMFormComponent.setValueObject(row, column.path + column.name, value);\r\n }\r\n\r\n getValueColumn(row, _column) {\r\n let r = \"\";\r\n if (_column.getValue !== undefined) r = _column.getValue(row);\r\n else if (_column.config.values && _column.config.values.length > 0) {\r\n let v = CMFormComponent.getValueObject(row, _column.path + _column.name);\r\n if (v !== \"\") {\r\n let nameValue = \"$$\" + _column.name + \"ValueColumnCache\";\r\n let nameText = \"$$\" + _column.name + \"TextColumnCache\";\r\n if (row[nameValue] === v) r = row[nameText];\r\n if (r === \"\") {\r\n for (const item of _column.config.values) {\r\n if (item.value === v) {\r\n row[nameValue] = item.value;\r\n row[nameText] = item.text ? item.text : item.value;\r\n r = row[nameText];\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else r = CMFormComponent.getValueObject(row, _column.path + _column.name);\r\n return r;\r\n }\r\n\r\n getBottomLabelColumn(row, _column) {\r\n let r = \"\";\r\n if (_column.getBottomLabelColumn !== undefined)\r\n r = _column.getBottomLabelColumn(row);\r\n return r;\r\n }\r\n\r\n getFooterLabelColumn(_column) {\r\n let r = \"\";\r\n if (this.rows) {\r\n if (_column == this._columns[0]) r = this.rows.length + \" total\";\r\n if (_column.getFooterLabelColumn !== undefined)\r\n r = _column.getFooterLabelColumn();\r\n }\r\n return r;\r\n }\r\n\r\n styleFooter(_column) {\r\n let r = \"\";\r\n if (_column.config.isDoubleField())\r\n r = \"text-align: right; padding-right: 5px;\";\r\n return r;\r\n }\r\n\r\n public addNew() {\r\n this.unSelect();\r\n let item = {};\r\n let newId: number = CMGridEditConfig.newId();\r\n CMFormComponent.generateEmptyModel(this.gridConfig.fields, item);\r\n item[\"id\"] = newId;\r\n setTimeout(() => {\r\n if (this.newItemInFirst) {\r\n this.rows.unshift(item);\r\n } else {\r\n this.rows.push(item);\r\n }\r\n this.onNewItem.emit(item);\r\n setTimeout(() => {\r\n this.select(item);\r\n this.executeMoreActionAdd();\r\n }, 10);\r\n }, 10);\r\n return item;\r\n }\r\n\r\n public ngOnInit() {\r\n if (this.gridConfig) {\r\n if (this.gridConfig.onNewItem !== undefined)\r\n this.onNewItem.subscribe(this.gridConfig.onNewItem);\r\n }\r\n }\r\n\r\n unSelect() {\r\n this.current = undefined;\r\n }\r\n\r\n selectFirst(setFocus: boolean = true) {\r\n if (this.rows) {\r\n if (this.rows.length > 0) this.select(this.rows[0], setFocus);\r\n else this.unSelect();\r\n }\r\n }\r\n\r\n selectId(id, setFocus: boolean = true) {\r\n if (this.rows.length > 0) {\r\n this.rows.forEach((row) => {\r\n if (row.id == id) this.select(row, setFocus);\r\n });\r\n } else this.unSelect();\r\n }\r\n\r\n get count() {\r\n return this.rows.length;\r\n }\r\n\r\n current: any = undefined;\r\n\r\n get isCurrent() {\r\n return this.current !== undefined;\r\n }\r\n\r\n getNameWapperTable() {\r\n return \"warpper-\" + this.gridConfig.gridName;\r\n }\r\n\r\n select(row, setFocus: boolean = true) {\r\n if (this.current !== row) {\r\n this.current = row;\r\n if (this.gridConfig) {\r\n if (this.gridConfig.onSelect !== undefined)\r\n this.gridConfig.onSelect(row);\r\n }\r\n if (setFocus && this.gridConfig && row) {\r\n let comp = \"\";\r\n if (this.gridConfig.focusComponentOnSelect !== \"\")\r\n comp = this.gridConfig.focusComponentOnSelect;\r\n if (comp === \"\" && this._columns.length > 0) {\r\n comp = this._columns[0].name;\r\n }\r\n if (comp !== \"\") {\r\n if (row[\"id\"] !== \"\") comp += row[\"id\"];\r\n setTimeout(() => {\r\n $(\"#\" + comp).trigger(\"focus\");\r\n $(\"#\" + comp).trigger(\"select\");\r\n setTimeout(() => {\r\n const wt = $(\"#\" + this.getNameWapperTable());\r\n wt.scrollTop(wt.scrollTop() + 100);\r\n }, 10);\r\n }, 100);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onEnterInput(row) {\r\n this.select(row, false);\r\n }\r\n\r\n isSelected(row) {\r\n return this.current === row;\r\n }\r\n\r\n checkVisibleRow() {\r\n this.rows.forEach((row) => {\r\n let __hiddenRowObserver = this._dataRows[row.id + \"__hiddenRowObserver\"];\r\n if (__hiddenRowObserver !== undefined) {\r\n __hiddenRowObserver.next(!this.gridConfig.visibleRow(row));\r\n }\r\n });\r\n }\r\n\r\n hiddenRow(row) {\r\n let __hiddenRow = undefined;\r\n if (__hiddenRow == undefined) {\r\n __hiddenRow = new Observable((observer: Observer) => {\r\n if (this.gridConfig) {\r\n if (this.gridConfig.visibleRow !== undefined) {\r\n let __hiddenRowObserver = observer;\r\n this._dataRows[row.id + \"__hiddenRowObserver\"] =\r\n __hiddenRowObserver;\r\n observer.next(!this.gridConfig.visibleRow(row));\r\n } else observer.next(false);\r\n }\r\n });\r\n this._dataRows[row.id + \"__hiddenRow\"] = __hiddenRow;\r\n }\r\n return __hiddenRow;\r\n }\r\n\r\n private innerRemoveItem() {\r\n if (this.gridConfig) {\r\n if (this.gridConfig.onRemoveItem !== undefined)\r\n this.gridConfig.onRemoveItem(this.current);\r\n }\r\n this.rows.splice(this.rows.indexOf(this.current), 1);\r\n this.unSelect();\r\n }\r\n\r\n private innerRemoveItemAllow(s: string) {\r\n let allow: boolean = s === \"\";\r\n if (!allow)\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '

    ' + s + \"

    \"\r\n );\r\n if (allow) {\r\n this.innerRemoveItem();\r\n }\r\n }\r\n\r\n removeItem() {\r\n if (this.isCurrent) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Confirmação\",\r\n '

    Deseja apagar o registro selecionado?

    ',\r\n () => {\r\n this.removeItemDirect();\r\n }\r\n );\r\n }\r\n }\r\n\r\n removeItemDirect() {\r\n if (this.isCurrent) {\r\n if (this.gridConfig) {\r\n if (this.gridConfig.onAllowRemoveItemCallback !== undefined) {\r\n this.gridConfig.onAllowRemoveItemCallback((s: string) => {\r\n this.innerRemoveItemAllow(s);\r\n }, this.current);\r\n } else if (this.gridConfig.onAllowRemoveItem !== undefined) {\r\n this.innerRemoveItemAllow(\r\n this.gridConfig.onAllowRemoveItem(this.current)\r\n );\r\n } else this.innerRemoveItem();\r\n } else {\r\n this.innerRemoveItem();\r\n }\r\n }\r\n }\r\n\r\n getShowActionAdd() {\r\n let r: boolean = true;\r\n if (this.gridConfig) {\r\n if (this.gridConfig.disabledAll !== undefined)\r\n r = !this.gridConfig.disabledAll;\r\n }\r\n if (r) r = this.showActionAdd;\r\n return r;\r\n }\r\n\r\n columnRemoveMany = {\r\n name: \"removeMany\",\r\n path: \"\",\r\n config: new CMInputConfig({}),\r\n };\r\n\r\n getShowActionRemove() {\r\n let r: boolean = true;\r\n if (this.gridConfig) {\r\n if (this.gridConfig.disabledAll !== undefined)\r\n r = !this.gridConfig.disabledAll;\r\n }\r\n if (r) r = this.showActionRemove && this.isCurrent;\r\n return r;\r\n }\r\n\r\n inActionRemoveMany: boolean = false;\r\n getShowActionRemoveMany() {\r\n let r: boolean = true;\r\n if (this.gridConfig) {\r\n if (this.gridConfig.disabledAll !== undefined)\r\n r = !this.gridConfig.disabledAll;\r\n }\r\n if (r) r = this.allowRemoveMany && this.count > 0;\r\n return r;\r\n }\r\n\r\n getShowSelectionActionRemoveMany() {\r\n let r: boolean = this.getShowActionRemoveMany();\r\n if (r) r = this.inActionRemoveMany;\r\n return r;\r\n }\r\n\r\n removeManyItem() {\r\n this.inActionRemoveMany = true;\r\n }\r\n\r\n cancelRemoveManyItem() {\r\n this.inActionRemoveMany = false;\r\n Object.keys(this._dataRows).forEach((item) => {\r\n if (item.endsWith(\"_data\")) {\r\n this._dataRows[item][\"removeMany\"] = \"Não\";\r\n }\r\n });\r\n }\r\n\r\n okRemoveManyItem() {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Confirmação\",\r\n '

    Deseja apagar todos os registros selecionados?

    ',\r\n () => {\r\n Object.keys(this._dataRows).forEach((item) => {\r\n if (item.endsWith(\"_data\")) {\r\n if (this._dataRows[item][\"removeMany\"] == \"Sim\") {\r\n this.selectId(this._dataRows[item][\"id\"]);\r\n this.removeItemDirect();\r\n }\r\n }\r\n });\r\n this.inActionRemoveMany = false;\r\n }\r\n );\r\n }\r\n\r\n getValueInPathDataRows(row, _column) {\r\n if (_column.onGetValue !== undefined)\r\n return _column.onGetValue(row, _column);\r\n else\r\n return CMFormComponent.getValueObject(\r\n this._dataRows[row.id + \"_data\"],\r\n _column.path + _column.name\r\n );\r\n }\r\n\r\n setValueInPathDataRows(row, column, value) {\r\n if (column.onSetValue !== undefined) return column.onSetValue(row, value);\r\n else if (this._dataRows[row.id + \"_data\"] == undefined)\r\n this._dataRows[row.id + \"_data\"] = { id: row.id };\r\n CMFormComponent.setValueObject(\r\n this._dataRows[row.id + \"_data\"],\r\n column.path + column.name,\r\n value\r\n );\r\n }\r\n\r\n executeMoreActionAdd() {\r\n for (const more of this.gridConfig.moreActions) {\r\n if (more.defaultInAdd) {\r\n this.moreClick(more);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n widthMoreActions() {\r\n return \"width: calc(45px * \" + this.gridConfig.moreActions.length + \");\";\r\n }\r\n\r\n currentMore: CMGridEditConfigMore = undefined;\r\n moreClick(more) {\r\n this.currentMore = more;\r\n if (more.onClick !== undefined) more.onClick(this.current);\r\n else this.openMoreRow();\r\n }\r\n\r\n tmpMoreRow: string;\r\n openMoreRow() {\r\n this.tmpMoreRow = JSON.stringify(this.current);\r\n CMFormModalComponent.open(\"more_\" + this.gridConfig.gridName);\r\n }\r\n\r\n closeMoreRow() {\r\n CMFormModalComponent.close(\"more_\" + this.gridConfig.gridName);\r\n }\r\n\r\n saveMoreRow() {\r\n this.closeMoreRow();\r\n }\r\n\r\n cancelMoreRow() {\r\n let old = JSON.parse(this.tmpMoreRow);\r\n this.rows[this.rows.indexOf(this.current)] = old;\r\n this.current = old;\r\n this.closeMoreRow();\r\n }\r\n\r\n currentExtra: CMGridEditConfigMore = undefined;\r\n extraClick(extra) {\r\n setTimeout(() => {\r\n if (this.currentExtra == undefined) {\r\n this.currentExtra = extra;\r\n this.openExtraRow();\r\n }\r\n }, 100);\r\n }\r\n\r\n tmpExtraRow: string;\r\n openExtraRow() {\r\n this.tmpExtraRow = JSON.stringify(this.current);\r\n CMFormModalComponent.open(\"extra_\" + this.gridConfig.gridName);\r\n }\r\n\r\n closeExtraRow() {\r\n CMFormModalComponent.close(\"extra_\" + this.gridConfig.gridName);\r\n this.currentExtra = undefined;\r\n }\r\n\r\n saveExtraRow() {\r\n this.closeExtraRow();\r\n }\r\n\r\n cancelExtraRow() {\r\n let old = JSON.parse(this.tmpExtraRow);\r\n this.rows[this.rows.indexOf(this.current)] = old;\r\n this.current = old;\r\n this.closeExtraRow();\r\n }\r\n\r\n getBackgroundColumn(column: CMGridEditConfigColumn, row) {\r\n let r = \"unset\";\r\n if (column.background) {\r\n if (column.background instanceof Function) r = column.background(row);\r\n else if (column.background !== \"\") r = column.background;\r\n if (r === \"\") r = \"unset\";\r\n }\r\n if (r === \"unset\") {\r\n if (this.stickyThead) {\r\n if (row === \"head\") r = \"rgb(251 251 251)\";\r\n }\r\n if (this.stickyTfoot) {\r\n if (row === \"foot\") r = \"rgb(251 251 251)\";\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n onClickRowColumn(column: CMGridEditConfigColumn, row) {\r\n if (column.onClick !== undefined) {\r\n column.onClick(row);\r\n }\r\n }\r\n\r\n getValue(obj, column) {\r\n let v = obj[column.name];\r\n if (column.config) {\r\n if (column.config.dataType.toLowerCase().startsWith(\"double\"))\r\n v = CMInputConfig.valueToFloat(v);\r\n else if (column.config.dataType.toLowerCase() === \"integer\")\r\n v = CMInputConfig.valueToInteger(v);\r\n }\r\n return v;\r\n }\r\n\r\n\r\n wrapper1scroll() {\r\n $(\".wrapper1\").on('scroll', function() {\r\n $(\".wrapper2\")\r\n .scrollLeft($(\".wrapper1\").scrollLeft());\r\n });\r\n }\r\n\r\n wrapper2scroll() {\r\n $(\".wrapper2\").on('scroll', function() {\r\n $(\".wrapper1\")\r\n .scrollLeft($(\".wrapper2\").scrollLeft());\r\n });\r\n }\r\n\r\n\r\n clickHead(column) {\r\n let __ordemAtual = column.__ordemAtual;\r\n let sort: boolean = true;\r\n if (this.rows.length > 0) {\r\n if (this.rows[0][column.name] instanceof Object) sort = false;\r\n }\r\n if (sort) {\r\n const _this = this;\r\n if (__ordemAtual !== \"desc\") {\r\n __ordemAtual = \"desc\";\r\n this.rows.sort(function (a, b) {\r\n let va = _this.getValue(a, column);\r\n let vb = _this.getValue(b, column);\r\n if (va > vb) {\r\n return 1;\r\n }\r\n if (va < vb) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n } else if (__ordemAtual !== \"asc\") {\r\n __ordemAtual = \"asc\";\r\n this.rows.sort(function (a, b) {\r\n let va = _this.getValue(a, column);\r\n let vb = _this.getValue(b, column);\r\n if (va > vb) {\r\n return -1;\r\n }\r\n if (va < vb) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n }\r\n this.clearordemAtual();\r\n column.__ordemAtual = __ordemAtual;\r\n }\r\n\r\n clearordemAtual() {\r\n this._columns.forEach((columns) => {\r\n columns.__ordemAtual = undefined;\r\n });\r\n }\r\n\r\n widthThead(table, tbody) {\r\n let r = \"100%\";\r\n if (table && tbody) {\r\n const px = tbody.offsetWidth - tbody.clientWidth + 30;\r\n r = \"calc(100% - \" + px + \"px)\";\r\n }\r\n return r;\r\n }\r\n\r\n _qtdeRows: number = 0;\r\n @Input()\r\n get qtdeRows() {\r\n return this._qtdeRows;\r\n }\r\n set qtdeRows(value) {\r\n this._qtdeRows = value;\r\n this.heightWarpperTable = this.getHeightWarpperTable();\r\n }\r\n heightWarpperTable = \"unset\";\r\n qtdeRowsOptions = [\r\n { text: \"05\" },\r\n { text: \"10\" },\r\n { text: \"20\" },\r\n { text: \"30\" },\r\n { text: \"40\" },\r\n { text: \"50\" },\r\n { value: \"0\", text: \"--\" },\r\n ];\r\n getHeightWarpperTable() {\r\n let r = \"unset\";\r\n if (this.qtdeRows > 0) {\r\n let x = this.qtdeRows * 45;\r\n x += 32; // thead\r\n x += 32; // tfoot\r\n r = x + \"px\";\r\n }\r\n return r;\r\n }\r\n\r\n}\r\n","// tslint:disable\nimport {Component, OnInit, Input, EventEmitter, Output, ViewChild} from '@angular/core';\n\nimport {CMGridColumnComponent} from './cmgrid-column.component';\nimport {CMInput} from '../../decorator';\nimport {CMFormGlobaisComponent, CMInputConfig, CMGridEditConfig} from '../../component';\nimport {CMFormComponent} from '../../component/cmform/cmform.component';\n//import { DatatableComponent } from 'angular2-data-table';\n\ndeclare var $: any;\n\nexport class CMGridConfig {\n public fields = {};\n private innerRequired: boolean = true;\n get required() {\n let r = this.innerRequired;\n if (this.requiredFunc !== undefined) r = this.requiredFunc();\n return r;\n }\n set required(value: boolean) {\n this.innerRequired = value;\n }\n public requiredFunc: Function = undefined;\n public gridName: string = '';\n public onNewItem: Function = undefined;\n public onRemoveItem: Function = undefined;\n public onAllowRemoveItem: Function = undefined;\n public customValidItem: Function = undefined;\n public caption: string = '';\n public form: CMFormComponent = null;\n public focusComponentOnSelect: string = '';\n public objName: string = '';\n\n constructor(data?: any) {\n if (data) {\n if (data.fields !== undefined) this.fields = data.fields;\n if (data.required !== undefined) this.required = data.required;\n if (data.requiredFunc !== undefined) this.requiredFunc = data.requiredFunc;\n if (data.grid !== undefined) this.gridName = data.grid;\n if (data.form !== undefined) this.form = data.form;\n if (data.onNewItem !== undefined) this.onNewItem = data.onNewItem;\n if (data.onRemoveItem !== undefined) this.onRemoveItem = data.onRemoveItem;\n if (data.onAllowRemoveItem !== undefined) this.onAllowRemoveItem = data.onAllowRemoveItem;\n if (data.caption !== undefined) this.caption = data.caption;\n if (data.focusComponentOnSelect !== undefined)\n this.focusComponentOnSelect = data.focusComponentOnSelect;\n if (data.customValidItem !== undefined) this.customValidItem = data.customValidItem;\n if (data.objName !== undefined) this.objName = data.objName;\n }\n }\n\n static getDataFields(fields) {\n let propFields = Object.getOwnPropertyNames(fields);\n let ret = {};\n for (var i = 0; i < propFields.length; ++i) {\n let field = propFields[i];\n if (fields[field] instanceof CMInputConfig) ret[field] = fields[field].clone();\n else if (fields[field] instanceof CMGridConfig) ret[field] = fields[field].clone();\n else if (fields[field] instanceof CMGridEditConfig) ret[field] = fields[field].clone();\n //else if (this.fields[field] instanceof CMListCheckBoxConfig)\n // newFields[field] = this.fields[field].clone();\n else if (CMFormComponent.isBaseObject(fields[field])) {\n ret[field] = CMGridConfig.getDataFields(fields[field]);\n }\n }\n return ret;\n }\n\n getData() {\n let data: any = {};\n if (this.fields !== undefined) data.fields = CMGridConfig.getDataFields(this.fields);\n if (this.required !== undefined) data.required = this.required;\n if (this.requiredFunc !== undefined) data.requiredFunc = this.requiredFunc;\n if (this.gridName !== undefined) data.gridName = this.gridName;\n if (this.form !== undefined) data.form = this.form;\n if (this.onNewItem !== undefined) data.onNewItem = this.onNewItem;\n if (this.onRemoveItem !== undefined) data.onRemoveItem = this.onRemoveItem;\n if (this.onAllowRemoveItem !== undefined) data.onAllowRemoveItem = this.onAllowRemoveItem;\n if (this.caption !== undefined) data.caption = this.caption;\n if (this.focusComponentOnSelect !== undefined)\n data.focusComponentOnSelect = this.focusComponentOnSelect;\n if (this.customValidItem !== undefined) data.customValidItem = this.customValidItem;\n if (this.objName !== undefined) data.objName = this.objName;\n return data;\n }\n\n public grid: CMGridComponent;\n\n static newId() {\n return CMGridComponent.newId();\n }\n\n private emptyModel: any = undefined;\n public get current() {\n let r = {};\n let g = this.grid;\n if (g) r = g.current;\n else {\n if (!this.emptyModel) {\n this.emptyModel = {};\n CMFormComponent.generateEmptyModel(this.fields, r);\n }\n r = this.emptyModel;\n }\n return r;\n }\n\n get count() {\n let g = this.grid;\n if (g) return g.count;\n else return 0;\n }\n\n unSelect() {\n let g = this.grid;\n if (g) g.unSelect();\n }\n\n public unSelectFields() {\n let g = this.grid;\n if (g) g.unSelectFields();\n }\n\n validItem(item: any) {\n let r: string = '';\n if (this.customValidItem !== undefined) r = this.customValidItem(item);\n if (r !== '') CMFormGlobaisComponent.toastErro(r, this.caption);\n return r === '';\n }\n\n get isCurrent() {\n let g = this.grid;\n if (g) return g.isCurrent;\n else return false;\n }\n\n public fieldByName(aFieldName: string) {\n return CMFormComponent.getValueObject(this.current, aFieldName);\n }\n\n clone() {\n return new CMGridConfig(this.getData());\n }\n\n public selectFirst(setFocus: boolean = true) {\n let g = this.grid;\n if (g) g.selectFirst(setFocus);\n }\n}\n\n@Component({\n selector: 'cmgrid-nao-usar',\n templateUrl: './cmgrid.component.html',\n})\nexport class CMGridComponent implements OnInit {\n @ViewChild('datatable', {static: true}) datatable: any; //DatatableComponent;\n\n @Input() caption: string = '';\n private internalGridConfig: CMGridConfig = null;\n @Input()\n get gridConfig() {\n return this.internalGridConfig;\n }\n set gridConfig(value: CMGridConfig) {\n if (this.internalGridConfig) this.internalGridConfig.grid = null;\n this.internalGridConfig = value;\n if (this.internalGridConfig) this.internalGridConfig.grid = this;\n }\n private messagesDataTable = {emptyMessage: 'Sem dados para exibir', totalMessage: 'total'};\n private processUpdateRows() {\n this.unSelect();\n const start = this.page * this.limit;\n let rows = [];\n let max = this.innerRows.length - start;\n if (max > this.limit) max = this.limit;\n for (let i = 0; i < max; i++) {\n rows[i] = this.innerRows[i + start];\n rows[i].$$index = i;\n }\n this.setPageData(rows, this.innerRows.length);\n }\n private innerRows = [];\n private usingRows: boolean = false;\n get rows() {\n return this.innerRows;\n }\n @Input()\n set rows(value: any) {\n this.usingRows = true;\n if (!value) value = [];\n this.innerRows = value;\n this.limit = 5;\n this.page = 0;\n this.activeRows = [];\n this.processUpdateRows();\n }\n\n private activeRows = [];\n public selected = [];\n public getActiveRows() {\n return this.activeRows;\n }\n @Input() @CMInput() public count: number = 0;\n @Input() @CMInput() public page: number = 0;\n @Input() @CMInput() public limit: number = 10;\n @Input() public rowHeight: string = '40px';\n @Input() public selectionType: string = 'single';\n @Output() public onPage: EventEmitter = new EventEmitter();\n @Output() public onAdd: EventEmitter = new EventEmitter();\n @Output() public onNewItem: EventEmitter = new EventEmitter();\n @Output() public onDblClick: EventEmitter = new EventEmitter();\n @Input() @CMInput() public defaultAddItem: boolean = true;\n @Input() @CMInput() public defaultRemoveItem: boolean = true;\n @Output() public onEdit: EventEmitter = new EventEmitter();\n @Output() public onRemove: EventEmitter = new EventEmitter();\n @Output() public onRefresh: EventEmitter = new EventEmitter();\n @Output() public onUnSelect: EventEmitter = new EventEmitter();\n @Output() public onSelect: EventEmitter = new EventEmitter();\n @Input() public focusComponentOnSelect: string = '';\n @Input() @CMInput() public showActionAdd: boolean = true;\n @Input() @CMInput() public showActionEdit: boolean = false;\n @Input() @CMInput() public showActionRemove: boolean = true;\n @Input() @CMInput() public showActionRefresh: boolean = true;\n getShowActionAdd() {\n let r: boolean = true;\n if (this.gridConfig && this.gridConfig.form) {\n if (this.gridConfig.form.disabledAll !== undefined) r = !this.gridConfig.form.disabledAll;\n }\n if (r) r = this.showActionAdd;\n return r;\n }\n getShowActionEdit() {\n let r: boolean = true;\n if (this.gridConfig && this.gridConfig.form) {\n if (this.gridConfig.form.disabledAll !== undefined) r = !this.gridConfig.form.disabledAll;\n }\n if (r) r = this.showActionEdit && this.selected.length > 0;\n return r;\n }\n getShowActionRemove() {\n let r: boolean = true;\n if (this.gridConfig && this.gridConfig.form) {\n if (this.gridConfig.form.disabledAll !== undefined) r = !this.gridConfig.form.disabledAll;\n }\n if (r) r = this.showActionRemove && this.selected.length > 0;\n return r;\n }\n showActions() {\n return (\n this.getShowActionAdd() ||\n this.getShowActionEdit() ||\n this.getShowActionRemove() ||\n this.showActionRefresh ||\n this.getTitle() !== ''\n );\n }\n\n private loading: boolean = false;\n public columns: CMGridColumnComponent[] = [];\n public visibleColumns: CMGridColumnComponent[] = [];\n\n public setPageData(rowsData: any, totalCount: number) {\n this.unSelect();\n const start = this.page * this.limit;\n let rows = [...this.activeRows];\n for (let i = 0; i < rowsData.length; i++) {\n rows[i + start] = rowsData[i];\n rows[i + start].$$index = i;\n }\n this.activeRows = rows;\n this.count = totalCount;\n this.loading = false;\n if (this.usingRows) {\n setTimeout(() => {\n this.selectFirst(false);\n }, 100);\n }\n }\n\n selectIndex(index: number, setFocus: boolean = true) {\n let p = index / this.limit;\n p = Math.floor(p);\n this.page = p;\n this.internalSelect(this.activeRows[index], setFocus);\n }\n\n public get firstSelected() {\n if (this.selected.length > 0) return this.selected[0];\n else return {};\n }\n\n public get isCurrent() {\n if (this.count > 0 && this.selected && this.selected.length > 0) return true;\n else return false;\n }\n\n private emptyModel: any = undefined;\n public get current() {\n let r = {};\n if (this.isCurrent && this.selected[0] !== undefined) r = this.selected[0];\n else if (this.gridConfig) {\n if (!this.emptyModel) {\n this.emptyModel = {};\n CMFormComponent.generateEmptyModel(this.gridConfig.fields, r);\n }\n r = this.emptyModel;\n }\n return r;\n }\n\n public fieldByName(aFieldName: string) {\n return CMFormComponent.getValueObject(this.current, aFieldName);\n }\n\n public addColumn(column: CMGridColumnComponent) {\n this.columns.push(column);\n if (column.visible) this.visibleColumns.push(column);\n }\n\n public changeVisibleColumns() {\n this.visibleColumns = [];\n this.columns.forEach((column) => {\n if (column.visible) this.visibleColumns.push(column);\n });\n this.recalculateColumns();\n }\n\n private doOnPage(page: number, limit: number) {\n this.loading = true;\n this.page = page;\n this.limit = limit;\n const start = this.page * this.limit;\n let rows = [...this.activeRows];\n for (let i = 0; i < limit; i++) {\n rows[i + start] = undefined;\n }\n this.activeRows = rows;\n this.onPage.emit(this);\n if (this.usingRows) this.processUpdateRows();\n }\n\n private _onPage(event) {\n this.doOnPage(event.offset, event.limit);\n }\n\n public Add(onAdd?: Function) {\n this._onAdd(null, onAdd);\n }\n\n static newId() {\n let id: number = CMInputConfig.getRandomInt(1, 9999) * -1;\n return id;\n }\n\n public _onAdd(event, onAdd?: Function) {\n this.unSelect();\n setTimeout(() => {\n this.onAdd.emit(this);\n if (this.defaultAddItem) {\n let newId: number = CMGridComponent.newId();\n let item = {};\n CMFormComponent.generateEmptyModel(this.gridConfig.fields, item);\n item['$$index'] = '';\n item['id'] = newId;\n let r = this.rows;\n r.splice(0, 0, item);\n this.onNewItem.emit(item);\n this.rows = r;\n this.selectFirst();\n if (onAdd !== undefined) onAdd();\n }\n }, 50);\n }\n\n public _onEdit(event) {\n this.onEdit.emit(this);\n }\n\n public _onRemove(event) {\n if (this.isCurrent) {\n CMFormGlobaisComponent.showConfirmation(\n 'Confirmação',\n '

    Deseja apagar o registro selecionado?

    ',\n () => {\n let allow: boolean = true;\n if (this.gridConfig) {\n if (this.gridConfig.onAllowRemoveItem !== undefined) {\n let s: string = this.gridConfig.onAllowRemoveItem(this.current);\n allow = s === '';\n if (!allow)\n CMFormGlobaisComponent.showMessageAviso(\n '

    ' + s + '

    ',\n );\n }\n }\n if (allow) {\n if (this.gridConfig) {\n if (this.gridConfig.onRemoveItem !== undefined)\n this.gridConfig.onRemoveItem(this.current);\n }\n this.onRemove.emit(this);\n if (this.defaultRemoveItem) {\n let r: any = this.rows;\n r.splice(this.selected[0].$$index, 1);\n this.rows = r;\n }\n }\n },\n );\n }\n }\n\n public _onRefresh(event) {\n this.refreshCurrentPage();\n this.onRefresh.emit(this);\n }\n\n public unSelectFields() {\n if (this.gridConfig && this.gridConfig.fields) {\n let fields = this.gridConfig.fields;\n let props = Object.getOwnPropertyNames(fields);\n for (var i = 0; i < props.length; ++i) {\n let prop = props[i];\n if (fields[prop] instanceof CMGridConfig) {\n let gridConfig: CMGridConfig = fields[prop];\n gridConfig.unSelect();\n }\n }\n }\n }\n\n public unSelect() {\n this.unSelectFields();\n this.selected.splice(0, 0);\n this.selected = [];\n this.onUnSelect.emit(this);\n }\n\n private internalSelect(selected, setFocus: boolean) {\n this.unSelect();\n this.selected.splice(0, this.selected.length);\n this.selected.push(selected);\n if (setFocus) {\n if (this.focusComponentOnSelect !== '') {\n setTimeout(() => {\n $('#' + this.focusComponentOnSelect).focus();\n }, 10);\n }\n }\n this.onSelect.emit(this.current);\n }\n\n private _onSelect({selected}: any) {\n this.unSelect();\n setTimeout(() => {\n this.selected.splice(0, this.selected.length);\n this.selected.push(...selected);\n if (this.focusComponentOnSelect !== '') {\n setTimeout(() => {\n $('#' + this.focusComponentOnSelect).focus();\n }, 10);\n }\n this.onSelect.emit(this.current);\n }, 10);\n }\n\n public ngOnInit() {\n if (this.gridConfig) {\n this.focusComponentOnSelect = this.gridConfig.focusComponentOnSelect;\n if (this.gridConfig.onNewItem !== undefined)\n this.onNewItem.subscribe(this.gridConfig.onNewItem);\n }\n this.doOnPage(this.page, this.limit);\n }\n\n public refreshCurrentPage() {\n this.unSelect();\n this.doOnPage(this.page, this.limit);\n }\n\n public selectFirst(setFocus: boolean = true) {\n let i = this.page * this.limit;\n if (this.activeRows.length - 1 >= i) {\n if (this.activeRows[i] !== undefined && JSON.stringify(this.activeRows[i]) !== '{}')\n this.internalSelect(this.activeRows[i], setFocus);\n else this.unSelect();\n } else this.unSelect();\n }\n\n getTitle() {\n if (this.gridConfig) return this.gridConfig.caption;\n else return this.caption;\n }\n\n public recalculateColumns() {\n if (this.datatable) this.datatable.recalculate();\n }\n\n public clearColumns(ignoreColumnsName: string[] = []) {\n let new_columns = [];\n let new_visibleColumns = [];\n if (ignoreColumnsName.length > 0) {\n this.columns.forEach((column) => {\n if (ignoreColumnsName.indexOf(column.name) > -1) new_columns.push(column);\n });\n this.visibleColumns.forEach((column) => {\n if (ignoreColumnsName.indexOf(column.name) > -1) new_visibleColumns.push(column);\n });\n }\n this.columns = new_columns;\n this.visibleColumns = new_visibleColumns;\n if (this.datatable) this.datatable.columns = [];\n }\n\n _dblClick(event) {\n this.onDblClick.emit(this);\n }\n}\n","export * from './cmgrid.component';\r\nexport * from './cmgrid-edit.component';\r\nexport * from './cmgrid-column.component';","export default \".cmicone {\\n line-height: inherit;\\n vertical-align: top;\\n}\\n\\n.cmicone-color {\\n color: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21pY29uZS9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtaWNvbmVcXGNtaWNvbmUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaWNvbmUvY21pY29uZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLG9CQUFBO0VBQ0EsbUJBQUE7QUNDSjs7QURFQTtFQUNJLGNBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaWNvbmUvY21pY29uZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWljb25lIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmNtaWNvbmUtY29sb3Ige1xyXG4gICAgY29sb3I6IGluaGVyaXQ7ICAgIFxyXG59IiwiLmNtaWNvbmUge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNtaWNvbmUtY29sb3Ige1xuICBjb2xvcjogaW5oZXJpdDtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\nimport { CMInput } from \"../../decorator\";\r\n\r\n@Component({\r\n selector: \"cmicone\",\r\n templateUrl: \"./cmicone.component.html\",\r\n styleUrls: [\"./cmicone.component.scss\"],\r\n})\r\nexport class CMIconeComponent {\r\n @Input()\r\n @CMInput()\r\n fontSize: number = 0;\r\n\r\n @Input()\r\n color: string = \"\";\r\n\r\n @Input()\r\n lineHeight: string = \"\";\r\n\r\n _hint: string = \"\";\r\n @Input()\r\n get hint() {\r\n return this._hint;\r\n }\r\n set hint(value) {\r\n this._hint = value;\r\n }\r\n\r\n getStyle() {\r\n let r: string = \"\";\r\n if (this.fontSize > 0) r += \"font-size: \" + this.fontSize + \"em;\";\r\n if (this.color !== \"\") r += \"color: \" + this.color + \";\";\r\n if (this.lineHeight !== \"\") r += \"line-height: \" + this.lineHeight + \";\";\r\n return r;\r\n }\r\n\r\n getClass() {\r\n let r: string = \"material-icons cmicone\";\r\n return r;\r\n }\r\n}\r\n","export * from './cmicone.component';","export default \".cmimage {\\n height: inherit;\\n width: inherit;\\n margin: inherit;\\n padding: inherit;\\n max-height: inherit;\\n max-width: inherit;\\n float: inherit;\\n display: inherit;\\n position: relative;\\n}\\n\\n.cmimage-change {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n padding: 5px;\\n min-height: 160px;\\n}\\n\\n.cmimage-change-buttons {\\n width: 60px;\\n}\\n\\n.cmimage-change-buttons-panel {\\n display: grid;\\n position: absolute;\\n bottom: 0px;\\n}\\n\\n.imageLoaded {\\n -webkit-filter: brightness(50%);\\n filter: brightness(50%);\\n position: absolute;\\n top: calc(50% - 15px);\\n left: calc(50% - 15px);\\n margin: 0;\\n height: 30px;\\n width: 30px;\\n}\\n\\n.loader {\\n border: 5px solid #f3f3f3;\\n border-radius: 50%;\\n border-top: 5px solid #b1b1b1;\\n border-right: 5px solid #929292;\\n border-bottom: 5px solid #717171;\\n width: 30px;\\n height: 30px;\\n -webkit-animation: spin 2s linear infinite;\\n animation: spin 2s linear infinite;\\n max-width: 90%;\\n max-height: 90%;\\n}\\n\\n@-webkit-keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21pbWFnZS9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtaW1hZ2VcXGNtaW1hZ2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaW1hZ2UvY21pbWFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FERUE7RUFDRSxhQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUNDRjs7QURFQTtFQUNFLFdBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQTtFQUNFLCtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQTtFQUNFLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkFBQTtFQUNBLCtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDBDQUFBO0VBQ0Esa0NBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBQ0NGOztBREVBO0VBQ0U7SUFBSywrQkFBQTtFQ0VMO0VEREE7SUFBTyxpQ0FBQTtFQ0lQO0FBQ0Y7O0FERkE7RUFDSTtJQUFLLHVCQUFBO0VDS1A7RURKRTtJQUFPLHlCQUFBO0VDT1Q7QUFDRiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaW1hZ2UvY21pbWFnZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWltYWdlIHtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgbWFyZ2luOiBpbmhlcml0O1xyXG4gICAgcGFkZGluZzogaW5oZXJpdDtcclxuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XHJcbiAgICBmbG9hdDogaW5oZXJpdDtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jbWltYWdlLWNoYW5nZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xyXG59XHJcblxyXG4uY21pbWFnZS1jaGFuZ2UtYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbn1cclxuXHJcbi5jbWltYWdlLWNoYW5nZS1idXR0b25zLXBhbmVsIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDBweDtcclxufVxyXG5cclxuLmltYWdlTG9hZGVkIHtcclxuICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xyXG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcbiAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcclxuICBtYXJnaW46IDA7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIHdpZHRoOiAzMHB4O1xyXG59XHJcblxyXG4ubG9hZGVyIHtcclxuICBib3JkZXI6IDVweCBzb2xpZCAjZjNmM2YzO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3JkZXItdG9wOiA1cHggc29saWQgI2IxYjFiMTtcclxuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjOTI5MjkyO1xyXG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjNzE3MTcxO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICBtYXgtd2lkdGg6IDkwJTtcclxuICBtYXgtaGVpZ2h0OiA5MCU7ICBcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn0iLCIuY21pbWFnZSB7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG1hcmdpbjogaW5oZXJpdDtcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBmbG9hdDogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY21pbWFnZS1jaGFuZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiA1cHg7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xufVxuXG4uY21pbWFnZS1jaGFuZ2UtYnV0dG9ucyB7XG4gIHdpZHRoOiA2MHB4O1xufVxuXG4uY21pbWFnZS1jaGFuZ2UtYnV0dG9ucy1wYW5lbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG59XG5cbi5pbWFnZUxvYWRlZCB7XG4gIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDUwJSk7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xufVxuXG4ubG9hZGVyIHtcbiAgYm9yZGVyOiA1cHggc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2IxYjFiMTtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgIzkyOTI5MjtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM3MTcxNzE7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDkwJTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59Il19 */\"","// tslint:disable\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { CMInputConfig, CMGridConfig } from '../../component';\r\nimport { CMInput } from '../../decorator';\r\n\r\n@Component({\r\n selector: 'cmimage',\r\n templateUrl: 'cmimage.component.html',\r\n styleUrls: ['cmimage.component.scss']\r\n})\r\n\r\nexport class CMImageComponent {\r\n\r\n public idInnerInputFile = 'innerInputFile'+CMGridConfig.newId();\r\n private _src: string = undefined;\r\n private urlError: boolean = false;\r\n @Input()\r\n get src() {\r\n return this._src;\r\n }\r\n set src(value: string) {\r\n if (this._src !== value) {\r\n this.urlError = false;\r\n this._src = CMInputConfig.trimValue(value);\r\n this.loaded = (this._src === '');\r\n }\r\n }\r\n\r\n getSrc() {\r\n let r = CMInputConfig.trimValue(this._src);\r\n if ((r === '') || (this.urlError))\r\n r = this.default;\r\n return r;\r\n }\r\n\r\n @Input()\r\n href: string = '';\r\n\r\n @Input()\r\n target: string = '';\r\n\r\n @Input() default: string = 'sem-imagem.png';\r\n\r\n @Input() @CMInput() allowChange: boolean = false;\r\n @Input() maxHeightChange: number = 200;\r\n\r\n @Output('load')\r\n _load = new EventEmitter();\r\n\r\n public loaded: boolean = false;\r\n\r\n _urlError() {\r\n this.urlError = true;\r\n }\r\n\r\n loadedComplete() {\r\n this.loaded = true;\r\n this._load.emit(this);\r\n }\r\n\r\n render(src, outputFormat, MAX_HEIGHT){\r\n\t var image = new Image();\r\n\t image.onload = () => {\r\n\t\t var canvas = document.createElement(\"canvas\");\r\n\t\t if (image.height > MAX_HEIGHT) {\r\n\t\t\t image.width *= MAX_HEIGHT / image.height;\r\n\t\t\t image.height = MAX_HEIGHT;\r\n\t\t }\r\n\t\t var ctx = canvas.getContext(\"2d\");\r\n\t\t ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t canvas.width = image.width;\r\n\t\t canvas.height = image.height;\r\n\t\t ctx.drawImage(image, 0, 0, image.width, image.height);\r\n this.src = canvas.toDataURL(outputFormat);\r\n\t };\r\n\t image.src = src;\r\n }\r\n\r\n change(event) {\r\n if ((this.allowChange) && (event.target.files.length > 0)) {\r\n let file = event.target.files[0];\r\n\t\t\tif (file.type.match(/image.*/)) {\r\n this.loaded = false;\r\n let URL = window.URL;\r\n let src = URL.createObjectURL(file);\r\n this.render(src, file.type, this.maxHeightChange);\r\n }\r\n else\r\n this.src = '';\r\n }\r\n event.target.value = '';\r\n }\r\n\r\n selectFile() {\r\n $('#'+this.idInnerInputFile).click();\r\n }\r\n\r\n clear() {\r\n this.src = '';\r\n }\r\n\r\n}","export * from './cmimage.component';","export default \".check-box {\\n padding-top: 30px;\\n}\\n\\n.wrapper-check-box input {\\n height: 0px !important;\\n}\\n\\n.span-edit-dots {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n width: 100%;\\n}\\n\\n.span-edit {\\n text-align: left;\\n padding-left: 30px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21pbnB1dC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtaW5wdXRcXGNtY2hlY2tib3guY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaW5wdXQvY21jaGVja2JveC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFBO0FDQ0Y7O0FER0U7RUFDRSxzQkFBQTtBQ0FKOztBRElBO0VBQ0UsdUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtBQ0RGOztBRElBO0VBQ0UsZ0JBQUE7RUFDQSw2QkFBQTtBQ0RGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21pbnB1dC9jbWNoZWNrYm94LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNoZWNrLWJveCB7XHJcbiAgcGFkZGluZy10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi53cmFwcGVyLWNoZWNrLWJveCB7XHJcbiAgaW5wdXQge1xyXG4gICAgaGVpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zcGFuLWVkaXQtZG90cyB7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc3Bhbi1lZGl0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5jaGVjay1ib3gge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLndyYXBwZXItY2hlY2stYm94IGlucHV0IHtcbiAgaGVpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnNwYW4tZWRpdC1kb3RzIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3Bhbi1lZGl0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG59Il19 */\"","// tslint:disable\r\nimport { forwardRef, Component, Input } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n\r\nimport {\r\n CMInputComponent,\r\n CMInputComponent_props,\r\n CMOutputComponent_props,\r\n} from \"./cminput.component\";\r\nimport { CMInput } from \"../../decorator\";\r\n\r\ndeclare var $: any;\r\n\r\nexport const CMCHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CMCheckBoxComponent),\r\n multi: true,\r\n};\r\n\r\n@Component({\r\n selector: \"cmcheckbox\",\r\n templateUrl: \"./cmcheckbox.component.html\",\r\n styleUrls: [\"./cmcheckbox.component.scss\"],\r\n providers: [CMCHECKBOX_CONTROL_VALUE_ACCESSOR],\r\n inputs: CMInputComponent_props,\r\n outputs: CMOutputComponent_props,\r\n})\r\nexport class CMCheckBoxComponent extends CMInputComponent {\r\n getType() {\r\n return \"checkbox\";\r\n }\r\n\r\n @Input()\r\n customStyleBase: string = \"\";\r\n\r\n getChecked() {\r\n if (this.value === \"Sim\") return \"checked\";\r\n else return \"\";\r\n }\r\n\r\n onClick(event: any) {\r\n let object = $(\"#\" + this.name);\r\n if (object.is(\":checked\")) this.value = \"Sim\";\r\n else this.value = \"Não\";\r\n }\r\n\r\n getActive() {\r\n return null;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { CMValidator } from \"../../validator\";\r\nimport { CMInputConfig } from \"./cminput.component\";\r\n\r\nexport class CMValidatorMinLength extends CMValidator {\r\n validate(value: string, gridRow) {\r\n let v = CMValidator.trimValue(value);\r\n let config: CMInputConfig = this.validFunc(v);\r\n let minLength = 0;\r\n if (config.required || v.length > 0)\r\n minLength = config.getMinLength(gridRow);\r\n if (minLength > 0 && v.length < minLength)\r\n return \"Tamanho mínimo (\" + minLength + \")\";\r\n else return undefined;\r\n }\r\n}\r\n\r\nexport class CMValidatorMaxLength extends CMValidator {\r\n validate(value: string, gridRow) {\r\n let v = CMValidator.trimValue(value);\r\n let config: CMInputConfig = this.validFunc(v);\r\n if (\r\n config.getMaxLength(gridRow) > 0 &&\r\n v.length > config.getMaxLength(gridRow)\r\n ) {\r\n return \"Tamanho máximo (\" + config.getMaxLength(gridRow) + \")\";\r\n } else return undefined;\r\n }\r\n}\r\n\r\nexport class CMValidatorRequired extends CMValidator {\r\n validate(value: string, gridRow) {\r\n let v = CMValidator.trimValue(value);\r\n let config: CMInputConfig = this.validFunc(v);\r\n if (config.required) {\r\n let valido = v.length !== 0;\r\n if (valido) {\r\n if (config.pesqFunc !== undefined) {\r\n if (value === undefined) valido = false;\r\n else valido = JSON.stringify(value) !== JSON.stringify({});\r\n } else if (\r\n config.dataType === \"integer\" ||\r\n config.dataType.startsWith(\"double\")\r\n )\r\n valido = CMInputConfig.valueToFloat(v) > 0;\r\n }\r\n if (!valido) return \"Valor não informado\";\r\n } else return undefined;\r\n }\r\n}\r\n\r\nexport class CMValidatorDataType extends CMValidator {\r\n validate(value: string, gridRow) {\r\n let v: string = CMValidator.trimValue(value);\r\n let config: CMInputConfig = this.validFunc(v);\r\n let r = undefined;\r\n if (config.dataType === \"integer\" && v.length !== 0) {\r\n let int = CMInputConfig.valueToInteger(v);\r\n let valido = !isNaN(int);\r\n if (valido) valido = int === Math.floor(int);\r\n if (valido) valido = v.indexOf(\".\") === -1 && v.indexOf(\",\") === -1;\r\n if (!valido) r = \"Apenas números\";\r\n } else if (config.dataType.startsWith(\"double\") && v.length !== 0) {\r\n if (v.indexOf(\".\") > -1) r = \"Utilize vírgula\";\r\n else {\r\n let int = CMInputConfig.valueToFloat(v);\r\n let valido = !isNaN(int);\r\n if (!valido) r = \"Apenas números\";\r\n }\r\n } else if (\r\n v.length === 10 &&\r\n (config.dataType === \"date\" || config.mask === \"99/99/9999\")\r\n ) {\r\n if (!CMInputConfig.validDate(v)) return \"Data inválida\";\r\n } else if (\r\n v.length === 5 &&\r\n (config.dataType === \"time\" ||\r\n config.mask === \"99:99:99\" ||\r\n config.mask === \"99:99\")\r\n ) {\r\n let arr = v.split(\":\");\r\n let valido = false;\r\n if (config.mask === \"99:99:99\") valido = arr.length === 3;\r\n else if (config.mask === \"99:99\") valido = arr.length === 2;\r\n if (valido) {\r\n let hora = CMInputConfig.valueToInteger(arr[0], 0);\r\n let minuto = CMInputConfig.valueToInteger(arr[1], 0);\r\n let segundos = 0;\r\n if (config.mask === \"99:99:99\")\r\n segundos = CMInputConfig.valueToInteger(arr[2], 0);\r\n valido = hora >= 0 && minuto >= 0 && segundos >= 0;\r\n if (valido) valido = hora >= 0 && hora < 24;\r\n if (valido) valido = minuto >= 0 && minuto < 60;\r\n if (valido && config.mask === \"99:99:99\")\r\n valido = segundos >= 0 && segundos < 60;\r\n }\r\n if (!valido) return \"Hora inválida\";\r\n }\r\n return r;\r\n }\r\n}\r\n\r\nexport class CMValidatorEmail extends CMValidator {\r\n aceitaMaisUmEmail: boolean;\r\n constructor(aceitaMaisUmEmail: boolean = false) {\r\n super(null);\r\n this.aceitaMaisUmEmail = aceitaMaisUmEmail;\r\n }\r\n\r\n validate(value: string, gridRow) {\r\n let v = CMValidator.trimValue(value);\r\n if (v !== \"\") {\r\n let result: any = true;\r\n let emails = [];\r\n emails = v.split(\";\");\r\n if (!this.aceitaMaisUmEmail) result = emails.length <= 1;\r\n if (result) {\r\n emails.forEach(email => {\r\n email = CMInputConfig.trimValue(email);\r\n if (email !== \"\" && result) {\r\n result = email.match(\r\n /[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/\r\n );\r\n if (result) {\r\n if (email.indexOf) {\r\n let sTab = \"\t\";\r\n let invalidos = [\",\", \";\", \" \", sTab];\r\n invalidos.forEach(invalido => {\r\n if (result) {\r\n if (email.indexOf(invalido) > -1) result = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if (!result) return \"formato de e-Mail inválido\";\r\n else return undefined;\r\n }\r\n }\r\n}\r\n","export default \".label-edit-dots, .inputBottomLabel, .inputBottomLabel-error {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n width: 100%;\\n}\\n\\n.label-edit {\\n text-align: left;\\n}\\n\\n.button-bg-white {\\n background: #fff;\\n}\\n\\n.button-edit, .button-edit-clear {\\n position: absolute;\\n right: 3px;\\n padding-left: 8px;\\n}\\n\\n.button-edit-clear {\\n right: 42px;\\n}\\n\\n.button-edit-icone, .button-edit-icone-clear {\\n color: gray;\\n}\\n\\n.inputBottomLabel, .inputBottomLabel-error {\\n position: absolute;\\n font-size: 0.9rem;\\n top: 45px;\\n}\\n\\n.inputBottomLabel-error {\\n font-size: 0.7rem;\\n color: red;\\n}\\n\\n.text-align-right input:not(:focus) {\\n text-align: right;\\n}\\n\\n.popup-input {\\n /* Popup container - can be anything you want */\\n /* The actual popup */\\n /* Toggle this class - hide and show the popup */\\n /* Add animation (fade in the popup) */\\n}\\n\\n.popup-input .popup {\\n position: absolute;\\n display: inline-block;\\n}\\n\\n.popup-input .dropdown-content {\\n overflow-y: inherit !important;\\n opacity: 1 !important;\\n}\\n\\n.popup-input .popup .popuptext {\\n visibility: hidden;\\n width: 160px;\\n background-color: #fff;\\n color: #fff;\\n text-align: center;\\n position: fixed;\\n z-index: 1;\\n top: 0px;\\n left: 0px;\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);\\n}\\n\\n.popup-input .popup .show {\\n visibility: visible;\\n -webkit-animation: fadeIn 1s;\\n animation: fadeIn 1s;\\n}\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21pbnB1dC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtaW5wdXRcXGNtaW5wdXQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaW5wdXQvY21pbnB1dC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7QUNDRjs7QURFQTtFQUVFLFdBQUE7QUNBRjs7QURHQTtFQUNFLFdBQUE7QUNBRjs7QURPQTtFQUVFLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxTQUFBO0FDTEY7O0FEUUE7RUFFRSxpQkFBQTtFQUNBLFVBQUE7QUNORjs7QURVRTtFQUNFLGlCQUFBO0FDUEo7O0FEV0E7RUFDRSwrQ0FBQTtFQVdBLHFCQUFBO0VBZUEsZ0RBQUE7RUFPQSxzQ0FBQTtBQ3RDRjs7QURNRTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7QUNKSjs7QURPRTtFQUNFLDhCQUFBO0VBQ0EscUJBQUE7QUNMSjs7QURTRTtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLCtHQUFBO0FDUEo7O0FEWUU7RUFDRSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0Esb0JBQUE7QUNWSjs7QURjRTtFQUNFO0lBQ0UsVUFBQTtFQ1pKO0VEY0U7SUFDRSxVQUFBO0VDWko7QUFDRjs7QURlRTtFQUNFO0lBQ0UsVUFBQTtFQ2JKO0VEZUU7SUFDRSxVQUFBO0VDYko7QUFDRiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtaW5wdXQvY21pbnB1dC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sYWJlbC1lZGl0LWRvdHMge1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmxhYmVsLWVkaXQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5idXR0b24tYmctd2hpdGUge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5idXR0b24tZWRpdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAzcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbn1cclxuXHJcbi5idXR0b24tZWRpdC1jbGVhciB7XHJcbiAgQGV4dGVuZCAuYnV0dG9uLWVkaXQ7XHJcbiAgcmlnaHQ6IDQycHg7XHJcbn1cclxuXHJcbi5idXR0b24tZWRpdC1pY29uZSB7XHJcbiAgY29sb3I6IGdyYXk7XHJcbn1cclxuXHJcbi5idXR0b24tZWRpdC1pY29uZS1jbGVhciB7XHJcbiAgQGV4dGVuZCAuYnV0dG9uLWVkaXQtaWNvbmU7XHJcbn1cclxuXHJcbi5pbnB1dEJvdHRvbUxhYmVsIHtcclxuICBAZXh0ZW5kIC5sYWJlbC1lZGl0LWRvdHM7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gIHRvcDogNDVweDtcclxufVxyXG5cclxuLmlucHV0Qm90dG9tTGFiZWwtZXJyb3Ige1xyXG4gIEBleHRlbmQgLmlucHV0Qm90dG9tTGFiZWw7XHJcbiAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLnRleHQtYWxpZ24tcmlnaHQge1xyXG4gIGlucHV0Om5vdCg6Zm9jdXMpIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLnBvcHVwLWlucHV0IHtcclxuICAvKiBQb3B1cCBjb250YWluZXIgLSBjYW4gYmUgYW55dGhpbmcgeW91IHdhbnQgKi9cclxuICAucG9wdXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3cteTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLyogVGhlIGFjdHVhbCBwb3B1cCAqL1xyXG4gIC5wb3B1cCAucG9wdXB0ZXh0IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksXHJcbiAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICB9XHJcblxyXG4gIC8qIFRvZ2dsZSB0aGlzIGNsYXNzIC0gaGlkZSBhbmQgc2hvdyB0aGUgcG9wdXAgKi9cclxuICAucG9wdXAgLnNob3cge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gMXM7XHJcbiAgICBhbmltYXRpb246IGZhZGVJbiAxcztcclxuICB9XHJcblxyXG4gIC8qIEFkZCBhbmltYXRpb24gKGZhZGUgaW4gdGhlIHBvcHVwKSAqL1xyXG4gIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmxhYmVsLWVkaXQtZG90cywgLmlucHV0Qm90dG9tTGFiZWwsIC5pbnB1dEJvdHRvbUxhYmVsLWVycm9yIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGFiZWwtZWRpdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5idXR0b24tYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnV0dG9uLWVkaXQsIC5idXR0b24tZWRpdC1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG5cbi5idXR0b24tZWRpdC1jbGVhciB7XG4gIHJpZ2h0OiA0MnB4O1xufVxuXG4uYnV0dG9uLWVkaXQtaWNvbmUsIC5idXR0b24tZWRpdC1pY29uZS1jbGVhciB7XG4gIGNvbG9yOiBncmF5O1xufVxuXG4uaW5wdXRCb3R0b21MYWJlbCwgLmlucHV0Qm90dG9tTGFiZWwtZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICB0b3A6IDQ1cHg7XG59XG5cbi5pbnB1dEJvdHRvbUxhYmVsLWVycm9yIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiByZWQ7XG59XG5cbi50ZXh0LWFsaWduLXJpZ2h0IGlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wb3B1cC1pbnB1dCB7XG4gIC8qIFBvcHVwIGNvbnRhaW5lciAtIGNhbiBiZSBhbnl0aGluZyB5b3Ugd2FudCAqL1xuICAvKiBUaGUgYWN0dWFsIHBvcHVwICovXG4gIC8qIFRvZ2dsZSB0aGlzIGNsYXNzIC0gaGlkZSBhbmQgc2hvdyB0aGUgcG9wdXAgKi9cbiAgLyogQWRkIGFuaW1hdGlvbiAoZmFkZSBpbiB0aGUgcG9wdXApICovXG59XG4ucG9wdXAtaW5wdXQgLnBvcHVwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucG9wdXAtaW5wdXQgLmRyb3Bkb3duLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5wb3B1cC1pbnB1dCAucG9wdXAgLnBvcHVwdGV4dCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDE2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5wb3B1cC1pbnB1dCAucG9wdXAgLnNob3cge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluIDFzO1xuICBhbmltYXRpb246IGZhZGVJbiAxcztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn0iXX0= */\"","// tslint:disable\nimport {\n Component,\n ElementRef,\n Input,\n forwardRef,\n Output,\n EventEmitter,\n DoCheck,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\n\nimport { CMInput } from \"../../decorator\";\nimport { CMGridEditConfigColumn } from \"../../component\";\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\nimport {\n CMValidatorMinLength,\n CMValidatorMaxLength,\n CMValidatorRequired,\n CMValidatorDataType,\n} from \"./cminput-validator\";\nimport { CMValidator } from \"../../validator\";\n\nexport class CMInputConfig {\n public dataType: string = \"string\";\n public caption: string | Function = \"\";\n getCaption() {\n let s = \"\";\n if (this.caption instanceof Function) s = this.caption();\n else s = this.caption;\n return s;\n }\n public padInfo = undefined;\n private innerRequired: boolean = false;\n get required() {\n let r = this.innerRequired;\n if (this.requiredFunc !== undefined) r = this.requiredFunc();\n return r;\n }\n set required(value: boolean) {\n this.innerRequired = value;\n }\n public requiredFunc: Function = undefined;\n private innerMaxLength: number = 0;\n public getMaxLength(gridRow) {\n let n = this.innerMaxLength;\n if (this.getMask(gridRow).length > 0) n = 0;\n return n;\n }\n public setMaxLength(value: number) {\n this.innerMaxLength = value;\n }\n\n public customvalidators = [];\n public criptografado: boolean = false;\n public readonly: boolean = false;\n private InnerDisabled: boolean = false;\n public disabledFunc: Function = undefined;\n get disabled() {\n let r: boolean = this.InnerDisabled;\n if (this.disabledFunc !== undefined) r = this.disabledFunc();\n if (!r && this.form) {\n if (this.form.disabledAll !== undefined) r = this.form.disabledAll;\n }\n return r;\n }\n set disabled(value: boolean) {\n this.InnerDisabled = value;\n }\n public visibleFunc: Function = undefined;\n get visible() {\n let r: boolean = true;\n if (this.visibleFunc !== undefined) r = this.visibleFunc();\n return r;\n }\n public mask: string = \"\";\n public maskFunc: Function = undefined;\n public getMask(gridRow: any) {\n let m = \"\";\n if (this.mask.length > 0) m = this.mask;\n else if (this.maskFunc !== undefined) {\n let m2 = \"\";\n if (this.gridConfig) m2 = this.maskFunc(gridRow);\n else m2 = this.maskFunc();\n if (m2.length > 0) m = m2;\n }\n return m;\n }\n private innerMinLength: number = 0;\n public getMinLength(gridRow) {\n let n = this.innerMinLength;\n let m = this.getMask(gridRow);\n if (m.length > 0) n = m.length;\n return n;\n }\n public setMinLength(value: number) {\n this.innerMinLength = value;\n }\n public values = [];\n public valuesObject = [];\n public form: CMFormComponent = null;\n public components = [];\n private innerIconButton: string | Function = \"\";\n get iconButton() {\n let ico = this.innerIconButton;\n if (ico instanceof Function) ico = ico();\n if (ico === \"\") {\n if (this.pesqFunc !== undefined) ico = \"search\";\n }\n if (ico === \"\") {\n if (this.addFunc !== undefined) ico = \"add\";\n }\n return ico;\n }\n set iconButton(value: string | Function) {\n this.innerIconButton = value;\n }\n public hintButton: string = undefined;\n public pesqFunc: Function = undefined;\n public addFunc: Function = undefined;\n public pesqOnly: boolean = false;\n public pesqOnlyFunc: Function = undefined;\n public execPesqOnlyOnExit: boolean = true;\n public onExit: Function = undefined;\n public onKeyPress: Function = undefined;\n public onEnter: Function = undefined;\n public onChange: Function = undefined;\n public onSetValue: Function = undefined;\n public getBottomLabelFunc: Function = undefined;\n public gridConfig: CMGridEditConfigColumn = undefined;\n public upper: boolean = false;\n public lower: boolean = false;\n public showButtonClear: boolean = true;\n public showButtonFunc: Function = undefined;\n dropdownValues: Object[] | Function;\n\n constructor(data?: any) {\n if (data) {\n if (data.form !== undefined) this.form = data.form;\n if (data.dataType !== undefined) this.dataType = data.dataType;\n if (data.caption !== undefined) this.caption = data.caption;\n if (data.required !== undefined) this.required = data.required;\n if (data.requiredFunc !== undefined)\n this.requiredFunc = data.requiredFunc;\n if (data.minlength !== undefined) this.innerMinLength = data.minlength;\n if (data.maxlength !== undefined) this.innerMaxLength = data.maxlength;\n if (data.criptografado !== undefined)\n this.criptografado = data.criptografado;\n if (data.customvalidators !== undefined)\n this.customvalidators = data.customvalidators;\n if (data.readonly !== undefined) this.readonly = data.readonly;\n if (data.disabled !== undefined) this.disabled = data.disabled;\n if (data.disabledFunc !== undefined)\n this.disabledFunc = data.disabledFunc;\n if (data.visibleFunc !== undefined) this.visibleFunc = data.visibleFunc;\n if (data.mask !== undefined) this.mask = data.mask;\n if (data.maskFunc !== undefined) this.maskFunc = data.maskFunc;\n if (data.values !== undefined) this.values = data.values;\n if (data.valuesObject !== undefined)\n this.valuesObject = data.valuesObject;\n if (data.iconButton !== undefined) this.iconButton = data.iconButton;\n if (data.hintButton !== undefined) this.hintButton = data.hintButton;\n if (data.pesqFunc !== undefined) this.pesqFunc = data.pesqFunc;\n if (data.addFunc !== undefined) this.addFunc = data.addFunc;\n if (data.showButtonFunc !== undefined)\n this.showButtonFunc = data.showButtonFunc;\n if (data.pesqOnly !== undefined) this.pesqOnly = data.pesqOnly;\n if (data.pesqOnlyFunc !== undefined)\n this.pesqOnlyFunc = data.pesqOnlyFunc;\n if (data.padInfo !== undefined) this.padInfo = data.padInfo;\n if (data.onEnter !== undefined) this.onEnter = data.onEnter;\n if (data.onExit !== undefined) this.onExit = data.onExit;\n if (data.onKeyPress !== undefined) this.onKeyPress = data.onKeyPress;\n if (data.execPesqOnlyOnExit !== undefined)\n this.execPesqOnlyOnExit = data.execPesqOnlyOnExit;\n if (data.onChange !== undefined) this.onChange = data.onChange;\n if (data.getBottomLabelFunc !== undefined)\n this.getBottomLabelFunc = data.getBottomLabelFunc;\n if (data.gridConfig !== undefined) this.gridConfig = data.gridConfig;\n if (data.upper !== undefined) this.upper = data.upper;\n if (data.lower !== undefined) this.lower = data.lower;\n if (data.showButtonClear !== undefined)\n this.showButtonClear = data.showButtonClear;\n if (data.dropdownValues !== undefined)\n this.dropdownValues = data.dropdownValues;\n if (data.onSetValue !== undefined) this.onSetValue = data.onSetValue;\n }\n this.customvalidators.push(\n new CMValidatorRequired((r) => {\n return this;\n })\n );\n this.customvalidators.push(\n new CMValidatorMaxLength((r) => {\n return this;\n })\n );\n this.customvalidators.push(\n new CMValidatorDataType((r) => {\n return this;\n })\n );\n this.customvalidators.push(\n new CMValidatorMinLength((r) => {\n return this;\n })\n );\n }\n\n getData() {\n let data: any = {};\n if (this.form !== undefined) data.form = this.form;\n if (this.dataType !== undefined) data.thisType = this.dataType;\n if (this.caption !== undefined) data.caption = this.caption;\n if (this.required !== undefined) data.required = this.required;\n if (this.requiredFunc !== undefined) data.requiredFunc = this.requiredFunc;\n if (this.innerMinLength !== undefined) data.minlength = this.innerMinLength;\n if (this.innerMaxLength !== undefined) data.maxlength = this.innerMaxLength;\n if (this.criptografado !== undefined)\n data.criptografado = this.criptografado;\n if (this.customvalidators !== undefined)\n data.customvalidators = this.customvalidators;\n if (this.readonly !== undefined) data.readonly = this.readonly;\n if (this.disabled !== undefined) data.disabled = this.disabled;\n if (this.disabledFunc !== undefined) data.disabledFunc = this.disabledFunc;\n if (this.visibleFunc !== undefined) data.visibleFunc = this.visibleFunc;\n if (this.mask !== undefined) data.mask = this.mask;\n if (this.maskFunc !== undefined) data.maskFunc = this.maskFunc;\n if (this.values !== undefined) data.values = this.values;\n if (this.valuesObject !== undefined) data.valuesObject = this.valuesObject;\n if (this.iconButton !== undefined) data.iconButton = this.iconButton;\n if (this.hintButton !== undefined) data.hintButton = this.hintButton;\n if (this.pesqFunc !== undefined) data.pesqFunc = this.pesqFunc;\n if (this.showButtonFunc !== undefined)\n data.showButtonFunc = this.showButtonFunc;\n if (this.pesqOnly !== undefined) data.pesqOnly = this.pesqOnly;\n if (this.pesqOnlyFunc !== undefined) data.pesqOnlyFunc = this.pesqOnlyFunc;\n if (this.padInfo !== undefined) data.padInfo = this.padInfo;\n if (this.onEnter !== undefined) data.onEnter = this.onEnter;\n if (this.onExit !== undefined) data.onExit = this.onExit;\n if (this.onKeyPress !== undefined) data.onKeyPress = this.onKeyPress;\n if (this.execPesqOnlyOnExit !== undefined)\n data.execPesqOnlyOnExit = this.execPesqOnlyOnExit;\n if (this.onChange !== undefined) data.onChange = this.onChange;\n if (this.getBottomLabelFunc !== undefined)\n data.getBottomLabelFunc = this.getBottomLabelFunc;\n if (this.gridConfig !== undefined) data.gridConfig = this.gridConfig;\n if (this.upper !== undefined) data.upper = this.upper;\n if (this.lower !== undefined) data.lower = this.lower;\n if (this.showButtonClear !== undefined)\n data.showButtonClear = this.showButtonClear;\n if (this.dropdownValues !== undefined)\n data.dropdownValues = this.dropdownValues;\n if (this.onSetValue !== undefined) data.onSetValue = this.onSetValue;\n return data;\n }\n\n clone() {\n return new CMInputConfig(this.getData());\n }\n\n static trimValue(value: any) {\n let result = \"\";\n if (value !== undefined && value !== null) {\n value = String(value);\n if (typeof value === \"string\" || value instanceof String) {\n result = value.trim();\n } else result = value;\n }\n return result;\n }\n\n static pad(\n value: string,\n size: number,\n char: string = \" \",\n left: boolean = true\n ): string {\n if (char === undefined) char = \" \";\n if (left === undefined) left = true;\n var s = value + \"\";\n while (s.length < size) {\n if (left) s = char + s;\n else s = s + char;\n }\n return s;\n }\n\n static valueToInteger(value: any, _default?: number) {\n value = CMInputConfig.trimValue(value);\n if (!/^(\\-|\\+)?([0-9]+|Infinity)$/.test(value)) value = NaN;\n let num: number = parseInt(value);\n if (_default !== undefined) {\n if (isNaN(num)) num = _default;\n }\n return num;\n }\n\n static integerToValue(integer: number) {\n return CMInputConfig.arredondar(integer, 0);\n }\n\n static validDate(date: string) {\n let valido: boolean = date.length === 10;\n if (valido) {\n let arr = date.split(\"/\");\n valido = arr.length === 3;\n if (valido) {\n let ano = CMInputConfig.valueToInteger(arr[2], 0);\n let mes = CMInputConfig.valueToInteger(arr[1], 0);\n let dia = CMInputConfig.valueToInteger(arr[0], 0);\n valido = ano > 0 && mes > 0 && dia > 0;\n if (valido) valido = mes > 0 && mes < 13;\n if (valido) {\n let dt = new Date(ano, mes - 1, dia);\n valido =\n dt.getFullYear() === ano &&\n dt.getMonth() === mes - 1 &&\n dt.getDate() === dia;\n }\n }\n }\n return valido;\n }\n\n static valueToFloat(value: any, _default?: number) {\n value = CMInputConfig.trimValue(value).replace(\",\", \".\");\n if (!/^(\\-|\\+)?([0-9]+(\\.[0-9]+)?|Infinity)$/.test(value)) value = NaN;\n let num: number = parseFloat(value);\n if (_default !== undefined) {\n if (isNaN(num)) num = _default;\n }\n return num;\n }\n\n static floatToValue(float: number, casasDecimais?: number) {\n return CMInputConfig.arredondar(float, casasDecimais);\n }\n\n static arredondar(value: number, casasDecimais?: number) {\n if (casasDecimais === undefined) casasDecimais = 2;\n return value.toFixed(casasDecimais).replace(\".\", \",\");\n }\n\n static getRandomInt(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min;\n }\n\n valid(value: any, ignoreEmpty: boolean, gridRow) {\n if (this.disabled || this.readonly || !this.visible) return \"\";\n else if (ignoreEmpty && CMInputConfig.trimValue(value) === \"\") return \"\";\n else if (this.customvalidators) {\n for (var i = 0, len = this.customvalidators.length; i < len; ++i) {\n let validator: CMValidator = this.customvalidators[i];\n let r = validator.validate(value, gridRow);\n if (r !== undefined) {\n return r;\n }\n }\n }\n return \"\";\n }\n\n isPesqOnly(row) {\n if (this.pesqOnlyFunc !== undefined) return this.pesqOnlyFunc(row);\n else return this.pesqOnly;\n }\n\n isDoubleField() {\n let r = false;\n if (this.dataType.startsWith(\"double\") || this.dataType == \"integer\")\n r = true;\n return r;\n }\n\n get isFocused() {\n let r = false;\n if (this.components.length > 0) r = this.components[0].isFocused;\n return r;\n }\n\n focus() {\n if (this.components.length > 0) {\n this.components[0].focus();\n }\n }\n\n onClick() {\n if (this.components.length > 0) {\n this.components[0].onClick({});\n }\n }\n\n setValueInObject(target, targetProp, value) {\n target[targetProp] = this.valuesObject[value];\n if (!target[targetProp]) target[targetProp] = {};\n }\n}\n\nexport const CMINPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CMInputComponent),\n multi: true,\n};\n\nexport const CMInputComponent_props = [\n \"inputConfig\",\n \"type\",\n \"caption\",\n \"visiblecaption\",\n \"name\",\n \"showPassword\",\n \"mask\",\n \"required\",\n \"minlength\",\n \"maxlength\",\n \"readonly\",\n \"disabled\",\n \"forceDisabled\",\n \"visible\",\n \"gridRow\",\n \"criptografado\",\n \"customvalidators\",\n \"value\",\n \"tag\",\n \"bottomLabel\",\n \"upper\",\n \"lower\",\n \"wordwrap\",\n \"widthcolumns\",\n \"useMaginTop\",\n \"labelEverActive\",\n \"autocomplete\",\n \"customStyle\",\n \"customStyleLabel\",\n];\n\nexport const CMOutputComponent_props = [\"onChange\", \"onEnterInput\"];\n\n@Component({\n selector: \"cminput\",\n templateUrl: \"./cminput.component.html\",\n styleUrls: [\"./cminput.component.scss\"],\n providers: [CMINPUT_CONTROL_VALUE_ACCESSOR],\n})\nexport class CMInputComponent implements ControlValueAccessor, DoCheck {\n @Input()\n @CMInput()\n useMaginTop: boolean = true;\n\n static globalId: number = 0;\n static nextGlobalId() {\n CMInputComponent.globalId += 1;\n return CMInputComponent.globalId;\n }\n\n innerElement: any = null;\n getElement() {\n let r: any = undefined;\n if (this.innerElement === null)\n this.innerElement = document.getElementById(this.name);\n if (this.innerElement !== null) r = this.innerElement;\n return r;\n }\n\n innerElementLabel: any = null;\n getElementLabel() {\n let r: any = undefined;\n if (this.innerElementLabel === null)\n this.innerElementLabel = document.getElementById(\"lb_\" + this.name);\n if (this.innerElementLabel !== null) r = this.innerElementLabel;\n return r;\n }\n\n @Input()\n @CMInput()\n wordwrap: boolean = false;\n\n @Input()\n @CMInput()\n autocomplete: string = \"true\";\n\n getAutocomplete() {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html\n if (this.autocomplete === \"off\" && this.criptografado) {\n return \"new-password\";\n } else {\n return this.autocomplete;\n }\n }\n\n @Input()\n @CMInput()\n widthcolumns: string = undefined;\n\n @Input()\n inputConfig: CMInputConfig = null;\n\n @Input()\n padInfo = undefined;\n\n @Input()\n type: string = \"text\";\n\n @Input()\n bottomLabel: string = \"\";\n\n @Input()\n caption: string | Function = \"\";\n\n @Input()\n visiblecaption: boolean = true;\n\n @Input()\n iconButton: string | Function = \"\";\n\n @Input()\n name: string = \"cminput_\" + CMInputComponent.nextGlobalId().toString();\n\n @Input()\n @CMInput()\n showPassword: boolean = false;\n\n innerUpper: boolean = false;\n get upper() {\n if (this.inputConfig) return this.inputConfig.upper;\n else return this.innerUpper;\n }\n @Input()\n set upper(value: boolean) {\n if (this.inputConfig) this.inputConfig.upper = value;\n else this.innerUpper = value;\n }\n\n innerLower: boolean = false;\n get lower() {\n if (this.inputConfig) return this.inputConfig.lower;\n else return this.innerLower;\n }\n @Input()\n set lower(value: boolean) {\n if (this.inputConfig) this.inputConfig.lower = value;\n else this.innerLower = value;\n }\n\n arrayMask = [];\n getArrayMask() {\n if (this.inputConfig) {\n let m = this.inputConfig.getMask(this.gridRow);\n if (m.length > 0) {\n if (this.mask !== m) this.mask = m;\n }\n }\n return this.arrayMask;\n }\n private internalMask: string = \"\";\n get mask() {\n return this.internalMask;\n }\n @Input()\n set mask(value: string) {\n if (value === undefined) value = \"\";\n if (this.internalMask !== value) {\n this.internalMask = value;\n this.arrayMask = [];\n for (let s of this.internalMask) {\n if (s === \"L\") this.arrayMask.push(/[A-Z]/i);\n else if (s === \"A\") this.arrayMask.push(/[A-Z, 0-9]/i);\n else if (s === \"9\") this.arrayMask.push(/[0-9]/);\n else this.arrayMask.push(s);\n }\n }\n }\n\n @Input()\n public gridRow = {};\n\n ngDoCheck() {\n if (!this.getReadOnly() && !this.disabled && this.visible) {\n if (this.arrayMask.length > 0) {\n let v = this.value;\n if (v && v.length > this.arrayMask.length) {\n v = v.substr(0, this.arrayMask.length);\n this.valueEdit = v;\n } else if (this.isFocused) {\n let element = this.getElement();\n if (element) {\n let ve = CMInputConfig.trimValue(this.valueEdit);\n let ev = CMInputConfig.trimValue(element.value);\n if (ve.length > 0 && ev.length > 0) {\n if (ve.length === ev.length) {\n if (element.value !== this.valueEdit)\n this._setInnerValue(element.value);\n }\n }\n }\n }\n }\n }\n }\n\n private innerRequired: boolean = false;\n @Input()\n get required() {\n if (this.inputConfig) return this.inputConfig.required;\n else return this.innerRequired;\n }\n set required(value: boolean) {\n this.innerRequired = value;\n }\n\n @Input()\n minlength: number = 0;\n getMinLength() {\n if (this.inputConfig) return this.inputConfig.getMinLength(this.gridRow);\n else return this.minlength;\n }\n\n @Input()\n maxlength: number = 0;\n getMaxLength() {\n if (this.inputConfig) return this.inputConfig.getMaxLength(this.gridRow);\n else return this.maxlength;\n }\n\n @Input()\n @CMInput()\n readonly: boolean = false;\n\n getReadOnly() {\n let r: boolean = this.readonly;\n if (!r && this.inputConfig) r = this.inputConfig.isPesqOnly(this.gridRow);\n return r;\n }\n\n @Input()\n @CMInput()\n forceDisabled: boolean = false;\n\n @Input()\n @CMInput()\n disabled: boolean = false;\n getDisabled() {\n if (this.forceDisabled) return true;\n else if (this.inputConfig) {\n let r = this.inputConfig.disabled;\n if (\n !r &&\n this.inputConfig.gridConfig &&\n this.inputConfig.gridConfig.owner &&\n this.inputConfig.gridConfig.owner.disabledFunc !== undefined\n ) {\n r = this.inputConfig.gridConfig.owner.disabledFunc();\n }\n if (\n !r &&\n this.inputConfig.gridConfig &&\n this.inputConfig.gridConfig.disabledFunc !== undefined\n ) {\n r = this.inputConfig.gridConfig.disabledFunc(this.gridRow);\n }\n return r;\n } else return this.disabled;\n }\n\n get visible() {\n let r: boolean = true;\n if (this.inputConfig) r = this.inputConfig.visible;\n if (!r) {\n this.innerElement = null;\n this.innerElementLabel = null;\n }\n return r;\n }\n\n @Input()\n @CMInput()\n criptografado: boolean = false;\n\n @Input()\n customvalidators = [];\n\n @Input()\n labelEverActive: boolean = false;\n\n public valid: boolean = true;\n\n private innervalueEdit: any = \"\";\n get valueEdit(): any {\n return this.innervalueEdit;\n }\n @Input()\n set valueEdit(v: any) {\n if (!this.getReadOnly() && !this.disabled && this.visible) this.value = v;\n }\n\n protected onSetValue(oldValue: any, newValue: any) {\n if (this.inputConfig) {\n if (this.inputConfig.onSetValue !== undefined)\n this.inputConfig.onSetValue(oldValue, newValue);\n }\n }\n\n private innerValue: any = \"\";\n get value(): any {\n return this.innerValue;\n }\n @Input()\n set value(v: any) {\n let add = v !== this.innerValue;\n if (add) {\n let maxlength = this.maxlength;\n if (maxlength === 0 && this.mask) maxlength = this.mask.length;\n if (CMInputConfig.trimValue(v) !== \"\" && maxlength > 0) {\n add = v.length <= maxlength;\n if (!add) {\n add = CMInputConfig.trimValue(v).length <= maxlength;\n if (!add) {\n let s: string = v;\n s = s.substring(0, maxlength);\n v = s;\n add = true;\n }\n }\n }\n if (add) this._setInnerValue(v);\n }\n this.innervalueEdit = this.innerValue;\n }\n\n private _setInnerValue(v) {\n let old = this.innerValue;\n if (CMInputConfig.trimValue(v) !== \"\") {\n if (this.lower) v = v.toLowerCase();\n else if (this.upper) v = v.toUpperCase();\n }\n this.innerValue = v;\n this.checkCustomValidity();\n this.onChange.emit(this);\n this.onChangeCallback(v);\n if (this.inputConfig) {\n if (this.inputConfig.onChange !== undefined)\n this.inputConfig.onChange(this);\n }\n this.onSetValue(old, this.innerValue);\n }\n\n @Input()\n customStyle: string = \"\";\n\n getStyle() {\n let r = this.customStyle;\n return r;\n }\n\n @Input()\n customStyleLabel: string = \"\";\n getStyleLabel() {\n let r = this.customStyleLabel;\n return r;\n }\n\n getClass() {\n let r: string = \"\";\n if (!this.getReadOnly() || this.getDisabled()) r += \" validate\";\n return r;\n }\n\n isDoubleField() {\n let r = false;\n if (this.inputConfig && this.inputConfig.isDoubleField()) r = true;\n return r;\n }\n\n getClassButtonClear() {\n let r: string =\n \"btn-floating btn-flat button-edit-clear waves-effect waves-light button-bg-white\";\n return r;\n }\n\n getClassButton() {\n let r: string =\n \"btn-floating btn-flat button-edit waves-effect waves-light button-bg-white\";\n return r;\n }\n\n _hintButton: string = \"\";\n @Input()\n get hintButton() {\n return this._hintButton;\n }\n set hintButton(value) {\n this._hintButton = value;\n }\n\n _hintButtonClear: string = \"\";\n @Input()\n get hintButtonClear() {\n return this._hintButtonClear;\n }\n set hintButtonClear(value) {\n this._hintButtonClear = value;\n }\n\n @Input() tag: any;\n\n @Output()\n public onChange: EventEmitter = new EventEmitter();\n @Output()\n public onEnterInput: EventEmitter = new EventEmitter();\n\n checkCustomValidity() {\n let element = this.getElement();\n if (element) {\n let s: string = element.className;\n s = s.replace(\" valid\", \"\");\n s = s.replace(\" invalid\", \"\");\n let b: boolean = false;\n if (this.inputConfig) b = this.inputConfig.isPesqOnly(this.gridRow);\n let em = \"\";\n if (!b) {\n em = CMInputConfig.trimValue(this.errorMessage);\n b = em === \"\";\n }\n if (b) {\n element.setCustomValidity(\"\");\n element.$valid = true;\n this.valid = true;\n s += \" valid\";\n } else {\n element.setCustomValidity(em);\n element.$valid = false;\n this.valid = false;\n s += \" invalid\";\n }\n element.className = s;\n }\n }\n\n get isEmpty() {\n return CMInputConfig.trimValue(this.value) === \"\";\n }\n\n constructor(public element: ElementRef) {}\n\n ngOnInit() {\n if (this.inputConfig !== null) {\n if (this.inputConfig.components.indexOf(this) == -1)\n this.inputConfig.components.push(this);\n this.caption = this.inputConfig.caption;\n this.customvalidators = this.inputConfig.customvalidators;\n this.criptografado = this.inputConfig.criptografado;\n this.readonly = this.inputConfig.readonly;\n this.iconButton = this.inputConfig.iconButton;\n if (this.criptografado) this.hintButton = \"Mostrar / Ocultar\";\n else if (this.iconButton === \"search\") this.hintButton = \"Pesquisar\";\n else if (this.inputConfig.hintButton !== undefined)\n this.hintButton = this.inputConfig.hintButton;\n this.hintButtonClear = \"Limpar\";\n }\n if (this.labelEverActive) {\n setTimeout(() => {\n let elementLabel = this.getElementLabel();\n elementLabel.classList.add(\"active\");\n }, 200);\n }\n }\n\n getType() {\n let type = this.type;\n if (this.criptografado) {\n if (this.showPassword) type = \"text\";\n else type = \"password\";\n }\n return type;\n }\n\n primeiroClick: boolean = true;\n\n openOnClick() {\n if (this.inputConfig.gridConfig != undefined) {\n return !this.primeiroClick;\n } else {\n return true;\n }\n }\n\n onClick(event) {\n if (\n this.inputConfig &&\n this.inputConfig.isPesqOnly(this.gridRow) &&\n this.openOnClick()\n ) {\n this.clickButton(event);\n }\n this.primeiroClick = false;\n }\n\n onKeyPress(event) {\n if (!(this.disabled || this.readonly || !this.visible)) {\n if (this.inputConfig.onKeyPress) {\n this.inputConfig.onKeyPress(this);\n }\n }\n if (this.isDoubleField()) {\n if (\n event.key != \"0\" &&\n event.key != \"1\" &&\n event.key != \"2\" &&\n event.key != \"3\" &&\n event.key != \"4\" &&\n event.key != \"5\" &&\n event.key != \"6\" &&\n event.key != \"7\" &&\n event.key != \"8\" &&\n event.key != \"9\" &&\n event.key != \".\" &&\n event.key != \",\"\n ) {\n event.preventDefault();\n return false;\n }\n }\n if (this.inputConfig && this.inputConfig.dataType.startsWith(\"double\")) {\n if (event.key == \".\" || event.key == \",\") {\n if (event.target.selectionStart == event.target.selectionEnd) {\n if (event.target.value.indexOf(\",\") > -1) {\n event.preventDefault();\n return false;\n }\n }\n }\n if (event.key == \".\" || event.key == \",\") {\n setTimeout(() => {\n event.target.value = event.target.value.replace(\".\", \",\");\n if (event.target.value == \",\") {\n event.target.value = \"0,\";\n }\n }, 10);\n }\n } else if (this.inputConfig && this.inputConfig.dataType == \"integer\") {\n if (event.key == \".\" || event.key == \",\") {\n event.preventDefault();\n return false;\n }\n }\n if (this.inputConfig && this.inputConfig.isPesqOnly(this.gridRow))\n this.clickButton(event);\n }\n\n togglePopup(event) {\n setTimeout(() => {\n const popup = document.getElementById(\"myPopup_\" + this.name);\n if (popup) {\n if (event.y + 100 > window.innerHeight) {\n popup.style.top = \"auto\";\n popup.style.bottom = \"0\";\n } else {\n popup.style.top = event.y;\n popup.style.bottom = \"auto\";\n }\n popup.style.left = event.x + 25;\n popup.classList.toggle(\"show\");\n }\n }, 10);\n }\n\n clickButton(event) {\n this.togglePopup(event);\n if (this.inputConfig && this.inputConfig.dropdownValues !== undefined)\n this._dropdownValues = [];\n if (this.criptografado) {\n this.showPassword = !this.showPassword;\n }\n this.focus();\n if (this.isFocused && this.inputConfig && this.inputConfig.pesqFunc){\n this.inputConfig.pesqFunc(undefined);\n }\n else if (this.inputConfig && this.inputConfig.pesqFunc) {\n if (this.inputConfig.showButtonFunc !== undefined) {\n if (this.inputConfig.showButtonFunc(true, this.gridRow)){\n this.inputConfig.pesqFunc(undefined);\n }\n }\n }\n if (this.isFocused && this.inputConfig && this.inputConfig.addFunc) {\n this.inputConfig.addFunc(undefined);\n }\n else if (this.inputConfig && this.inputConfig.addFunc) {\n if (this.inputConfig.showButtonFunc !== undefined) {\n if (this.inputConfig.showButtonFunc(true, this.gridRow)){\n this.inputConfig.addFunc(undefined);\n }\n }\n }\n }\n\n clickButtonClear(event) {\n this.focus();\n if (this.isFocused && this.inputConfig && this.inputConfig.pesqFunc) {\n this.value = \"\";\n this.inputConfig.pesqFunc(this);\n }\n if (this.isFocused && this.inputConfig && this.inputConfig.addFunc) {\n this.value = \"\";\n this.inputConfig.addFunc(this);\n\n }\n }\n\n getIconButton() {\n let icone: string = \"\";\n if (this.iconButton instanceof Function) icone = this.iconButton();\n else icone = this.iconButton;\n if (this.criptografado) {\n if (this.showPassword) icone = \"visibility_off\";\n else icone = \"visibility\";\n }\n return icone;\n }\n\n showButton() {\n let r: boolean = false;\n if (!this.getDisabled()) {\n if (\n this.dropdownValues().length == 0 &&\n this.inputConfig &&\n this.inputConfig.dropdownValues !== undefined\n )\n r = false;\n else {\n if (this.criptografado) r = true;\n else r = this.iconButton !== \"\";\n }\n }\n if (this.inputConfig && this.inputConfig.showButtonFunc !== undefined)\n r = this.inputConfig.showButtonFunc(r, this.gridRow);\n return r;\n }\n\n showButtonClear() {\n let r: boolean = false;\n if (\n !this.getDisabled() &&\n this.inputConfig &&\n this.inputConfig.isPesqOnly(this.gridRow) &&\n this.inputConfig.showButtonClear\n )\n r = true;\n return r;\n }\n\n getCaptionText() {\n let s = \"\";\n if (this.caption instanceof Function) s = this.caption();\n else s = this.caption;\n return s;\n }\n\n getCaption() {\n let s = \"\";\n if (this.visiblecaption) {\n s = this.getCaptionText();\n if (this.required && !this.getDisabled()) {\n s += \" *\";\n }\n }\n return s;\n }\n\n get errorMessage() {\n if (this.inputConfig)\n return this.inputConfig.valid(this.value, !this.isFocused, this.gridRow);\n else return \"\";\n }\n\n get isFocused() {\n let r: boolean = false;\n let element: any = this.getElement();\n if (element && document.activeElement) {\n r = document.activeElement.id === element.id;\n }\n return r;\n }\n\n focus() {\n let element = this.getElement();\n if (element) element.focus();\n }\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n onFocus() {\n this.onEnterInput.emit(this);\n if (this.inputConfig) {\n if (this.inputConfig.form) this.inputConfig.form.focusedComponent = this;\n if (this.inputConfig.onEnter) this.inputConfig.onEnter(this);\n }\n if (this.mask.length > 0 || this.isDoubleField()) {\n let element = this.getElement();\n }\n }\n\n onBlur() {\n this.primeiroClick = true;\n this.value = CMInputConfig.trimValue(this.value);\n let padInfo = undefined;\n if (this.inputConfig) {\n padInfo = this.inputConfig.padInfo;\n } else {\n padInfo = this.padInfo;\n }\n if (padInfo !== undefined) {\n let v = CMInputConfig.pad(\n this.value,\n padInfo.size,\n padInfo.char,\n padInfo.left\n );\n if (CMInputConfig.trimValue(v) === \"\") this.value = \"\";\n else this.value = v;\n }\n if (this.inputConfig) {\n if (this.inputConfig.form)\n this.inputConfig.form.focusedComponent = undefined;\n if (\n padInfo === undefined &&\n this.inputConfig.dataType.startsWith(\"double\")\n ) {\n let num: number = CMInputConfig.valueToFloat(this.value, 0);\n if (num > 0) {\n let dec: number = CMInputConfig.valueToInteger(\n this.inputConfig.dataType.split(\"(\")[1].split(\")\")[0],\n 0\n );\n if (dec > 0) this.value = num.toFixed(dec).replace(\".\", \",\");\n }\n }\n }\n this.onTouchedCallback();\n if (this.inputConfig) {\n if (\n !this.inputConfig.isPesqOnly(this.gridRow) &&\n this.inputConfig.execPesqOnlyOnExit &&\n this.inputConfig.pesqFunc\n ){\n this.inputConfig.pesqFunc(this);\n }\n if (this.valid) {\n if (this.inputConfig.onExit) this.inputConfig.onExit(this);\n }\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.value = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n getActive() {\n return !this.isEmpty;\n }\n\n getBottomLabel() {\n let r: string = \"\";\n if (this.valid) {\n if (this.inputConfig && this.inputConfig.getBottomLabelFunc !== undefined)\n r = this.inputConfig.getBottomLabelFunc();\n else r = this.bottomLabel;\n } else r = this.errorMessage;\n return r;\n }\n\n getActiveLabel() {\n let r: boolean = this.labelEverActive;\n if (!r) {\n if (this.inputConfig && this.inputConfig.isPesqOnly(this.gridRow))\n r = !this.isEmpty;\n else r = !this.isEmpty || this.isFocused;\n }\n return r;\n }\n\n setDropdownValues(event, value) {\n this.value = value;\n if (this.dropdownValues().length > 0) this.focus();\n }\n\n _dropdownValues = [];\n dropdownValues() {\n if (\n this._dropdownValues.length == 0 &&\n this.inputConfig &&\n this.inputConfig.dropdownValues !== undefined\n ) {\n let r: Object[] = [];\n if (this.inputConfig.dropdownValues instanceof Function)\n r = this.inputConfig.dropdownValues(this.gridRow);\n else r = this.inputConfig.dropdownValues;\n this._dropdownValues = r;\n }\n return this._dropdownValues;\n }\n}\n","// tslint:disable\r\nimport { Input, forwardRef, Component } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n\r\nimport {\r\n CMInputComponent,\r\n CMInputComponent_props,\r\n CMOutputComponent_props,\r\n} from \"./cminput.component\";\r\nimport { CMInput } from \"../../decorator\";\r\nimport * as M from \"materialize-css/dist/js/materialize\";\r\n\r\nexport const CMMEMO_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CMMemoComponent),\r\n multi: true,\r\n};\r\n\r\n@Component({\r\n selector: \"cmmemo\",\r\n templateUrl: \"cmmemo.component.html\",\r\n styleUrls: [\"./cminput.component.scss\"],\r\n providers: [CMMEMO_CONTROL_VALUE_ACCESSOR],\r\n inputs: CMInputComponent_props,\r\n outputs: CMOutputComponent_props,\r\n})\r\nexport class CMMemoComponent extends CMInputComponent {\r\n @Input()\r\n @CMInput()\r\n autoSizeOnLoad: boolean = true;\r\n\r\n protected onSetValue(oldValue: any, newValue: any) {\r\n super.onSetValue(oldValue, newValue);\r\n if (this.autoSizeOnLoad) {\r\n if (oldValue !== newValue) this.setCheckAutoSize();\r\n }\r\n }\r\n\r\n checkAutoSize: any = undefined;\r\n clearCheckAutoSize() {\r\n if (this.checkAutoSize) {\r\n clearInterval(this.checkAutoSize);\r\n this.checkAutoSize = undefined;\r\n }\r\n }\r\n setCheckAutoSize() {\r\n if (!this.checkAutoSize) {\r\n this.checkAutoSize = setInterval(() => {\r\n this.checkAutoSizeFn();\r\n }, 1000);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.clearCheckAutoSize();\r\n }\r\n\r\n checkAutoSizeFn() {\r\n let textarea = $(\"#\" + this.name);\r\n if (textarea) {\r\n if (textarea.width() > 0) {\r\n this.clearCheckAutoSize();\r\n M.textareaAutoResize(textarea);\r\n }\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Input, forwardRef, OnInit, Component } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n\r\nimport {\r\n CMInputComponent,\r\n CMInputComponent_props,\r\n CMOutputComponent_props,\r\n} from \"./cminput.component\";\r\n\r\nexport const CMSELECT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CMSelectComponent),\r\n multi: true,\r\n};\r\n\r\n@Component({\r\n selector: \"cmselect\",\r\n templateUrl: \"cmselect.component.html\",\r\n styleUrls: [\"./cminput.component.scss\"],\r\n providers: [CMSELECT_CONTROL_VALUE_ACCESSOR],\r\n inputs: CMInputComponent_props,\r\n outputs: CMOutputComponent_props,\r\n})\r\nexport class CMSelectComponent extends CMInputComponent implements OnInit {\r\n @Input()\r\n options = [];\r\n\r\n getActive() {\r\n return true;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n if (this.inputConfig !== null) {\r\n this.options = this.inputConfig.values;\r\n }\r\n }\r\n\r\n getDisabledOption(option) {\r\n let r: boolean = false;\r\n if (option && option.disabled !== undefined) r = option.disabled;\r\n if (option && option.disabledFunc !== undefined) r = option.disabledFunc();\r\n return r;\r\n }\r\n}\r\n","export * from './cminput.component';\r\nexport * from './cminput-validator';\r\nexport * from './cmcheckbox.component';\r\nexport * from './cmselect.component';\r\nexport * from './cmmemo.component';","// tslint:disable\r\nimport { Component, Input } from '@angular/core';\r\n\r\nimport { CMInput } from '../../decorator';\r\n\r\n@Component({\r\n selector: 'cmlayout',\r\n template: `\r\n
    \r\n \r\n
    \r\n `\r\n})\r\nexport class CMLayoutComponent {\r\n @Input()\r\n @CMInput()\r\n visible: boolean = true;\r\n\r\n @Input()\r\n style: string = '';\r\n\r\n @Input()\r\n width: string = '';\r\n\r\n @Input()\r\n height: string = '';\r\n\r\n getStyle() {\r\n let r: string = '';\r\n if (this.width !== '')\r\n r += 'width: '+this.width+';';\r\n if (this.height !== '')\r\n r += 'height: '+this.height+';';\r\n return r;\r\n }\r\n\r\n}","export * from './cmlayout.component';","export default \".striping:nth-child(odd) {\\n background: var(--primary-base-color-lighten-5);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21saXN0Y2hlY2tib3gvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbWxpc3RjaGVja2JveFxcY21saXN0Y2hlY2tib3guY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtbGlzdGNoZWNrYm94L2NtbGlzdGNoZWNrYm94LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsK0NBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtbGlzdGNoZWNrYm94L2NtbGlzdGNoZWNrYm94LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN0cmlwaW5nOm50aC1jaGlsZChvZGQpIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItbGlnaHRlbi01KTtcclxufSIsIi5zdHJpcGluZzpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1saWdodGVuLTUpO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Input, ViewChildren, QueryList, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\n\r\nimport { CMInput } from '../../decorator';\r\nimport { CMCheckBoxComponent, CMInputComponent } from '../../component';\r\nimport { CMFormComponent } from '../../component/cmform/cmform.component';\r\n\r\nexport class CMListCheckBoxConfig {\r\n public required: boolean = true;\r\n public caption: string = '';\r\n public form: CMFormComponent = null;\r\n public list = [];\r\n public listFunc: Function = undefined;\r\n public propId: string = 'id';\r\n public propValue: string = '';\r\n public subProp: string = '';\r\n public columns: number = 3;\r\n public onSelect: Function = undefined;\r\n public onUnSelect: Function = undefined;\r\n public nodeList: CMListCheckBoxConfig = undefined;\r\n public visibleFunc: Function = undefined;\r\n public onGetValue: Function = undefined;\r\n public onSetValue: Function = undefined;\r\n public showBorder: boolean = true;\r\n public striping: boolean = false;\r\n public listCheckBox: CMListCheckBoxComponent = null;\r\n\r\n private InnerDisabled: boolean = false;\r\n get disabled() {\r\n let r: boolean = this.InnerDisabled;\r\n if (!r) {\r\n if (this.form)\r\n {\r\n if (this.form.disabledAll !== undefined)\r\n r = this.form.disabledAll;\r\n }\r\n }\r\n return r;\r\n }\r\n set disabled(value: boolean) {\r\n this.InnerDisabled = value;\r\n }\r\n\r\n isSelected(item) {\r\n if (this.listCheckBox)\r\n return this.listCheckBox.isSelected(item);\r\n else\r\n return '';\r\n }\r\n\r\n constructor (data?: any) {\r\n if (data) {\r\n if (data.form !== undefined)\r\n this.form = data.form;\r\n if (data.required !== undefined)\r\n this.required = data.required;\r\n if (data.caption !== undefined)\r\n this.caption = data.caption;\r\n if (data.disabled !== undefined)\r\n this.disabled = data.disabled;\r\n if (data.list !== undefined)\r\n this.list = data.list;\r\n if (data.listFunc !== undefined)\r\n this.listFunc = data.listFunc;\r\n if (data.propId !== undefined)\r\n this.propId = data.propId;\r\n if (data.propValue !== undefined)\r\n this.propValue = data.propValue;\r\n if (data.subProp !== undefined)\r\n this.subProp = data.subProp;\r\n if (data.columns !== undefined)\r\n this.columns = data.columns;\r\n if (data.onSelect !== undefined)\r\n this.onSelect = data.onSelect;\r\n if (data.onUnSelect !== undefined)\r\n this.onUnSelect = data.onUnSelect;\r\n if (data.nodeList !== undefined)\r\n this.nodeList = data.nodeList;\r\n if (data.visibleFunc !== undefined)\r\n this.visibleFunc = data.visibleFunc;\r\n if (data.onGetValue !== undefined)\r\n this.onGetValue = data.onGetValue;\r\n if (data.onSetValue !== undefined)\r\n this.onSetValue = data.onSetValue;\r\n if (data.showBorder !== undefined)\r\n this.showBorder = data.showBorder;\r\n if (data.striping !== undefined)\r\n this.striping = data.striping;\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const CMLISTCHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CMListCheckBoxComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'cmlistcheckbox',\r\n templateUrl: './cmlistcheckbox.component.html',\r\n styleUrls: ['./cmlistcheckbox.component.scss'],\r\n providers: [CMLISTCHECKBOX_CONTROL_VALUE_ACCESSOR],\r\n})\r\nexport class CMListCheckBoxComponent implements ControlValueAccessor {\r\n\r\n private onTouchedCallback: () => void = () => {};\r\n private onChangeCallback: (_: any) => void = () => {};\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n private _listConfig: CMListCheckBoxConfig = null;\r\n @Input()\r\n get listConfig() {\r\n return this._listConfig;\r\n };\r\n set listConfig(value) {\r\n if (this._listConfig)\r\n this._listConfig.listCheckBox = null;\r\n this._listConfig = value;\r\n if (this._listConfig)\r\n this._listConfig.listCheckBox = this;\r\n };\r\n\r\n @ViewChildren(CMCheckBoxComponent)\r\n items: QueryList;\r\n\r\n @ViewChildren(CMListCheckBoxComponent)\r\n nodes: QueryList;\r\n\r\n @Input()\r\n parentList: CMListCheckBoxConfig = null;\r\n\r\n @Input()\r\n nodeItem: any;\r\n nodeValue: any;\r\n\r\n innerList = [];\r\n @Input()\r\n get list() {\r\n if (this.listConfig) {\r\n if (this.listConfig.listFunc !== undefined)\r\n return this.listConfig.listFunc(this.nodeItem, this.nodeValue);\r\n else\r\n return this.listConfig.list;\r\n }\r\n else\r\n return this.innerList;\r\n }\r\n set list(value: any) {\r\n if (this.listConfig) {\r\n if (this.listConfig.listFunc === undefined)\r\n this.listConfig.list = value;\r\n }\r\n else\r\n this.innerList = value;\r\n }\r\n @Input() propId: string = 'id';\r\n @Input() propValue: string = '';\r\n @Input() subProp: string = '';\r\n @Input() columns: number = 3;\r\n @Input()\r\n @CMInput()\r\n disabled: boolean = false;\r\n getDisabled() {\r\n if (this.listConfig)\r\n return this.listConfig.disabled;\r\n else\r\n return this.disabled;\r\n }\r\n\r\n _innerValue: any;\r\n\r\n get value() {\r\n if ((this.listConfig) && (this.listConfig.onGetValue !== undefined))\r\n return this.listConfig.onGetValue(this.nodeItem, this.nodeValue);\r\n else\r\n return this._innerValue;\r\n }\r\n @Input()\r\n set value(value: any) {\r\n if ((this.listConfig) && (this.listConfig.onSetValue !== undefined))\r\n this.listConfig.onSetValue(this.nodeItem, this.nodeValue, value);\r\n else\r\n this._innerValue = value;\r\n }\r\n\r\n isSelected(item) {\r\n let v = undefined;\r\n if (this.value !== undefined) {\r\n for (let i = 0; i < this.value.length; i++) {\r\n if (this.getSubPropId(this.value[i]) == this.getId(item)) {\r\n v = this.value[i];\r\n break;\r\n }\r\n }\r\n this.checkNodeValues(item, v);\r\n if (v !== undefined)\r\n return 'Sim';\r\n else\r\n return 'Não';\r\n }\r\n else\r\n return '';\r\n }\r\n\r\n indexItem(value: any) {\r\n let i = -1;\r\n if (this.value) {\r\n this.value.forEach(item => {\r\n if (this.getSubPropId(item) === value) {\r\n i = this.value.indexOf(item);\r\n }\r\n });\r\n }\r\n return i;\r\n }\r\n\r\n selectItem(_item, value) {\r\n let i = this.indexItem(this.getId(_item));\r\n const v = (value+\"\").toLowerCase();\r\n if (v !== '') {\r\n let item: any;\r\n if (this.subProp === '')\r\n item = _item;\r\n else {\r\n item = {};\r\n item[this.subProp] = _item;\r\n }\r\n if (v === 'Sim'.toLowerCase()) {\r\n if (i === -1) {\r\n this.value.push(item);\r\n if (this.listConfig !== null) {\r\n if (this.listConfig.onSelect !== undefined)\r\n this.listConfig.onSelect(item);\r\n }\r\n this.checkNodeValues(_item, item);\r\n }\r\n }\r\n else {\r\n if (i === -1){\r\n this.value.splice(i, 1);\r\n if (this.listConfig !== null) {\r\n if (this.listConfig.onUnSelect !== undefined)\r\n this.listConfig.onUnSelect(item);\r\n }\r\n }\r\n this.checkNodeValues(_item, undefined);\r\n }\r\n }\r\n }\r\n\r\n checkNodeValues(nodeItem, nodeValue) {\r\n if (this.nodes) {\r\n this.nodes.forEach(n => {\r\n n.checkNodeValue(nodeItem, nodeValue);\r\n })\r\n }\r\n }\r\n\r\n checkNodeValue(nodeItem, nodeValue) {\r\n if (this.nodeItem == nodeItem)\r\n this.nodeValue = nodeValue;\r\n }\r\n\r\n getCaption(item: any) {\r\n if ((this.propValue !== '') && (item[this.propValue]))\r\n return item[this.propValue];\r\n else\r\n return item;\r\n }\r\n\r\n getId(item: any) {\r\n if (item && item[this.propId])\r\n return item[this.propId];\r\n else\r\n return item;\r\n }\r\n\r\n getSubPropId(item: any) {\r\n if (item && item[this.subProp])\r\n return this.getId(item[this.subProp]);\r\n else\r\n return this.getId(item);\r\n }\r\n\r\n getColumns() {\r\n return Math.floor(12 / this.columns);\r\n }\r\n\r\n ngOnInit() {\r\n if (this.listConfig !== null) {\r\n this.disabled = this.listConfig.disabled;\r\n this.propId = this.listConfig.propId;\r\n this.propValue = this.listConfig.propValue;\r\n this.subProp = this.listConfig.subProp;\r\n this.columns = this.listConfig.columns;\r\n }\r\n }\r\n\r\n get nodeList() {\r\n let r: CMListCheckBoxConfig = undefined;\r\n if (this.listConfig !== null)\r\n r = this.listConfig.nodeList;\r\n return r;\r\n }\r\n\r\n get visible() {\r\n let r = true;\r\n if ((this.listConfig !== null) && (this.listConfig.visibleFunc !== undefined))\r\n r = this.listConfig.visibleFunc(this.nodeItem, this.nodeValue);\r\n return r;\r\n }\r\n\r\n get showBorder() {\r\n let r = true;\r\n if (this.listConfig !== null)\r\n r = this.listConfig.showBorder;\r\n return r;\r\n }\r\n\r\n get striping() {\r\n let r = false;\r\n if (this.listConfig !== null)\r\n r = this.listConfig.striping;\r\n return r;\r\n }\r\n\r\n}","export * from './cmlistcheckbox.component';","// tslint:disable\nimport { Component, Input } from '@angular/core';\n\nimport { CMInput } from '../../decorator';\nimport { CMMenuComponent } from './cmmenu.component';\n\n@Component({\n selector: 'cmmenu-item',\n template: ''\n})\nexport class CMMenuItemComponent {\n\n @Input() text: string = '';\n @Input() ordem: number = 0;\n @Input() mobileText: string = undefined;\n @Input() href: string = '';\n @Input() routerLink: string = '';\n @Input() icone: string = '';\n @Input() mobileIcone: string = undefined;\n @Input() icone_class: string = '';\n\n @Input()\n @CMInput()\n visible: boolean = true;\n\n @Input()\n @CMInput()\n showDesktop: boolean = true;\n\n @Input()\n @CMInput()\n showMobile: boolean = true;\n\n constructor(private menu: CMMenuComponent) {}\n\n ngOnInit() {\n this.menu.addItem(this);\n }\n\n getMobileText() {\n if (this.mobileText !== undefined) {\n return this.mobileText;\n }\n else {\n return this.text;\n }\n }\n\n getMobileIcone() {\n if (this.mobileIcone !== undefined) {\n return this.mobileIcone;\n }\n else {\n return this.icone;\n }\n }\n\n}\n","export default \"svg.btnvoltar {\\n fill: #444;\\n}\\n\\nul li hr.separador-top {\\n margin-top: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21tZW51L0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY21tZW51XFxjbW1lbnUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtbWVudS9jbW1lbnUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxVQUFBO0FDQ0Y7O0FEQ0E7RUFDRSxhQUFBO0FDRUYiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbW1lbnUvY21tZW51LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsic3ZnLmJ0bnZvbHRhciB7XHJcbiAgZmlsbDogIzQ0NDtcclxufVxyXG51bCBsaSBoci5zZXBhcmFkb3ItdG9wIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbiIsInN2Zy5idG52b2x0YXIge1xuICBmaWxsOiAjNDQ0O1xufVxuXG51bCBsaSBoci5zZXBhcmFkb3ItdG9wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn0iXX0= */\"","// tslint:disable\nimport { Component, OnInit, Input, HostListener } from \"@angular/core\";\n\nimport { CMInputComponent } from \"../../component\";\nimport { CMInput } from \"../../decorator\";\nimport { CMMenuItemComponent } from \"./cmmenu-item.component\";\n\ndeclare var $: any;\n\n@Component({\n selector: \"cmmenu\",\n templateUrl: \"./cmmenu.component.html\",\n styleUrls: [\"./cmmenu.component.scss\"],\n})\nexport class CMMenuComponent implements OnInit {\n @Input()\n @CMInput()\n usaMenuMobile: boolean = true;\n\n @Input()\n @CMInput()\n fixed: boolean = true;\n\n @Input()\n additionalClass: string = \"\";\n\n @Input()\n @CMInput()\n paddingLeft: number = 0;\n\n @Input()\n @CMInput()\n paddingRight: number = 0;\n\n @Input()\n @CMInput()\n minHeightDesktop: string = \"\";\n\n @Input()\n @CMInput()\n maxWidthDesktop: string = \"\";\n\n @Input()\n name: string = \"cmmenu_\" + CMInputComponent.nextGlobalId().toString();\n\n getStyles() {\n let styles = {};\n if (this.IsShowMenuDesktop()) {\n if (this.minHeightDesktop !== \"\")\n styles[\"min-height\"] = this.minHeightDesktop;\n if (this.maxWidthDesktop !== \"\")\n styles[\"max-width\"] = this.maxWidthDesktop;\n }\n return styles;\n }\n\n getMobileId() {\n return \"mobile_\" + this.name;\n }\n\n static windowWidth: number = window.innerWidth;\n static windowHeight: number = window.innerHeight;\n\n private setWindowWidth(value) {\n CMMenuComponent.windowWidth = value;\n }\n private setWindowHeight(value) {\n CMMenuComponent.windowHeight = value;\n }\n\n public items: CMMenuItemComponent[] = [];\n\n constructor() {}\n\n @HostListener(\"window:resize\", [\"$event\"])\n onResize(event) {\n try {\n this.setWindowWidth(document.getElementsByTagName(\"body\")[0].clientWidth);\n this.setWindowHeight(\n document.getElementsByTagName(\"body\")[0].clientHeight\n );\n } catch (error) {\n this.setWindowWidth(window.innerWidth);\n this.setWindowHeight(window.innerHeight);\n }\n }\n\n ngOnInit() {\n if (this.usaMenuMobile) {\n setTimeout(() => {\n $(\".sidenav\").sidenav({\n draggable: true, // Choose whether you can drag to open on touch screens\n });\n }, 1000);\n }\n }\n\n static inDesktop(usaMenuMobile: boolean = true) {\n if (usaMenuMobile) return CMMenuComponent.windowWidth > 992;\n else return true;\n }\n\n IsShowMenuDesktop() {\n return CMMenuComponent.inDesktop(this.usaMenuMobile);\n }\n\n addItem(item: CMMenuItemComponent) {\n this.items.push(item);\n if (item.ordem !== 0) this.items.sort((a, b) => a.ordem - b.ordem);\n }\n}\n","export * from './cmmenu.component';\r\nexport * from './cmmenu-item.component';\r\n","export default \".cmcard-nomargin {\\n margin: 0px;\\n}\\n\\n.cmcard {\\n padding: 0px;\\n}\\n\\n.cmcard .cmcard-content {\\n padding: 5px;\\n}\\n\\n.cmcard .cmcard-content .cmcard-title {\\n padding-left: 10px;\\n}\\n\\n.panelHelpText {\\n position: absolute;\\n right: 0;\\n top: 0;\\n margin-right: 10px;\\n cursor: pointer;\\n}\\n\\n.nav-grid {\\n height: 3em;\\n line-height: 3em;\\n background: #fff;\\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);\\n display: block;\\n}\\n\\n.nav-grid .titulo {\\n padding-left: 10px;\\n color: #393737;\\n font-size: 1.1em;\\n}\\n\\n.nav-grid .titulo-more {\\n color: #fff;\\n}\\n\\n.wapper-right-bt {\\n padding-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21wYW5lbC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxjb21wb25lbnRcXGNtcGFuZWxcXGNtcGFuZWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtcGFuZWwvY21wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7QUNDRjs7QURFQTtFQUNFLFlBQUE7QUNDRjs7QURDRTtFQUNFLFlBQUE7QUNDSjs7QURDSTtFQUNFLGtCQUFBO0FDQ047O0FESUE7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxNQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDREY7O0FESUE7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLDRFQUFBO0VBQ0EsY0FBQTtBQ0RGOztBREdFO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7QUNESjs7QURJRTtFQUNFLFdBQUE7QUNGSjs7QURNQTtFQUNFLGtCQUFBO0FDSEYiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbXBhbmVsL2NtcGFuZWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21jYXJkLW5vbWFyZ2luIHtcclxuICBtYXJnaW46IDBweDtcclxufVxyXG5cclxuLmNtY2FyZCB7XHJcbiAgcGFkZGluZzogMHB4O1xyXG5cclxuICAuY21jYXJkLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG5cclxuICAgIC5jbWNhcmQtdGl0bGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFuZWxIZWxwVGV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubmF2LWdyaWQge1xyXG4gIGhlaWdodDogM2VtO1xyXG4gIGxpbmUtaGVpZ2h0OiAzZW07XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAudGl0dWxvIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGNvbG9yOiAjMzkzNzM3O1xyXG4gICAgZm9udC1zaXplOiAxLjFlbTtcclxuICB9XHJcblxyXG4gIC50aXR1bG8tbW9yZSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi53YXBwZXItcmlnaHQtYnQge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxufVxyXG4iLCIuY21jYXJkLW5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5jbWNhcmQge1xuICBwYWRkaW5nOiAwcHg7XG59XG4uY21jYXJkIC5jbWNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5jbWNhcmQgLmNtY2FyZC1jb250ZW50IC5jbWNhcmQtdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5wYW5lbEhlbHBUZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5hdi1ncmlkIHtcbiAgaGVpZ2h0OiAzZW07XG4gIGxpbmUtaGVpZ2h0OiAzZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdi1ncmlkIC50aXR1bG8ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjMzkzNzM3O1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuLm5hdi1ncmlkIC50aXR1bG8tbW9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ud2FwcGVyLXJpZ2h0LWJ0IHtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\nimport { CMInput } from \"../../decorator\";\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridConfig,\r\n} from \"../../component\";\r\n\r\nexport class CMPanelConfigMore {\r\n constructor(data) {\r\n if (data.title) this.title = data.title;\r\n if (data.maxWidth) this.maxWidth = data.maxWidth;\r\n if (data.onSave) this.onSave = data.onSave;\r\n if (data.onCancel) this.onCancel = data.onCancel;\r\n if (data.onOpen) this.onOpen = data.onOpen;\r\n if (data.onAction) this.onAction = data.onAction;\r\n if (data.onClick) this.onClick = data.onClick;\r\n if (data.allowCancel) this.allowCancel = data.allowCancel;\r\n if (data.showAction1) this.showAction1 = data.showAction1;\r\n if (data.hintAction1) this.hintAction1 = data.hintAction1;\r\n if (data.iconAction1) this.iconAction1 = data.iconAction1;\r\n }\r\n\r\n maxWidth: string = \"inherit\";\r\n title: string;\r\n getTitle() {\r\n return this.title;\r\n }\r\n\r\n onSave: Function = undefined;\r\n onAction: Function = undefined;\r\n onCancel: Function = undefined;\r\n onOpen: Function = undefined;\r\n onClick: Function = undefined;\r\n\r\n index: number = 0;\r\n allowCancel: boolean = true;\r\n showAction1: boolean = false;\r\n hintAction1: string = \"\";\r\n iconAction1: string = \"\";\r\n showning: boolean = false;\r\n}\r\n\r\n@Component({\r\n selector: \"cmpanel\",\r\n templateUrl: \"cmpanel.component.html\",\r\n styleUrls: [\"./cmpanel.component.scss\"],\r\n})\r\nexport class CMPanelComponent {\r\n public panelName: string = \"panel_\" + CMGridConfig.newId();\r\n\r\n @Input()\r\n caption: string = \"\";\r\n\r\n @Input()\r\n helpIcon: string = \"help\";\r\n\r\n @Input()\r\n helpText: string = \"\";\r\n\r\n @Input()\r\n helpHint: string = \"\";\r\n\r\n @Input()\r\n @CMInput()\r\n nomargin: boolean = false;\r\n\r\n @Input()\r\n @CMInput()\r\n hideCaption: boolean = false;\r\n\r\n @Input()\r\n configExtra0: CMPanelConfigMore = undefined;\r\n\r\n @Input()\r\n @CMInput()\r\n visible: boolean = true;\r\n\r\n @Input()\r\n @CMInput()\r\n showBorder: boolean = true;\r\n\r\n getTitle() {\r\n let s = this.caption;\r\n return s;\r\n }\r\n\r\n showCaption() {\r\n return this.getTitle() !== \"\";\r\n }\r\n\r\n showHelpText() {\r\n return this.helpText !== \"\" || this.helpIcon !== \"help\";\r\n }\r\n\r\n clickHelpText() {\r\n if (this.configExtra0 !== undefined) {\r\n this.currentExtra = this.configExtra0;\r\n this.openExtraRow();\r\n } else {\r\n let msg =\r\n '

    ' +\r\n this.helpText +\r\n \"

    \";\r\n CMFormGlobaisComponent.showMessage(this.getTitle(), msg);\r\n }\r\n }\r\n\r\n @Input() height: string = \"\";\r\n @Input() minHeight: string = \"\";\r\n @Input() width: string = \"\";\r\n @Input() maxWidth: string = \"\";\r\n @Input() margin: string = \"\";\r\n @Input() marginTop: string = \"\";\r\n @Input() marginBottom: string = \"\";\r\n @Input() overflowY: string = \"\";\r\n @Input() position: string = \"\";\r\n @Input() bottom: string = \"\";\r\n @Input() boxShadow: string = \"\";\r\n\r\n getStyle() {\r\n let r: string = \"\";\r\n if (this.height !== \"\") r += \"height: \" + this.height + \";\";\r\n if (this.width !== \"\") r += \"width: \" + this.width + \";\";\r\n if (this.minHeight !== \"\") r += \"min-height: \" + this.minHeight + \";\";\r\n if (this.maxWidth !== \"\") r += \"max-width: \" + this.maxWidth + \";\";\r\n if (this.margin !== \"\") r += \"margin: \" + this.margin + \";\";\r\n if (this.marginTop !== \"\") r += \"margin-top: \" + this.marginTop + \";\";\r\n if (this.marginBottom !== \"\")\r\n r += \"margin-bottom: \" + this.marginBottom + \";\";\r\n if (this.overflowY !== \"\") r += \"overflow-y: \" + this.overflowY + \";\";\r\n if (this.position !== \"\") r += \"position: \" + this.position + \";\";\r\n if (this.bottom !== \"\") r += \"bottom: \" + this.bottom + \";\";\r\n if (this.boxShadow !== \"\") r += \"box-shadow: \" + this.boxShadow + \";\";\r\n return r;\r\n }\r\n\r\n openExtraRow() {\r\n if (this.currentExtra.onClick !== undefined) this.currentExtra.onClick();\r\n else {\r\n CMFormModalComponent.open(\"extra_\" + this.panelName, () => {\r\n this.configExtra0.showning = true;\r\n if (this.configExtra0.onOpen !== undefined) {\r\n this.configExtra0.onOpen();\r\n }\r\n });\r\n }\r\n }\r\n\r\n currentExtra: CMPanelConfigMore = undefined;\r\n extraClick(extra) {\r\n if (this.currentExtra == undefined) {\r\n this.currentExtra = extra;\r\n this.openExtraRow();\r\n }\r\n }\r\n\r\n closeExtraRow(action: string) {\r\n let r = true;\r\n if (action == \"save\") {\r\n if (this.configExtra0.onSave !== undefined)\r\n r = this.configExtra0.onSave();\r\n }\r\n if (action == \"cancel\") {\r\n if (this.configExtra0.onCancel !== undefined)\r\n this.configExtra0.onCancel();\r\n }\r\n if (action.startsWith(\"action\")) {\r\n if (this.configExtra0.onAction !== undefined)\r\n r = this.configExtra0.onAction(action);\r\n }\r\n if (r) {\r\n CMFormModalComponent.close(\"extra_\" + this.panelName);\r\n this.configExtra0.showning = false;\r\n this.currentExtra = undefined;\r\n }\r\n }\r\n}\r\n","export * from './cmpanel.component';","export default \".cmrow {\\n margin-bottom: 10px;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY21yb3cvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcQGNtY29yZVxcY29tcG9uZW50XFxjbXJvd1xcY21yb3cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2Ntcm93L2Ntcm93LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2NvbXBvbmVudC9jbXJvdy9jbXJvdy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbXJvdyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuIiwiLmNtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cmrow\",\r\n templateUrl: \"cmrow.component.html\",\r\n styleUrls: [\"./cmrow.component.scss\"],\r\n})\r\nexport class CMRowComponent {\r\n @Input() background: string = \"\";\r\n @Input() padding: string = \"\";\r\n @Input() paddingtop: string = \"\";\r\n @Input() marginbottom: string = \"\";\r\n @Input() margintop: string = \"\";\r\n @Input() marginleft: string = \"\";\r\n @Input() marginright: string = \"\";\r\n @Input() height: string = \"\";\r\n @Input() minHeight: string = \"\";\r\n @Input() width: string = \"\";\r\n @Input() classRow: string = \"\";\r\n @Input() textAlign: string = \"\";\r\n @Input() display: string = \"\";\r\n @Input() visible: boolean = true;\r\n @Input() defaultClassRow: string = \"row\";\r\n\r\n getStyle() {\r\n let r: string = \"\";\r\n if (this.display !== \"\") r += \"display: \" + this.display + \";\";\r\n if (this.textAlign !== \"\") r += \"text-align: \" + this.textAlign + \";\";\r\n if (this.height !== \"\") r += \"height: \" + this.height + \";\";\r\n if (this.minHeight !== \"\") r += \"min-height: \" + this.minHeight + \";\";\r\n if (this.width !== \"\") r += \"width: \" + this.width + \";\";\r\n if (this.background !== \"\") r += \"background: \" + this.background + \";\";\r\n if (this.padding !== \"\") r += \"padding: \" + this.padding + \";\";\r\n if (this.paddingtop !== \"\") r += \"padding-top: \" + this.paddingtop + \";\";\r\n if (this.marginbottom !== \"\")\r\n r += \"margin-bottom: \" + this.marginbottom + \";\";\r\n if (this.marginleft !== \"\") r += \"margin-left: \" + this.marginleft + \";\";\r\n if (this.marginright !== \"\") r += \"margin-right: \" + this.marginright + \";\";\r\n if (this.margintop !== \"\") r += \"margin-top: \" + this.margintop + \";\";\r\n return r;\r\n }\r\n}\r\n","export * from './cmrow.component';","// tslint:disable\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\nimport { CMTabsComponent } from \"./cmtabs.component\";\r\nimport { CMInput } from \"../../decorator\";\r\n\r\n@Component({\r\n selector: \"cmtab\",\r\n styles: [\r\n `\r\n .cmtab-padding {\r\n padding: 1em;\r\n }\r\n .cmtab-hide {\r\n position: fixed;\r\n top: -30000px;\r\n width: 10px;\r\n opacity: 0;\r\n z-index: -100;\r\n }\r\n `,\r\n ],\r\n template: `\r\n
    \r\n \r\n
    \r\n `,\r\n})\r\nexport class CMTabComponent implements OnInit {\r\n @Input()\r\n caption: string = \"\";\r\n\r\n @Input()\r\n @CMInput()\r\n visible: boolean = true;\r\n\r\n @Input()\r\n @CMInput()\r\n autoPadding: boolean = true;\r\n\r\n @Input()\r\n innerClass: string = \"\";\r\n\r\n @Output()\r\n onActive: EventEmitter = new EventEmitter();\r\n\r\n private innerActive = false;\r\n @Input()\r\n get active() {\r\n return this.innerActive;\r\n }\r\n set active(value: boolean) {\r\n if (value) this.owner.tabs.forEach((tab) => (tab.innerActive = false));\r\n this.innerActive = value;\r\n if (value) this.onActive.emit(this);\r\n }\r\n\r\n constructor(private owner: CMTabsComponent) {}\r\n\r\n ngOnInit() {\r\n this.owner.addTab(this);\r\n }\r\n}\r\n","export default \"ul.cmtab {\\n list-style-type: none;\\n margin: 0;\\n padding: 0;\\n overflow: hidden;\\n border: none;\\n}\\n\\nul.cmtab-border {\\n border-bottom: 1px solid var(--primary-base-color-lighten-3);\\n}\\n\\nul.cmtab li {\\n float: left;\\n}\\n\\nul.cmtab li a {\\n display: inline-block;\\n color: black;\\n text-align: center;\\n padding: 14px 16px;\\n text-decoration: none;\\n transition: 0.3s;\\n font-size: 17px;\\n cursor: pointer;\\n margin-right: 5px;\\n}\\n\\nul.cmtab li a:hover {\\n background-color: var(--ul-cmtab-li-a-hover);\\n}\\n\\nul.cmtab li a:focus,\\n.active {\\n background-color: var(--ul-cmtab-li-a-focus-active);\\n}\\n\\nul.cmtab li a:focus,\\n.inactive {\\n background-color: var(--ul-cmtab-li-a-focus-inactive);\\n}\\n\\n.cmtab-content {\\n padding: 6px 12px;\\n border: 1px solid var(--ul-cmtab-li-a-focus-inactive-backgroundcolor);\\n border-top: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY210YWJzL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXEBjbWNvcmVcXGNvbXBvbmVudFxcY210YWJzXFxjbXRhYnMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvY29tcG9uZW50L2NtdGFicy9jbXRhYnMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxxQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FDQ0Y7O0FERUE7RUFDRSw0REFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtBQ0NGOztBREVBO0VBQ0UscUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSw0Q0FBQTtBQ0NGOztBREVBOztFQUVFLG1EQUFBO0FDQ0Y7O0FERUE7O0VBRUUscURBQUE7QUNDRjs7QURFQTtFQUNFLGlCQUFBO0VBQ0EscUVBQUE7RUFDQSxnQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9jb21wb25lbnQvY210YWJzL2NtdGFicy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbInVsLmNtdGFiIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnVsLmNtdGFiLWJvcmRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1saWdodGVuLTMpO1xyXG59XHJcblxyXG51bC5jbXRhYiBsaSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbnVsLmNtdGFiIGxpIGEge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDE0cHggMTZweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogMC4zcztcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG51bC5jbXRhYiBsaSBhOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bC1jbXRhYi1saS1hLWhvdmVyKTtcclxufVxyXG5cclxudWwuY210YWIgbGkgYTpmb2N1cyxcclxuLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWwtY210YWItbGktYS1mb2N1cy1hY3RpdmUpO1xyXG59XHJcblxyXG51bC5jbXRhYiBsaSBhOmZvY3VzLFxyXG4uaW5hY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVsLWNtdGFiLWxpLWEtZm9jdXMtaW5hY3RpdmUpO1xyXG59XHJcblxyXG4uY210YWItY29udGVudCB7XHJcbiAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWwtY210YWItbGktYS1mb2N1cy1pbmFjdGl2ZS1iYWNrZ3JvdW5kY29sb3IpO1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuIiwidWwuY210YWIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG51bC5jbXRhYi1ib3JkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWxpZ2h0ZW4tMyk7XG59XG5cbnVsLmNtdGFiIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbnVsLmNtdGFiIGxpIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgZm9udC1zaXplOiAxN3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG51bC5jbXRhYiBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWwtY210YWItbGktYS1ob3Zlcik7XG59XG5cbnVsLmNtdGFiIGxpIGE6Zm9jdXMsXG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWwtY210YWItbGktYS1mb2N1cy1hY3RpdmUpO1xufVxuXG51bC5jbXRhYiBsaSBhOmZvY3VzLFxuLmluYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWwtY210YWItbGktYS1mb2N1cy1pbmFjdGl2ZSk7XG59XG5cbi5jbXRhYi1jb250ZW50IHtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVsLWNtdGFiLWxpLWEtZm9jdXMtaW5hY3RpdmUtYmFja2dyb3VuZGNvbG9yKTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, AfterContentInit, Input } from '@angular/core';\r\n\r\nimport { CMInput } from '../../decorator';\r\nimport { CMTabComponent } from './cmtab.component';\r\n\r\n@Component({\r\n selector: 'cmtabs',\r\n styleUrls: ['cmtabs.component.scss'],\r\n templateUrl: 'cmtabs.component.html'\r\n})\r\nexport class CMTabsComponent implements AfterContentInit {\r\n\r\n @Input()\r\n @CMInput()\r\n useBorder: boolean = true;\r\n\r\n public tabs: CMTabComponent[] = [];\r\n\r\n addTab(tab: CMTabComponent) {\r\n this.tabs.push(tab);\r\n }\r\n\r\n public activeFirstPage() {\r\n if (this.tabs.length > 0) {\r\n let i = 0;\r\n while (i > -1) {\r\n if (this.tabs[i].visible) {\r\n break;\r\n }\r\n else {\r\n i += 1;\r\n if (i >= this.tabs.length)\r\n i = -1;\r\n }\r\n }\r\n if (i > -1)\r\n this.tabs[i].active = true;\r\n }\r\n }\r\n\r\n public setActiveNextPage() {\r\n let r: boolean = false;\r\n if (this.tabs.length > 0) {\r\n let i = 0;\r\n while (i > -1) {\r\n if ((this.tabs[i].visible) && (this.tabs[i].active)) {\r\n break;\r\n }\r\n else {\r\n i += 1;\r\n if (i >= this.tabs.length)\r\n i = -1;\r\n }\r\n }\r\n if (i > -1) {\r\n i += 1;\r\n if (i < this.tabs.length) {\r\n this.tabs[i].active = true;\r\n r = true;\r\n }\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this.tabs.length > 0) {\r\n let activeTabs = this.tabs.filter((tab)=>tab.active);\r\n if(activeTabs.length === 0) {\r\n setTimeout(() => {\r\n this.activeFirstPage();\r\n }, 1000);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","export * from './cmtabs.component';\r\nexport * from './cmtab.component';","// tslint:disable\r\nimport { Component, EventEmitter, Input } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Md5 } from \"ts-md5/dist/md5\";\r\n\r\nimport { CMInput } from \"../../decorator\";\r\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\r\nimport { AppComponent } from \"./../../../app.component\";\r\n\r\nexport class CMUploadFile {\r\n constructor(protected http: HttpClient, file: Blob, filename: string) {\r\n this.file = file;\r\n this.filename = filename;\r\n this.eventUpload.subscribe(() => {\r\n this.upload();\r\n });\r\n }\r\n\r\n showButtonEnviar: boolean = true;\r\n onValidUpload: any = undefined;\r\n onCompleteUpload: any = undefined;\r\n onStartUpload: any = undefined;\r\n onErrorUpload: any = undefined;\r\n\r\n doOnErrorUpload() {\r\n setTimeout(() => {\r\n if (this.onErrorUpload !== undefined) {\r\n this.onErrorUpload(this);\r\n }\r\n }, 100);\r\n }\r\n\r\n public file: Blob;\r\n public msg: any;\r\n private buffer: ArrayBuffer = new ArrayBuffer(0);\r\n private offset = 0;\r\n private eventUpload = new EventEmitter();\r\n public keyserver: string = \"\";\r\n public status: string = \"\";\r\n private filename: string;\r\n\r\n setMsg(msg: any) {\r\n this.msg = msg;\r\n }\r\n\r\n clear(clearInput: boolean = true) {\r\n this.clearVars();\r\n this.status = \"\";\r\n this.buffer = new ArrayBuffer(0);\r\n this.file = undefined;\r\n }\r\n\r\n clearVars() {\r\n this.offset = 0;\r\n this.keyserver = \"\";\r\n this.msg = \"\";\r\n this._perc = 0;\r\n }\r\n\r\n _perc = 0;\r\n progressUpload(atual, max, perc) {\r\n this._perc = perc;\r\n }\r\n\r\n startUpload() {\r\n setTimeout(() => {\r\n if (this.onStartUpload !== undefined) {\r\n this.onStartUpload(this);\r\n }\r\n }, 100);\r\n this.clearVars();\r\n this.status = \"enviando\";\r\n \r\n\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/startuploadfile\",\r\n {\r\n name: this.filename,\r\n size: this.file.size,\r\n type: this.file.type,\r\n },\r\n (response: string) => {\r\n let ret: boolean = false;\r\n if (this.status === \"enviando\") {\r\n this.keyserver = response;\r\n ret = this.keyserver !== \"\";\r\n if (!ret) {\r\n this.msg = \"Erro ao enviar inicio do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n } else this.eventUpload.emit();\r\n }\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n endUpload() {\r\n new Response(this.file).arrayBuffer().then((value) => {\r\n let md5 = new Md5();\r\n let ui = new Uint8Array(value);\r\n md5.appendByteArray(ui);\r\n this.postEndUpload(md5.end());\r\n });\r\n }\r\n\r\n postEndUpload(md5) {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/enduploadfile\",\r\n {\r\n keyserver: this.keyserver,\r\n name: this.filename,\r\n size: this.file.size,\r\n type: this.file.type,\r\n md5file: md5,\r\n },\r\n (response: string) => {\r\n let ret: boolean = false;\r\n ret = response === \"1\" || response === \"True\";\r\n if (!ret) {\r\n console.error(response);\r\n this.msg = \"Erro ao concluir envio do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n } else {\r\n this.status = \"concluido\";\r\n setTimeout(() => {\r\n if (this.onCompleteUpload !== undefined)\r\n this.onCompleteUpload(this);\r\n }, 100);\r\n }\r\n },\r\n (error) => {\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n cancelUpload() {}\r\n\r\n uploadPart() {\r\n let perc = (this.offset * 100) / this.file.size;\r\n this.progressUpload(this.offset, this.file.size, perc);\r\n let part = Math.min(1024 * 32, this.file.size - this.offset);\r\n let tmp = new Uint8Array(this.buffer, this.offset, part);\r\n\r\n let base64 = btoa(String.fromCharCode.apply(null, tmp));\r\n let data = {\r\n hash: Md5.hashStr(base64),\r\n keyserver: this.keyserver,\r\n data: base64,\r\n };\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/uploadfilepart\",\r\n data,\r\n (response: string) => {\r\n let ret: boolean = false;\r\n ret = response === \"1\" || response === \"True\";\r\n if (ret) {\r\n this.offset += part;\r\n this.eventUpload.emit();\r\n } else {\r\n console.error(response);\r\n this.msg = \"Erro ao enviar parte do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n }\r\n },\r\n (error) => {\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n upload() {\r\n if (this.status === \"cancel\") this.cancelUpload();\r\n else if (this.status === \"enviando\") {\r\n if (this.offset < this.file.size) {\r\n setTimeout(() => {\r\n this.uploadPart();\r\n }, 10);\r\n } else {\r\n this.progressUpload(this.offset, this.file.size, 100);\r\n this.endUpload();\r\n }\r\n }\r\n }\r\n\r\n enviar() {\r\n if (this.file !== undefined) {\r\n let valid: boolean = true;\r\n if (this.onValidUpload !== undefined) valid = this.onValidUpload(this);\r\n if (valid) {\r\n var fileReader = new FileReader();\r\n let _this = this;\r\n fileReader.onloadend = function (this: FileReader, ev: ProgressEvent) {\r\n let tmp: any = this.result;\r\n _this.buffer = tmp;\r\n setTimeout(() => {\r\n _this.startUpload();\r\n }, 500);\r\n };\r\n this.status = \"preparando\";\r\n fileReader.readAsArrayBuffer(this.file);\r\n }\r\n }\r\n }\r\n\r\n cancelar(event) {\r\n this.status = \"cancel\";\r\n }\r\n\r\n getStatusStr() {\r\n let r: string = this.status;\r\n if (this.status === \"preparando\") r = \"Preparando\";\r\n else if (this.status === \"enviando\") r = \"Enviando\";\r\n else if (this.status === \"cancel\") r = \"Cancelado\";\r\n else if (this.status === \"error\") r = \"Erro\";\r\n else if (this.status === \"concluido\") r = \"Concluído\";\r\n return r;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: \"cmupload-file\",\r\n templateUrl: \"cmupload-file.component.html\",\r\n})\r\nexport class CMUploadFileComponent {\r\n private _imageSrc: String;\r\n constructor(protected http: HttpClient) {}\r\n\r\n static globalId: number = 0;\r\n static nextGlobalId() {\r\n CMUploadFileComponent.globalId += 1;\r\n return CMUploadFileComponent.globalId;\r\n }\r\n\r\n name: string =\r\n \"cmupload_file_\" + CMUploadFileComponent.nextGlobalId().toString();\r\n\r\n @CMInput()\r\n @Input()\r\n acceptAudio: boolean = false;\r\n\r\n @CMInput()\r\n @Input()\r\n acceptVideo: boolean = false;\r\n\r\n @CMInput()\r\n @Input()\r\n acceptImage: boolean = false;\r\n\r\n @CMInput()\r\n @Input()\r\n acceptOtherTypes: string = \"\";\r\n\r\n @Input()\r\n accept: string = undefined;\r\n\r\n @CMInput()\r\n @Input()\r\n showButtonEnviar: boolean = true;\r\n\r\n @Input()\r\n onValidUpload: any = undefined;\r\n\r\n @Input()\r\n onCompleteUpload: any = undefined;\r\n\r\n @Input()\r\n onStartUpload: any = undefined;\r\n\r\n @Input()\r\n onErrorUpload: any = undefined;\r\n\r\n doOnErrorUpload() {\r\n setTimeout(() => {\r\n if (this.onErrorUpload !== undefined) this.onErrorUpload(this);\r\n }, 100);\r\n }\r\n\r\n @Input()\r\n onChange: any = undefined;\r\n\r\n @Input()\r\n form: any = undefined;\r\n\r\n @Input()\r\n tag: any = undefined;\r\n\r\n @Input()\r\n tag2: any = undefined;\r\n\r\n private file: any;\r\n public msg: any;\r\n public isVideo: boolean = false;\r\n\r\n @Input()\r\n public isImagem: boolean = false;\r\n\r\n @Input()\r\n public getImageSrc: any = undefined;\r\n\r\n\r\n\r\n @Input('imageSrc')\r\n set imageSrc(val: String){\r\n this._imageSrc = val;\r\n let imageNode: any = document.getElementById(\"imageNode\" + this.name);\r\n if (val !== \"\") imageNode.src = this._imageSrc;\r\n $(imageNode).on(\"error\", function() {\r\n $(imageNode).hide();\r\n })\r\n \r\n }\r\n\r\n public isAudio: boolean = false;\r\n private buffer: ArrayBuffer = new ArrayBuffer(0);\r\n private offset = 0;\r\n private eventUpload = new EventEmitter();\r\n public keyserver: string = \"\";\r\n public status: string = \"\";\r\n\r\n setMsg(msg: any) {\r\n this.msg = msg;\r\n }\r\n\r\n clear(clearInput: boolean = true) {\r\n this.clearVars();\r\n let imageNode: any = document.getElementById(\"imageNode\" + this.name);\r\n let videoNode: any = document.getElementById(\"videoNode\" + this.name);\r\n let audioNode: any = document.getElementById(\"audioNode\" + this.name);\r\n imageNode.src = \"\";\r\n videoNode.src = \"\";\r\n audioNode.src = \"\";\r\n this.status = \"\";\r\n this.buffer = new ArrayBuffer(0);\r\n this.isVideo = false;\r\n this.isImagem = false;\r\n this.isAudio = false;\r\n this.file = undefined;\r\n if (clearInput) $(\"#innerInputFile\" + this.name).val(\"\");\r\n }\r\n\r\n clearVars() {\r\n this.offset = 0;\r\n this.keyserver = \"\";\r\n this.msg = \"\";\r\n this._perc = 0;\r\n }\r\n\r\n change(event) {\r\n let imageNode: any = document.getElementById(\"imageNode\" + this.name);\r\n let videoNode: any = document.getElementById(\"videoNode\" + this.name);\r\n let audioNode: any = document.getElementById(\"audioNode\" + this.name);\r\n this.clear(false);\r\n if (event.target.files.length > 0) {\r\n let URL = window.URL;\r\n this.file = event.target.files[0];\r\n let src = URL.createObjectURL(this.file);\r\n if (this.file.size === 0) {\r\n event.target.value = \"\";\r\n this.file = undefined;\r\n this.msg = \"Tamanho de arquivo inválido\";\r\n } else if (this.acceptImage && this.file.type.match(/image.*/)) {\r\n this.isImagem = true;\r\n imageNode.style.display = \"inline-block\";\r\n imageNode.src = src;\r\n } else if (this.acceptVideo && this.file.type.match(/video.*/)) {\r\n this.isVideo = true;\r\n videoNode.src = src;\r\n } else if (this.acceptAudio && this.file.type.match(/audio.*/)) {\r\n this.isAudio = true;\r\n audioNode.src = src;\r\n } else {\r\n let ok: boolean = true;\r\n if (this.acceptOtherTypes !== \"\") {\r\n ok = this.file.type !== \"\";\r\n if (ok) ok = this.acceptOtherTypes.indexOf(this.file.type) > -1;\r\n }\r\n if (!ok) {\r\n event.target.value = \"\";\r\n this.file = undefined;\r\n this.msg = \"Formato de arquivo não suportado\";\r\n }\r\n }\r\n }\r\n setTimeout(() => {\r\n if (this.onChange !== undefined) this.onChange(this);\r\n }, 100);\r\n }\r\n\r\n progressUpload(atual, max, perc) {\r\n this._perc = perc;\r\n }\r\n\r\n _perc = 0;\r\n getProgressStyle() {\r\n return \"width: \" + this._perc + \"%\";\r\n }\r\n\r\n ngOnInit() {\r\n this.eventUpload.subscribe(() => {\r\n this.upload();\r\n });\r\n\r\n }\r\n\r\n startUpload() {\r\n setTimeout(() => {\r\n if (this.onStartUpload !== undefined) this.onStartUpload(this);\r\n }, 100);\r\n this.clearVars();\r\n this.status = \"enviando\";\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/startuploadfile\",\r\n {\r\n name: this.file.name,\r\n size: this.file.size,\r\n type: this.file.type,\r\n },\r\n (response: string) => {\r\n let ret: boolean = false;\r\n if (this.status === \"enviando\") {\r\n this.keyserver = response;\r\n ret = this.keyserver !== \"\";\r\n if (!ret) {\r\n this.msg = \"Erro ao enviar inicio do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n } else this.eventUpload.emit();\r\n }\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n endUpload() {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/enduploadfile\",\r\n {\r\n keyserver: this.keyserver,\r\n name: this.file.name,\r\n size: this.file.size,\r\n type: this.file.type,\r\n },\r\n (response: string) => {\r\n let ret: boolean = false;\r\n ret = response === \"1\" || response === \"True\";\r\n if (!ret) {\r\n this.msg = \"Erro ao concluir envio do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n } else {\r\n this.status = \"concluido\";\r\n setTimeout(() => {\r\n if (this.onCompleteUpload !== undefined)\r\n this.onCompleteUpload(this);\r\n }, 100);\r\n }\r\n },\r\n (error) => {\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n cancelUpload() {}\r\n\r\n uploadPart() {\r\n let perc = (this.offset * 100) / this.file.size;\r\n this.progressUpload(this.offset, this.file.size, perc);\r\n let part = Math.min(1024 * 32, this.file.size - this.offset);\r\n let tmp = new Uint8Array(this.buffer, this.offset, part);\r\n\r\n let base64 = btoa(String.fromCharCode.apply(null, tmp));\r\n let data = {\r\n hash: Md5.hashStr(base64),\r\n keyserver: this.keyserver,\r\n data: base64,\r\n };\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n AppComponent.basePathApi + \"/api/uploadfilepart\",\r\n data,\r\n (response: string) => {\r\n let ret: boolean = false;\r\n ret = response === \"1\" || response === \"True\";\r\n if (ret) {\r\n this.offset += part;\r\n this.eventUpload.emit();\r\n } else {\r\n console.error(response);\r\n this.msg = \"Erro ao enviar parte do arquivo\";\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n }\r\n },\r\n (error) => {\r\n this.msg = error;\r\n this.status = \"error\";\r\n this.doOnErrorUpload();\r\n },\r\n undefined,\r\n \"text\" as \"text\"\r\n );\r\n }\r\n\r\n upload() {\r\n if (this.status === \"cancel\") this.cancelUpload();\r\n else if (this.status === \"enviando\") {\r\n if (this.offset < this.file.size) {\r\n setTimeout(() => {\r\n this.uploadPart();\r\n }, 10);\r\n } else {\r\n this.progressUpload(this.offset, this.file.size, 100);\r\n this.endUpload();\r\n }\r\n }\r\n }\r\n\r\n enviar() {\r\n if (this.file !== undefined) {\r\n let valid: boolean = true;\r\n if (this.onValidUpload !== undefined) valid = this.onValidUpload(this);\r\n if (valid) {\r\n var fileReader = new FileReader();\r\n let _this = this;\r\n fileReader.onloadend = function (this: FileReader, ev: ProgressEvent) {\r\n let tmp: any = this.result;\r\n _this.buffer = tmp;\r\n setTimeout(() => {\r\n _this.startUpload();\r\n }, 500);\r\n };\r\n this.status = \"preparando\";\r\n fileReader.readAsArrayBuffer(this.file);\r\n }\r\n }\r\n }\r\n\r\n cancelar(event) {\r\n this.status = \"cancel\";\r\n }\r\n\r\n getVisibleButtonEnviar() {\r\n let r: boolean = false;\r\n if (this.showButtonEnviar)\r\n r = this.status !== \"enviando\" && this.status !== \"preparando\";\r\n return r;\r\n }\r\n\r\n statusNaoEnviando() {\r\n let r: boolean = false;\r\n r = this.status !== \"enviando\" && this.status !== \"preparando\";\r\n return r;\r\n }\r\n\r\n getStatusStr() {\r\n let r: string = this.status;\r\n if (this.status === \"preparando\") r = \"Preparando\";\r\n else if (this.status === \"enviando\") r = \"Enviando\";\r\n else if (this.status === \"cancel\") r = \"Cancelado\";\r\n else if (this.status === \"error\") r = \"Erro\";\r\n else if (this.status === \"concluido\") r = \"Concluído\";\r\n return r;\r\n }\r\n\r\n selectFile() {\r\n $(\"#innerInputFile\" + this.name).click();\r\n }\r\n\r\n getFileName() {\r\n let r = \"Selecione um arquivo\";\r\n if (this.IsFileSelect) r = this.file.name;\r\n return r;\r\n }\r\n\r\n get IsFileSelect() {\r\n return this.file !== undefined;\r\n }\r\n}\r\n","export * from './cmupload-file.component';","// tslint:disable\n\n//\n// Code originally taken from http://stackoverflow.com/a/36325468/48651\n//\n\n// Imports\nimport {\n Component,\n ComponentRef,\n Input,\n ViewContainerRef,\n ComponentFactoryResolver,\n ViewChild,\n OnChanges,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n//\n// Dynamic component loader component\n//\n@Component({\n selector: 'cmdynamic-creator-component',\n template: `\n
    \n `,\n})\nexport class CMDynamicCreatorComponent implements OnChanges, OnInit, OnDestroy {\n // Private properties\n public componentReference: ComponentRef;\n private isViewInitialized = false;\n\n // Component input\n @ViewChild('dynamicTarget', {read: ViewContainerRef, static: true})\n private dynamicTarget: any;\n\n private _componentType: any = undefined;\n @Input()\n get componentType() {\n return this._componentType;\n }\n set componentType(value) {\n if (this._componentType !== value) {\n if (this._componentType !== undefined) {\n this.componentReferenceDestroy();\n }\n this._componentType = value;\n if (this._componentType !== undefined) { \n this.updateComponent(); \n }\n }\n }\n\n @Input()\n private owner: any = undefined;\n\n @Input()\n private componentCreatedCallback: (component: Component) => void;\n\n @Input()\n private componentDestroyedCallback: () => void;\n\n //\n // Constructor\n //\n constructor(private resolver: ComponentFactoryResolver) {}\n\n //\n // Called when the view changes\n //\n ngOnChanges() {\n this.updateComponent();\n }\n\n //\n // Called after the view has been initialised\n //\n ngOnInit() {\n this.isViewInitialized = true;\n this.updateComponent();\n }\n\n //\n // Called when we need to destroy the view\n //\n ngOnDestroy() {\n this.componentReferenceDestroy();\n }\n\n componentReferenceDestroy() {\n if (this.componentReference) {\n this.componentReference['_component']['owner'] = undefined;\n this.componentReference.destroy();\n // Call the callback if needed\n if (\n this.componentDestroyedCallback !== null &&\n this.componentDestroyedCallback !== undefined\n ) {\n this.componentDestroyedCallback();\n }\n this.componentReference = undefined;\n }\n }\n\n //\n // Updates the view with the dynamically loaded component\n //\n private updateComponent() {\n if (!this.isViewInitialized || this.componentType === undefined) {\n return;\n }\n\n this.componentReferenceDestroy();\n\n // Create an instance of this component\n let componentFactory = this.resolver.resolveComponentFactory(this.componentType);\n this.componentReference = this.dynamicTarget.createComponent(componentFactory);\n if (this.owner !== undefined) this.componentReference['_component']['owner'] = this.owner;\n\n // If we need to, pass through the component we created\n if (this.componentCreatedCallback !== null && this.componentCreatedCallback !== undefined) {\n this.componentCreatedCallback(this.componentReference.instance);\n }\n }\n}\n","export * from './dynamic-creator.component';","export * from \"./dynamic-creator\";\r\nexport * from \"./cmmenu\";\r\nexport * from \"./cmbutton\";\r\nexport * from \"./cmform\";\r\nexport * from \"./cmicone\";\r\nexport * from \"./cmgrid\";\r\nexport * from \"./cminput\";\r\nexport * from \"./cmlistcheckbox\";\r\nexport * from \"./cmpanel\";\r\nexport * from \"./cmrow\";\r\nexport * from \"./cmdivider\";\r\nexport * from \"./cmcontainer\";\r\nexport * from \"./cmimage\";\r\nexport * from \"./cmtabs\";\r\nexport * from \"./cmlayout\";\r\nexport * from \"./cmupload-file\";\r\nexport * from \"./cmgrid-v2\";","// tslint:disable\r\nimport \"reflect-metadata\";\r\n\r\nexport const StringConverter = (value: any) => {\r\n if (value === null || value === undefined || typeof value === \"string\") {\r\n return value;\r\n }\r\n\r\n return value.toString();\r\n};\r\n\r\nexport const BooleanConverter = (value: any) => {\r\n if (value === null || value === undefined || typeof value === \"boolean\") {\r\n return value;\r\n }\r\n\r\n return value.toString() === \"true\" || value.toString() === \"Sim\";\r\n};\r\n\r\nexport const NumberConverter = (value: any) => {\r\n if (value === null || value === undefined || typeof value === \"number\") {\r\n return value;\r\n }\r\n\r\n return parseFloat(value.toString());\r\n};\r\n\r\nexport function CMInput(converter?: (value: any) => any) {\r\n return (target: Object, key: string) => {\r\n if (converter === undefined) {\r\n const metadata = Reflect.getMetadata(\"design:type\", target, key);\r\n if (metadata === undefined || metadata === null) {\r\n console.error(\"target\", target);\r\n console.error(\"key\", key);\r\n throw new Error(\"The reflection metadata could not be found.\");\r\n }\r\n\r\n if (metadata.name === \"String\") {\r\n converter = StringConverter;\r\n } else if (metadata.name === \"Boolean\") {\r\n converter = BooleanConverter;\r\n } else if (metadata.name === \"Number\") {\r\n converter = NumberConverter;\r\n } else {\r\n console.error(\"metadata\", metadata.name);\r\n console.error(\"target\", target);\r\n console.error(\"key\", key);\r\n throw new Error(\r\n \"There is no converter for the given property type '\" +\r\n metadata.name +\r\n \"'.\"\r\n );\r\n }\r\n }\r\n\r\n const definition = Object.getOwnPropertyDescriptor(target, key);\r\n if (definition) {\r\n Object.defineProperty(target, key, {\r\n get: definition.get,\r\n set: (newValue) => {\r\n definition.set(converter(newValue));\r\n },\r\n enumerable: true,\r\n configurable: true,\r\n });\r\n } else {\r\n Object.defineProperty(target, key, {\r\n get() {\r\n return this[\"__\" + key];\r\n },\r\n set(newValue) {\r\n this[\"__\" + key] = converter(newValue);\r\n },\r\n enumerable: true,\r\n configurable: true,\r\n });\r\n }\r\n };\r\n}\r\n","export * from './cminput.decorator';","// tslint:disable\nconst defaultArray = []\nconst emptyString = ''\n\nexport default function adjustCaretPosition({\n previousConformedValue = emptyString,\n currentCaretPosition = 0,\n conformedValue,\n rawValue,\n placeholderChar,\n placeholder,\n indexesOfPipedChars = defaultArray,\n caretTrapIndexes = defaultArray\n}) {\n if (currentCaretPosition === 0) { return 0 }\n\n // Store lengths for faster performance?\n const rawValueLength = rawValue.length\n const previousConformedValueLength = previousConformedValue.length\n const placeholderLength = placeholder.length\n const conformedValueLength = conformedValue.length\n\n // This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,\n // we know the user in this instance pasted two characters\n const editLength = rawValueLength - previousConformedValueLength\n\n // If the edit length is positive, that means the user is adding characters, not deleting.\n const isAddition = editLength > 0\n\n // This is the first raw value the user entered that needs to be conformed to mask\n const isFirstRawValue = previousConformedValueLength === 0\n\n // A partial multi-character edit happens when the user makes a partial selection in their\n // input and edits that selection. That is going from `(123) 432-4348` to `() 432-4348` by\n // selecting the first 3 digits and pressing backspace.\n //\n // Such cases can also happen when the user presses the backspace while holding down the ALT\n // key.\n const isPartialMultiCharEdit = editLength > 1 && !isAddition && !isFirstRawValue\n\n // This algorithm doesn't support all cases of multi-character edits, so we just return\n // the current caret position.\n //\n // This works fine for most cases.\n if (isPartialMultiCharEdit) { return currentCaretPosition }\n\n // For a mask like (111), if the `previousConformedValue` is (1__) and user attempts to enter\n // `f` so the `rawValue` becomes (1f__), the new `conformedValue` would be (1__), which is the\n // same as the original `previousConformedValue`. We handle this case differently for caret\n // positioning.\n const possiblyHasRejectedChar = isAddition && (\n previousConformedValue === conformedValue ||\n conformedValue === placeholder\n )\n\n let startingSearchIndex = 0\n\n if (possiblyHasRejectedChar) {\n startingSearchIndex = currentCaretPosition - editLength\n } else {\n // At this point in the algorithm, we want to know where the caret is right before the raw input\n // has been conformed, and then see if we can find that same spot in the conformed input.\n //\n // We do that by seeing what character lies immediately before the caret, and then look for that\n // same character in the conformed input and place the caret there.\n\n // First, we need to normalize the inputs so that letter capitalization between raw input and\n // conformed input wouldn't matter.\n const normalizedConformedValue = conformedValue.toLowerCase()\n const normalizedRawValue = rawValue.toLowerCase()\n\n // Then we take all characters that come before where the caret currently is.\n const leftHalfChars = normalizedRawValue.substr(0, currentCaretPosition).split(emptyString)\n\n // Now we find all the characters in the left half that exist in the conformed input\n // This step ensures that we don't look for a character that was filtered out or rejected by `conformToMask`.\n const intersection = leftHalfChars.filter((char) => normalizedConformedValue.indexOf(char) !== -1)\n\n // The last character in the intersection is the character we want to look for in the conformed\n // value and the one we want to adjust the caret close to\n const targetChar = intersection[intersection.length - 1]\n\n // It is possible that `targetChar` will appear multiple times in the conformed value.\n // We need to know not to select a character that looks like our target character from the placeholder or\n // the piped characters, so we inspect the piped characters and the placeholder to see if they contain\n // characters that match our target character.\n\n // If the `conformedValue` got piped, we need to know which characters were piped in so that when we look for\n // our `targetChar`, we don't select a piped char by mistake\n const pipedChars = indexesOfPipedChars.map((index) => normalizedConformedValue[index])\n\n // We need to know how many times the `targetChar` occurs in the piped characters.\n const countTargetCharInPipedChars = pipedChars.filter((char) => char === targetChar).length\n\n // We need to know how many times it occurs in the intersection\n const countTargetCharInIntersection = intersection.filter((char) => char === targetChar).length\n\n // We need to know if the placeholder contains characters that look like\n // our `targetChar`, so we don't select one of those by mistake.\n const countTargetCharInPlaceholder = placeholder\n .substr(0, placeholder.indexOf(placeholderChar))\n .split(emptyString)\n .filter((char, index) => (\n // Check if `char` is the same as our `targetChar`, so we account for it\n char === targetChar &&\n\n // but also make sure that both the `rawValue` and placeholder don't have the same character at the same\n // index because if they are equal, that means we are already counting those characters in\n // `countTargetCharInIntersection`\n rawValue[index] !== char\n ))\n .length\n\n // The number of times we need to see occurrences of the `targetChar` before we know it is the one we're looking\n // for is:\n const requiredNumberOfMatches = (\n countTargetCharInPlaceholder +\n countTargetCharInIntersection +\n countTargetCharInPipedChars\n )\n\n // Now we start looking for the location of the `targetChar`.\n // We keep looping forward and store the index in every iteration. Once we have encountered\n // enough occurrences of the target character, we break out of the loop\n let numberOfEncounteredMatches = 0\n for (let i = 0; i < conformedValueLength; i++) {\n const conformedValueChar = normalizedConformedValue[i]\n\n startingSearchIndex = i + 1\n\n if (conformedValueChar === targetChar) {\n numberOfEncounteredMatches++\n }\n\n if (numberOfEncounteredMatches >= requiredNumberOfMatches) {\n break\n }\n }\n }\n\n // At this point, if we simply return `startingSearchIndex` as the adjusted caret position,\n // most cases would be handled. However, we want to fast forward or rewind the caret to the\n // closest placeholder character if it happens to be in a non-editable spot. That's what the next\n // logic is for.\n\n // In case of addition, we fast forward.\n if (isAddition) {\n // We want to remember the last placeholder character encountered so that if the mask\n // contains more characters after the last placeholder character, we don't forward the caret\n // that far to the right. Instead, we stop it at the last encountered placeholder character.\n let lastPlaceholderChar = startingSearchIndex\n\n for (let i = startingSearchIndex; i <= placeholderLength; i++) {\n if (placeholder[i] === placeholderChar) {\n lastPlaceholderChar = i\n }\n\n if (\n // If we're adding, we can position the caret at the next placeholder character.\n placeholder[i] === placeholderChar ||\n\n // If a caret trap was set by a mask function, we need to stop at the trap.\n caretTrapIndexes.indexOf(i) !== -1 ||\n\n // This is the end of the placeholder. We cannot move any further. Let's put the caret there.\n i === placeholderLength\n ) {\n return lastPlaceholderChar\n }\n }\n } else {\n // In case of deletion, we rewind.\n for (let i = startingSearchIndex; i >= 0; i--) {\n // If we're deleting, we stop the caret right before the placeholder character.\n // For example, for mask `(111) 11`, current conformed input `(456) 86`. If user\n // modifies input to `(456 86`. That is, they deleted the `)`, we place the caret\n // right after the first `6`\n if (\n // If we're deleting, we can position the caret right before the placeholder character\n placeholder[i - 1] === placeholderChar ||\n\n // If a caret trap was set by a mask function, we need to stop at the trap.\n caretTrapIndexes.indexOf(i) !== -1 ||\n\n // This is the beginning of the placeholder. We cannot move any further.\n // Let's put the caret there.\n i === 0\n ) {\n return i\n }\n }\n }\n}\n","// tslint:disable\nimport { Directive, ElementRef, Input, OnInit, \n } from '@angular/core'\n\nimport { createTextMaskInputElement } from './createTextMaskInputElement'\n\n@Directive({\n host: {\n '(input)': 'onInput($event)',\n '(blur)': '_onTouched($event)'\n },\n selector: '[textMask]'\n})\nexport class CMMaskedInputDirective implements OnInit {\n private textMaskInputElement: any\n private inputElement: HTMLInputElement\n\n @Input()\n textMaskConfig = {\n mask2: '',\n guide: false,\n placeholderChar: ' ',\n pipe: undefined,\n keepCharPositions: false,\n onReject: undefined,\n onAccept: undefined\n }\n\n innerMask = '';\n @Input('textMask')\n get mask() {\n return this.innerMask;\n }\n set mask(value: any) {\n this.innerMask = value;\n }\n\n _onTouched = ($event) => {}\n\n constructor(private element: ElementRef) {}\n\n mask_enabled() {\n return ((this.mask) &&\n (this.mask.length > 0));\n }\n\n getMask(textMask: CMMaskedInputDirective, safeRawValue, info) {\n return textMask.mask;\n }\n\n ngOnInit() {\n if (this.mask_enabled()) {\n if (this.element.nativeElement.tagName === 'INPUT') {\n this.inputElement = this.element.nativeElement;\n } \n else {\n this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\n }\n let config = Object.assign(\n {inputElement: this.inputElement, \n mask: this.getMask,\n textMask: this\n }, this.textMaskConfig);\n this.textMaskInputElement = createTextMaskInputElement(config);\n }\n }\n\n onInput($event) {\n if (this.mask_enabled()) {\n this.textMaskInputElement.update($event.target.value);\n }\n }\n\n}","// tslint:disable\nimport {convertMaskToPlaceholder} from './utilities'\nimport {placeholderChar as defaultPlaceholderChar} from './constants'\n\nconst emptyString = ''\n\nexport default function conformToMask(rawValue = emptyString, mask = emptyString, config) {\n // These configurations tell us how to conform the mask\n const {\n guide = true,\n previousConformedValue = emptyString,\n placeholderChar = defaultPlaceholderChar,\n placeholder = convertMaskToPlaceholder(mask, defaultPlaceholderChar),\n currentCaretPosition,\n keepCharPositions\n } = config\n\n // The configs below indicate that the user wants the algorithm to work in *no guide* mode\n const suppressGuide = guide === false && previousConformedValue !== undefined\n\n // Calculate lengths once for performance\n const rawValueLength = rawValue.length\n const previousConformedValueLength = previousConformedValue.length\n const placeholderLength = placeholder.length\n const maskLength = mask.length\n\n // This tells us the number of edited characters and the direction in which they were edited (+/-)\n const editDistance = rawValueLength - previousConformedValueLength\n\n // In *no guide* mode, we need to know if the user is trying to add a character or not\n const isAddition = editDistance > 0\n\n // Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1\n const indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0)\n\n // We're also gonna need the index of last change, which we can derive as follows...\n const indexOfLastChange = indexOfFirstChange + Math.abs(editDistance)\n\n // If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value\n // _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of\n // addition. And in the case of deletion, previous value _23, raw value _3, the new conformed string should be\n // __3, not _3_ (default behavior)\n //\n // The next block of logic handles keeping character positions for the case of deletion. (Keeping\n // character positions for the case of addition is further down since it is handled differently.)\n // To do this, we want to compensate for all characters that were deleted\n if (keepCharPositions === true && !isAddition) {\n // We will be storing the new placeholder characters in this variable.\n let compensatingPlaceholderChars = emptyString\n\n // For every character that was deleted from a placeholder position, we add a placeholder char\n for (let i = indexOfFirstChange; i < indexOfLastChange; i++) {\n if (placeholder[i] === placeholderChar) {\n compensatingPlaceholderChars += placeholderChar\n }\n }\n\n // Now we trick our algorithm by modifying the raw value to make it contain additional placeholder characters\n // That way when the we start laying the characters again on the mask, it will keep the non-deleted characters\n // in their positions.\n rawValue = (\n rawValue.slice(0, indexOfFirstChange) +\n compensatingPlaceholderChars +\n rawValue.slice(indexOfFirstChange, rawValueLength)\n )\n }\n\n // Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have\n // existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`\n // to work if it is configured to keep character positions.\n const rawValueArr = rawValue\n .split(emptyString)\n .map((char, i) => ({char, isNew: i >= indexOfFirstChange && i < indexOfLastChange}))\n\n // The loop below removes masking characters from user input. For example, for mask\n // `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below\n // would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm\n // then would lay `234` on top of the available placeholder positions in the mask.\n for (let i = rawValueLength - 1; i >= 0; i--) {\n const {char} = rawValueArr[i]\n\n if (char !== placeholderChar) {\n const shouldOffset = i >= indexOfFirstChange && previousConformedValueLength === maskLength\n\n if (char === placeholder[(shouldOffset) ? i - editDistance : i]) {\n rawValueArr.splice(i, 1)\n }\n }\n }\n\n // This is the variable that we will be filling with characters as we figure them out\n // in the algorithm below\n let conformedValue = emptyString\n let someCharsRejected = false\n\n // Ok, so first we loop through the placeholder looking for placeholder characters to fill up.\n placeholderLoop: for (let i = 0; i < placeholderLength; i++) {\n const charInPlaceholder = placeholder[i]\n\n // We see one. Let's find out what we can put in it.\n if (charInPlaceholder === placeholderChar) {\n // But before that, do we actually have any user characters that need a place?\n if (rawValueArr.length > 0) {\n // We will keep chipping away at user input until either we run out of characters\n // or we find at least one character that we can map.\n while (rawValueArr.length > 0) {\n // Let's retrieve the first user character in the queue of characters we have left\n const {char: rawValueChar, isNew} = rawValueArr.shift()\n\n // If the character we got from the user input is a placeholder character (which happens\n // regularly because user input could be something like (540) 90_-____, which includes\n // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,\n // then we map this placeholder character to the current spot in the placeholder\n if (rawValueChar === placeholderChar && suppressGuide !== true) {\n conformedValue += placeholderChar\n\n // And we go to find the next placeholder character that needs filling\n continue placeholderLoop\n\n // Else if, the character we got from the user input is not a placeholder, let's see\n // if the current position in the mask can accept it.\n } else if ((mask[i]).test(rawValueChar)) {\n // we map the character differently based on whether we are keeping character positions or not.\n // If any of the conditions below are met, we simply map the raw value character to the\n // placeholder position.\n if (\n keepCharPositions !== true ||\n isNew === false ||\n previousConformedValue === emptyString ||\n guide === false ||\n !isAddition\n ) {\n conformedValue += rawValueChar\n } else {\n // We enter this block of code if we are trying to keep character positions and none of the conditions\n // above is met. In this case, we need to see if there's an available spot for the raw value character\n // to be mapped to. If we couldn't find a spot, we will discard the character.\n //\n // For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the\n // `9`, to the first available placeholder position, but then, there are no more spots available for the\n // `4` and `2`. So, we discard them and end up with a conformed value of `92__`.\n const rawValueArrLength = rawValueArr.length\n let indexOfNextAvailablePlaceholderChar = null\n\n // Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,\n // a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.\n // If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable\n // spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.\n for (let i = 0; i < rawValueArrLength; i++) {\n const charData = rawValueArr[i]\n\n if (charData.char !== placeholderChar && charData.isNew === false) {\n break\n }\n\n if (charData.char === placeholderChar) {\n indexOfNextAvailablePlaceholderChar = i\n break\n }\n }\n\n // If `indexOfNextAvailablePlaceholderChar` is not `null`, that means the character is not blocked.\n // We can map it. And to keep the character positions, we remove the placeholder character\n // from the remaining characters\n if (indexOfNextAvailablePlaceholderChar !== null) {\n conformedValue += rawValueChar\n rawValueArr.splice(indexOfNextAvailablePlaceholderChar, 1)\n\n // If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to\n // discard it.\n } else {\n i--\n }\n }\n\n // Since we've mapped this placeholder position. We move on to the next one.\n continue placeholderLoop\n } else {\n someCharsRejected = true\n }\n }\n }\n\n // We reach this point when we've mapped all the user input characters to placeholder\n // positions in the mask. In *guide* mode, we append the left over characters in the\n // placeholder to the `conformedString`, but in *no guide* mode, we don't wanna do that.\n //\n // That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.\n if (suppressGuide === false) {\n conformedValue += placeholder.substr(i, placeholderLength)\n }\n\n // And we break\n break\n\n // Else, the charInPlaceholder is not a placeholderChar. That is, we cannot fill it\n // with user input. So we just map it to the final output\n } else {\n conformedValue += charInPlaceholder\n }\n }\n\n // The following logic is needed to deal with the case of deletion in *no guide* mode.\n //\n // Consider the silly mask `(111) /// 1`. What if user tries to delete the last placeholder\n // position? Something like `(589) /// `. We want to conform that to `(589`. Not `(589) /// `.\n // That's why the logic below finds the last filled placeholder character, and removes everything\n // from that point on.\n if (suppressGuide && isAddition === false) {\n let indexOfLastFilledPlaceholderChar = null\n\n // Find the last filled placeholder position and substring from there\n for (let i = 0; i < conformedValue.length; i++) {\n if (placeholder[i] === placeholderChar) {\n indexOfLastFilledPlaceholderChar = i\n }\n }\n\n if (indexOfLastFilledPlaceholderChar !== null) {\n // We substring from the beginning until the position after the last filled placeholder char.\n conformedValue = conformedValue.substr(0, indexOfLastFilledPlaceholderChar + 1)\n } else {\n // If we couldn't find `indexOfLastFilledPlaceholderChar` that means the user deleted\n // the first character in the mask. So we return an empty string.\n conformedValue = emptyString\n }\n }\n\n return {conformedValue, meta: {someCharsRejected}}\n}\n","// tslint:disable\r\nexport const placeholderChar = ' ';","// tslint:disable\nimport adjustCaretPosition from './adjustCaretPosition'\nimport conformToMask from './conformToMask'\nimport {convertMaskToPlaceholder, isString, isNumber, processCaretTraps} from './utilities'\nimport {placeholderChar as defaultPlaceholderChar} from './constants'\n\nconst strFunction = 'function'\nconst emptyString = ''\nconst strNone = 'none'\nconst strObject = 'object'\n\nexport function createTextMaskInputElement({\n inputElement,\n mask: providedMask,\n guide,\n pipe,\n placeholderChar = defaultPlaceholderChar,\n onAccept,\n onReject,\n keepCharPositions = false,\n textMask\n}) {\n // Text Mask accepts masks that are a combination of a `mask` and a `pipe` that work together. If such a `mask` is\n // passed, we destructure it below, so the rest of the code can work normally as if a separate `mask` and a `pipe`\n // were passed.\n if (typeof providedMask === strObject && providedMask.pipe !== undefined && providedMask.mask !== undefined) {\n pipe = providedMask.pipe\n providedMask = providedMask.mask\n }\n\n // Anything that we will need to keep between `update` calls, we will store in this `state` object.\n const state = {previousConformedValue: emptyString, previousOnRejectRawValue: emptyString}\n\n // The `placeholder` is an essential piece of how Text Mask works. For a mask like `(111)`, the placeholder would be\n // `(___)` if the `placeholderChar` is set to `_`.\n let placeholder\n\n // We don't know what the mask would be yet. If it is an array, we take it as is, but if it's a function, we will\n // have to call that function to get the mask array.\n let mask\n\n // If the provided mask is an array, we can call `convertMaskToPlaceholder` here once and we'll always have the\n // correct `placeholder`.\n if (providedMask instanceof Array) {\n placeholder = convertMaskToPlaceholder(providedMask, placeholderChar)\n }\n\n return {\n state,\n\n // `update` is called by framework components whenever they want to update the `value` of the input element.\n // The caller can send a `rawValue` to be conformed and set on the input element. However, the default use-case\n // is for this to be read from the `inputElement` directly.\n update(rawValue = inputElement.value) {\n // If `rawValue` equals `state.previousConformedValue`, we don't need to change anything. So, we return.\n // This check is here to handle controlled framework components that repeat the `update` call on every render.\n if (rawValue === state.previousConformedValue) { return }\n\n // We check the provided `rawValue` before moving further.\n // If it's something we can't work with `getSafeRawValue` will throw.\n const safeRawValue = getSafeRawValue(rawValue)\n\n // `selectionStart` indicates to us where the caret position is after the user has typed into the input\n const {selectionStart: currentCaretPosition} = inputElement\n\n // We need to know what the `previousConformedValue` is from the previous `update` call\n const {previousConformedValue} = state\n\n let caretTrapIndexes\n\n // If the `providedMask` is a function. We need to call it at every `update` to get the `mask` array.\n // Then we also need to get the `placeholder`\n if (typeof providedMask === strFunction) {\n mask = providedMask(textMask, safeRawValue, {currentCaretPosition, previousConformedValue, placeholderChar})\n\n // mask functions can setup caret traps to have some control over how the caret moves. We need to process\n // the mask for any caret traps. `processCaretTraps` will remove the caret traps from the mask and return\n // the indexes of the caret traps.\n const {maskWithoutCaretTraps, indexes} = processCaretTraps(mask)\n\n mask = maskWithoutCaretTraps // The processed mask is what we're interested in\n caretTrapIndexes = indexes // And we need to store these indexes because they're needed by `adjustCaretPosition`\n\n placeholder = convertMaskToPlaceholder(mask, placeholderChar)\n\n // If the `providedMask` is not a function, we just use it as-is.\n } else {\n mask = providedMask\n }\n\n // The following object will be passed to `conformToMask` to determine how the `rawValue` will be conformed\n const conformToMaskConfig = {\n previousConformedValue,\n guide,\n placeholderChar,\n pipe,\n placeholder,\n currentCaretPosition,\n keepCharPositions\n }\n\n // `conformToMask` returns the information below: we need the `conformedValue` and we need to know whether\n // some characters were rejected. We'll use `someCharsRejected` to know whether we should call the `onReject`\n // callback\n const {conformedValue, meta: {someCharsRejected}} = conformToMask(safeRawValue, mask, conformToMaskConfig)\n\n // The following few lines are to support the `pipe` feature.\n const piped = typeof pipe === strFunction\n\n let pipeResults = {}\n\n // If `pipe` is a function, we call it.\n /* if (piped) {\n // `pipe` receives the `conformedValue` and the configurations with which `conformToMask` was called.\n pipeResults = pipe(conformedValue, {rawValue: safeRawValue, ...conformToMaskConfig})\n\n // `pipeResults` should be an object. But as a convenience, we allow the pipe author to just return `false` to\n // indicate rejection. Or return just a string when there are no piped characters.\n // If the `pipe` returns `false` or a string, the block below turns it into an object that the rest\n // of the code can work with.\n if (pipeResults === false) {\n // If the `pipe` rejects `conformedValue`, we use the `previousConformedValue`, and set `rejected` to `true`.\n pipeResults = {value: previousConformedValue, rejected: true}\n } else if (isString(pipeResults)) {\n pipeResults = {value: pipeResults}\n }\n }*/\n\n // Before we proceed, we need to know which conformed value to use, the one returned by the pipe or the one\n // returned by `conformToMask`.\n const finalConformedValue = /*(piped) ? pipeResults.value :*/ conformedValue\n\n // After determining the conformed value, we will need to know where to set\n // the caret position. `adjustCaretPosition` will tell us.\n const adjustedCaretPosition = adjustCaretPosition({\n previousConformedValue,\n conformedValue: finalConformedValue,\n placeholder,\n rawValue: safeRawValue,\n currentCaretPosition,\n placeholderChar,\n //indexesOfPipedChars: pipeResults.indexesOfPipedChars,\n caretTrapIndexes\n })\n\n // Text Mask sets the input value to an empty string when the condition below is set. It provides a better UX.\n const inputValueShouldBeEmpty = finalConformedValue === placeholder && adjustedCaretPosition === 0\n const inputElementValue = (inputValueShouldBeEmpty) ? emptyString : finalConformedValue\n\n state.previousConformedValue = inputElementValue // store value for access for next time\n\n // In some cases, this `update` method will be repeatedly called with a raw value that has already been conformed\n // and set to `inputElement.value`. The below check guards against needlessly readjusting the input state.\n // See https://github.com/text-mask/text-mask/issues/231\n \n if (inputElement.value === inputElementValue) {\n return\n }\n\n inputElement.value = inputElementValue // set the input value\n safeSetSelection(inputElement, adjustedCaretPosition) // adjust caret position\n\n // If we set a value to the input element that's different form `previousConformedValue`, it means user input\n // was accepted, and we call the `onAccept` callback if it's a function. However, there's an exception. When\n // the first character is rejected, the input might go from empty string to placeholder. We don't want to call\n // `onAccept` in that case.\n if (\n typeof onAccept === strFunction &&\n inputElementValue !== previousConformedValue &&\n inputElementValue !== placeholder\n ) {\n state.previousOnRejectRawValue = null // See `onReject` comments for explanation for this\n\n onAccept()\n }\n\n // Now we need to figure out if user input was rejected to decide whether to call `onReject` callback or not.\n // We need to know if the operation is deletion, because if it is, then we definitely don't need to call\n // `onReject` in that case.\n const isDeletion = safeRawValue.length < previousConformedValue.length\n\n // To call `onReject`\n if (\n // `onReject` has to be a function\n typeof onReject === strFunction &&\n\n // `someCharsRejected` or `pipeResults.rejected` has to be true\n (someCharsRejected /*|| pipeResults.rejected*/) &&\n\n // the operation needs to be addition, not deletion\n isDeletion === false &&\n\n // the `rawValue` should not be the same as the previous rejected `rawValue`. We have this check to prevent\n // an infinite loop where `onReject` causes `update` to be called, So we end-up with:\n // `onReject` -> `update` -> `onReject` -> `update` -> etc...\n state.previousOnRejectRawValue !== rawValue\n ) {\n // So, remember the `rawValue` which was rejected. `state.previousOnRejectRawValue` is also reset to `null`\n // when the value is accepted, as you can see `onAccept` above.\n state.previousOnRejectRawValue = rawValue\n\n // `onReject` receives the `finalConformedValue` and booleans for `pipeRejection` and `maskRejection`\n // so know whether the user input was rejected by the mask pattern or by the pipe.\n onReject({\n conformedValue: finalConformedValue,\n //pipeRejection: pipeResults.rejected,\n maskRejection: someCharsRejected\n })\n }\n }\n }\n}\n\nfunction safeSetSelection(element, selectionPosition) {\n if (document.activeElement === element) {\n element.setSelectionRange(selectionPosition, selectionPosition, strNone)\n }\n}\n\nfunction getSafeRawValue(inputValue) {\n if (isString(inputValue)) {\n return inputValue\n } else if (isNumber(inputValue)) {\n return String(inputValue)\n } else if (inputValue === undefined || inputValue === null) {\n return emptyString\n } else {\n throw new Error(\n \"The 'value' provided to Text Mask needs to be a string or a number. The value \" +\n `received was:\\n\\n ${JSON.stringify(inputValue)}`\n )\n }\n}\n","export * from './cmmasked-input.directive';","// tslint:disable\nimport {placeholderChar as defaultPlaceholderChar} from './constants'\n\nconst emptyArray = []\n\nexport function convertMaskToPlaceholder(mask = emptyArray, placeholderChar = defaultPlaceholderChar) {\n if (mask.indexOf(placeholderChar) !== -1) {\n throw new Error(\n 'Placeholder character must not be used as part of the mask. Please specify a character ' +\n 'that is not present in your mask as your placeholder character.\\n\\n' +\n `The placeholder character that was received is: ${JSON.stringify(placeholderChar)}\\n\\n` +\n `The mask that was received is: ${JSON.stringify(mask)}`\n )\n }\n\n return mask.map((char) => {\n return (char instanceof RegExp) ? placeholderChar : char\n }).join('')\n}\n\nexport function isString(value) {\n return typeof value === 'string' || value instanceof String\n}\n\nexport function isNumber(value) {\n return typeof value === 'number' && value === undefined && !isNaN(value)\n}\n\nconst strCaretTrap = '[]'\nexport function processCaretTraps(mask) {\n const indexes = []\n\n let indexOfCaretTrap\n while(indexOfCaretTrap = mask.indexOf(strCaretTrap), indexOfCaretTrap !== -1) { // eslint-disable-line\n indexes.push(indexOfCaretTrap)\n\n mask.splice(indexOfCaretTrap, 1)\n }\n\n return {maskWithoutCaretTraps: mask, indexes}\n}\n","// tslint:disable\r\nimport { Directive, ElementRef, Input, OnInit } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[cmcolumn]'\r\n})\r\nexport class CMColumnDirective implements OnInit {\r\n\r\n private innerColumn: number = 12;\r\n get column() {\r\n return this.innerColumn;\r\n }\r\n @Input('cmcolumn') \r\n set column(value: number) {\r\n this.innerColumn = value;\r\n this.chekcColmun();\r\n }\r\n\r\n constructor(private element: ElementRef) {}\r\n\r\n ngOnInit() {\r\n this.chekcColmun();\r\n }\r\n\r\n chekcColmun() {\r\n if ((this.element) && (this.column > 0)) {\r\n let className: string = this.element.nativeElement.className;\r\n for (let i = 12; i > 0; i--) {\r\n className = className.replace('col s'+i, '');\r\n className = className.replace('col m'+i, '');\r\n className = className.replace('col l'+i, '');\r\n }\r\n className += ' col s12';\r\n className += ' col m'+this.column;\r\n className += ' col l'+this.column;\r\n this.element.nativeElement.className = className;\r\n }\r\n }\r\n\r\n}","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cm-numeric]\",\r\n})\r\nexport class CMNumericDirective {\r\n @Input(\"cm-numeric\") enabled: boolean = true;\r\n @Input(\"cm-numeric-decimals\") decimals: number = 2;\r\n @Input(\"cm-numeric-negative\") negative: number = 0;\r\n @Input(\"cm-numeric-separator\") separator: string = \",\";\r\n\r\n private checkAllowNegative(value: string) {\r\n if (this.decimals <= 0) {\r\n return String(value).match(new RegExp(/^-?\\d+$/));\r\n } else {\r\n var regExpString =\r\n \"^-?\\\\s*((\\\\d+(\\\\\" +\r\n this.separator +\r\n \"\\\\d{0,\" +\r\n this.decimals +\r\n \"})?)|((\\\\d*(\\\\\" +\r\n this.separator +\r\n \"\\\\d{1,\" +\r\n this.decimals +\r\n \"}))))\\\\s*$\";\r\n return String(value).match(new RegExp(regExpString));\r\n }\r\n }\r\n\r\n private check(value: string) {\r\n if (this.decimals <= 0) {\r\n return String(value).match(new RegExp(/^\\d+$/));\r\n } else {\r\n var regExpString =\r\n \"^\\\\s*((\\\\d+(\\\\\" +\r\n this.separator +\r\n \"\\\\d{0,\" +\r\n this.decimals +\r\n \"})?)|((\\\\d*(\\\\\" +\r\n this.separator +\r\n \"\\\\d{1,\" +\r\n this.decimals +\r\n \"}))))\\\\s*$\";\r\n return String(value).match(new RegExp(regExpString));\r\n }\r\n }\r\n\r\n private run(oldValue) {\r\n if (this.enabled) {\r\n setTimeout(() => {\r\n let currentValue: string = this.el.nativeElement.value;\r\n let allowNegative = this.negative > 0 ? true : false;\r\n\r\n if (allowNegative) {\r\n if (\r\n ![\"\", \"-\"].includes(currentValue) &&\r\n !this.checkAllowNegative(currentValue)\r\n ) {\r\n this.el.nativeElement.value = oldValue;\r\n }\r\n } else {\r\n if (currentValue !== \"\" && !this.check(currentValue)) {\r\n this.el.nativeElement.value = oldValue;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(event: KeyboardEvent) {\r\n this.run(this.el.nativeElement.value);\r\n }\r\n\r\n @HostListener(\"paste\", [\"$event\"])\r\n onPaste(event: ClipboardEvent) {\r\n this.run(this.el.nativeElement.value);\r\n }\r\n}\r\n","export * from \"./CMMaskedInput\";\r\nexport * from \"./cmcolumn.directive\";\r\nexport * from \"./cmnumeric.directive\";\r\n","// tslint:disable\r\nimport { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n CanActivate,\r\n CanDeactivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\n\r\nimport { AuthService } from \"./auth.service\";\r\nimport { CMFormComponent } from \"../component/cmform/cmform.component\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanDeactivate {\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n\r\n static useCheckMaxSimultaneousAccess = true;\r\n checkMaxSimultaneousAccess() {\r\n if (AuthGuard.useCheckMaxSimultaneousAccess) {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/CheckMaxSimultaneousAccess\",\r\n JSON.stringify({}),\r\n (result) => {\r\n if (result[\"ret\"] == \"MAXUSER\") {\r\n if (\r\n this.router.url !== \"maxusers\" ||\r\n !this.router.url.startsWith(\"/maxusers\")\r\n ) {\r\n this.router.navigate([\"/maxusers\"]);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n checkAssinaturaVencida(route: ActivatedRouteSnapshot) {\r\n if (\r\n route &&\r\n route.url &&\r\n route.url.length > 0 &&\r\n route.url[0].path !== \"minhaconta\"\r\n ) {\r\n const user = CMFormComponent.currentUserStorage();\r\n if (user[\"AssinaturaVencida\"] == true) {\r\n this.router.navigate([\"minhaconta\", \"pagarfatura\"]);\r\n }\r\n }\r\n }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable | boolean {\r\n if (this.authService.logado) {\r\n this.checkMaxSimultaneousAccess();\r\n this.checkAssinaturaVencida(route);\r\n return true;\r\n } else {\r\n let extras = {\r\n queryParams: {},\r\n };\r\n if (route.queryParams) {\r\n Object.assign(extras.queryParams, route.queryParams);\r\n }\r\n const url = route.url.join(\"/\");\r\n if (url !== \"\" && url !== \"/\") {\r\n Object.assign(extras.queryParams, {\r\n routerok: url,\r\n });\r\n }\r\n this.router.navigate([\"login\"], extras);\r\n return false;\r\n }\r\n }\r\n\r\n canDeactivate(component: any) {\r\n if (component.areFormsSaved) return component.areFormsSaved();\r\n else return true;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Router } from \"@angular/router\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { AppComponent } from \"./../../app.component\";\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n get logado() {\r\n let r: boolean = false;\r\n if (localStorage.getItem(\"currentUser\")) r = true;\r\n if (r) {\r\n r = false;\r\n if (localStorage.getItem(\"token\")) r = true;\r\n }\r\n return r;\r\n }\r\n\r\n private roles = [];\r\n isRole(role: string) {\r\n return this.roles.indexOf(role) > -1;\r\n }\r\n\r\n private recursos = [];\r\n isRecurso(recurso: number) {\r\n let s = recurso + \"=true\";\r\n return this.recursos.indexOf(s) > -1;\r\n }\r\n\r\n private innerCountTentativaLogin: number = 0;\r\n get countTentativaLogin() {\r\n return this.innerCountTentativaLogin;\r\n }\r\n\r\n private innerMsgRetLogin: string = \"\";\r\n get msgRetLogin() {\r\n return this.innerMsgRetLogin;\r\n }\r\n\r\n constructor(private http: HttpClient, private router: Router) {\r\n let ro = localStorage.getItem(\"roles\");\r\n if (ro) {\r\n try {\r\n this.roles = JSON.parse(ro);\r\n } catch (e) {\r\n this.roles = [];\r\n }\r\n }\r\n let re = localStorage.getItem(\"recursos\");\r\n if (re) {\r\n try {\r\n this.recursos = JSON.parse(re);\r\n } catch (e) {\r\n this.recursos = [];\r\n }\r\n }\r\n }\r\n\r\n public static routerok = [\"/\"];\r\n public static routerError = [];\r\n public static hash_app = \"\";\r\n\r\n checkMsgLogin(error) {\r\n if (error) {\r\n if (error.error) error = error.error;\r\n if (error.msg) this.innerMsgRetLogin = error.msg;\r\n else this.innerMsgRetLogin = error;\r\n }\r\n }\r\n\r\n navivateRouterOK(routerok, routerExtras, result) {\r\n this.innerMsgRetLogin = \"\";\r\n CMFormComponent.loadCSS_Color();\r\n this.roles = JSON.parse(localStorage.getItem(\"roles\"));\r\n this.recursos = JSON.parse(localStorage.getItem(\"recursos\"));\r\n if (CMInputConfig.trimValue(result[\"routerok\"]) !== \"\")\r\n routerok = result[\"routerok\"].split(\"/\");\r\n this.router.navigate(routerok, routerExtras);\r\n }\r\n\r\n login(usuario, authorization?: any) {\r\n let routerok = AuthService.routerok;\r\n if (usuario[\"routerok\"] !== undefined) {\r\n let r: string = usuario[\"routerok\"];\r\n routerok = r.split(\"_\");\r\n }\r\n let routerError = AuthService.routerError;\r\n if (usuario[\"routerError\"] !== undefined) {\r\n let r: string = usuario[\"routerError\"];\r\n routerError = r.split(\"_\");\r\n }\r\n let routerExtras = undefined;\r\n if (usuario[\"queryParams\"] !== undefined) {\r\n let r: any = {};\r\n Object.assign(r, usuario[\"queryParams\"]);\r\n if (r.routerok) {\r\n let x: string = decodeURIComponent(r.routerok);\r\n routerok = x.split(\"/\");\r\n r.routerok = undefined;\r\n }\r\n routerExtras = {\r\n queryParams: r,\r\n };\r\n }\r\n\r\n let auth: any = authorization;\r\n if (auth === undefined && usuario[\"login\"] !== undefined)\r\n auth = \"Basic \" + btoa(usuario[\"login\"] + \":\" + usuario[\"senha\"]);\r\n if (auth === undefined) {\r\n this.navivateRouterOK(routerok, routerExtras, {});\r\n } else {\r\n CMFormGlobaisComponent.showSpinner();\r\n let headers = new HttpHeaders({\r\n Authorization: auth,\r\n \"Content-Type\": \"application/json\",\r\n hash_app: AuthService.hash_app,\r\n });\r\n let options = { headers: headers };\r\n let _url = AppComponent.basePathApi + \"/api/authenticate\";\r\n this.http.post(_url, JSON.stringify({}), options).subscribe(\r\n (result) => {\r\n if (result[\"token\"] !== \"\") {\r\n if (result[\"routerok\"] != undefined && result[\"routerok\"] !== \"\") {\r\n routerok = result[\"routerok\"];\r\n }\r\n localStorage.setItem(\"currentUser\", usuario[\"login\"]);\r\n for (var key in result) {\r\n var value = result[key];\r\n if (value instanceof Object)\r\n localStorage.setItem(key, JSON.stringify(value));\r\n else localStorage.setItem(key, value);\r\n }\r\n if (this.logado) {\r\n this.navivateRouterOK(routerok, routerExtras, result);\r\n } else if (routerError !== []) {\r\n this.innerCountTentativaLogin += 1;\r\n this.checkMsgLogin(result);\r\n this.router.navigate(routerError, routerExtras);\r\n }\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.checkMsgLogin(error);\r\n this.innerCountTentativaLogin += 1;\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (routerError !== [])\r\n this.router.navigate(routerError, routerExtras);\r\n }\r\n );\r\n }\r\n }\r\n\r\n internalLogoff() {\r\n localStorage.clear();\r\n this.innerCountTentativaLogin = 0;\r\n this.innerMsgRetLogin = \"\";\r\n this.roles = [];\r\n this.recursos = [];\r\n if (this.router.url.toLowerCase().indexOf(\"login\") == -1) {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n }\r\n\r\n logoff() {\r\n if (this.logado) {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/logoff\",\r\n JSON.stringify({}),\r\n (response) => {\r\n this.internalLogoff();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n this.internalLogoff();\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","export default \"::ng-deep .ownerLoginFullScreen .cmcard,\\n::ng-deep .ownerLoginFullScreen .cmcard-content {\\n padding: 0 !important;\\n}\\n\\n.warpper-enviar-email {\\n max-width: 30em;\\n margin: 0 auto;\\n}\\n\\n.warpper-trocar-senha {\\n max-width: 30em;\\n margin: 0 auto;\\n text-align: center;\\n}\\n\\n.titulo {\\n font-size: 18px;\\n margin-bottom: 1em;\\n margin-top: 1em;\\n text-align: center;\\n}\\n\\n.texto {\\n font-size: 16px;\\n margin-bottom: 2em;\\n}\\n\\n.formLoginFullScreen {\\n margin: 10% auto;\\n max-width: 360px;\\n}\\n\\n.formLoginFullScreen .row_img {\\n text-align: center;\\n padding: 15px;\\n margin-top: -5px;\\n}\\n\\n.formLoginFullScreen .row_login {\\n padding: 5px;\\n}\\n\\n.formLoginFullScreen .img_logo {\\n max-width: 220px;\\n max-height: 50px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9ndWFyZC9lc3F1ZWNldS1zZW5oYS9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxndWFyZFxcZXNxdWVjZXUtc2VuaGFcXGVzcXVlY2V1LXNlbmhhLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9AY21jb3JlL2d1YXJkL2VzcXVlY2V1LXNlbmhhL2VzcXVlY2V1LXNlbmhhLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVJOztFQUVFLHFCQUFBO0FDRE47O0FETUE7RUFDRSxlQUFBO0VBQ0EsY0FBQTtBQ0hGOztBRE1BO0VBQ0UsZUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtBQ0hGOztBRE1BO0VBQ0UsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FDSEY7O0FETUE7RUFDRSxlQUFBO0VBQ0Esa0JBQUE7QUNIRjs7QURNQTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7QUNIRjs7QURLRTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0FDSko7O0FET0U7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0FDTEoiLCJmaWxlIjoic3JjL2FwcC9AY21jb3JlL2d1YXJkL2VzcXVlY2V1LXNlbmhhL2VzcXVlY2V1LXNlbmhhLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOjpuZy1kZWVwIHtcclxuICAub3duZXJMb2dpbkZ1bGxTY3JlZW4ge1xyXG4gICAgLmNtY2FyZCxcclxuICAgIC5jbWNhcmQtY29udGVudCB7XHJcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53YXJwcGVyLWVudmlhci1lbWFpbCB7XHJcbiAgbWF4LXdpZHRoOiAzMGVtO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4ud2FycHBlci10cm9jYXItc2VuaGEge1xyXG4gIG1heC13aWR0aDogMzBlbTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50aXR1bG8ge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgbWFyZ2luLXRvcDogMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRleHRvIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG59XHJcblxyXG4uZm9ybUxvZ2luRnVsbFNjcmVlbiB7XHJcbiAgbWFyZ2luOiAxMCUgYXV0bztcclxuICBtYXgtd2lkdGg6IDM2MHB4O1xyXG5cclxuICAucm93X2ltZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTVweDtcclxuICB9XHJcblxyXG4gIC5yb3dfbG9naW4ge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gIH1cclxuXHJcbiAgLmltZ19sb2dvIHtcclxuICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gIH1cclxufVxyXG4iLCI6Om5nLWRlZXAgLm93bmVyTG9naW5GdWxsU2NyZWVuIC5jbWNhcmQsXG46Om5nLWRlZXAgLm93bmVyTG9naW5GdWxsU2NyZWVuIC5jbWNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndhcnBwZXItZW52aWFyLWVtYWlsIHtcbiAgbWF4LXdpZHRoOiAzMGVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndhcnBwZXItdHJvY2FyLXNlbmhhIHtcbiAgbWF4LXdpZHRoOiAzMGVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGl0dWxvIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dG8ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmZvcm1Mb2dpbkZ1bGxTY3JlZW4ge1xuICBtYXJnaW46IDEwJSBhdXRvO1xuICBtYXgtd2lkdGg6IDM2MHB4O1xufVxuLmZvcm1Mb2dpbkZ1bGxTY3JlZW4gLnJvd19pbWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG4uZm9ybUxvZ2luRnVsbFNjcmVlbiAucm93X2xvZ2luIHtcbiAgcGFkZGluZzogNXB4O1xufVxuLmZvcm1Mb2dpbkZ1bGxTY3JlZW4gLmltZ19sb2dvIHtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWF4LWhlaWdodDogNTBweDtcbn0iXX0= */\"","import { Component, Injector } from \"@angular/core\";\r\nimport { CMFormGlobaisComponent, CMValidatorEmail } from \"../../component\";\r\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\r\n\r\n@Component({\r\n templateUrl: \"esqueceu-senha.component.html\",\r\n styleUrls: [\"esqueceu-senha.component.scss\"],\r\n})\r\nexport class EsqueceuSenhaComponent extends CMFormComponent {\r\n dados = {\r\n titulo: \"Esqueci minha senha\",\r\n texto:\r\n \"Identifique-se para receber um e-mail com as instruções e o link para criar uma nova senha.\",\r\n titulo_email_enviado: \"e-mail enviado\",\r\n texto_email_enviado:\r\n \"

    Enviamos um e-mail para [email] com as instruções e o link para você trocar a senha. Caso você não receba o e-mail em alguns minutos, verifique a sua caixa de spam ou repita o processo.

    \",\r\n titulo_alterar_senha: \"Alterar senha\",\r\n label_edit: {\r\n email: \"Usuário\",\r\n senha: \"Senha\",\r\n confirmasenha: \"Confirmar senha\",\r\n },\r\n bt_enviar_email: \"Enviar senha\",\r\n msg_email_nao_informado: \"Login não informado\",\r\n bt_enviar_senha: \"Salvar\",\r\n msg_errocamposvazios: \"Senha e Confirmação de Senha devem ser preenchidos.\",\r\n msg_erroconfirmasenha: \"Senha e Confirmação de Senha estão diferentes\",\r\n texto_nova_senha: \"Crie uma nova senha com no mínimo 8 caracteres.\",\r\n };\r\n\r\n model = {\r\n href: \"\",\r\n route_url: \"\",\r\n email: \"\",\r\n token: \"\",\r\n senha: \"\",\r\n confirmasenha: \"\",\r\n };\r\n\r\n public constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n private sub: any;\r\n\r\n ngOnInit() {\r\n this.model.href = window.location.href;\r\n this.model.route_url = this.router.url;\r\n this.sub = this.route.params.subscribe((params) => {\r\n if (params[\"token\"]) {\r\n this.model.token = params[\"token\"];\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n enviarEmail() {\r\n let msg = \"\";\r\n if (this.isEmpty(this.model.email))\r\n msg = this.dados.msg_email_nao_informado;\r\n if (!this.isEmpty(msg)) CMFormGlobaisComponent.toastErro(msg);\r\n else {\r\n CMFormGlobaisComponent.showSpinner();\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/minhaconta/esqueceusenha\",\r\n JSON.stringify(this.model),\r\n (result) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (result[\"result\"] == \"ok\") {\r\n setTimeout(() => {\r\n let msg = this.dados.texto_email_enviado;\r\n msg = msg.replace(/\\[email\\]/g, this.model.email);\r\n CMFormGlobaisComponent.showMessage(\r\n this.dados.titulo_email_enviado,\r\n msg\r\n );\r\n this.model.email = \"\";\r\n }, 10);\r\n } else\r\n CMFormGlobaisComponent.showMessage(\r\n \"Recuperar Senha\",\r\n result[\"result\"]\r\n );\r\n return true;\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"enviarEmail\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n enviarSenha() {\r\n let msg = \"\";\r\n if (this.isEmpty(this.model.senha) || this.model.senha.length < 8)\r\n msg = this.dados.msg_errocamposvazios;\r\n else if (this.model.senha !== this.model.confirmasenha)\r\n msg = this.dados.msg_erroconfirmasenha;\r\n if (!this.isEmpty(msg)) CMFormGlobaisComponent.toastErro(msg);\r\n else {\r\n CMFormGlobaisComponent.showSpinner();\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/minhaconta/salvarnovasenha\",\r\n JSON.stringify(this.model),\r\n (result) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (result[\"result\"] == \"ok\") this.router.navigate([\"/login\"]);\r\n else CMFormGlobaisComponent.toastErro(result[\"result\"]);\r\n return true;\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"enviarSenha\", error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","export * from './esqueceu-senha.component';","export * from \"./login.component\";\r\nexport * from \"./login-full-screen.component\";\r\nexport * from \"./auth.guard\";\r\nexport * from \"./auth.service\";\r\nexport * from \"./login-api.component\";\r\nexport * from \"./seguranca\";\r\nexport * from \"./usuario\";\r\nexport * from \"./maxusers\";\r\nexport * from \"./ips-bloqueados\";\r\nexport * from \"./esqueceu-senha\";","export * from \"./ips-bloqueados.component\";\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvZ3VhcmQvaXBzLWJsb3F1ZWFkb3MvaXBzLWJsb3F1ZWFkb3MuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\r\n\r\n@Component({\r\n selector: \"app-ips-bloqueados\",\r\n templateUrl: \"ips-bloqueados.component.html\",\r\n styleUrls: [\"ips-bloqueados.component.css\"],\r\n})\r\nexport class IPsBloqueadosComponent extends CMFormComponent {\r\n ips = [];\r\n\r\n constructor(injector: Injector) {\r\n super(injector);\r\n this.getListIPBlock();\r\n }\r\n\r\n getListIPBlock() {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/GetListIPBlock\",\r\n JSON.stringify({}),\r\n (result) => {\r\n if (result[\"ips\"]) {\r\n this.ips = result[\"ips\"];\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"getListIPBlock\", error);\r\n }\r\n );\r\n }\r\n\r\n liberarIP(ip) {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/LiberaIPBlock\",\r\n JSON.stringify({ ip: ip }),\r\n (result) => {\r\n if (result[\"result\"] !== \"ok\") {\r\n console.error(result);\r\n }\r\n this.getListIPBlock();\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"LiberaIPBlock\", error);\r\n }\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent } from \"./../../@cmcore/component\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@Component({\r\n selector: \"login-api\",\r\n template: \"\",\r\n})\r\nexport class LoginApiComponent extends CMFormEditComponent {\r\n constructor(_injector: Injector, private authService: AuthService) {\r\n super(_injector);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n let sub = this.route.params.subscribe((params) => {\r\n if (params[\"chaveacesso\"] !== undefined) {\r\n this.authService.login(params, \"Token \" + params[\"chaveacesso\"]);\r\n } else {\r\n this.authService.login(params, undefined);\r\n }\r\n });\r\n }\r\n}\r\n","export default \".formLoginFullScreen {\\n margin: 10% auto;\\n max-width: 360px;\\n}\\n.formLoginFullScreen .row_img {\\n text-align: center;\\n}\\n.formLoginFullScreen .img_logo {\\n max-width: 220px;\\n max-height: 50px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9ndWFyZC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxndWFyZFxcbG9naW4tZnVsbC1zY3JlZW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvZ3VhcmQvbG9naW4tZnVsbC1zY3JlZW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxnQkFBQTtFQUNBLGdCQUFBO0FDQ0o7QURDSTtFQUNJLGtCQUFBO0FDQ1I7QURFSTtFQUNJLGdCQUFBO0VBQ0EsZ0JBQUE7QUNBUiIsImZpbGUiOiJzcmMvYXBwL0BjbWNvcmUvZ3VhcmQvbG9naW4tZnVsbC1zY3JlZW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZm9ybUxvZ2luRnVsbFNjcmVlbiB7XHJcbiAgICBtYXJnaW46IDEwJSBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAzNjBweDtcclxuXHJcbiAgICAucm93X2ltZyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWdfbG9nbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbn0iLCIuZm9ybUxvZ2luRnVsbFNjcmVlbiB7XG4gIG1hcmdpbjogMTAlIGF1dG87XG4gIG1heC13aWR0aDogMzYwcHg7XG59XG4uZm9ybUxvZ2luRnVsbFNjcmVlbiAucm93X2ltZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mb3JtTG9naW5GdWxsU2NyZWVuIC5pbWdfbG9nbyB7XG4gIG1heC13aWR0aDogMjIwcHg7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG59Il19 */\"","// tslint:disable\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n templateUrl: 'login-full-screen.component.html',\r\n styleUrls: ['login-full-screen.component.scss']\r\n})\r\n\r\nexport class LoginFullScreenComponent {\r\n static beforeComponent: any = undefined;\r\n\r\n get beforeComponent() {\r\n return LoginFullScreenComponent.beforeComponent;\r\n }\r\n}","export default \".us_incorreto {\\n color: red;\\n}\\n\\n.text-align-center {\\n text-align: center;\\n}\\n\\n.warpper-esqueceu-senha {\\n margin-top: 2em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9ndWFyZC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxAY21jb3JlXFxndWFyZFxcbG9naW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0BjbWNvcmUvZ3VhcmQvbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxVQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtBQ0NGOztBREVBO0VBQ0UsZUFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9ndWFyZC9sb2dpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi51c19pbmNvcnJldG8ge1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi50ZXh0LWFsaWduLWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ud2FycHBlci1lc3F1ZWNldS1zZW5oYSB7XHJcbiAgbWFyZ2luLXRvcDogMmVtO1xyXG59IiwiLnVzX2luY29ycmV0byB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi50ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndhcnBwZXItZXNxdWVjZXUtc2VuaGEge1xuICBtYXJnaW4tdG9wOiAyZW07XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector, Input } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent, CMInputConfig } from \"./../../@cmcore/component\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@Component({\r\n selector: \"login\",\r\n templateUrl: \"login.component.html\",\r\n styleUrls: [\"login.component.scss\"],\r\n})\r\nexport class LoginComponent extends CMFormEditComponent {\r\n static captionUsuario: string = \"Usuário\";\r\n static useEsqueceuSenha: boolean = false;\r\n static useCadastreSe: boolean = false;\r\n\r\n constructor(_injector: Injector, public authService: AuthService) {\r\n super(_injector);\r\n this.modelConfig = {\r\n login: new CMInputConfig({\r\n form: this,\r\n caption: LoginComponent.captionUsuario,\r\n required: true,\r\n maxlength: 50,\r\n }),\r\n senha: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n }),\r\n };\r\n\r\n let sub2 = this.route.queryParams.subscribe((params) => {\r\n let p: any = {};\r\n Object.assign(p, params);\r\n if (p.usuario) {\r\n this.model.login = p.usuario;\r\n p.usuario = undefined;\r\n }\r\n this.model.queryParams = p;\r\n });\r\n }\r\n\r\n get useEsqueceuSenha() {\r\n return LoginComponent.useEsqueceuSenha;\r\n }\r\n\r\n get useCadastreSe() {\r\n return LoginComponent.useCadastreSe;\r\n }\r\n\r\n login() {\r\n if (this.valid()) {\r\n this.authService.login(this.model);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.authService.logoff();\r\n }\r\n\r\n protected getKeyDownCodes() {\r\n let r = super.getKeyDownCodes();\r\n r.push(13);\r\n return r;\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {\r\n super.onKeydown(keyCode, event);\r\n switch (keyCode) {\r\n case 13: // enter\r\n this.login();\r\n break;\r\n }\r\n }\r\n}\r\n","export * from \"./maxusers.component\";\r\nexport * from \"./maxusers-confirm.component\";\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\n@Component({\r\n selector: \"app-maxusers-confirm\",\r\n templateUrl: \"maxusers-confirm.component.html\"\r\n})\r\nexport class MaxUsersConfirmComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export default \".full-screen {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 961px) {\\r\\n .mat-column-lastaccess {\\r\\n width: 180px !important;\\r\\n min-width: 180px !important;\\r\\n max-width: 180px !important;\\r\\n }\\r\\n\\r\\n .mat-column-usuario,\\r\\n .mat-column-remoteip,\\r\\n .mat-column-actions {\\r\\n width: 160px !important;\\r\\n min-width: 160px !important;\\r\\n max-width: 160px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 960px) {\\r\\n .mat-table {\\r\\n border: 0;\\r\\n vertical-align: middle;\\r\\n }\\r\\n\\r\\n .mat-table .mat-header-cell {\\r\\n border: 10px solid;\\r\\n clip: rect(0 0 0 0);\\r\\n height: 1px;\\r\\n margin: -1px;\\r\\n padding: 0;\\r\\n position: absolute;\\r\\n width: 1px;\\r\\n }\\r\\n\\r\\n .mat-table .mat-row {\\r\\n border-bottom: 5px solid #ddd;\\r\\n display: block;\\r\\n }\\r\\n\\r\\n .mat-table .mat-cell {\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: block;\\r\\n font-size: 1em;\\r\\n text-align: right;\\r\\n font-weight: bold;\\r\\n margin-bottom: 4%;\\r\\n }\\r\\n\\r\\n mat-cell:first-of-type,\\r\\n mat-footer-cell:first-of-type,\\r\\n mat-header-cell:first-of-type {\\r\\n padding-left: 0px;\\r\\n }\\r\\n\\r\\n .mat-table .mat-cell:before {\\r\\n content: attr(data-label);\\r\\n float: left;\\r\\n font-weight: normal;\\r\\n font-size: 0.85em;\\r\\n }\\r\\n\\r\\n .mat-table .mat-cell {\\r\\n padding-left: 24px;\\r\\n padding-right: 24px;\\r\\n }\\r\\n\\r\\n .mat-table .mat-cell:last-child {\\r\\n border-bottom: 0;\\r\\n }\\r\\n .mat-table .mat-cell:first-child {\\r\\n margin-top: 4%;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQGNtY29yZS9ndWFyZC9tYXh1c2Vycy9tYXh1c2Vycy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRTtJQUNFLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0VBQzdCOztFQUVBOzs7SUFHRSx1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLDJCQUEyQjtFQUM3QjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxTQUFTO0lBQ1Qsc0JBQXNCO0VBQ3hCOztFQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsVUFBVTtFQUNaOztFQUVBO0lBQ0UsNkJBQTZCO0lBQzdCLGNBQWM7RUFDaEI7O0VBRUE7SUFDRSw2QkFBNkI7SUFDN0IsY0FBYztJQUNkLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtFQUNuQjs7RUFFQTs7O0lBR0UsaUJBQWlCO0VBQ25COztFQUVBO0lBQ0UseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsaUJBQWlCO0VBQ25COztFQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjtFQUNBO0lBQ0UsY0FBYztFQUNoQjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvQGNtY29yZS9ndWFyZC9tYXh1c2Vycy9tYXh1c2Vycy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZ1bGwtc2NyZWVuIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XHJcbiAgLm1hdC1jb2x1bW4tbGFzdGFjY2VzcyB7XHJcbiAgICB3aWR0aDogMTgwcHggIWltcG9ydGFudDtcclxuICAgIG1pbi13aWR0aDogMTgwcHggIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMTgwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tYXQtY29sdW1uLXVzdWFyaW8sXHJcbiAgLm1hdC1jb2x1bW4tcmVtb3RlaXAsXHJcbiAgLm1hdC1jb2x1bW4tYWN0aW9ucyB7XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIG1pbi13aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbiAgLm1hdC10YWJsZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuXHJcbiAgLm1hdC10YWJsZSAubWF0LWhlYWRlci1jZWxsIHtcclxuICAgIGJvcmRlcjogMTBweCBzb2xpZDtcclxuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIG1hcmdpbjogLTFweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gIH1cclxuXHJcbiAgLm1hdC10YWJsZSAubWF0LXJvdyB7XHJcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2RkZDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLm1hdC10YWJsZSAubWF0LWNlbGwge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQlO1xyXG4gIH1cclxuXHJcbiAgbWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSxcclxuICBtYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSxcclxuICBtYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICB9XHJcblxyXG4gIC5tYXQtdGFibGUgLm1hdC1jZWxsOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAwLjg1ZW07XHJcbiAgfVxyXG5cclxuICAubWF0LXRhYmxlIC5tYXQtY2VsbCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gIH1cclxuXHJcbiAgLm1hdC10YWJsZSAubWF0LWNlbGw6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gIH1cclxuICAubWF0LXRhYmxlIC5tYXQtY2VsbDpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiA0JTtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../component/cmform/cmform.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { MaxUsersConfirmComponent } from \".\";\r\n\r\n@Component({\r\n selector: \"app-maxusers\",\r\n templateUrl: \"maxusers.component.html\",\r\n styleUrls: [\"maxusers.component.css\"]\r\n})\r\nexport class MaxUsersComponent extends CMFormComponent {\r\n displayedColumns: string[] = [\r\n \"lastaccess\",\r\n \"usuario\",\r\n \"fullname\",\r\n \"remoteip\",\r\n \"useragent\",\r\n \"actions\"\r\n ];\r\n\r\n dataSource = [];\r\n\r\n getListUsersLogin() {\r\n this.dataSource = [];\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/GetListUsersLogin\",\r\n JSON.stringify({}),\r\n result => {\r\n if (result[\"usuarios\"]) {\r\n this.dataSource = result[\"usuarios\"];\r\n }\r\n },\r\n error => {\r\n this.showMessageErrorHTTP(\"getListUsersLogin\", error);\r\n }\r\n );\r\n }\r\n\r\n atualizarLista() {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/CheckMaxSimultaneousAccess\",\r\n JSON.stringify({}),\r\n result => {\r\n if (result[\"ret\"] == \"MAXUSER\") {\r\n this.getListUsersLogin();\r\n } else {\r\n this.router.navigate([\"/\"]);\r\n }\r\n },\r\n error => {\r\n this.showMessageErrorHTTP(\"atualizarLista\", error);\r\n }\r\n );\r\n }\r\n\r\n sair() {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n\r\n constructor(injector: Injector, public dialog: MatDialog) {\r\n super(injector);\r\n this.getListUsersLogin();\r\n }\r\n\r\n forceSair(row) {\r\n const dialogRef = this.dialog.open(MaxUsersConfirmComponent, {\r\n width: \"400px\",\r\n maxWidth: \"90%\",\r\n data: row\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.forceLogoutUser(data);\r\n }\r\n });\r\n }\r\n\r\n forceLogoutUser(data) {\r\n CMFormComponent.postSubscribe(\r\n this.http,\r\n \"/api/ForceLogoutUser\",\r\n JSON.stringify({ filename: data.filename }),\r\n result => {\r\n this.atualizarLista();\r\n },\r\n error => {\r\n this.atualizarLista();\r\n }\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig } from './../../../@cmcore/component';\r\nimport { GrupoUsuarioEditComponent } from './grupo-usuario-edit.component';\r\n\r\n@Component({\r\n selector: 'grupo-usuario-browse',\r\n templateUrl: './../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class GrupoUsuarioBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'grupousuario';\r\n this.formEditComponent = GrupoUsuarioEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'id', caption: '#', visible: false},\r\n {field: 'nome', caption: 'Nome',\r\n filter: new CMInputConfig({\r\n maxlength: 255\r\n })\r\n },\r\n {field: 'ativo', caption: 'Ativo', width: 100}\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Grupo de Usuário';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'grupousuario',\r\n 'Pesquisa de Grupo de Usuário',\r\n [{field: 'id', caption: '#', visible: false},\r\n {field: 'nome', caption: 'Nome', filter: true},\r\n {field: 'ativo', visible: false, value: 'Sim'}],\r\n target,\r\n targetProp);\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMGridComponent,\r\n CMListCheckBoxConfig, CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\nimport { RecursoBrowseComponent } from '.';\r\n\r\n@Component({\r\n selector: 'grupo-usuario-edit',\r\n templateUrl: 'grupo-usuario-edit.component.html',\r\n})\r\nexport class GrupoUsuarioEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_nome';\r\n }\r\n\r\n getTitle() {\r\n return 'Grupo de Usuário';\r\n }\r\n\r\n todosRecursos = [];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'grupousuario';\r\n RecursoBrowseComponent.getTodosRecursos(this.http,\r\n (dados) => {\r\n this.todosRecursos = dados;\r\n });\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n nome: new CMInputConfig({form: this,\r\n caption: 'Nome',\r\n maxlength: 255,\r\n required: true}),\r\n ativo: new CMInputConfig({form: this,\r\n caption: 'Ativo'}),\r\n recursos: new CMListCheckBoxConfig({form: this,\r\n listFunc: () => {return this.todosRecursos},\r\n caption: \"Recursos\",\r\n propValue: 'descricao',\r\n subProp: \"recurso\",\r\n columns: 1,\r\n striping: true,\r\n onSelect: (item) => {\r\n if (item.id == undefined)\r\n item.id = CMGridComponent.newId();\r\n item.permissoes = Object.assign([], item.recurso.permissoes);\r\n },\r\n nodeList: new CMListCheckBoxConfig({\r\n form: this,\r\n columns: 1,\r\n showBorder: false,\r\n listFunc: (nodeItem, nodeValue) => {\r\n if (nodeItem)\r\n return nodeItem.permissoes;\r\n else\r\n return [];\r\n },\r\n visibleFunc: (nodeItem, nodeValue) => {\r\n if ((nodeValue) && (nodeValue.permissoes) && (nodeValue.permissoes.length > 1))\r\n return true;\r\n else\r\n return false;\r\n },\r\n onGetValue: (nodeItem, nodeValue) => {\r\n if (nodeValue)\r\n return nodeValue.permissoes;\r\n else\r\n return [];\r\n },\r\n onSetValue: (nodeItem, nodeValue, value) => {\r\n if (nodeValue)\r\n nodeValue.permissoes = value ;\r\n }\r\n })\r\n })\r\n };\r\n }\r\n\r\n}","export * from './recurso-edit.component';\r\nexport * from './recurso-browse.component';\r\nexport * from './grupo-usuario-edit.component';\r\nexport * from './grupo-usuario-browse.component';\r\nexport * from './recurso-help';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowseComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { RecursoEditComponent } from \"./recurso-edit.component\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"recurso-browse\",\r\n templateUrl:\r\n \"./../../../@cmcore/component/cmform/cmform-browse/cmform-browse.component.html\",\r\n styleUrls: [\r\n \"./../../../@cmcore/component/cmform/cmform-browse/cmform-browse.component.scss\",\r\n ],\r\n})\r\nexport class RecursoBrowseComponent extends CMFormBrowseComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"recurso\";\r\n this.formEditComponent = RecursoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n { field: \"id\", caption: \"#\", width: 100 },\r\n { field: \"tipo\", caption: \"Tipo\", width: 200 },\r\n {\r\n field: \"descricao\",\r\n caption: \"Descrição\",\r\n filter: new CMInputConfig({\r\n maxlength: 500,\r\n }),\r\n },\r\n { field: \"ativo\", caption: \"Ativo\", width: 100 },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Recurso\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any, tipo?: string | Array) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"recurso\",\r\n \"Pesquisa de Recursos\",\r\n [\r\n { field: \"id\", caption: \"#\", visible: false },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ],\r\n target,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n { tipo: tipo }\r\n );\r\n }\r\n }\r\n\r\n static getTodosRecursos(http: HttpClient, onResult: Function) {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n CMFormBrowseComponent.postSubscribeT>(\r\n http,\r\n \"/api/recurso/GetAll\",\r\n JSON.stringify({}),\r\n (rec) => {\r\n onResult(\r\n rec.sort((a, b) => {\r\n let da = a[\"descricao\"].toLowerCase();\r\n let db = b[\"descricao\"].toLowerCase();\r\n return da > db ? 1 : db > da ? -1 : 0;\r\n })\r\n );\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMGridComponent,\r\n CMInputComponent, CMGridConfig, CMListCheckBoxConfig\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'recurso-edit',\r\n templateUrl: 'recurso-edit.component.html',\r\n})\r\nexport class RecursoEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_hash';\r\n }\r\n\r\n getTitle() {\r\n return 'Recurso';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'recurso';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n hash: new CMInputConfig({form: this,\r\n caption: 'Hash',\r\n maxlength: 255,\r\n required: true}),\r\n tipo: new CMInputConfig({form: this,\r\n caption: 'Tipo',\r\n values: [\r\n {'value': \"MenuBrowse\"},\r\n {'value': \"MenuRelatorio\"},\r\n {'value': \"MenuBrowseFuncaoExtra\"}\r\n ],\r\n required: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n maxlength: 500,\r\n required: true}),\r\n permissoes: new CMListCheckBoxConfig({form: this,\r\n caption: 'Permissões',\r\n list: ['Cadastrar',\r\n 'Editar',\r\n 'Apagar',\r\n 'Visualizar',\r\n 'Imprimir',\r\n 'Executar']}),\r\n ativo: new CMInputConfig({form: this,\r\n caption: 'Ativo'}),\r\n };\r\n }\r\n\r\n}","export * from './recurso-help-edit.component';\r\nexport * from './recurso-help-browse.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../../../@cmcore/component\";\r\nimport { RecursoHelpEditComponent } from \"./recurso-help-edit.component\";\r\nimport { RecursoBrowseComponent } from \"..\";\r\n\r\n@Component({\r\n selector: \"recurso-help-browse\",\r\n templateUrl:\r\n \"./../../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class RecursoHelpBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"RecursoHelp\";\r\n this.formEditComponent = RecursoHelpEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n { field: \"id\", caption: \"#\", visible: false },\r\n {\r\n field: \"recurso_descricao\",\r\n caption: \"Recurso\",\r\n filterField: \"recurso.id\",\r\n fieldBottom: \"recurso.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n RecursoBrowseComponent.pesquisa(sender, this.valuesFilters, [\r\n \"MenuBrowse\",\r\n \"MenuRelatorio\",\r\n ]);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"titulo\",\r\n caption: \"Titulo\",\r\n filter: new CMInputConfig({\r\n maxlength: 255,\r\n }),\r\n },\r\n { field: \"ativo\", caption: \"Ativo\", width: 100 },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Ajuda do Recurso\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridComponent,\r\n CMListCheckBoxConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../../@cmcore/component\";\r\nimport { RecursoBrowseComponent } from \"../recurso-browse.component\";\r\n\r\n@Component({\r\n selector: \"recurso-help-edit\",\r\n templateUrl: \"recurso-help-edit.component.html\",\r\n})\r\nexport class RecursoHelpEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n return \"Ajuda do Recurso\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"RecursoHelp\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({\r\n form: this,\r\n caption: \"#\",\r\n disabled: true,\r\n }),\r\n recurso: new CMInputConfig({\r\n form: this,\r\n caption: \"Recurso\",\r\n required: true,\r\n pesqOnly: true,\r\n pesqFunc: (sender) => {\r\n RecursoBrowseComponent.pesquisa(sender, this.model, [\r\n \"MenuBrowse\",\r\n \"MenuRelatorio\",\r\n ]);\r\n },\r\n }),\r\n titulo: new CMInputConfig({\r\n form: this,\r\n caption: \"Titulo\",\r\n maxlength: 60,\r\n required: true,\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n values: [\r\n { value: \"LinkExterno\", text: \"Link Externo\" },\r\n { value: \"LinkIFrame\", text: \"Link iFrame\" },\r\n ],\r\n }),\r\n link: new CMInputConfig({\r\n form: this,\r\n caption: \"Link\",\r\n required: true,\r\n }),\r\n ordem: new CMInputConfig({\r\n form: this,\r\n caption: \"Ordem\",\r\n dataType: \"double(2)\",\r\n required: true,\r\n }),\r\n };\r\n }\r\n}\r\n","export * from './usuario-edit.component';\r\nexport * from './usuario-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../../@cmcore/component';\r\nimport { UsuarioEditComponent } from './usuario-edit.component';\r\n\r\n@Component({\r\n selector: 'usuario-browse',\r\n templateUrl: './../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class UsuarioBrowseComponent extends CMFormBrowse2Component {\r\n\r\n getTitle() {\r\n return 'Usuário';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'usuario';\r\n this.formEditComponent = UsuarioEditComponent;\r\n this.columns = [{field: 'nome', caption: 'Nome', filter: true},\r\n {field: 'login', caption: 'Login', filter: true}\r\n ];\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string, onAfterSelect?: Function) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'usuario',\r\n 'Pesquisa de Usuário',\r\n [{field: 'id', caption: '#', width: 100},\r\n {field: 'nome', caption: 'Nome', filter: true},\r\n {field: 'login', caption: 'Login', filter: true}],\r\n target,\r\n targetProp,\r\n 'id',\r\n onAfterSelect);\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMListCheckBoxConfig,\r\n CMGridEditConfigColumn,\r\n CMGridComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { GrupoUsuarioBrowseComponent } from \"./../seguranca/grupo-usuario-browse.component\";\r\nimport { RecursoBrowseComponent } from \"..\";\r\n\r\n@Component({\r\n selector: \"usuario-edit\",\r\n templateUrl: \"usuario-edit.component.html\",\r\n})\r\nexport class UsuarioEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_nome\";\r\n }\r\n\r\n getTitle() {\r\n return \"Usuário\";\r\n }\r\n\r\n todosRecursos = [];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"usuario\";\r\n RecursoBrowseComponent.getTodosRecursos(this.http, (dados) => {\r\n this.todosRecursos = dados;\r\n });\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome\",\r\n required: true,\r\n maxlength: 255,\r\n }),\r\n ativo: new CMInputConfig({ form: this, caption: \"Ativo\" }),\r\n login: new CMInputConfig({\r\n form: this,\r\n caption: \"Login\",\r\n required: true,\r\n lower: true,\r\n minlength: 3,\r\n maxlength: 50,\r\n }),\r\n senha: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n criptografado: true,\r\n required: true,\r\n minlength: 6,\r\n maxlength: 17,\r\n }),\r\n grupos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Grupos\",\r\n required: false,\r\n fields: {\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n pesqOnly: true,\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grupo.nome\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n GrupoUsuarioBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grupos.current,\r\n \"grupo\"\r\n );\r\n },\r\n }),\r\n },\r\n }),\r\n recursos: new CMListCheckBoxConfig({\r\n form: this,\r\n listFunc: () => {\r\n return this.todosRecursos;\r\n },\r\n caption: \"Recursos\",\r\n propValue: \"descricao\",\r\n subProp: \"recurso\",\r\n columns: 1,\r\n striping: true,\r\n required: false,\r\n onSelect: (item) => {\r\n if (item.id == undefined) item.id = CMGridComponent.newId();\r\n item.permissoes = Object.assign([], item.recurso.permissoes);\r\n },\r\n nodeList: new CMListCheckBoxConfig({\r\n form: this,\r\n columns: 1,\r\n showBorder: false,\r\n listFunc: (nodeItem, nodeValue) => {\r\n if (nodeItem) return nodeItem.permissoes;\r\n else return [];\r\n },\r\n visibleFunc: (nodeItem, nodeValue) => {\r\n if (\r\n nodeValue &&\r\n nodeValue.permissoes &&\r\n nodeValue.permissoes.length > 1\r\n )\r\n return true;\r\n else return false;\r\n },\r\n onGetValue: (nodeItem, nodeValue) => {\r\n if (nodeValue) return nodeValue.permissoes;\r\n else return [];\r\n },\r\n onSetValue: (nodeItem, nodeValue, value) => {\r\n if (nodeValue) nodeValue.permissoes = value;\r\n },\r\n }),\r\n }),\r\n };\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Pipe } from \"@angular/core\";\r\nimport {\r\n DomSanitizer,\r\n SafeHtml,\r\n SafeStyle,\r\n SafeScript,\r\n SafeUrl,\r\n SafeResourceUrl,\r\n} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"cmsafe\",\r\n})\r\nexport class CMSafePipe {\r\n constructor(protected _sanitizer: DomSanitizer) {}\r\n\r\n private sanitizerAutoImg(value: string) {\r\n let r: any = value;\r\n if (typeof value === \"string\") {\r\n if (value.substr(0, 5) === \"data:\")\r\n r = this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n else r = this._sanitizer.bypassSecurityTrustUrl(value);\r\n }\r\n return r;\r\n }\r\n\r\n public transform(\r\n value: string,\r\n type: string = \"html\"\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n if (value === undefined) {\r\n value = \"\";\r\n }\r\n switch (type) {\r\n case \"html\":\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n case \"style\":\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n case \"script\":\r\n return this._sanitizer.bypassSecurityTrustScript(value);\r\n case \"url\":\r\n return this._sanitizer.bypassSecurityTrustUrl(value);\r\n case \"resourceUrl\":\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n case \"auto_img\":\r\n return this.sanitizerAutoImg(value);\r\n default:\r\n throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n}\r\n","export * from './cmsafe.pipe'","// tslint:disable\r\nimport {CMInputConfig} from '../component';\r\n\r\nexport class CMValidator {\r\n\r\n validate(value: string, gridRow) {\r\n if (this.validFunc)\r\n return this.validFunc(gridRow);\r\n else\r\n return undefined;\r\n };\r\n\r\n constructor (protected validFunc: Function) {}\r\n static trimValue(value: any) {\r\n return CMInputConfig.trimValue(value);\r\n }\r\n}\r\n","// tslint:disable\r\nimport {CMValidator} from './cmvalidator';\r\n\r\nexport class CMValidatorCNPJCPF extends CMValidator {\r\n\r\n tipo_padrao: string = 'CPF ou CNPJ';\r\n constructor (tipo_padrao?: string) {\r\n super(null);\r\n if (tipo_padrao)\r\n this.tipo_padrao = tipo_padrao;\r\n }\r\n\r\n validate(value: string, gridRow) {\r\n let v = CMValidator.trimValue(value);\r\n if (v !== '') {\r\n let r = undefined;\r\n let tipo = this.verifica_cpf_cnpj(v);\r\n if (tipo === 'CNPJ') {\r\n if (!this.valida_cnpj(v))\r\n r = 'CNPJ inválido';\r\n }\r\n else if (tipo === 'CPF') {\r\n if (!this.valida_cpf(v))\r\n r = 'CPF inválido';\r\n }\r\n else if (v.replace(/[^0-9]/g, '').length > 0)\r\n r = this.tipo_padrao+' inválido';\r\n return r;\r\n }\r\n };\r\n\r\n verifica_cpf_cnpj(valor) {\r\n let r: string = '';\r\n valor = valor.replace(/[^0-9]/g, '');\r\n if (valor.length === 11)\r\n r = 'CPF';\r\n else if (valor.length === 14)\r\n r = 'CNPJ';\r\n return r;\r\n }\r\n\r\n calc_digitos_posicoes(digitos, posicoes = 10, soma_digitos = 0) {\r\n digitos = digitos.toString();\r\n for (let i = 0; i < digitos.length; i++) {\r\n soma_digitos = soma_digitos + (digitos[i] * posicoes);\r\n posicoes--;\r\n if (posicoes < 2)\r\n posicoes = 9;\r\n }\r\n soma_digitos = soma_digitos % 11;\r\n if (soma_digitos < 2)\r\n soma_digitos = 0;\r\n else\r\n soma_digitos = 11 - soma_digitos;\r\n let r = digitos + soma_digitos;\r\n return r;\r\n }\r\n\r\n valida_cnpj(valor) {\r\n let r: boolean = true;\r\n valor = valor.toString();\r\n valor = valor.replace(/[^0-9]/g, '');\r\n if ((valor == '00000000000000') ||\r\n (valor == '11111111111111') ||\r\n (valor == '22222222222222') ||\r\n (valor == '33333333333333') ||\r\n (valor == '44444444444444') ||\r\n (valor == '55555555555555') ||\r\n (valor == '66666666666666') ||\r\n (valor == '77777777777777') ||\r\n (valor == '88888888888888') ||\r\n (valor == '99999999999999'))\r\n r = false;\r\n if (r) {\r\n let cnpj_original = valor;\r\n let primeiros_numeros_cnpj = valor.substr(0, 12);\r\n let primeiro_calculo = this.calc_digitos_posicoes(primeiros_numeros_cnpj, 5);\r\n let segundo_calculo = this.calc_digitos_posicoes(primeiro_calculo, 6);\r\n let cnpj = segundo_calculo;\r\n if (cnpj === cnpj_original)\r\n r = true;\r\n else\r\n r = false;\r\n }\r\n return r;\r\n }\r\n\r\n valida_cpf(valor) {\r\n let r: boolean = true;\r\n valor = valor.toString();\r\n valor = valor.replace(/[^0-9]/g, '');\r\n if ((valor == '00000000000') ||\r\n (valor == '11111111111') ||\r\n (valor == '22222222222') ||\r\n (valor == '33333333333') ||\r\n (valor == '44444444444') ||\r\n (valor == '55555555555') ||\r\n (valor == '66666666666') ||\r\n (valor == '77777777777') ||\r\n (valor == '88888888888') ||\r\n (valor == '99999999999'))\r\n r = false;\r\n if (r) {\r\n let digitos = valor.substr(0, 9);\r\n let novo_cpf = this.calc_digitos_posicoes(digitos);\r\n novo_cpf = this.calc_digitos_posicoes(novo_cpf, 11);\r\n if (novo_cpf === valor)\r\n r = true;\r\n else\r\n r = false;\r\n }\r\n return r;\r\n }\r\n\r\n}","export * from './cmvalidator';\r\nexport * from './cnpj-cpf.validator';","export default \"::ng-deep .mat-column-codigo {\\n flex: 0 0 200px;\\n}\\n::ng-deep .mat-column-saldoatual {\\n flex: 0 0 150px;\\n}\\n::ng-deep .mat-column-saldoatual input {\\n text-align: right;\\n}\\n::ng-deep .mat-column-saldoatual .mat-sort-header-container {\\n margin: 0 0 0 auto;\\n}\\n::ng-deep .mat-column-ajustar {\\n flex: 0 0 80px;\\n}\\n::ng-deep .mat-column-ajustar .mat-sort-header-container {\\n margin: 0 auto;\\n}\\n::ng-deep .mat-column-novosaldo {\\n flex: 0 0 150px;\\n}\\n::ng-deep .mat-column-novosaldo input {\\n text-align: right;\\n}\\n::ng-deep .mat-column-novosaldo .mat-sort-header-container {\\n margin: 0 0 0 auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9hanVzdGUtc2FsZG8vQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcYWp1c3RlLXNhbGRvXFxhanVzdGUtc2FsZG8tY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvYWp1c3RlLXNhbGRvL2FqdXN0ZS1zYWxkby1jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRTtFQUNFLGVBQUE7QUNBSjtBREVFO0VBQ0UsZUFBQTtBQ0FKO0FEQ0k7RUFDRSxpQkFBQTtBQ0NOO0FEQ0k7RUFDRSxrQkFBQTtBQ0NOO0FERUU7RUFDRSxjQUFBO0FDQUo7QURDSTtFQUNFLGNBQUE7QUNDTjtBREVFO0VBQ0UsZUFBQTtBQ0FKO0FEQ0k7RUFDRSxpQkFBQTtBQ0NOO0FEQ0k7RUFDRSxrQkFBQTtBQ0NOIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9hanVzdGUtc2FsZG8vYWp1c3RlLXNhbGRvLWNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOjpuZy1kZWVwIHtcclxuICAubWF0LWNvbHVtbi1jb2RpZ28ge1xyXG4gICAgZmxleDogMCAwIDIwMHB4O1xyXG4gIH1cclxuICAubWF0LWNvbHVtbi1zYWxkb2F0dWFsIHtcclxuICAgIGZsZXg6IDAgMCAxNTBweDtcclxuICAgIGlucHV0IHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgLm1hdC1jb2x1bW4tYWp1c3RhciB7XHJcbiAgICBmbGV4OiAwIDAgODBweDtcclxuICAgIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tYXQtY29sdW1uLW5vdm9zYWxkbyB7XHJcbiAgICBmbGV4OiAwIDAgMTUwcHg7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIHZlciBkZSBwYXNzYXIgaXNzbyBwYXJhIG8gY29tcG9uZW50ZVxyXG4iLCI6Om5nLWRlZXAgLm1hdC1jb2x1bW4tY29kaWdvIHtcbiAgZmxleDogMCAwIDIwMHB4O1xufVxuOjpuZy1kZWVwIC5tYXQtY29sdW1uLXNhbGRvYXR1YWwge1xuICBmbGV4OiAwIDAgMTUwcHg7XG59XG46Om5nLWRlZXAgLm1hdC1jb2x1bW4tc2FsZG9hdHVhbCBpbnB1dCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuOjpuZy1kZWVwIC5tYXQtY29sdW1uLXNhbGRvYXR1YWwgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG59XG46Om5nLWRlZXAgLm1hdC1jb2x1bW4tYWp1c3RhciB7XG4gIGZsZXg6IDAgMCA4MHB4O1xufVxuOjpuZy1kZWVwIC5tYXQtY29sdW1uLWFqdXN0YXIgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cbjo6bmctZGVlcCAubWF0LWNvbHVtbi1ub3Zvc2FsZG8ge1xuICBmbGV4OiAwIDAgMTUwcHg7XG59XG46Om5nLWRlZXAgLm1hdC1jb2x1bW4tbm92b3NhbGRvIGlucHV0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG46Om5nLWRlZXAgLm1hdC1jb2x1bW4tbm92b3NhbGRvIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormExecComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMFormGlobaisComponent,\r\n CMUploadFileComponent,\r\n CMGridV2ListColumns,\r\n CMGridV2EditType,\r\n CMGridV2EditDataType,\r\n} from \"./../../@cmcore/component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { ProdutoBrowseComponent } from \"../produto\";\r\nimport {\r\n GrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n} from \"..\";\r\n\r\n@Component({\r\n templateUrl: \"ajuste-saldo-component.html\",\r\n styleUrls: [\"ajuste-saldo-component.scss\"],\r\n})\r\nexport class AjusteSaldoComponent extends CMFormExecComponent {\r\n @ViewChild(\"fileUpLoad\", { static: true }) fileUpLoad: CMUploadFileComponent;\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.filterConfig = {\r\n filtro: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.filter.filtro, \"Ativos\");\r\n },\r\n }),\r\n importar: new CMInputConfig({\r\n form: this,\r\n caption: \"Importar Saldos de uma Planilha\",\r\n dataType: \"boolean\",\r\n }),\r\n apenasprodutoscomsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos com saldo\",\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () =>\r\n FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter.filtro,\r\n \"grupo\"\r\n );\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () =>\r\n FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter.filtro,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n },\r\n dados: {\r\n produtos: new CMGridV2ListColumns({\r\n columns: [\r\n {\r\n field: \"codigo\",\r\n header: \"Código\",\r\n },\r\n {\r\n field: \"descr\",\r\n header: \"Descrição\",\r\n },\r\n {\r\n field: \"descricaograde\",\r\n header: \"Grade\",\r\n visible: FuncsGlobais.paramEmpresa.usaGrade,\r\n },\r\n {\r\n field: \"datavalidadelote\",\r\n header: \"Validade do Lote\",\r\n visible: FuncsGlobais.paramEmpresa.usaLote,\r\n },\r\n {\r\n field: \"numerolote\",\r\n header: \"Lote\",\r\n visible: FuncsGlobais.paramEmpresa.usaLote,\r\n },\r\n {\r\n field: \"saldoatual\",\r\n header: \"Saldo Atual\",\r\n dataType: CMGridV2EditDataType.DOUBLE,\r\n },\r\n {\r\n field: \"ajustar\",\r\n header: \"Ajustar\",\r\n editType: CMGridV2EditType.CHECKBOX,\r\n },\r\n {\r\n field: \"novosaldo\",\r\n header: \"Novo Saldo\",\r\n enabled: true,\r\n dataType: CMGridV2EditDataType.DOUBLE,\r\n decimals: 2,\r\n },\r\n ],\r\n }),\r\n },\r\n };\r\n this.filter.filtro.apenasprodutoscomsaldo = \"Não\";\r\n this.filter.dados.produtos = [];\r\n }\r\n\r\n innerExec() {\r\n super.innerExec();\r\n this.geraAjusteSaldo();\r\n }\r\n\r\n loadProdutos() {\r\n this.importou = false;\r\n this.mostraResultado = false;\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe(\r\n \"/api/NFeEstoque/GetProdutosAjusteSaldo\",\r\n JSON.stringify(this.filter.filtro),\r\n (response) => {\r\n this.filter.dados.produtos = response;\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"loadProdutos\", error);\r\n }\r\n );\r\n }\r\n\r\n geraAjusteSaldo() {\r\n this.importou = false;\r\n this.mostraResultado = false;\r\n CMFormGlobaisComponent.showSpinner();\r\n let produtos = [];\r\n this.filter.dados.produtos.forEach((produto) => {\r\n if (produto.ajustar === \"Sim\") {\r\n produtos.push({\r\n idproduto: produto.idproduto,\r\n idgrade: produto.idgrade,\r\n numerolote: produto.numerolote,\r\n saldoatual: produto.saldoatual,\r\n novosaldo: produto.novosaldo,\r\n });\r\n }\r\n });\r\n\r\n if (produtos.length == 0) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastErro(\r\n \"Ao menos um produto deve ser selecionado para ajustar\"\r\n );\r\n } else {\r\n this.postSubscribe(\r\n \"/api/NFeEstoque/AjusteSaldo/FuncaoExtra\",\r\n JSON.stringify(produtos),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.filter.dados.produtos = [];\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Movimento gerados com sucesso.\"\r\n );\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result[\"msg\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"geraAjusteSaldo\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n onCompleteUploadFile(sender: any) {\r\n this.importou = false;\r\n this.mostraResultado = false;\r\n CMFormGlobaisComponent.hideSpinner();\r\n sender.form.filter.fileuploadkeyserver = sender.keyserver;\r\n sender.form.filter.fileuploadname = sender.file.name;\r\n sender.form.importar();\r\n }\r\n\r\n objectKeys = Object.keys;\r\n naoimportados: any = {};\r\n importou: boolean = false;\r\n mostraResultado: boolean = false;\r\n\r\n importar() {\r\n this.fileUpLoad.setMsg(\"Processamento arquivo no servidor\");\r\n let filter = this.filter;\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe(\r\n \"/api/NFeEstoque/ImportarAjusteSaldo/FuncaoExtra\",\r\n JSON.stringify(filter),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.fileUpLoad.setMsg(result[\"msg\"]);\r\n this.filter.dados.produtos = result[\"produtos\"];\r\n //CMFormGlobaisComponent.toastSucesso(result[\"msg\"]);\r\n this.mostraResultado = result[\"naoimportados\"] !== undefined;\r\n if (this.mostraResultado) {\r\n this.naoimportados = result[\"naoimportados\"];\r\n } else {\r\n this.naoimportados = {};\r\n }\r\n this.importou = true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result[\"msg\"]);\r\n this.fileUpLoad.setMsg(result[\"msg\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"importar\", error);\r\n }\r\n );\r\n }\r\n}\r\n","export * from './ajuste-saldo-component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig } from './../../@cmcore/component';\r\nimport { AssociadoEditComponent } from './associado-edit.component';\r\nimport { SeguimentoBrowseComponent } from '../seguimento';\r\n\r\n@Component({\r\n selector: 'associado-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class AssociadoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n getTitle() {\r\n return 'Associado';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'associado';\r\n this.formEditComponent = AssociadoEditComponent;\r\n this.columns = [{field: 'id', caption: '#', width: '100',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {field: 'codigo', caption: 'Código', width: '100',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {field: 'cnpj', caption: 'CNPJ', width: '200',\r\n filter: new CMInputConfig({\r\n mask: '99.999.999/9999-99'\r\n })\r\n },\r\n {field: 'nome', caption: 'Razão Social',\r\n filter: new CMInputConfig({\r\n maxlength: 100\r\n })\r\n },\r\n {\r\n field: 'ativo',\r\n caption: 'Ativo',\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Ativos\" },\r\n { value: \"Inativos\" },\r\n { value: \"Todos\" },\r\n ],\r\n }),\r\n value: 'Todos'\r\n },\r\n {\r\n field: 'seguimento_desc',\r\n caption: 'Seguimento',\r\n filterField: \"seguimento.id\",\r\n filterValue: \"seguimento.codigo\",\r\n fieldBottom: \"seguimento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n SeguimentoBrowseComponent.pesquisaSeguimento(sender, this.valuesFilters)\r\n }\r\n })\r\n }\r\n ];\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\" },\r\n {\r\n field: \"$tipopessoa\",\r\n caption: \"Tipo\",\r\n filter: true,\r\n value: tipo,\r\n visible: false,\r\n filterVisible: false,\r\n },\r\n {\r\n field: \"nome\",\r\n caption: \"Nome\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"fantasia\",\r\n caption: \"Fantasia\",\r\n filter: new CMInputConfig({\r\n maxlength: 100,\r\n }),\r\n },\r\n {\r\n field: \"cpf\",\r\n caption: \"CPF\",\r\n filter: true,\r\n mask: \"999.999.999-99\",\r\n },\r\n {\r\n field: \"cnpj\",\r\n caption: \"CNPJ\",\r\n filter: true,\r\n mask: \"99.999.999/9999-99\",\r\n },\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"associado\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, OnInit, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMValidatorEmail,\r\n CMFormModalComponent\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport { CMValidatorCNPJCPF } from \"./../../@cmcore/validator\";\r\nimport {\r\n SeguimentoBrowseComponent,\r\n PadraoDeOperacaoBrowseComponent,\r\n MunicipioBrowseComponent,\r\n CFOPBrowseComponent\r\n} from \"./../index\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"associado-edit\",\r\n templateUrl: \"associado-edit.component.html\"\r\n})\r\nexport class AssociadoEditComponent extends CMFormEditComponent\r\n implements OnInit {\r\n getFirstComponentName() {\r\n return \"model_cnpj\";\r\n }\r\n\r\n getTitle() {\r\n return \"Associado - \" + this.fieldByName(\"nome\");\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"associado\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n disabled: true\r\n }),\r\n datamaximauso: new CMInputConfig({\r\n form: this,\r\n caption: \"Data máxima de uso\",\r\n mask: \"99/99/9999\"\r\n }),\r\n qtdeusuariosimultaneo: new CMInputConfig({\r\n form: this,\r\n caption: \"Qtde usuários simultâneos\"\r\n }),\r\n cnpj: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ\",\r\n requiredFunc: () => this.idDataModel.toString() !== \"1\",\r\n mask: \"99.999.999/9999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()]\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Razão Social\",\r\n required: true,\r\n maxlength: 60\r\n }),\r\n ie: new CMInputConfig({ form: this, caption: \"IE\", maxlength: 100 }),\r\n cadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n readonly: true\r\n }),\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()]\r\n }),\r\n endereco: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n required: true,\r\n maxlength: 60\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n required: true,\r\n maxlength: 10\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n required: true,\r\n maxlength: 60\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n required: true,\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" }\r\n ]\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n required: true,\r\n pesqFunc: sender => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.endereco.estado,\r\n sender,\r\n this.model.endereco,\r\n \"ibge\"\r\n );\r\n }\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n required: true,\r\n mask: \"99999-999\"\r\n })\r\n },\r\n telefones: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Telefones\",\r\n onNewItem: model => {\r\n Object.assign(model, { tipo: \"Residencial\" });\r\n },\r\n fields: {\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Telefone\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maskFunc: row => {\r\n let m = \"(99)9999-9999\";\r\n if (row.tipo === \"Celular\") m = \"(99)99999-9999\";\r\n return m;\r\n }\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1\r\n }),\r\n values: [\r\n { value: \"Residencial\" },\r\n { value: \"Comercial\" },\r\n { value: \"Celular\" },\r\n { value: \"Fax\" }\r\n ]\r\n }),\r\n contato: new CMInputConfig({\r\n form: this,\r\n caption: \"Contato\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 100\r\n })\r\n }\r\n }),\r\n usuario: {\r\n login: new CMInputConfig({\r\n form: this,\r\n caption: \"Login\",\r\n required: true,\r\n maxlength: 50\r\n }),\r\n senha: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n minlength: 6\r\n }),\r\n ativo: new CMInputConfig({ form: this, caption: \"Ativo\" })\r\n },\r\n\r\n seguimentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Seguimentos\",\r\n fields: {\r\n seguimento: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Seguimento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: row => {\r\n return this.getValueObject(row, \"seguimento.codigo\");\r\n },\r\n getBottomLabelColumn: row => {\r\n return this.getValueObject(row, \"seguimento.descricao\");\r\n }\r\n }),\r\n pesqFunc: sender =>\r\n SeguimentoBrowseComponent.pesquisaSeguimento(\r\n sender,\r\n this.modelConfig.seguimentos.grid.current\r\n )\r\n })\r\n }\r\n })\r\n };\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","export * from './associado-edit.component';\r\nexport * from './associado-browse.component';","// tslint:disable\r\nimport {Injector, Component} from '@angular/core';\r\n\r\nimport {CMFormBrowse2Component} from './../../@cmcore/component';\r\nimport {CaixaSATEditComponent} from './caixa-sat-edit.component';\r\n\r\n@Component({\r\n selector: 'caixa-sat-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CaixaSATBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'caixasat';\r\n this.formEditComponent = CaixaSATEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n {field: 'numerocaixa', caption: 'Número do Caixa'},\r\n {field: 'identificacaodispositivocomplemento', caption: 'Identificação do Dispositivo'}\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Caixa SAT';\r\n }\r\n}\r\n","// tslint:disable\r\nimport {Component, Injector} from '@angular/core';\r\n\r\nimport {CMFormEditComponent, CMInputConfig} from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'caixa-sat-edit',\r\n templateUrl: 'caixa-sat-edit.component.html'\r\n})\r\nexport class CaixaSATEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return 'model_numerocaixa';\r\n }\r\n\r\n getTitle() {\r\n return 'Caixa SAT';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'caixasat';\r\n this.setModelConfig();\r\n }\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numerocaixa: new CMInputConfig({\r\n form: this,\r\n caption: 'Número do Caixa',\r\n required: true,\r\n dataType: 'integer'\r\n }),\r\n assinatura: new CMInputConfig({\r\n form: this,\r\n caption: 'Assinatura'\r\n }),\r\n identificacaodispositivocomplemento: new CMInputConfig({\r\n form: this,\r\n caption: 'Identificação do Dispositivo',\r\n maxlength: 45\r\n })\r\n };\r\n }\r\n}\r\n","export * from './caixa-sat-edit.component';\r\nexport * from './caixa-sat-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig } from './../../@cmcore/component';\r\nimport { CategoriaContaContabilEditComponent } from './categoria-conta-contabil-edit.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\n\r\n@Component({\r\n selector: 'categoria-conta-contabil-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CategoriaContaContabilBrowse extends CMFormBrowse2Component {\r\n\r\n static defaultColumns = [{field: 'codigo', caption: '#', filter: true},\r\n {field: 'descricao', caption: 'Descrição', filter: true}\r\n];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'CategoriaContaContabil';\r\n this.formEditComponent = CategoriaContaContabilEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = CategoriaContaContabilBrowse.defaultColumns;\r\n }\r\n \r\n getTitle() {\r\n return 'Categoria de Conta Contábil';\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\", filter: true},\r\n {\r\n field: \"descricao\",\r\n caption: \"Descricao\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n }\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"categoriacontacontabil\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMFormGlobaisComponent\r\n } from './../../@cmcore/component';\r\nimport { CategoriaContaContabilBrowse } from './categoria-conta-contabil-browse.component';\r\n@Component({\r\n selector: 'categoria-conta-contabil-edit',\r\n templateUrl: 'categoria-conta-contabil.component.html',\r\n})\r\nexport class CategoriaContaContabilEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_descricao';\r\n }\r\n \r\n getTitle() {\r\n return 'Categoria de Conta Contabil';\r\n }\r\n \r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'CategoriaContaContabil';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n maxlength: 100,\r\n required: true}),\r\n };\r\n }\r\n \r\n /*\r\n afterSave() {\r\n CategoriaContaContabilBrowse.clearValuesSelect();\r\n }\r\n */\r\n \r\n} \r\n","export * from './categoria-conta-contabil-edit.component';\r\nexport * from './categoria-conta-contabil-browse.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { CESTEditComponent } from './cest-edit.component';\r\n\r\n@Component({\r\n selector: 'cest-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CESTBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'cest';\r\n this.formEditComponent = CESTEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'codigo', caption: 'Código', width: '150', filter: true},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'ncmsh', caption: 'NCM / SH', filter: true, visible: false},\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'CEST';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, ncmsh: string) {\r\n if (target) {\r\n let caption: string = 'Pesquisa de CEST';\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'cest',\r\n caption,\r\n [{field: 'codigo', caption: 'Código', width: '150', filter: true},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'ncmsh', caption: 'NCM / SH', filter: true, value: ncmsh, visible: false},\r\n ],\r\n target,\r\n undefined,\r\n 'codigo',\r\n undefined,\r\n undefined,\r\n \"auto\");\r\n }\r\n }\r\n \r\n static pesquisa2(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"cest\",\r\n \"Pesquisa de CEST\",\r\n [{field: 'codigo', caption: 'Código', width: '150', filter: true},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'ncmsh', caption: 'NCM / SH', filter: true, value: \"\", visible: false},\r\n ],\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n undefined,\r\n \"auto\"\r\n );\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig,\r\n CMGridEditConfig, CMGridEditConfigColumn\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'cest-edit',\r\n templateUrl: 'cest-edit.component.html',\r\n})\r\nexport class CESTEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_codigo';\r\n }\r\n\r\n getTitle() {\r\n return 'CEST';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'cest';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: 'Código',\r\n dataType: 'integer',\r\n maxlength: 7,\r\n required: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n required: true}),\r\n ncms: new CMGridEditConfig({form: this,\r\n caption: '',\r\n required: false,\r\n focusComponentOnSelect: 'model_ncms_ncmsh',\r\n fields: {ncmsh: new CMInputConfig({form: this,\r\n caption: 'NCM / SH',\r\n dataType: 'integer',\r\n maxlength: 9,\r\n gridConfig: new CMGridEditConfigColumn()}),\r\n }}),\r\n };\r\n }\r\n\r\n}","export * from './cest-edit.component';\r\nexport * from './cest-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { CFeEditComponent } from \"./../index\";\r\n\r\n@Component({\r\n selector: \"cfe-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class CFeBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"cfe\";\r\n this.formEditComponent = CFeEditComponent;\r\n this.columns = [\r\n {\r\n field: \"id\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"nnf\",\r\n caption: \"Núm. Cupom\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"cnf\",\r\n caption: \"Caixa\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"serie\",\r\n caption: \"Serie SAT\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"vnf\",\r\n caption: \"Valor Total\",\r\n },\r\n {\r\n field: \"status\",\r\n caption: \"Status\",\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"CF-e\";\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n idCliente?: number,\r\n tipoPagamento?: string\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"cfe\",\r\n \"Pesquisa de CF-e\",\r\n [\r\n {\r\n field: \"id\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"nnf\",\r\n caption: \"Núm. Cupom\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n { field: \"pessoa_nome\", caption: \"Cliente\", filter: true },\r\n { field: \"dhemi\", caption: \"Data\", filter: true, mask: \"99/99/9999\" },\r\n ],\r\n target,\r\n targetProp,\r\n \"id\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n {\r\n idcliente: idCliente,\r\n tipopagamento: tipoPagamento,\r\n status: \"Autorizado\",\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { CupomDescontoBrowseComponent, MunicipioBrowseComponent } from \"..\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"cfe-edit\",\r\n templateUrl: \"cfe-edit.component.html\",\r\n})\r\nexport class CFeEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n let r: string = \"CF-e\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"cfe\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n infnfe: {\r\n ide: {\r\n cnf: new CMInputConfig({ form: this, caption: \"Caixa\" }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Serie SAT\",\r\n dataType: \"integer\",\r\n }),\r\n nnf: new CMInputConfig({ form: this, caption: \"#\" }),\r\n dhemi: new CMInputConfig({ form: this, caption: \"Data emissão\" }),\r\n nfref: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n caption: \"Cupom de cancelamento\",\r\n fields: {\r\n refnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n maxlength: 44,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n },\r\n dest: {\r\n cpf: new CMInputConfig({\r\n form: this,\r\n caption: \"CPF Cliente\",\r\n }),\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n tipo: \"input-pesquisa\",\r\n width: \"350px\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.produto.descr\");\r\n },\r\n }),\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n }),\r\n hintButton: \"Visualizar\",\r\n iconButton: \"visibility\",\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n }),\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 5,\r\n }),\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 4,\r\n }),\r\n }),\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 6,\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.descricao\");\r\n },\r\n }),\r\n }),\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n icmstot: {\r\n vprod: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n }),\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Liquído\",\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n },\r\n\r\n pag: {\r\n cupomdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Cupom de Desconto\",\r\n pesqFunc: (sender) => {\r\n CupomDescontoBrowseComponent.pesquisa(\r\n \"Não\",\r\n sender,\r\n this.model.infnfe.pag,\r\n undefined\r\n );\r\n },\r\n }),\r\n vutilizadocupom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor utilizado\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n cobr: {\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da duplicata\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({}),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readonly: true,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.descricao\"),\r\n }),\r\n }),\r\n },\r\n }),\r\n },\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ],\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n caption: \"Condição de pagamento\",\r\n }),\r\n chaveacesso: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n disabled: true,\r\n }),\r\n status: new CMInputConfig({ form: this, caption: \"Status\" }),\r\n },\r\n };\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './cfe-edit.component';\r\nexport * from './cfe-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent,\r\n CMInputConfig } from './../../@cmcore/component';\r\nimport { CFOPEditComponent } from './cfop-edit.component';\r\n\r\n@Component({\r\n selector: 'cfop-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CFOPBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'cfop';\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = CFOPEditComponent;\r\n this.columns = [{field: 'codigo', caption: '#',\r\n filter: new CMInputConfig({\r\n mask: '9.999'\r\n }),\r\n width: '100',\r\n },\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'ativo', caption: 'Ativo',\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Sim'}, {value: 'Não'}]\r\n }),\r\n value: 'Todos',\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'CFOP';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any,\r\n tpOperacao?: string, finalidade?: string , onAfterSelect?: any) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'cfop',\r\n 'Pesquisa de CFOP',\r\n [{field: 'codigo', caption: '#', width: '100'},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'ativo', caption: 'Ativo', filter: true, value: 'Sim', visible: false, filterVisible: false},\r\n {field: 'tpoperacao', caption: 'tpOperacao', filter: true, value: tpOperacao, visible: false, filterVisible: false},\r\n {field: 'finalidade', caption: 'finalidade', filter: true, value: finalidade, visible: false, filterVisible: false},\r\n ],\r\n target,\r\n targetProp,\r\n 'codigo',\r\n onAfterSelect,\r\n false);\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'cfop-edit',\r\n templateUrl: 'cfop-edit.component.html',\r\n})\r\nexport class CFOPEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_codigo';\r\n }\r\n\r\n getTitle() {\r\n return 'CFOP';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'cfop';\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n required: true,\r\n mask: '9.999'}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n required: true,\r\n maxlength: 255}),\r\n tpoperacao: new CMInputConfig({form: this,\r\n caption: 'Tipo de Operação',\r\n values: [{'value': \"Entrada\"},\r\n {'value': \"Saida\", 'text': \"Saída\"}]}),\r\n finalidade: new CMInputConfig({form: this,\r\n caption: 'Finalidade',\r\n values: [{'value': \"Normal\"},\r\n {'value': \"Devolucao\", 'text': \"Devolução\"}]}),\r\n servico: new CMInputConfig({form: this,\r\n caption: 'é de Servico'}),\r\n ativo: new CMInputConfig({form: this,\r\n caption: 'Ativo'}),\r\n };\r\n }\r\n\r\n}","export * from './cfop-edit.component';\r\nexport * from './cfop-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { ClienteEditComponent } from \"./cliente-edit.component\";\r\nimport { MunicipioBrowseComponent } from \"./../municipio/municipio-browse.component\";\r\nimport { PessoaBrowseComponent } from \"../pessoa/pessoa-browse.component\";\r\n\r\n@Component({\r\n selector: \"cliente-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class ClienteBrowseComponent extends CMFormBrowse2Component {\r\n cpf: string = \"\";\r\n\r\n getTitle() {\r\n return \"Pessoa\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"cliente\";\r\n this.formEditComponent = ClienteEditComponent;\r\n this.columns = [\r\n {\r\n field: \"codigo\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"nome\",\r\n caption: \"Nome\",\r\n width: \"25em\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"cpf\",\r\n caption: \"CPF\",\r\n filter: new CMInputConfig({\r\n mask: \"999.999.999-99\",\r\n }),\r\n value: () => {\r\n return this.cpf;\r\n },\r\n },\r\n {\r\n field: \"cnpj\",\r\n caption: \"CNPJ\",\r\n filter: new CMInputConfig({\r\n mask: \"99.999.999/9999-99\",\r\n }),\r\n },\r\n {\r\n field: \"estado\",\r\n caption: \"Estado\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"\" },\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n },\r\n {\r\n field: \"municipio\",\r\n caption: \"Município\",\r\n filterField: \"ibge.codigomunicipio\",\r\n fieldBottom: \"ibge.municipio\",\r\n filter: new CMInputConfig({\r\n maxlength: 7,\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.valuesFilters.estado,\r\n sender,\r\n this.valuesFilters,\r\n \"ibge\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"tipo\",\r\n caption: \"Tipo\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"\" },\r\n { value: \"Cliente\" },\r\n { value: \"Fornecedor\" },\r\n { value: \"Transportadora\" },\r\n { value: \"Vendedor\" },\r\n ],\r\n }),\r\n },\r\n ];\r\n\r\n this.route.params.subscribe((params: any) => {\r\n if (params.cpf) {\r\n this._hideShowFilters = true;\r\n this.cpf = params.cpf;\r\n this.valuesFilters[\"cpf\"] = params.cpf;\r\n this.refresh();\r\n }\r\n });\r\n }\r\n\r\n afterOnPage() {\r\n if (this.cpf !== \"\") {\r\n setTimeout(() => {\r\n if (this.grid.count === 0) {\r\n document.getElementById(\"bt_browse_add\").click();\r\n } else {\r\n this.selectFirst();\r\n setTimeout(() => {\r\n document\r\n .getElementById(\"bt_browse_edit_\" + this.current[\"id\"])\r\n .click();\r\n }, 10);\r\n }\r\n }, 10);\r\n }\r\n }\r\n\r\n modalFormEditClose() {\r\n super.modalFormEditClose();\r\n if (this.cpf !== \"\") {\r\n this.router.navigate([\"/pessoa\"]);\r\n }\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (targetProp == undefined) targetProp = \"cliente\";\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n target,\r\n \"Cliente\",\r\n targetProp,\r\n onAfterSelect\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMValidatorEmail,\r\n CMListCheckBoxConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport { CMValidatorCNPJCPF } from \"./../../@cmcore/validator\";\r\nimport { MunicipioBrowseComponent } from \"./../municipio/municipio-browse.component\";\r\nimport { GrupoDeOperacaoBrowseComponent } from \"../grupodeoperacao\";\r\n\r\n@Component({\r\n selector: \"cliente-edit\",\r\n templateUrl: \"cliente-edit.component.html\",\r\n})\r\nexport class ClienteEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_cpf\";\r\n }\r\n\r\n getTitle() {\r\n return \"Pessoa - \" + this.fieldByName(\"nome\");\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (this.cpfurl !== \"\") {\r\n if (this.fieldIsEmpty(\"cpf\") && this.fieldIsEmpty(\"cnpj\")) {\r\n this.model.cpf = this.cpfurl;\r\n }\r\n }\r\n }\r\n\r\n cpfurl = \"\";\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"cliente\";\r\n this.setModelConfig();\r\n this.route.params.subscribe((params: any) => {\r\n if (params.cpf) {\r\n this.cpfurl = params.cpf;\r\n }\r\n });\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n cpf: new CMInputConfig({\r\n form: this,\r\n caption: \"CPF\",\r\n mask: \"999.999.999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n cnpj: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ\",\r\n mask: \"99.999.999/9999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n ie: new CMInputConfig({ form: this, caption: \"IE\", maxlength: 18 }),\r\n rg: new CMInputConfig({ form: this, caption: \"RG\", maxlength: 14 }),\r\n cadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n datanascimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de nascimento\",\r\n mask: \"99/99/9999\",\r\n }),\r\n consumidorfinal: new CMInputConfig({\r\n form: this,\r\n caption: \"Consumidor Final\",\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome / Razão Social\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n fantasia: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome Fantasia\",\r\n maxlength: 100,\r\n }),\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-mail\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n emailnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"e-mail NF-e\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n observacao: new CMInputConfig({ form: this, caption: \"Observação\" }),\r\n indiedest: new CMInputConfig({\r\n form: this,\r\n caption: \"Indicação da I.E.\",\r\n values: [\r\n { value: \"Auto\", text: \"Automático\" },\r\n { value: \"Contribuinte\" },\r\n { value: \"Isento\" },\r\n { value: \"NaoContribuinte\", text: \"Não Contribuinte\" },\r\n ],\r\n }),\r\n tipo: new CMListCheckBoxConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n columns: 1,\r\n list: [\"Cliente\", \"Fornecedor\", \"Transportadora\", \"Vendedor\"],\r\n }),\r\n grupodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo de Operação\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n GrupoDeOperacaoBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"grupodeoperacao\"\r\n );\r\n },\r\n }),\r\n crc: new CMInputConfig({\r\n form: this,\r\n caption: \"CRC\",\r\n maxlength: 15\r\n }),\r\n perccomissao: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual de Comissão\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.model.tipo.indexOf(\"Vendedor\") == -1;\r\n },\r\n }),\r\n endereco: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.endereco.estado,\r\n sender,\r\n this.model.endereco,\r\n \"ibge\"\r\n );\r\n },\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n iconButton: \"file_download\",\r\n hintButton: \"Buscar endereço por CEP\",\r\n pesqFunc: (sender) => {\r\n if (!sender) {\r\n this.buscaCEP(this.modelConfig.endereco, this.model.endereco);\r\n }\r\n },\r\n }),\r\n },\r\n telefones: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Telefones\",\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, { tipo: \"Residencial\" });\r\n },\r\n fields: {\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Telefone\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maskFunc: (row) => {\r\n let m = \"(99)9999-9999\";\r\n if (row.tipo === \"Celular\") m = \"(99)99999-9999\";\r\n return m;\r\n },\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n }),\r\n values: [\r\n { value: \"Residencial\" },\r\n { value: \"Comercial\" },\r\n { value: \"Celular\" },\r\n { value: \"Fax\" },\r\n ],\r\n }),\r\n contato: new CMInputConfig({\r\n form: this,\r\n caption: \"Contato\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 100,\r\n }),\r\n },\r\n }),\r\n enderecos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Endereços de Entrega\",\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model.endereco, { estado: \"SP\" });\r\n },\r\n fields: {\r\n identificacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Identificação\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 30,\r\n }),\r\n endereco: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.modelConfig.enderecos.current.endereco.estado,\r\n sender,\r\n this.modelConfig.enderecos.current.endereco,\r\n \"ibge\"\r\n );\r\n },\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n iconButton: \"file_download\",\r\n hintButton: \"Buscar endereço por CEP\",\r\n pesqFunc: (sender) => {\r\n if (!sender) {\r\n this.buscaCEP(\r\n this.modelConfig.enderecos.fields.endereco,\r\n this.modelConfig.enderecos.current.endereco\r\n );\r\n }\r\n },\r\n }),\r\n },\r\n },\r\n }),\r\n };\r\n }\r\n\r\n buscaCEP(configEndereco, endereco) {\r\n if (this.trimValue(endereco.cep).length == 9) {\r\n CMFormGlobaisComponent.showSpinner();\r\n const s = this.http\r\n .get(\"https://viacep.com.br/ws/\" + endereco.cep + \"/json/\")\r\n .subscribe({\r\n next: (value: any) => {\r\n if (value.bairro) {\r\n endereco.bairro = value.bairro;\r\n }\r\n if (value.complemento) {\r\n endereco.complemento = value.complemento;\r\n }\r\n if (value.logradouro) {\r\n endereco.logradouro = value.logradouro;\r\n }\r\n if (value.uf) {\r\n endereco.estado = value.uf;\r\n }\r\n if (value.ibge) {\r\n configEndereco.ibge.value = value.ibge;\r\n MunicipioBrowseComponent.pesquisa(\r\n endereco.estado,\r\n configEndereco.ibge,\r\n endereco,\r\n \"ibge\"\r\n );\r\n }\r\n },\r\n error: (e) => {\r\n console.error(e);\r\n CMFormGlobaisComponent.toastErro(\r\n \"Erro ao consultar servidor de CEP\"\r\n );\r\n s.unsubscribe();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n complete: () => {\r\n s.unsubscribe();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n });\r\n }\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (!this.fieldIsEmpty(\"cpf\") && !this.fieldIsEmpty(\"cnpj\"))\r\n r = \"CPF e CNPJ não podem ser informados juntos\";\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './cliente-edit.component';\r\nexport * from './cliente-browse.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormExecComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { PessoaBrowseComponent } from \"../pessoa\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\nimport { ContaBancariaBrowseComponent } from \"../conta-bancaria\";\r\n\r\n@Component({\r\n templateUrl: \"cobranca-baixa-em-lote-component.html\",\r\n})\r\nexport class CobrancaBaixaEmLoteComponent extends CMFormExecComponent {\r\n private sub: any;\r\n private controllerName: string = \"\";\r\n title: string = \"\";\r\n titleDestinatario: string = \"\";\r\n fieldGridDestinatario: string = \"\";\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.sub = this.route.params.subscribe((params) => {\r\n if (params[\"tipo\"]) {\r\n if (params[\"tipo\"] == \"receber\") {\r\n this.title = \"Baixa em lote de Duplicatas a Rebecer\";\r\n this.controllerName = \"duplicatareceber\";\r\n this.titleDestinatario = \"Cliente\";\r\n this.fieldGridDestinatario = \"cliente_nome\";\r\n } else if (params[\"tipo\"] == \"pagar\") {\r\n this.title = \"Baixa em lote de Duplicatas a Pagar\";\r\n this.controllerName = \"duplicatapagar\";\r\n this.titleDestinatario = \"Fornecedor\";\r\n this.fieldGridDestinatario = \"destinatario_nome\";\r\n }\r\n this.setfilterConfig();\r\n }\r\n });\r\n }\r\n\r\n setfilterConfig() {\r\n this.filterConfig = {\r\n filtro: {\r\n dataini: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n destinatario: new CMInputConfig({\r\n form: this,\r\n caption: () => this.titleDestinatario,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.filter.filtro,\r\n this.titleDestinatario,\r\n \"destinatario\"\r\n );\r\n },\r\n }),\r\n valortotalbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total da Baixa\",\r\n dataType: \"double(2)\",\r\n }),\r\n filtroformapagto: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.filter.filtro, \"Conta Bancária\");\r\n console.log('thismodel: ', this.filter.filtro);\r\n },\r\n }),\r\n },\r\n dados: {\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n duplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Origem - Fatura - Duplicata\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return (\r\n this.getValueObject(row, \"origem\") +\r\n \" - \" +\r\n this.getValueObject(row, \"nfatura\") +\r\n \" - \" +\r\n this.getValueObject(row, \"nduplicata\")\r\n );\r\n },\r\n getBottomLabelColumn: (row) => {\r\n if (\r\n this.getValueObject(\r\n this.filter.filtro.destinatario,\r\n \"id\"\r\n ) === \"\"\r\n )\r\n return this.getValueObject(row, this.fieldGridDestinatario);\r\n else return \"\";\r\n },\r\n }),\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Vencimento\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_valorbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.calcValorTotal(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n getFooterLabelColumn: () => this.filter.dados.total_valorbaixa,\r\n }),\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo Devido\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_valormulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da Multa\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.calcValorDevido(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_valorjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Juros\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.calcValorDevido(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_valordesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Desconto\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.calcValorDevido(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n getFooterLabelColumn: () => \"Total\",\r\n }),\r\n }),\r\n baixa_valordevido: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Valor Devido\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n getFooterLabelColumn: () => this.filter.dados.total_valordevido,\r\n }),\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Original\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n maxlength: 60,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n baixa_formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"baixa_formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.filterConfig.dados.duplicatas.fields.baixa_formapagamento.setValueInObject(\r\n row,\r\n \"baixa_formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancaria\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"contabancaria.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"contabancaria.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(\r\n sender,\r\n this.filterConfig.dados.duplicatas.current,\r\n \"contabancaria\"\r\n );\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n };\r\n this.filter.filtro.dataini = this.firstDateLastMonth();\r\n this.filter.filtro.datafim = this.lastDateNextMonth();\r\n this.filter.filtro.valortotalbaixa = \"0,00\";\r\n this.filter.dados.duplicatas = [];\r\n this.filter.dados.total_valordevido = \"0,00\";\r\n this.filter.dados.total_valorbaixa = \"0,00\";\r\n }\r\n\r\n innerExec() {\r\n super.innerExec();\r\n\r\n let soma = 0;\r\n\r\n this.filter.dados.duplicatas.forEach(element => {\r\n soma += this.valueToFloat(element.baixa_valorbaixa);\r\n });\r\n\r\n console.log(this.filter.filtro.valortotalbaixa, ' vtotalbaixa');\r\n\r\n if (this.filter.filtro.valortotalbaixa != this.floatToValue(soma)){\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Atenção\",\r\n \"O valor da soma das baixas difere do valor total da baixa informado. Deseja continuar?\",\r\n () => {\r\n this.geraBaixas();\r\n }\r\n );\r\n }\r\n else{\r\n this.geraBaixas();\r\n }\r\n\r\n }\r\n\r\n loadDuplicatas() {\r\n\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.filter.filtro.status = \"abertas\";\r\n let filtro = {\r\n origem: \"pesquisa\",\r\n page: -1,\r\n limit: -1,\r\n filter: this.filter.filtro,\r\n };\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/GetBrowseObjects\",\r\n JSON.stringify(filtro),\r\n (ret) => {\r\n let duplicatas = [];\r\n if (ret[\"data\"]) duplicatas = ret[\"data\"];\r\n let valortotalbaixa = this.valueToFloat(\r\n this.filter.filtro.valortotalbaixa\r\n );\r\n let total_valorbaixa = 0;\r\n let total_valordevido = 0;\r\n duplicatas.forEach((duplicata) => {\r\n let vsaldo = this.valueToFloat(duplicata.vsaldo);\r\n let vbaixa = 0;\r\n if (valortotalbaixa > 0) {\r\n if (vsaldo < valortotalbaixa) vbaixa = vsaldo;\r\n else vbaixa = valortotalbaixa;\r\n valortotalbaixa -= vbaixa;\r\n }\r\n total_valordevido += vsaldo;\r\n total_valorbaixa += vbaixa;\r\n duplicata.baixa_valormulta = \"0,00\";\r\n duplicata.baixa_valorjuros = \"0,00\";\r\n duplicata.baixa_valordesconto = \"0,00\";\r\n duplicata.baixa_valordevido = duplicata.vsaldo;\r\n duplicata.baixa_valorbaixa = this.floatToValue(vbaixa);\r\n duplicata.baixa_observacao = \"\";\r\n duplicata.baixa_formapagamento = Object.assign(\r\n {},\r\n this.filter.filtro.formapagamento\r\n );\r\n duplicata.contabancaria = Object.assign(\r\n {},\r\n this.filter.filtro.contabancaria\r\n );\r\n });\r\n this.filter.dados.duplicatas = duplicatas;\r\n this.filter.dados.total_valorbaixa =\r\n this.floatToValue(total_valorbaixa);\r\n this.filter.dados.total_valordevido =\r\n this.floatToValue(total_valordevido);\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.filterConfig.dados.duplicatas.fields.baixa_valorbaixa.gridConfig.background = \"yellow\"\r\n //console.log(this.filterConfig.dados);\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"loadDuplicatas\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n calcValorDevido() {\r\n let row = this.filterConfig.dados.duplicatas.current;\r\n if (row) {\r\n let vsaldo = this.valueToFloat(row.vsaldo);\r\n let baixa_valormulta = this.valueToFloat(row.baixa_valormulta);\r\n let baixa_valorjuros = this.valueToFloat(row.baixa_valorjuros);\r\n let baixa_valordesconto = this.valueToFloat(row.baixa_valordesconto);\r\n let baixa_valordevido =\r\n vsaldo + baixa_valormulta + baixa_valorjuros - baixa_valordesconto;\r\n row.baixa_valordevido = this.floatToValue(baixa_valordevido);\r\n this.calcValorTotal();\r\n }\r\n }\r\n\r\n calcValorTotal() {\r\n let total_valordevido = 0;\r\n let total_valorbaixa = 0;\r\n this.filter.dados.duplicatas.forEach((duplicata) => {\r\n total_valordevido += this.valueToFloat(duplicata.baixa_valordevido);\r\n total_valorbaixa += this.valueToFloat(duplicata.baixa_valorbaixa);\r\n });\r\n this.filter.dados.total_valordevido = this.floatToValue(total_valordevido);\r\n this.filter.dados.total_valorbaixa = this.floatToValue(total_valorbaixa);\r\n }\r\n\r\n geraBaixas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n this.filter.dados.duplicatas.forEach((duplicata) => {\r\n if (\r\n this.valueToFloat(duplicata.baixa_valorbaixa) >\r\n this.valueToFloat(duplicata.baixa_valordevido)\r\n )\r\n duplicata.baixa_valorbaixa = duplicata.baixa_valordevido;\r\n if (this.valueToFloat(duplicata.baixa_valorbaixa) > 0) {\r\n duplicatas.push({\r\n id: duplicata.id,\r\n vmulta: duplicata.baixa_valormulta,\r\n vjuros: duplicata.baixa_valorjuros,\r\n vdesconto: duplicata.baixa_valordesconto,\r\n vbaixa: duplicata.baixa_valorbaixa,\r\n observacao: duplicata.baixa_observacao,\r\n formapagamento: duplicata.baixa_formapagamento,\r\n contabancaria: duplicata.contabancaria,\r\n });\r\n }\r\n console.log('duplicata conta bancaria: ', duplicata.contabancaria);\r\n });\r\n\r\n if (duplicatas.length == 0) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastErro(\r\n \"Ao menos uma duplicata deve possuir valor de baixa\"\r\n );\r\n } else {\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/BaixaEmLote/FuncaoExtra\",\r\n JSON.stringify(duplicatas),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.filter.dados.duplicatas = [];\r\n this.filter.dados.total_valordevido = \"0,00\";\r\n this.filter.dados.total_valorbaixa = \"0,00\";\r\n CMFormGlobaisComponent.toastSucesso(\"Baixas geradas com sucesso.\");\r\n this.filterConfig.dados.duplicatas.fields.baixa_valorbaixa.gridConfig.background = \"unset\";\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result[\"msg\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"geraBaixas\", error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","export * from './cobranca-baixa-em-lote-component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component } from './../../@cmcore/component';\r\nimport { ConfigGeralEditComponent } from './config-geral-edit.component';\r\n\r\n@Component({\r\n selector: 'config-geral-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class ConfigGeralBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ConfigGeral';\r\n this.formEditComponent = ConfigGeralEditComponent;\r\n this.columns = [{ field: 'htmlatualizacoes', caption: 'O que há de novo' },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Configuração Geral';\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMValidatorEmail,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"config-geral-edit\",\r\n templateUrl: \"config-geral-edit.component.html\",\r\n})\r\nexport class ConfigGeralEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_htmlatualizacoes\";\r\n }\r\n\r\n getTitle() {\r\n return \"Configuração Geral\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"ConfigGeral\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n modooperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Modo de Operação\",\r\n values: [{ value: \"Nivel1\" }, { value: \"Nivel2\" }],\r\n }),\r\n htmlatualizacoes: new CMInputConfig({\r\n form: this,\r\n caption: \"O que há de novo\",\r\n required: true,\r\n }),\r\n sat_cnpjsoftwarehouse: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ da Software House\",\r\n required: true,\r\n mask: \"99.999.999/9999-99\",\r\n }),\r\n sat_infocertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações do CD\",\r\n }),\r\n sat_senhacertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n required: true,\r\n criptografado: true,\r\n }),\r\n urlhubmarketplace: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Url do Hube de Marketplace (Ex: http://servidor.com.br:porta)\",\r\n required: false,\r\n maxlength: 255,\r\n visibleFunc: () => this.modoOperacao === \"Nivel2\",\r\n }),\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n smtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Servidor (SMTP)\",\r\n maxlength: 50,\r\n }),\r\n portsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Porta\",\r\n dataType: \"integer\",\r\n }),\r\n protocol: new CMInputConfig({\r\n form: this,\r\n caption: \"Protocolo\",\r\n values: [\r\n { value: \"Nenhum\" },\r\n { value: \"Padrao\", text: \"Padrão\" },\r\n { value: \"SSL\" },\r\n { value: \"TLS\" },\r\n { value: \"TLSv1\" },\r\n { value: \"TLSv1R\", text: \"TSLv1 requerido\" },\r\n { value: \"STARTTLS\" },\r\n ],\r\n }),\r\n usernamesmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n maxlength: 100,\r\n }),\r\n passwordsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n maxlength: 50,\r\n criptografado: true,\r\n }),\r\n valorassinatura: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da assinatura\",\r\n dataType: \"Double\",\r\n }),\r\n diasprimeirovencimentoassinatura: new CMInputConfig({\r\n form: this,\r\n caption: \"Dias para o primeiro vencimento da assinatura\",\r\n dataType: \"integer\",\r\n }),\r\n };\r\n }\r\n\r\n get modoOperacao() {\r\n return FuncsGlobais.paramEmpresa.modoOperacao;\r\n } \r\n\r\n onCompleteUpload(sender: any) {\r\n CMFormGlobaisComponent.showSpinner();\r\n sender.form.postSubscribe(\r\n \"/api/\" + sender.form.controllerName + \"/UploadCertificadoDigital\",\r\n JSON.stringify({\r\n keyserver: sender.keyserver,\r\n senha: sender.form.model.sat_senhacertificadodigital,\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n sender.form.model.sat_infocertificadodigital = result[\"info\"];\r\n CMFormGlobaisComponent.toastSucesso(\"Arquivo enviado com sucesso\");\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n carregarCertificadoDigital() {\r\n if (this.model.sat_senhacertificadodigital === \"\")\r\n CMFormGlobaisComponent.toastErro(\r\n \"Informe a senha do certificado digital\"\r\n );\r\n else CMFormModalComponent.open(\"modalFormCertificado\");\r\n }\r\n\r\n modalFormCertificadoClose() {\r\n CMFormModalComponent.close(\"modalFormCertificado\");\r\n }\r\n}\r\n","export * from './config-geral-edit.component';\r\nexport * from './config-geral-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig } from './../../@cmcore/component';\r\nimport { ContaBancariaEditComponent } from './conta-bancaria-edit.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\n\r\n@Component({\r\n selector: 'conta-bancaria-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class ContaBancariaBrowseComponent extends CMFormBrowse2Component {\r\n\r\n static defaultColumns = [{field: 'codigo', caption: '#', filter: true},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'codigobanco', caption: 'Código do Banco', filter: true},\r\n {field: 'sped', caption: 'Gera Sped', filter: true}\r\n];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ContaBancaria';\r\n this.formEditComponent = ContaBancariaEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = ContaBancariaBrowseComponent.defaultColumns;\r\n }\r\n \r\n getTitle() {\r\n return 'Conta Bancária';\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\", filter: true},\r\n {\r\n field: \"descricao\",\r\n caption: \"Descricao\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n }\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"contabancaria\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\nimport { PessoaBrowseComponent } from '../pessoa';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMFormGlobaisComponent\r\n } from './../../@cmcore/component';\r\nimport { ContaBancariaBrowseComponent } from './conta-bancaria-browse.component';\r\n@Component({\r\n selector: 'conta-bancaria-edit',\r\n templateUrl: 'conta-bancaria-edit.component.html',\r\n})\r\nexport class ContaBancariaEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_descricao';\r\n }\r\n \r\n getTitle() {\r\n return 'Conta Bancária';\r\n }\r\n \r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ContaBancaria';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n maxlength: 100,\r\n required: true}),\r\n sped: new CMInputConfig({form: this,\r\n caption: 'Gerar Sped Fiscal - Registro 1601 - Boleto, Pix, Cart. Crédito, Cart. Débito'}),\r\n codigobanco: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Código do Banco\",\r\n dataType: \"integer\",\r\n }),\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Pessoa\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisaContador(sender, this.model, \"pessoa\");\r\n },\r\n }),\r\n ativo: new CMInputConfig({form: this,\r\n caption: 'Ativo',}),\r\n };\r\n }\r\n \r\n} \r\n","export * from './conta-bancaria-browse.component';\r\nexport * from './conta-bancaria-edit.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig } from './../../@cmcore/component';\r\nimport { ContaContabilEditComponent } from './conta-contabil-edit.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\nimport { CategoriaContaContabilBrowse } from '..';\r\n\r\n@Component({\r\n selector: 'conta-contabil-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class ContaContabilBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ContaContabil';\r\n this.formEditComponent = ContaContabilEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'codigo', caption: '#', filter: true},\r\n {field: 'descricao', caption: 'Conta Contabil', filter: true},\r\n {field: 'provisao', caption: 'Orçamento Prev.', filter: true},\r\n {field: 'entsai', caption: 'Conta de:', filter: new CMInputConfig({\r\n values: [{value: 'Pagamento'}, {value: 'Recebimento'}],\r\n })},\r\n { \r\n field: 'categoriacontacontabil_descricao', \r\n caption: 'Categoria Contabil',\r\n filterField: \"categoriacontacontabil.id\",\r\n filterValue: \"categoriacontacontabil.codigo\",\r\n fieldBottom: \"categoriacontacontabil.descricao\", \r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n CategoriaContaContabilBrowse.pesquisa(sender, this.valuesFilters, \"Categoria de Conta Contábil\");\r\n },\r\n }),},\r\n //{field: 'especial', caption: 'Especial', filter: true},\r\n //{field: 'tipo', caption: 'Tipo de Conta - DRE', filter: true},\r\n //{field: 'ativo', caption: 'Ativo', filter: true}\r\n ];\r\n }\r\n \r\n getTitle() {\r\n return 'Conta Contábil';\r\n }\r\n \r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\" , filter: true},\r\n {\r\n field: \"descricao\",\r\n caption: \"Descrição\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"provisao\",\r\n caption: \"Orçamento Prev:\",\r\n filter: false,\r\n },\r\n {\r\n field: 'entsai', \r\n caption: 'Conta de:', \r\n filter: new CMInputConfig({\r\n values: [{value: 'Pagamento'}, {value: 'Recebimento'}],\r\n }),},\r\n ,\r\n { \r\n field: 'cdescricao', \r\n caption: 'Categoria Contabil',\r\n filterField: \"cdescricao.id\",\r\n filterValue: \"cdescricao.codigo\",\r\n fieldBottom: \"cdescricao.descricao\", \r\n filter: true,\r\n }\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"contacontabil\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n //console.log(\"sender: \", sender, \"contacontabil: \", \"tipo: \", tipo, \"columns: \", columns, \"target: \", target, \"targetProp: \", targetProp, \"codigo\",\r\n //\"onAfterSelect\", onAfterSelect, \"extraFilters: \", extraFilters)\r\n }\r\n }\r\n \r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\nimport { CategoriaContaContabilBrowse } from '..';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMFormGlobaisComponent\r\n } from './../../@cmcore/component';\r\nimport { ContaContabilBrowseComponent } from './conta-contabil-browse.component';\r\n@Component({\r\n selector: 'conta-contabil-edit',\r\n templateUrl: 'conta-contabil-edit.component.html',\r\n})\r\nexport class ContaContabilEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_descricao';\r\n }\r\n \r\n getTitle() {\r\n return 'Cadastro de Conta Contabil';\r\n }\r\n \r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ContaContabil';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n maxlength: 100,\r\n required: true}),\r\n\r\n entsai: new CMInputConfig({form: this,\r\n caption: 'Conta de:',\r\n values: [\r\n {'value': \"Pagamento\"},\r\n {'value': \"Recebimento\"},\r\n ],\r\n maxlength: 100,\r\n required: true}),\r\n \r\n provisao: new CMInputConfig({form: this,\r\n caption: 'Orçamento Previsto',\r\n dataType: 'double(2)',}),\r\n especial: new CMInputConfig({form: this,\r\n caption: 'Conta Especial: Possível bloquear visualização por nível de acesso',\r\n maxlength: 100,}),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: 'Tipo de Conta - DRE',\r\n values: [\r\n {value: \"DespesaFixa\", text: \"Despesa Fixa\"},\r\n {value: \"CustoVariavel\", text: \"Custo Variável\"},\r\n {value: \"ReceitaRecorrente\", text: \"Receita Recorrente\"},\r\n {value: \"ReceitaFinanceira\", text: \"Receita Financeira\"},\r\n {value: \"ReceitaComProdutos\", text: \"Receita Com Produtos\"},\r\n {value: \"ImpostoDeRenda\", text: \"Imposto de Renda\"},\r\n {value: \"DespesaFinanceira\", text: \"Despesas Financeiras\"},\r\n {value: \"Investimento\", text: \"Investimento\"},\r\n {value: \"CustoMercadoriaAdquirida\", text: \"Custo de Mercadoria Adquirida\"},\r\n {value: \"NaoAplicavel\", text: \"Não aplicável\"},\r\n ],\r\n }),\r\n ativo: new CMInputConfig({form: this,\r\n caption: 'Ativo',\r\n maxlength: 100,}),\r\n categoriacontacontabil: new CMInputConfig({\r\n form: this,\r\n caption: \"Categoria\",\r\n pesqFunc: (sender) => {\r\n CategoriaContaContabilBrowse.pesquisa(sender, this.model, \"Categoria de Conta Contábil\");\r\n },\r\n }),\r\n };\r\n }\r\n \r\n} \r\n","export * from './conta-contabil-edit.component';\r\nexport * from './conta-contabil-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"../../@cmcore/component\";\r\nimport { ContaPagarReceberEditComponent } from \"./conta-pagar-receber-edit.component\";\r\nimport { ClienteBrowseComponent } from \"../cliente/cliente-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { DuplicataReceberRelatoriosComponent } from \"../duplicata-receber-relatorios/duplicata-receber-relatorios.component\";\r\nimport { ContaContabilBrowseComponent } from \"../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\n@Component({\r\n selector: \"conta-pagar-receber-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class ContaPagarReceberBrowseComponent extends CMFormBrowse2Component {\r\n valuesOrigem = [];\r\n tipoDuplicata = [\r\n { value: \"Pagamento\", text: \"Pagamento\"},\r\n { value: \"Recebimento\", text: \"Recebimento\"},\r\n { value: \"Todas\"},\r\n ]\r\n\r\n setValuesOrigem() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\"){\r\n this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"Todas\" },\r\n ];\r\n }else {this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"NFCe\", text: \"NFC-e\" },\r\n { value: \"Todas\" },\r\n ];\r\n\r\n }\r\n\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setValuesOrigem();\r\n this.controllerName = \"contapagarreceber\";\r\n this.formEditComponent = ContaPagarReceberEditComponent;\r\n this.showPrintButton = true;\r\n this.buttonsExtra = 3;\r\n this._hideShowFilters = true;\r\n this.columns = [\r\n {\r\n field: \"tipoduplicata\",\r\n caption: \"Tipo\",\r\n filter: new CMInputConfig({\r\n values: this.tipoDuplicata,\r\n }),\r\n value: \"Todas\",\r\n visible: false\r\n },\r\n {\r\n field: \"tipo\",\r\n caption: \"Tipo\",\r\n },\r\n {\r\n field: \"origem\",\r\n caption: \"Origem\",\r\n filter: new CMInputConfig({\r\n values: this.valuesOrigem,\r\n }),\r\n value: \"Todas\",\r\n },\r\n { field: \"nfatura\", caption: \"Fatura\" },\r\n { field: \"dvenc\", caption: \"Data de Vencimento\" },\r\n { field: \"datacadastro\", caption: \"Data de Emissão\" },\r\n {\r\n field: \"dataini\",\r\n caption: \"Data de Vencimento Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafim\",\r\n caption: \"Data de Vencimento Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"datainiliquidacao\",\r\n caption: \"Data de Baixa Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafimliquidacao\",\r\n caption: \"Data de Baixa Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"datacadastroini\",\r\n caption: \"Data de Emissão Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datacadastrofim\",\r\n caption: \"Data de Emissão Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Destinatário\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"nduplicata\",\r\n caption: \"Fatura\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {field: 'contacontabil_descricao', caption: 'Conta Contábil',\r\n filterField: 'contacontabil.id',\r\n filterValue: 'contacontabil.codigo',\r\n fieldBottom: 'contacontabil.descricao',\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.valuesFilters, \"Conta Contábil\");\r\n },\r\n })\r\n },\r\n {\r\n field: \"formapagamento_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"status\",\r\n caption: \"Status\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Abertas\" },\r\n { value: \"Baixadas\" },\r\n { value: \"Todas\" },\r\n ],\r\n }),\r\n value: \"Abertas\",\r\n },\r\n { field: \"valor\", caption: \"Valor\" },\r\n { field: \"vsaldo\", caption: \"Saldo\" },\r\n { field: \"databaixa\", caption: \"Data de baixa\" },\r\n { field: \"geracao\", caption: \"Geração Boleto\" },\r\n ];\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(DuplicataReceberRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosDuplicataReceber();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(\"id_duplicata\") };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/cupomdesconto/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'DuplicataReceber'){\r\n DuplicataReceberRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosDuplicataReceber() {\r\n this.beforeComponent = DuplicataReceberRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosDuplicataReceber\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return \"Contas a Pagar e Receber\";\r\n }\r\n \r\n getShowActionRemove() {\r\n return false;\r\n }\r\n\r\n baixaTotal() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/baixatotalcobranca/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Conta baixada\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n geraboleto() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/geraboleto/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id_duplicata\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Boleto Gerado\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"BaixaTotal\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GeraBoleto\");\r\n } else if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImpressaoDuplicataReduzida\");\r\n }\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n super.buttonsExtraClick(index);\r\n if (index === 0) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Baixa total\",\r\n \"Deseja realizar a baixa total da duplicata?\",\r\n () => {\r\n this.baixaTotal();\r\n }\r\n );\r\n } else if (index === 1) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Gerar Boleto\",\r\n \"Deseja gerar boleto bancário para a duplicata?\",\r\n () => {\r\n this.geraboleto();\r\n }\r\n );\r\n } else if (index === 2) {\r\n let data = { id: this.grid.fieldByName(\"id_duplicata\") };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoDuplicataReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"attach_money\";\r\n else if (index === 1) r = \"view_column\";\r\n else if (index === 2) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Baixa total\";\r\n else if (index === 1) r = \"Gerar Boleto\";\r\n else if (index === 2) r = \"Imprimir Reduzido\";\r\n return r;\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0) r = isCurrent;\r\n else if (index === 1) r = isCurrent;\r\n else if (index === 2) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { CategoriaContaContabilBrowse, ContaBancariaBrowseComponent, ContaContabilBrowseComponent, FormaPagamentoBrowseComponent } from \"..\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport { FornecedorBrowseComponent } from \"./../fornecedor/fornecedor-browse.component\";\r\n\r\n@Component({\r\n selector: \"conta-pagar-receber-edit\",\r\n templateUrl: \"conta-pagar-receber-edit.component.html\",\r\n})\r\nexport class ContaPagarReceberEditComponent extends CMFormEditComponent {\r\n valuesQtdParcelas = []\r\n\r\n setValuesQtdParcelas() {\r\n this.valuesQtdParcelas = [\r\n { value: \"Um\", text: \"1x\" },\r\n { value: \"Dois\", text: \"2x\" },\r\n { value: \"Tres\", text: \"3x\" },\r\n { value: \"Quatro\", text: \"4x\" },\r\n { value: \"Cinco\", text: \"5x\" },\r\n { value: \"Seis\", text: \"6x\" },\r\n { value: \"Sete\", text: \"7x\" },\r\n { value: \"Oito\", text: \"8x\" },\r\n { value: \"Nove\", text: \"9x\" },\r\n { value: \"Dez\", text: \"10x\" },\r\n { value: \"Onze\", text: \"11x\" },\r\n { value: \"Doze\", text: \"12x\" },\r\n ]\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_fatura\";\r\n }\r\n\r\n getTitle() {\r\n return \"Cobrança\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"contapagarreceber\";\r\n this.setValuesQtdParcelas();\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) {\r\n this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n let dataprimeirovencimento = this.valueToDate(this.date);\r\n dataprimeirovencimento.setMonth(dataprimeirovencimento.getMonth() + 1);\r\n this.model.local = {\r\n dataprimeirovencimento: this.dateToValue(dataprimeirovencimento),\r\n };\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nfatura: new CMInputConfig({\r\n form: this,\r\n caption: \"Fatura\",\r\n required: true,\r\n maxlength: 56,\r\n }),\r\n voriginal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor bruto\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor liquído\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n destinatario: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"destinatario\"\r\n );\r\n },\r\n }),\r\n datacadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n vacrescimo: new CMInputConfig({\r\n form: this,\r\n caption: \"Acréscimo financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n visible: false,\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model, \"Conta Bancária\", this.model.contabancaria);\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n\r\n //@Raul\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.model, \"Conta Contábil\");\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n\r\n qtdparcelas: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Condição de pagamento\",\r\n values: this.valuesQtdParcelas\r\n }),\r\n \r\n tipoconta: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Tipo\",\r\n values: [\r\n { value: \"Pagamento\", text: \"Pagamento\"},\r\n { value: \"Recebimento\", text: \"Recebimento\"},\r\n ]\r\n }),\r\n\r\n \r\n local: {\r\n dataprimeirovencimento: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data primeiro vencimento para nova geração\",\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n onNewItem: (item) => {\r\n if (this.model.duplicatas.length === 1) {\r\n Object.assign(item, {\r\n nduplicata: this.model.nfatura + \"/000\",\r\n dvenc: this.date,\r\n valor: this.model.vliquido,\r\n formapagamento : this.model.formapagamento\r\n });\r\n }\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Realizar baixa total\",\r\n icone: () => {\r\n return \"attach_money\";\r\n },\r\n onClick: (row) => {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Baixa total\",\r\n \"Deseja realizar a baixa total da duplicata?\",\r\n () => {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/baixatotal/FuncaoExtra\",\r\n JSON.stringify({ id: row.id }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n row.vsaldo = this.floatToValue(0,2);\r\n row.databaixa = this.date;\r\n row.disabled = true;\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastSucesso(\"Duplicata baixada\");\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n );\r\n },\r\n }),\r\n ],\r\n fields: {\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Núm. duplicata\",\r\n maxlength: 60,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Saldo\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data da baixa\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n observacao: new CMInputConfig({ \r\n form: this, \r\n caption: \"Observação\" }),\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n\r\n },\r\n }),\r\n };\r\n }\r\n\r\n calcValorLiquido() {\r\n let vliquido =\r\n this.valueToFloat(this.model.voriginal, 0) -\r\n this.valueToFloat(this.model.vdesconto, 0) +\r\n this.valueToFloat(this.model.vacrescimo, 0);\r\n this.model.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.vliquido, 0) <= 0)\r\n r = \"Valor líquido deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n let duplicatas = this.model.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n return r;\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas;\r\n //let numeroParcelas = this.valueToInteger(this.model.local.qtdparcelas.num, 0);\r\n if (this.model.qtdparcelas === \"Um\") {\r\n numeroParcelas = \"1\";\r\n }\r\n else if (this.model.qtdparcelas === \"Dois\" ) {\r\n numeroParcelas = \"2\";\r\n }\r\n else if (this.model.qtdparcelas === \"Tres\" ) {\r\n numeroParcelas = \"3\";\r\n }\r\n else if (this.model.qtdparcelas === \"Quatro\" ) {\r\n numeroParcelas = \"4\";\r\n }\r\n else if (this.model.qtdparcelas === \"Cinco\" ) {\r\n numeroParcelas = \"5\";\r\n }\r\n else if (this.model.qtdparcelas === \"Seis\" ) {\r\n numeroParcelas = \"6\";\r\n }\r\n else if (this.model.qtdparcelas === \"Sete\" ) {\r\n numeroParcelas = \"7\";\r\n }\r\n else if (this.model.qtdparcelas === \"Oito\" ) {\r\n numeroParcelas = \"8\";\r\n }\r\n else if (this.model.qtdparcelas === \"Nove\" ) {\r\n numeroParcelas = \"9\";\r\n }\r\n else if (this.model.qtdparcelas === \"Dez\" ) {\r\n numeroParcelas = \"10\";\r\n }\r\n else if (this.model.qtdparcelas === \"Onze\" ) {\r\n numeroParcelas = \"11\";\r\n }\r\n else if (this.model.qtdparcelas === \"Doze\" ) {\r\n numeroParcelas = \"12\";\r\n }\r\n console.log(this.model.qtdparcelas)\r\n console.log(numeroParcelas);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.local.dataprimeirovencimento);\r\n dvenc.setMonth(dvenc.getMonth() - 1);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n nduplicata:\r\n this.model.nfatura + \"/\" + (i + 1).toString().padStart(3, \"0\"),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n vsaldo: this.floatToValue(valorParcela),\r\n formapagamento: this.model.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n duplicatas[0].vsaldo = this.floatToValue(valor);\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.duplicatas.unSelect();\r\n this.model.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n }\r\n}\r\n","export * from './conta-pagar-receber-browse.component';\r\nexport * from './conta-pagar-receber-edit.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMInputConfig } from './../../@cmcore/component';\r\nimport { ContaPagarEditComponent } from './conta-pagar-edit.component';\r\nimport { FornecedorBrowseComponent } from './../fornecedor/fornecedor-browse.component';\r\n\r\n//@Raul\r\nimport { ContaContabilBrowseComponent } from '..';\r\n\r\n@Component({\r\n selector: 'conta-pagar-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class ContaPagarBrowseComponent extends CMFormBrowse2Component {\r\n\r\n getTitle() {\r\n return 'Contas a Pagar';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'contapagar';\r\n this.formEditComponent = ContaPagarEditComponent;\r\n this.columns = [{field: 'codigo', caption: '#',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {field: 'origem', caption: 'Origem',\r\n filter: new CMInputConfig({\r\n values: [{value: 'Cadastro', text: 'Cadastro'},\r\n {value: 'NFeRecebimento', text: 'NF-e de Recebimento'},\r\n {value: 'Todas'}]\r\n }),\r\n value: 'Todas'\r\n },\r\n {field: 'nfatura', caption: 'Fatura', filter: true},\r\n {field: 'destinatario_nome', caption: 'Fornecedor',\r\n filterField: 'destinatario.id',\r\n filterValue: 'destinatario.codigo',\r\n fieldBottom: 'destinatario.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: sender => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.valuesFilters, 'destinatario');\r\n }\r\n })\r\n },\r\n {field: 'voriginal', caption: 'Valor bruto',\r\n filter: new CMInputConfig({\r\n dataType: 'double(2)'\r\n })\r\n },\r\n {field: 'vliquido', caption: 'Valor líquido',\r\n filter: new CMInputConfig({\r\n dataType: 'double(2)'\r\n })\r\n },\r\n\r\n //@Raul\r\n {\r\n field: 'contacontabil_descricao', caption: 'Conta Contábil',\r\n filterField: 'contacontabil.id',\r\n filterValue: 'contacontabil.codigo',\r\n fieldBottom: 'contacontabil.nome',\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.valuesFilters, \"Conta Contábil\");\r\n },\r\n })\r\n },\r\n ];\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { CategoriaContaContabilBrowse, ContaBancariaBrowseComponent, ContaContabilBrowseComponent, FormaPagamentoBrowseComponent } from \"..\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport { FornecedorBrowseComponent } from \"./../fornecedor/fornecedor-browse.component\";\r\n\r\n@Component({\r\n selector: \"conta-pagar-edit\",\r\n templateUrl: \"conta-pagar-edit.component.html\",\r\n})\r\nexport class ContaPagarEditComponent extends CMFormEditComponent {\r\n valuesQtdParcelas = []\r\n\r\n setValuesQtdParcelas() {\r\n this.valuesQtdParcelas = [\r\n { value: \"Um\", text: \"1x\" },\r\n { value: \"Dois\", text: \"2x\" },\r\n { value: \"Tres\", text: \"3x\" },\r\n { value: \"Quatro\", text: \"4x\" },\r\n { value: \"Cinco\", text: \"5x\" },\r\n { value: \"Seis\", text: \"6x\" },\r\n { value: \"Sete\", text: \"7x\" },\r\n { value: \"Oito\", text: \"8x\" },\r\n { value: \"Nove\", text: \"9x\" },\r\n { value: \"Dez\", text: \"10x\" },\r\n { value: \"Onze\", text: \"11x\" },\r\n { value: \"Doze\", text: \"12x\" },\r\n ]\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_fatura\";\r\n }\r\n\r\n getTitle() {\r\n return \"Contas a Pagar\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"contapagar\";\r\n this.setValuesQtdParcelas();\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) {\r\n this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n let dataprimeirovencimento = this.valueToDate(this.date);\r\n dataprimeirovencimento.setMonth(dataprimeirovencimento.getMonth() + 1);\r\n this.model.local = {\r\n dataprimeirovencimento: this.dateToValue(dataprimeirovencimento),\r\n };\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nfatura: new CMInputConfig({\r\n form: this,\r\n caption: \"Fatura\",\r\n required: true,\r\n maxlength: 56,\r\n }),\r\n voriginal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor bruto\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor liquído\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n destinatario: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"destinatario\"\r\n );\r\n },\r\n }),\r\n datacadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n vacrescimo: new CMInputConfig({\r\n form: this,\r\n caption: \"Acréscimo financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n\r\n //@Raul\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.model, \"Conta Contábil\");\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.contareceber.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n\r\n qtdparcelas: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Condição de pagamento\",\r\n values: this.valuesQtdParcelas\r\n }),\r\n\r\n \r\n local: {\r\n dataprimeirovencimento: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data primeiro vencimento para nova geração\",\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n onNewItem: (item) => {\r\n if (this.model.duplicatas.length === 1) {\r\n Object.assign(item, {\r\n nduplicata: this.model.nfatura + \"/000\",\r\n dvenc: this.date,\r\n valor: this.model.vliquido,\r\n formapagamento : this.model.formapagamento\r\n });\r\n }\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Núm. duplicata\",\r\n maxlength: 60,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.contareceber.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n observacao: new CMInputConfig({ form: this, caption: \"Observação\" }),\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n\r\n },\r\n }),\r\n };\r\n }\r\n\r\n calcValorLiquido() {\r\n let vliquido =\r\n this.valueToFloat(this.model.voriginal, 0) -\r\n this.valueToFloat(this.model.vdesconto, 0) +\r\n this.valueToFloat(this.model.vacrescimo, 0);\r\n this.model.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.vliquido, 0) <= 0)\r\n r = \"Valor líquido deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n let duplicatas = this.model.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n return r;\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas;\r\n //let numeroParcelas = this.valueToInteger(this.model.local.qtdparcelas.num, 0);\r\n if (this.model.qtdparcelas === \"Um\") {\r\n numeroParcelas = \"1\";\r\n }\r\n else if (this.model.qtdparcelas === \"Dois\" ) {\r\n numeroParcelas = \"2\";\r\n }\r\n else if (this.model.qtdparcelas === \"Tres\" ) {\r\n numeroParcelas = \"3\";\r\n }\r\n else if (this.model.qtdparcelas === \"Quatro\" ) {\r\n numeroParcelas = \"4\";\r\n }\r\n else if (this.model.qtdparcelas === \"Cinco\" ) {\r\n numeroParcelas = \"5\";\r\n }\r\n else if (this.model.qtdparcelas === \"Seis\" ) {\r\n numeroParcelas = \"6\";\r\n }\r\n else if (this.model.qtdparcelas === \"Sete\" ) {\r\n numeroParcelas = \"7\";\r\n }\r\n else if (this.model.qtdparcelas === \"Oito\" ) {\r\n numeroParcelas = \"8\";\r\n }\r\n else if (this.model.qtdparcelas === \"Nove\" ) {\r\n numeroParcelas = \"9\";\r\n }\r\n else if (this.model.qtdparcelas === \"Dez\" ) {\r\n numeroParcelas = \"10\";\r\n }\r\n else if (this.model.qtdparcelas === \"Onze\" ) {\r\n numeroParcelas = \"11\";\r\n }\r\n else if (this.model.qtdparcelas === \"Doze\" ) {\r\n numeroParcelas = \"12\";\r\n }\r\n console.log(this.model.qtdparcelas)\r\n console.log(numeroParcelas);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.local.dataprimeirovencimento);\r\n dvenc.setMonth(dvenc.getMonth() - 1);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n nduplicata:\r\n this.model.nfatura + \"/\" + (i + 1).toString().padStart(3, \"0\"),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.duplicatas.unSelect();\r\n this.model.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n }\r\n}\r\n","export * from './conta-pagar-edit.component';\r\nexport * from './conta-pagar-browse.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMInputConfig, CMFormExecComponent,\r\n CMGridEditConfig, CMGridEditConfigColumn,\r\n CMFormGlobaisComponent } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n templateUrl: 'cotacao-acesso-fornecedor-component.html'\r\n})\r\nexport class CotacaoAcessoFornecedorComponent extends CMFormExecComponent {\r\n\r\n private sub: any;\r\n chaveacesso: string;\r\n dadosNaoTransmitidos: boolean = false;\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setModelConfig();\r\n this.sub = this.route.params.subscribe(params => {\r\n if (params['chaveacesso'])\r\n this.chaveacesso = params['chaveacesso'];\r\n this.loadProdutos();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n setModelConfig() {\r\n this.filterConfig = {\r\n condicoesproposta: new CMInputConfig({\r\n form: this,\r\n caption: 'Condições da Proposta',\r\n required: true,\r\n onExit: () => {\r\n this.dadosNaoTransmitidos = true\r\n },\r\n }),\r\n produtos: new CMGridEditConfig({form: this,\r\n fields: {produto: new CMInputConfig({form: this,\r\n caption: 'Produto',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn()\r\n }),\r\n produtounidade: new CMInputConfig({form: this,\r\n caption: 'Unidade',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"70px\"\r\n })\r\n }),\r\n quantidade: new CMInputConfig({form: this,\r\n caption: 'Quantidade',\r\n dataType: 'double(2)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\"\r\n })\r\n }),\r\n valorunitario: new CMInputConfig({form: this,\r\n caption: 'Valor Unitário',\r\n dataType: 'double(2)',\r\n onExit: () => {this.calcTotalItem();},\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n disabledFunc: (row) => this.getValueObject(row, 'tipo') !== 'item',\r\n })\r\n }),\r\n valortotal: new CMInputConfig({form: this,\r\n caption: 'Valor Total',\r\n dataType: 'double(2)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n background: (row) => {\r\n if (this.getValueObject(row, 'tipo') == 'item') {\r\n if (this.valueToFloat(this.getValueObject(row, 'valorunitario')) == 0) {\r\n return 'rgb(255, 232, 235)';\r\n }\r\n else {\r\n return 'rgb(232, 255, 236)';\r\n }\r\n }\r\n },\r\n })\r\n }),\r\n }\r\n })\r\n }\r\n }\r\n\r\n innerExec() {\r\n super.innerExec();\r\n if (this.valid() && this.cotacaoCarregada()) {\r\n if (this.dadosNaoTransmitidos)\r\n this.enviaDadosCotacao();\r\n else\r\n CMFormGlobaisComponent.toastInformacao('Dados não alterados');\r\n }\r\n }\r\n\r\n loadProdutos() {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe('/api/Cotacao/GetProdutosCotacao',\r\n JSON.stringify({\r\n chaveacesso: this.chaveacesso\r\n }),\r\n (response) => {\r\n this.filter = response;\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadProdutos', error);\r\n });\r\n }\r\n\r\n cotacaoCarregada() {\r\n return this.filter.status == \"EmAndamento\"\r\n }\r\n\r\n calcTotalItem() {\r\n this.dadosNaoTransmitidos = true;\r\n this.calcTotalItem2(this.filterConfig.produtos.current);\r\n const idproduto = this.filterConfig.produtos.current.idproduto;\r\n const valorunitario = this.filterConfig.produtos.current.valorunitario;\r\n setTimeout(() => {\r\n this.calcTotalItemProd(idproduto, valorunitario);\r\n }, 10);\r\n }\r\n\r\n calcTotalItem2(item) {\r\n item.valortotal = this.floatToValue(this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.valorunitario, 0));\r\n }\r\n\r\n calcTotalItemProd(idproduto, valorunitario) {\r\n this.filter.produtos.forEach(produto => {\r\n if (produto.idproduto == idproduto) {\r\n produto.valorunitario = valorunitario;\r\n this.calcTotalItem2(produto);\r\n }\r\n });\r\n }\r\n\r\n enviaDadosCotacao() {\r\n let dados = Object.assign(this.filter);\r\n dados.chaveacesso = this.chaveacesso;\r\n this.postSubscribe('/api/Cotacao/TrasmiteProdutosCotacao',\r\n JSON.stringify(dados),\r\n (result) => {\r\n if (result['result'] === 'ok') {\r\n this.dadosNaoTransmitidos = false;\r\n CMFormGlobaisComponent.toastSucesso('Dados recedidos com sucesso.');\r\n }\r\n else {\r\n CMFormGlobaisComponent.toastErro(result['msg']);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('enviaDadosCotacao', error);\r\n });\r\n }\r\n\r\n}","export * from './cotacao-acesso-fornecedor-component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n\\n.text_right {\\n text-align: right;\\n}\\n\\n.separador {\\n border-top: 2px solid #ccc !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9jb3RhY2FvL2FuYWxpc2UvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcY290YWNhb1xcYW5hbGlzZVxcY290YWNhby1hbmFsaXNlLWNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9fX3JlY3Vyc29zL2NvdGFjYW8vYW5hbGlzZS9jb3RhY2FvLWFuYWxpc2UtY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UscUNBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvY290YWNhby9hbmFsaXNlL2NvdGFjYW8tYW5hbGlzZS1jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gIG1heC13aWR0aDogODAlO1xyXG59XHJcblxyXG4udGV4dF9yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5zZXBhcmFkb3Ige1xyXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuLnRleHRfcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnNlcGFyYWRvciB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMInputConfig,\r\n CMGridEditConfig, CMGridEditConfigColumn,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent} from './../../../@cmcore/component';\r\n\r\nimport { CMFormComponent } from './../../../@cmcore/component/cmform/cmform.component';\r\nimport { CotacaoBrowseComponent } from '../cotacao-browse.component';\r\n\r\n@Component({\r\n templateUrl: 'cotacao-analise-component.html',\r\n styleUrls: ['cotacao-analise-component.scss']\r\n})\r\nexport class CotacaoAnaliseComponent extends CMFormComponent {\r\n\r\n _owner: CotacaoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n if (this.owner) {\r\n this.loadDados();\r\n }\r\n }\r\n\r\n close() {\r\n if (this.owner) {\r\n this.owner.beforeComponent = undefined;\r\n this.owner.refresh();\r\n }\r\n CMFormModalComponent.close('formAnalisarCotacao');\r\n }\r\n\r\n dados: any = {};\r\n dadosConfig: any = {};\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setDadosConfig();\r\n }\r\n\r\n getTitle() {\r\n return \"Cotação # \"+this.dados.numero;\r\n }\r\n\r\n loadDados() {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe('/api/Cotacao/GetAnaliseCotacao',\r\n JSON.stringify({\r\n idcotacao: this.owner.idFormAnalisarCotacao\r\n }),\r\n (response) => {\r\n this.dados = response;\r\n this.sortRespostas();\r\n if (this.dados.status == \"Encerrada\") {\r\n setTimeout(() => {\r\n this.demonstrar();\r\n }, 1000);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadDados', error);\r\n });\r\n }\r\n\r\n cotacaoCarregada() {\r\n return (this.dados.status == \"EmAndamento\") || (this.dados.status == \"Encerrada\")\r\n }\r\n\r\n setDadosConfig() {\r\n this.dadosConfig = {\r\n condicoesproposta: new CMInputConfig({\r\n form: this,\r\n caption: 'Condições da Proposta',\r\n disabled: true,\r\n }),\r\n produtos: new CMGridEditConfig({\r\n form: this,\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: 'Produto',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'descricao_produto');\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, 'codigo_produto');\r\n }\r\n })\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: 'Quantidade',\r\n dataType: 'double(2)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\"\r\n })\r\n }),\r\n respostas: new CMGridEditConfig({\r\n form: this,\r\n onSelect: (row) => {\r\n setTimeout(() => {\r\n this.onSelectResposta(row);\r\n }, 100);\r\n },\r\n fields: {\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n caption: 'Fornecedor',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn()\r\n }),\r\n valorunitario: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor Unitário',\r\n dataType: 'double(2)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\"\r\n })\r\n }),\r\n valortotal: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor Total',\r\n dataType: 'double(2)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\"\r\n })\r\n }),\r\n vencedora: new CMInputConfig({\r\n form: this,\r\n caption: 'Vencedora',\r\n dataType: 'boolean',\r\n disabledFunc: () => this.dados.status !== \"EmAndamento\",\r\n onChange: () => {\r\n this.unSelectAllRespostas();\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'checkbox',\r\n width: \"70px\"\r\n })\r\n }),\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n condicoesProposta = '';\r\n lastIdFornec = '';\r\n findCondicoesProposta(idfornecedor) {\r\n let r = '';\r\n for (let i=0; i < this.dados.fornecedores.length; i++) {\r\n if (this.dados.fornecedores[i].idfornecedor == idfornecedor) {\r\n r = this.dados.fornecedores[i].condicoesproposta;\r\n break;\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n onSelectResposta(row) {\r\n if ((row) && (row.idfornecedor !== this.lastIdFornec)) {\r\n this.lastIdFornec = row.idfornecedor;\r\n this.condicoesProposta = this.findCondicoesProposta(row.idfornecedor);\r\n }\r\n }\r\n\r\n demostrativos = [];\r\n\r\n demonstrar() {\r\n let demostrativos = [];\r\n let ordens_compra = {};\r\n this.dados.produtos.forEach(produto => {\r\n produto.respostas.forEach(resposta => {\r\n if (resposta.vencedora === 'Sim') {\r\n let ordem_compra = ordens_compra[resposta.idfornecedor];\r\n if (ordem_compra == undefined) {\r\n ordem_compra = {\r\n idfornecedor: resposta.idfornecedor,\r\n fornecedor: resposta.fornecedor,\r\n condicoesproposta: this.findCondicoesProposta(resposta.idfornecedor),\r\n produtos: [],\r\n totalgeral: '0'\r\n };\r\n ordens_compra[resposta.idfornecedor] = ordem_compra;\r\n demostrativos.push(ordem_compra);\r\n }\r\n ordem_compra.totalgeral = this.floatToValue(\r\n this.valueToFloat(ordem_compra.totalgeral) + this.valueToFloat(resposta.valortotal)\r\n );\r\n let p = {\r\n iditemestoque: produto.id,\r\n codigo_produto: produto.codigo_produto,\r\n descricao_produto: produto.descricao_produto,\r\n quantidade: produto.quantidade,\r\n valorunitario: resposta.valorunitario,\r\n valortotal: resposta.valortotal,\r\n };\r\n ordem_compra.produtos.push(p);\r\n }\r\n });\r\n });\r\n this.demostrativos = demostrativos;\r\n }\r\n\r\n unSelectAllRespostas() {\r\n if (this.demostrativos.length > 0) {\r\n setTimeout(() => {\r\n this.demostrativos = [];\r\n }, 10);\r\n }\r\n let respostas = this.dadosConfig.produtos.current.respostas;\r\n let current = this.dadosConfig.produtos.fields.respostas.current;\r\n if ((respostas) && (current)) {\r\n if (current.vencedora == 'Sim') {\r\n let id = current.id;\r\n respostas.forEach(resposta => {\r\n if (resposta.id !== id)\r\n resposta.vencedora = 'Não';\r\n });\r\n }\r\n }\r\n }\r\n\r\n sortRespostas() {\r\n if (this.dados.produtos) {\r\n this.dados.produtos.forEach(produto => {\r\n if (produto.respostas) {\r\n produto.respostas.sort(function (a, b) {\r\n let a_valorunitario = CMInputConfig.valueToFloat(a.valorunitario);\r\n let b_valorunitario = CMInputConfig.valueToFloat(b.valorunitario);\r\n if (a_valorunitario > b_valorunitario) {\r\n return 1;\r\n }\r\n if (a_valorunitario < b_valorunitario) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n showGerarOrdemCompra() {\r\n return (this.demostrativos.length > 0) && (this.dados.status == \"EmAndamento\");\r\n }\r\n\r\n gerarOrdemCompra() {\r\n if (this.dados.status == \"EmAndamento\") {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe('/api/Cotacao/AnaliseCotacao/FuncaoExtra',\r\n JSON.stringify({\r\n idcotacao: this.owner.idFormAnalisarCotacao,\r\n aprovados: this.demostrativos\r\n }),\r\n (r) => {\r\n if (r['result'] == 'ok') {\r\n CMFormGlobaisComponent.toastSucesso('Ordens de Compra gerada com sucesso');\r\n this.close();\r\n }\r\n else\r\n CMFormGlobaisComponent.toastInformacao(r['msg']);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadDados', error);\r\n });\r\n }\r\n }\r\n\r\n}","export * from './cotacao-analise-component';","// tslint:disable \r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent, CMInputConfig, CMFormModalComponent, CMFormGlobaisComponent } from './../../@cmcore/component';\r\nimport { CotacaoEditComponent } from './cotacao-edit.component';\r\nimport { CotacaoAnaliseComponent } from './analise';\r\nimport { CotacaoEmailComponent } from './email';\r\n\r\n@Component({\r\n selector: 'cotacao-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CotacaoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'Cotacao';\r\n this.formEditComponent = CotacaoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.buttonsExtra = 1;\r\n this.showEmailButton = true;\r\n this.columns = [{field: 'numero', caption: '#', width: 100,\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {field: 'data', caption: 'Data', width: 130,\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n })\r\n },\r\n {field: 'datamaximaresposta', caption: 'Data Maxima Resposta',\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n })\r\n },\r\n {field: 'status', caption: 'Status',\r\n filter: new CMInputConfig({\r\n values: [{'value': \"Aberta\"},\r\n {'value': \"EmAndamento\", 'text': 'Em Andamento'},\r\n {'value': \"Encerrada\"},\r\n {'value': \"Cancelada\"},\r\n ]\r\n })\r\n }\r\n ];\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n if ((this.grid.fieldByName('status') === 'EmAndamento') || (this.grid.fieldByName('status') === 'Encerrada'))\r\n this.openFormAnalisarCotacao(this.grid.fieldByName('id'));\r\n else\r\n CMFormGlobaisComponent.showMessageAviso('Somente cotações em andamento podem ser analisadas');\r\n }\r\n }\r\n\r\n idFormAnalisarCotacao: number = 0;\r\n openFormAnalisarCotacao(id) {\r\n this.idFormAnalisarCotacao = id;\r\n this.beforeComponent = CotacaoAnaliseComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open('formAnalisarCotacao');\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, 'AnaliseCotacao');\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0)\r\n r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'gavel';\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'Analisar';\r\n return r;\r\n }\r\n\r\n getTitle() {\r\n return 'Cotação';\r\n }\r\n\r\n emailOpenForm(data) {\r\n let id = this.grid.fieldByName('id');\r\n data.id = id;\r\n data.tipo = 'SendMail';\r\n CotacaoEmailComponent.open(\r\n '/api/'+this.controllerName+'/Email',\r\n data.caption,\r\n data\r\n );\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string, onAfterSelect?: Function) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'NecessidadeCompra',\r\n 'Pesquisa de Necessidade de Compra',\r\n [{field: 'numero', caption: '#'},\r\n {field: 'data', caption: 'Data', filter: true, mask: '99/99/9999'}],\r\n target,\r\n targetProp,\r\n 'numero',\r\n onAfterSelect);\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport { ProdutoBrowseComponent } from \"./../produto/produto-browse.component\";\r\nimport { PessoaBrowseComponent } from \"./../pessoa/pessoa-browse.component\";\r\nimport { NecessidadeCompraBrowseComponent } from \"../necessidade-compra\";\r\nimport { FornecedorBrowseComponent } from \"../fornecedor\";\r\n\r\n@Component({\r\n selector: \"cotacao-edit\",\r\n templateUrl: \"cotacao-edit.component.html\",\r\n})\r\nexport class CotacaoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_data\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Cotação\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"Cotacao\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n datamaximaresposta: new CMInputConfig({\r\n form: this,\r\n caption: \"Data maxima resposta\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n values: [\r\n { value: \"Aberta\" },\r\n { value: \"EmAndamento\", text: \"Em Andamento\" },\r\n { value: \"Encerrada\" },\r\n { value: \"Cancelada\" },\r\n ],\r\n }),\r\n itens: new CMGridEditConfig({\r\n form: this,\r\n customValidItem: (item) => {\r\n return this.validEstoque(item);\r\n },\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n quantidade: \"0,00\",\r\n estoque: [],\r\n });\r\n },\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) => this.getValueObject(row, \"produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n width: \"300px\",\r\n ordem: 1,\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.itens.current,\r\n \"Ativos\",\r\n undefined,\r\n () => {\r\n if(this.currentProdutoUsaGrade()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n\r\n let grades = this.modelConfig.itens.current.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.itens.current.quantidade = \"1,00\";\r\n };\r\n }\r\n );\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n width: \"150px\",\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.modelConfig.itens.current))\r\n this.modelConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n maxlength: 60,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 4,\r\n }),\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n fornecedores: new CMGridEditConfig({\r\n form: this,\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) => this.getValueObject(row, \"fornecedor.nome\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n width: \"300px\",\r\n ordem: 1,\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"fornecedor.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.fornecedores.current,\r\n undefined,\r\n undefined,\r\n this.getIdsProdutos()\r\n );\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n\r\n validEstoque(item: any) {\r\n let r: string = \"\";\r\n //console.log(item);\r\n console.log(this.valueToFloat(item.quantidade, 0));\r\n if (this.valueToFloat(item.quantidade, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let qtotal = 0;\r\n qtotal = this.valueToFloat(this.modelConfig.itens.current.quantidade) - this.valueToFloat(item.quantidade);\r\n this.modelConfig.itens.current.quantidade = this.floatToValue(qtotal);\r\n }\r\n\r\n getIdsProdutos() {\r\n let r = [];\r\n for (let i = 0; i < this.model.itens.length; i++) {\r\n if (this.model.itens[i].produto) {\r\n r.push(this.model.itens[i].produto.id);\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r = row.produto.usagrade1 === \"Sim\" || row.produto.usagrade2 === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidade = this.floatToValue(qtotal);\r\n }\r\n\r\n findItemProduto(idProduto) {\r\n let r = undefined;\r\n for (let i = 0; i < this.model.itens.length; i++) {\r\n if (\r\n this.model.itens[i].produto &&\r\n this.model.itens[i].produto.id == idProduto\r\n ) {\r\n r = this.model.itens[i];\r\n break;\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n findGradeItem(item, idGrade) {\r\n let r = undefined;\r\n for (let i = 0; i < item.estoque.length; i++) {\r\n if (item.estoque[i].grade && item.estoque[i].grade.id == idGrade) {\r\n r = item.estoque[i];\r\n break;\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n importNecessidadeCompra() {\r\n NecessidadeCompraBrowseComponent.pesquisaItens((rows) => {\r\n rows.forEach((row) => {\r\n let item = this.findItemProduto(row.idproduto);\r\n if (item == undefined) {\r\n item = {\r\n id: CMGridEditConfig.newId(),\r\n produto: {\r\n id: row.idproduto,\r\n codigo: row.codproduto,\r\n descr: row.descrproduto,\r\n usagrade1: row.produtousagrade1,\r\n usagrade2: row.produtousagrade2,\r\n },\r\n quantidade: \"0\",\r\n estoque: [],\r\n };\r\n this.model.itens.push(item);\r\n }\r\n item.quantidade = this.floatToValue(\r\n this.valueToFloat(item.quantidade) + this.valueToFloat(row.quantidade)\r\n );\r\n let itemEstoque = this.findGradeItem(item, row.idgrade);\r\n if (itemEstoque == undefined) {\r\n itemEstoque = {\r\n id: CMGridEditConfig.newId(),\r\n grade: {\r\n id: row.idgrade,\r\n descricao: row.descricaograde,\r\n },\r\n quantidade: \"0\",\r\n };\r\n item.estoque.push(itemEstoque);\r\n }\r\n itemEstoque.quantidade = this.floatToValue(\r\n this.valueToFloat(itemEstoque.quantidade) +\r\n this.valueToFloat(row.quantidade)\r\n );\r\n });\r\n });\r\n }\r\n}\r\n","export default \".cmform-inner {\\n width: 100%;\\n max-width: 80em;\\n}\\n\\n.divAcoes {\\n text-align: center;\\n padding-bottom: 10px;\\n margin-left: 10px;\\n margin-right: 10px;\\n margin-top: -35px;\\n margin-bottom: 25px;\\n position: relative;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9jb3RhY2FvL2VtYWlsL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGNvdGFjYW9cXGVtYWlsXFxjb3RhY2FvLWVtYWlsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9fX3JlY3Vyc29zL2NvdGFjYW8vZW1haWwvY290YWNhby1lbWFpbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9jb3RhY2FvL2VtYWlsL2NvdGFjYW8tZW1haWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDgwZW07XHJcbn1cclxuXHJcbi5kaXZBY29lcyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuICBtYXJnaW4tdG9wOiAtMzVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgIFxyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDgwZW07XG59XG5cbi5kaXZBY29lcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IC0zNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMInputConfig, CMValidatorEmail,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn} from './../../../@cmcore/component';\r\nimport { CMFormComponent } from './../../../@cmcore/component/cmform/cmform.component';\r\n\r\n@Component({\r\n selector: 'cotacao-email',\r\n templateUrl: './cotacao-email.component.html',\r\n styleUrls: ['./cotacao-email.component.scss']\r\n})\r\nexport class CotacaoEmailComponent extends CMFormComponent {\r\n\r\n static open(urlPost: string, caption: string, data: any = {}) {\r\n let f = CMFormGlobaisComponent.createComponent(CotacaoEmailComponent);\r\n f.setData(urlPost, caption, data);\r\n f.openModal();\r\n }\r\n\r\n caption: string = '';\r\n urlPost: string = '';\r\n modelConfig: any = {};\r\n model: any = {};\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setModelConfig();\r\n }\r\n\r\n setData(urlPost: string, caption: string, data: any = {}) {\r\n this.caption = caption;\r\n this.urlPost = urlPost;\r\n if (data) {\r\n if (data.assunto !== undefined) {\r\n this.model.assunto = data.assunto;\r\n delete data.assunto;\r\n }\r\n if (data.mensagem !== undefined) {\r\n this.model.mensagem = data.mensagem;\r\n delete data.mensagem;\r\n }\r\n if (data.listacontatos !== undefined) {\r\n this.model.listacontatos = data.listacontatos;\r\n delete data.listacontatos;\r\n }\r\n }\r\n let props = Object.getOwnPropertyNames(data);\r\n props.forEach(prop => {\r\n this.model[prop] = data[prop];\r\n });\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n assunto: new CMInputConfig({\r\n form: this,\r\n caption: 'Assunto',\r\n required: true,\r\n }),\r\n mensagem: new CMInputConfig({\r\n form: this,\r\n caption: 'Mensagem',\r\n required: true,\r\n }),\r\n listacontatos: new CMGridEditConfig({\r\n form: this,\r\n caption: 'Fornecedores',\r\n required: true,\r\n fields: {\r\n enviar: new CMInputConfig({\r\n form: this,\r\n caption: 'Enviar',\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'checkbox',\r\n }),\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: 'Nome',\r\n readonly: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: 'email',\r\n readonly: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n })\r\n }\r\n }),\r\n };\r\n this.generateEmptyModel(this.modelConfig, this.model);\r\n }\r\n\r\n enviarEmail() {\r\n if (this.valid(this.modelConfig, this.model)) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.model.baseurl = window.location.origin;\r\n this.postSubscribe(this.urlPost,\r\n JSON.stringify(this.model),\r\n (r) => {\r\n this.model.result = r;\r\n if (r['result'] === 'true') {\r\n CMFormGlobaisComponent.toastSucesso(r['msg']);\r\n this.closeModal();\r\n }\r\n else {\r\n let msg: string = r['msg'];\r\n if (msg.startsWith('{') && msg.endsWith('}')) {\r\n msg = JSON.parse(r['msg']);\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '
    '+JSON.stringify(msg, null, 2).replace(/\\\\r\\\\n/g, \"
    \")+'
    '\r\n );\r\n }\r\n else {\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '

    '+msg+'

    '\r\n );\r\n }\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n });\r\n }\r\n }\r\n\r\n}","export * from './cotacao-email.component';","export * from './cotacao-edit.component';\r\nexport * from './cotacao-browse.component';\r\nexport * from './acesso-fornecedor';\r\nexport * from './analise';\r\nexport * from './email';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9jdXBvbS1kZXNjb250by1yZWxhdG9yaW9zL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGN1cG9tLWRlc2NvbnRvLXJlbGF0b3Jpb3NcXGN1cG9tLWRlc2NvbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvY3Vwb20tZGVzY29udG8tcmVsYXRvcmlvcy9jdXBvbS1kZXNjb250by1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9jdXBvbS1kZXNjb250by1yZWxhdG9yaW9zL2N1cG9tLWRlc2NvbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIG1heC13aWR0aDogODAlO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n CupomDescontoBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"cupom-desconto-relatorios\",\r\n templateUrl: \"cupom-desconto-relatorios.component.html\",\r\n styleUrls: [\"cupom-desconto-relatorios.component.scss\"],\r\n})\r\nexport class CupomDescontoRelatoriosComponent extends CMFormComponent {\r\n _owner: CupomDescontoBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n CupomDescontoRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return CupomDescontoRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"CupomDescontoPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"CupomDescontoPadrao\", text: \"Cupom de Desconto Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"CupomDescontoPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"cupomdesconto\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoCupomDescontoCustomizado\",\r\n data,\r\n \"cupomdesconto\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, CupomDescontoRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './cupom-desconto-relatorios.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormModalComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { CupomDescontoEditComponent } from \"./cupom-desconto-edit.component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { CupomDescontoRelatoriosComponent } from \"../cupom-desconto-relatorios/cupom-desconto-relatorios.component\";\r\n\r\n@Component({\r\n selector: \"cupom-desconto-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class CupomDescontoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"CupomDesconto\";\r\n this.formEditComponent = CupomDescontoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.buttonsExtra = 1;\r\n this.showPrintButton = true;\r\n this.columns = [\r\n {\r\n field: \"codigo\",\r\n caption: \"Código\",\r\n width: 100,\r\n filter: new CMInputConfig({\r\n maxlength: 20,\r\n }),\r\n },\r\n {\r\n field: \"datacadastro\",\r\n caption: \"Cadastro\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"datavalidade\",\r\n caption: \"Data Validade\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"valor\",\r\n caption: \"Valor\",\r\n filter: new CMInputConfig({\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"datautilizado\",\r\n caption: \"Data Utilizado\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"tipo\",\r\n caption: \"Tipo\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Desconto\" },\r\n { value: \"ValePresente\", text: \"Vale-Presente\" },\r\n { value: \"TrocaProduto\", text: \"Troca de Produto\" },\r\n { value: \"Outros\" },\r\n ],\r\n }),\r\n },\r\n { field: \"nnf\", caption: \"Doc Troca\" },\r\n {\r\n field: \"utilizado\",\r\n caption: \"Utilizado\",\r\n dataType: \"boolean\",\r\n },\r\n ];\r\n if (CupomDescontoRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(CupomDescontoRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (CupomDescontoRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosCupomDesconto();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/cupomdesconto/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'CupomDesconto'){\r\n CupomDescontoRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosCupomDesconto() {\r\n this.beforeComponent = CupomDescontoRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosCupomDesconto\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return \"Cupom de Desconto\";\r\n }\r\n\r\n static pesquisa(\r\n ativos: string,\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"cupomdesconto\",\r\n \"Pesquisa de Cupom de Desconto\",\r\n [\r\n { field: \"codigo\", caption: \"Código\" },\r\n {\r\n field: \"datacadastro\",\r\n caption: \"Cadastro\",\r\n filter: true,\r\n mask: \"99/99/9999\",\r\n },\r\n {\r\n field: \"datavalidade\",\r\n caption: \"Validade\",\r\n filter: true,\r\n mask: \"99/99/9999\",\r\n },\r\n { field: \"cliente_nome\", caption: \"Cliente\", filter: true },\r\n { field: \"valor\", caption: \"Valor\", filter: true },\r\n {\r\n field: \"utilizado\",\r\n caption: \"Utilizado\",\r\n value: ativos,\r\n filter: true,\r\n visible: false,\r\n filterVisible: false,\r\n },\r\n ],\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n false\r\n );\r\n }\r\n }\r\n\r\n getDataPrint(data) {\r\n data.numero = this.grid.fieldByName(\"id\");\r\n return data;\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImpressaoCupomReduzido\");\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Imprimir Reduzido\";\r\n return r;\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"/ImpressaoCupom/FuncaoExtra\", data, this.controllerName);\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento/formapagamento-browse.component\";\r\n\r\n@Component({\r\n selector: \"cupom-desconto-edit\",\r\n templateUrl: \"cupom-desconto-edit.component.html\",\r\n})\r\nexport class CupomDescontoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_data\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Cupom de Desconto\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"CupomDesconto\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) this.disabledAll = this.model.utilizado === \"Sim\";\r\n if (!this.disabledAll) this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n let dataprimeirovencimento = this.valueToDate(this.date);\r\n dataprimeirovencimento.setMonth(dataprimeirovencimento.getMonth() + 1);\r\n this.model.dataprimeirovencimento = this.dateToValue(\r\n dataprimeirovencimento\r\n );\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n disabled: true,\r\n }),\r\n datacadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabledFunc: () => this.model.tipo === \"Troca\",\r\n }),\r\n datavalidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade\",\r\n mask: \"99/99/9999\",\r\n }),\r\n\r\n datautilizado: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Utilização\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n required: true,\r\n disabledFunc: () => this.model.tipo === \"Troca\",\r\n onExit: () => {\r\n this.model.contareceber.vliquido = this.model.valor;\r\n },\r\n }),\r\n vutilizado: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Utilizado\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n utilizado: new CMInputConfig({\r\n form: this,\r\n caption: \"Utilizado\",\r\n dataType: \"boolean\",\r\n disabled: true,\r\n }),\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.model);\r\n },\r\n disabledFunc: () => this.model.tipo === \"Troca\",\r\n }),\r\n\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n values: [\r\n { value: \"Desconto\" },\r\n { value: \"ValePresente\", text: \"Vale-Presente\" },\r\n { value: \"Troca\", text: \"Troca de Produto\", disabled: true },\r\n { value: \"Outros\" },\r\n ],\r\n disabledFunc: () => this.model.tipo === \"Troca\",\r\n }),\r\n geracontareceber: new CMInputConfig({\r\n form: this,\r\n caption: \"Gera conta a receber\",\r\n dataType: \"boolean\",\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n onSetValue: (oldValue, newValue) => {\r\n if (this.trimValue(oldValue) !== \"\" && oldValue !== newValue) {\r\n this.gerarDuplicatas();\r\n }\r\n },\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n dataprimeirovencimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Data primeiro vencimento para nova geração\",\r\n mask: \"99/99/9999\",\r\n iconButton: \"refresh\",\r\n hintButton: \"Gerar duplicatas\",\r\n execPesqOnlyOnExit: false,\r\n showButtonFunc: () => !this.disabledAll,\r\n pesqFunc: () => {\r\n this.gerarDuplicatas();\r\n },\r\n }),\r\n contareceber: {\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n requiredFunc: () => {\r\n return this.model.geracontareceber === \"Sim\";\r\n },\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.recalcularValorParcelas(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"alteradomanualmente\") !== \"Sim\",\r\n }),\r\n required: true,\r\n }),\r\n alteradomanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar\",\r\n dataType: \"boolean\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"60px\",\r\n }),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.contareceber.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n },\r\n }),\r\n },\r\n };\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas = this.valueToInteger(this.model.qtdeparcelas, 0);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.contareceber.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.dataprimeirovencimento);\r\n dvenc.setMonth(dvenc.getMonth() - 1);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.contareceber.duplicatas.unSelect();\r\n this.model.contareceber.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n\r\n recalcularValorParcelas() {\r\n let valorFixo = 0;\r\n let numeroParcelas = 0;\r\n let primeiraDuplicataAutomatica = undefined;\r\n this.model.contareceber.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente == \"Sim\")\r\n valorFixo += this.valueToFloat(duplicata.valor);\r\n else {\r\n if (primeiraDuplicataAutomatica == undefined)\r\n primeiraDuplicataAutomatica = duplicata;\r\n numeroParcelas += 1;\r\n }\r\n });\r\n if (numeroParcelas > 0) {\r\n let vliquido =\r\n this.valueToFloat(this.model.contareceber.vliquido, 0) - valorFixo;\r\n if (vliquido > 0) {\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n this.model.contareceber.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente !== \"Sim\")\r\n duplicata.valor = this.floatToValue(valorParcela);\r\n });\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(primeiraDuplicataAutomatica.valor);\r\n valor += dif;\r\n primeiraDuplicataAutomatica.valor = this.floatToValue(valor);\r\n }\r\n }\r\n }\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.datacadastro);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de cadastro\";\r\n return r;\r\n }\r\n}\r\n","export * from \"./cupom-desconto-edit.component\";\r\nexport * from \"./cupom-desconto-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMInputConfig } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'curriculum-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class CurriculumBrowseComponent extends CMFormBrowse2Component {\r\n\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'curriculum';\r\n this.columns = [{field: 'cpf', caption: 'CPF',\r\n filter: new CMInputConfig({\r\n mask: '999.999.999-99'\r\n })\r\n },\r\n {field: 'nome', caption: 'Nome',\r\n filter: true\r\n },\r\n {field: 'tipocnh', caption: 'Habilitação', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'A'}, {value: 'AB'}]\r\n })\r\n },\r\n {field: 'necessidadesespeciais', caption: 'Portador Necessidades Especiais', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Visual'}, {value: 'Auditivo'}, {value: 'Locomoção'}]\r\n })\r\n },\r\n {field: 'veiculoproprio', caption: 'Possui Veículo Prórpio', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Carro'}, {value: 'Moto'}, {value: 'Carro e Moto'}]\r\n })\r\n },\r\n {field: 'primeiroemprego', caption: 'É o primeiro Emprego', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Sim'}, {value: 'Não'}]\r\n })\r\n },\r\n {field: 'escolaridade', caption: 'Escolaridade', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Ensino Médio'}, {value: 'Graduação'}, {value: 'Pós-Graduação'}]\r\n })\r\n },\r\n {field: 'disponivelparaviagens', caption: 'Disponibilidade para viagens', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Sim'}, {value: 'Não'}]\r\n })\r\n },\r\n {field: 'disponivelresidiremoutracidade', caption: 'Disponibilidade para residir em outra cidade', visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Todos'}, {value: 'Sim'}, {value: 'Não'}]\r\n })\r\n },\r\n ];\r\n this.showPrintButton = true;\r\n }\r\n\r\n getTitle() {\r\n return 'Curriculum';\r\n }\r\n\r\n}","export * from './curriculum-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMInputConfig,\r\n CMFormGlobaisComponent } from './../../@cmcore/component';\r\nimport { DuplicataPagarEditComponent } from './duplicata-pagar-edit.component';\r\nimport { FornecedorBrowseComponent } from './../fornecedor/fornecedor-browse.component';\r\nimport { ContaContabilBrowseComponent } from '../conta-contabil';\r\nimport { FormaPagamentoBrowseComponent } from '../formapagamento';\r\n\r\n@Component({\r\n selector: 'duplicata-pagar-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class DuplicataPagarBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'duplicatapagar';\r\n this.formEditComponent = DuplicataPagarEditComponent;\r\n this.buttonsExtra = 2;\r\n this.showPrintButton = true;\r\n this._hideShowFilters = true;\r\n this.columns = [{field: 'origem', caption: 'Origem',\r\n filter: new CMInputConfig({\r\n values: [{value: 'Cadastro', text: 'Cadastro'},\r\n {value: 'NFeRecebimento', text: 'NF-e de Recebimento'},\r\n {value: 'Todas'}]\r\n }),\r\n value: 'Todas'\r\n },\r\n {field: 'codigocontapagar', caption: '#',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })},\r\n {field: 'nfatura', caption: 'Fatura',\r\n filter: new CMInputConfig({\r\n maxlength: 56\r\n })},\r\n {field: 'nduplicata', caption: 'Duplicata',\r\n filter: new CMInputConfig({\r\n maxlength: 60\r\n })},\r\n {field: 'dvenc', caption: 'Data de Vencimento'},\r\n { field: \"datacadastro\", caption: \"Data de Emissão\" },\r\n {field: 'datainipagar', caption: 'Data de Vencimento Inicial',\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n }),\r\n value: this.firstDateLastMonth()\r\n },\r\n {field: 'datafimpagar', caption: 'Data de Vencimento Final',\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n }),\r\n value: this.lastDateNextMonth()\r\n },\r\n {\r\n field: \"datainipagarliquidacao\",\r\n caption: \"Data de Baixa Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafimpagarliquidacao\",\r\n caption: \"Data de Baixa Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"datacadastropagarini\",\r\n caption: \"Data de Emissão Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datacadastropagarfim\",\r\n caption: \"Data de Emissão Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {field: 'destinatario_nome', caption: 'Fornecedor',\r\n filterField: 'destinatario.id',\r\n filterValue: 'destinatario.codigo',\r\n fieldBottom: 'destinatario.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: sender => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.valuesFilters, 'destinatario');\r\n }\r\n })\r\n },\r\n {field: 'contacontabil_descricao', caption: 'Conta Contábil',\r\n filterField: 'contacontabil.id',\r\n filterValue: 'contacontabil.codigo',\r\n fieldBottom: 'contacontabil.descricao',\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.valuesFilters, \"Conta Contábil\");\r\n },\r\n })\r\n },\r\n {\r\n field: \"formapagamento_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {field: 'status', caption: 'Status',\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [{value: 'Abertas'}, {value: 'Baixadas'}, {value: 'Todas'}]\r\n }),\r\n value: 'Abertas'\r\n },\r\n {field: 'valor', caption: 'Valor'},\r\n {field: 'vsaldo', caption: 'Saldo'},\r\n {field: 'databaixa', caption: 'Data de baixa'}\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Duplicata a Pagar';\r\n }\r\n\r\n getShowActionAdd() {\r\n return false;\r\n }\r\n\r\n getShowActionRemove() {\r\n return false;\r\n }\r\n\r\n baixaTotal() {\r\n this.postSubscribeT>('/api/'+this.controllerName.toLowerCase()+'/baixatotal/FuncaoExtra',\r\n JSON.stringify({\"id\": this.grid.fieldByName('id')}),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === 'ok') {\r\n CMFormGlobaisComponent.toastSucesso('Duplicata baixada');\r\n this.refresh();\r\n return true;\r\n }\r\n else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n error => {\r\n this.showMessageErrorHTTP('onPage', error);\r\n });\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, 'BaixaTotal');\r\n }\r\n if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, 'ImpressaoDuplicataPagarReduzida');\r\n }\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n super.buttonsExtraClick(index);\r\n if (index === 0) {\r\n CMFormGlobaisComponent.showConfirmation('Baixa total', 'Deseja realizar a baixa total da duplicata?',\r\n () => {\r\n this.baixaTotal();\r\n })\r\n } else if (index === 1) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoDuplicataPagarReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'attach_money';\r\n else if (index === 1)\r\n r = 'receipt';\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'Baixa total';\r\n return r;\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0)\r\n r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../conta-bancaria\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"duplicata-pagar-edit\",\r\n templateUrl: \"duplicata-pagar-edit.component.html\",\r\n})\r\nexport class DuplicataPagarEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n return \"Duplicata a Pagar - \" + this.fieldByName(\"nduplicata\");\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"duplicatapagar\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n this.podeTerNovaBaixa = true;\r\n this.model.novabaixa = {};\r\n this.model.novabaixa.data = this.date;\r\n this.model.novabaixa.vmulta = this.floatToValue(0);\r\n this.model.novabaixa.vjuros = this.floatToValue(0);\r\n this.model.novabaixa.vdesconto = this.floatToValue(0);\r\n this.model.novabaixa.vdevido = this.model.vsaldo;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n this.model.novabaixa.observacao = \"\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Número da Duplicata\",\r\n disabled: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Vencimento\",\r\n disabled: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n disabled: true,\r\n }),\r\n vtotalmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de multa\",\r\n disabled: true,\r\n }),\r\n vtotaljuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de juros\",\r\n disabled: true,\r\n }),\r\n vtotaldesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de desconto\",\r\n disabled: true,\r\n }),\r\n vtotaldevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total devido\",\r\n disabled: true,\r\n }),\r\n vtotalbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de baixa\",\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Saldo\",\r\n disabled: true,\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Baixa\",\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n readonly: true,\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model, \"contabancaria\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n movimentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Movimentos\",\r\n required: false,\r\n fields: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancaria\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"contabancaria.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"contabancaria.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.movimentos.current,\r\n \"contabancaria\"\r\n );\r\n },\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n },\r\n }),\r\n novabaixa: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n mask: \"99/99/9999\",\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor devido\",\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n dataType: \"double(2)\",\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n maxlength: 60,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.novabaixa.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n },\r\n };\r\n }\r\n\r\n podeTerNovaBaixa: boolean = true;\r\n\r\n onRemoveMovimento() {\r\n this.podeTerNovaBaixa = false;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n }\r\n\r\n calc_vDevido() {\r\n let vdevido = this.valueToFloat(this.model.vsaldo, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vmulta, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vjuros, 0);\r\n vdevido -= this.valueToFloat(this.model.novabaixa.vdesconto, 0);\r\n this.model.novabaixa.vdevido = this.floatToValue(vdevido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (this.podeTerNovaBaixa && r === \"\") {\r\n if (\r\n this.valueToFloat(this.model.novabaixa.vbaixa, 0) >\r\n this.valueToFloat(this.model.novabaixa.vdevido, 0)\r\n )\r\n r = \"Valor da baixa não pode ser maior que o valor dedivo\";\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './duplicata-pagar-browse.component';\r\nexport * from './duplicata-pagar-edit.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9kdXBsaWNhdGEtcmVjZWJlci1yZWxhdG9yaW9zL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGR1cGxpY2F0YS1yZWNlYmVyLXJlbGF0b3Jpb3NcXGR1cGxpY2F0YS1yZWNlYmVyLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvZHVwbGljYXRhLXJlY2ViZXItcmVsYXRvcmlvcy9kdXBsaWNhdGEtcmVjZWJlci1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9kdXBsaWNhdGEtcmVjZWJlci1yZWxhdG9yaW9zL2R1cGxpY2F0YS1yZWNlYmVyLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIG1heC13aWR0aDogODAlO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n DuplicataReceberBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"duplicata-receber-relatorios\",\r\n templateUrl: \"duplicata-receber-relatorios.component.html\",\r\n styleUrls: [\"duplicata-receber-relatorios.component.scss\"],\r\n})\r\nexport class DuplicataReceberRelatoriosComponent extends CMFormComponent {\r\n _owner: DuplicataReceberBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n DuplicataReceberRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return DuplicataReceberRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"DuplicataReceberPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"DuplicataReceberPadrao\", text: \"Duplicata Receber Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"DuplicataReceberPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"duplicatareceber\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoDuplicataReceberCustomizado\",\r\n data,\r\n \"duplicatareceber\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, DuplicataReceberRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './duplicata-receber-relatorios.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { DuplicataReceberEditComponent } from \"./duplicata-receber-edit.component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { DuplicataReceberRelatoriosComponent } from \"../duplicata-receber-relatorios/duplicata-receber-relatorios.component\";\r\nimport { ContaContabilBrowseComponent } from \"../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\n@Component({\r\n selector: \"duplicata-receber-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class DuplicataReceberBrowseComponent extends CMFormBrowse2Component {\r\n valuesOrigem = [];\r\n\r\n setValuesOrigem() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\"){\r\n this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"Todas\" },\r\n ];\r\n }else {this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"NFCe\", text: \"NFC-e\" },\r\n { value: \"Todas\" },\r\n ];\r\n\r\n }\r\n\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setValuesOrigem();\r\n this.controllerName = \"duplicatareceber\";\r\n this.formEditComponent = DuplicataReceberEditComponent;\r\n this.showPrintButton = true;\r\n this.buttonsExtra = 3;\r\n this._hideShowFilters = true;\r\n this.columns = [\r\n {\r\n field: \"origem\",\r\n caption: \"Origem\",\r\n filter: new CMInputConfig({\r\n values: this.valuesOrigem,\r\n }),\r\n value: \"Todas\",\r\n },\r\n { field: \"nduplicata\", caption: \"Duplicata\" },\r\n { field: \"dvenc\", caption: \"Data de Vencimento\" },\r\n { field: \"datacadastro\", caption: \"Data de Emissão\" },\r\n {\r\n field: \"dataini\",\r\n caption: \"Data de Vencimento Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafim\",\r\n caption: \"Data de Vencimento Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"datainiliquidacao\",\r\n caption: \"Data de Baixa Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafimliquidacao\",\r\n caption: \"Data de Baixa Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"datacadastroini\",\r\n caption: \"Data de Emissão Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datacadastrofim\",\r\n caption: \"Data de Emissão Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"nduplicata\",\r\n caption: \"Duplicata\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {field: 'contacontabil_descricao', caption: 'Conta Contábil',\r\n filterField: 'contacontabil.id',\r\n filterValue: 'contacontabil.codigo',\r\n fieldBottom: 'contacontabil.descricao',\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.valuesFilters, \"Conta Contábil\");\r\n },\r\n })\r\n },\r\n {\r\n field: \"formapagamento_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"status\",\r\n caption: \"Status\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Abertas\" },\r\n { value: \"Baixadas\" },\r\n { value: \"Todas\" },\r\n ],\r\n }),\r\n value: \"Abertas\",\r\n },\r\n { field: \"valor\", caption: \"Valor\" },\r\n { field: \"vsaldo\", caption: \"Saldo\" },\r\n { field: \"databaixa\", caption: \"Data de baixa\" },\r\n { field: \"geracao\", caption: \"Geração Boleto\" },\r\n ];\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(DuplicataReceberRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosDuplicataReceber();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/cupomdesconto/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'DuplicataReceber'){\r\n DuplicataReceberRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosDuplicataReceber() {\r\n this.beforeComponent = DuplicataReceberRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosDuplicataReceber\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return \"Duplicata a Receber\";\r\n }\r\n\r\n getShowActionAdd() {\r\n return false;\r\n }\r\n\r\n getShowActionRemove() {\r\n return false;\r\n }\r\n\r\n baixaTotal() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/baixatotal/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Duplicata baixada\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n geraboleto() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/geraboleto/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Boleto Gerado\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"BaixaTotal\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GeraBoleto\");\r\n } else if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImpressaoDuplicataReceberReduzida\");\r\n }\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n super.buttonsExtraClick(index);\r\n if (index === 0) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Baixa total\",\r\n \"Deseja realizar a baixa total da duplicata?\",\r\n () => {\r\n this.baixaTotal();\r\n }\r\n );\r\n } else if (index === 1) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Gerar Boleto\",\r\n \"Deseja gerar boleto bancário para a duplicata?\",\r\n () => {\r\n this.geraboleto();\r\n }\r\n );\r\n } else if (index === 2) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoDuplicataReceberReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"attach_money\";\r\n else if (index === 1) r = \"view_column\";\r\n else if (index === 2) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Baixa total\";\r\n else if (index === 1) r = \"Gerar Boleto\";\r\n else if (index === 2) r = \"Imprimir Reduzido\";\r\n return r;\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0) r = isCurrent;\r\n else if (index === 1) r = isCurrent;\r\n else if (index === 2) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../conta-bancaria\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"duplicata-receber-edit\",\r\n templateUrl: \"duplicata-receber-edit.component.html\",\r\n})\r\nexport class DuplicataReceberEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n return \"Duplicata a Receber - \" + this.fieldByName(\"nduplicata\");\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"duplicatareceber\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n this.podeTerNovaBaixa = true;\r\n this.model.novabaixa = {};\r\n this.model.novabaixa.data = this.date;\r\n this.model.novabaixa.vmulta = this.floatToValue(0);\r\n this.model.novabaixa.vjuros = this.floatToValue(0);\r\n this.model.novabaixa.vdesconto = this.floatToValue(0);\r\n this.model.novabaixa.vdevido = this.model.vsaldo;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n this.model.novabaixa.observacao = \"\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Número da Duplicata\",\r\n disabled: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Vencimento\",\r\n disabled: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n disabled: true,\r\n }),\r\n vtotalmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de multa\",\r\n disabled: true,\r\n }),\r\n vtotaljuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de juros\",\r\n disabled: true,\r\n }),\r\n vtotaldesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de desconto\",\r\n disabled: true,\r\n }),\r\n vtotaldevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total devido\",\r\n disabled: true,\r\n }),\r\n vtotalbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de baixa\",\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Saldo\",\r\n disabled: true,\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Baixa\",\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n readonly: true,\r\n }),\r\n cnab: {\r\n codigobanco: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Banco\",\r\n disabled: true,\r\n maxlength: 3,\r\n }),\r\n agencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Agência\",\r\n disabled: true,\r\n maxlength: 4,\r\n }),\r\n digitoagencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n contacorrente: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Corrente\",\r\n disabled: true,\r\n maxlength: 10,\r\n }),\r\n digitocc: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n carteira: new CMInputConfig({\r\n form: this,\r\n caption: \"Carteira\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n\r\n modalidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade\",\r\n disabled: true,\r\n maxlength: 2,\r\n }),\r\n nossonumero: new CMInputConfig({\r\n form: this,\r\n caption: \"Nosso Número\",\r\n disabled: true,\r\n maxlength: 9,\r\n }),\r\n linhadigitavel: new CMInputConfig({\r\n form: this,\r\n caption: \"Linha Digitável\",\r\n disabled: true,\r\n maxlength: 47,\r\n }),\r\n codigobarra: new CMInputConfig({\r\n form: this,\r\n caption: \"Código de Barras\",\r\n disabled: true,\r\n maxlength: 44,\r\n }),\r\n datageracao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Geração\",\r\n disabled: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n dataexportacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Transmissão\",\r\n disabled: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model, \"contabancaria\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n movimentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Movimentos\",\r\n required: false,\r\n fields: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancaria\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"contabancaria.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"contabancaria.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.movimentos.current,\r\n \"contabancaria\"\r\n );\r\n },\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n },\r\n }),\r\n\r\n novabaixa: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n mask: \"99/99/9999\",\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor devido\",\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n dataType: \"double(2)\",\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n maxlength: 60,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n /*\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.novabaixa.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),*/\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n },\r\n };\r\n }\r\n\r\n podeTerNovaBaixa: boolean = true;\r\n\r\n onRemoveMovimento() {\r\n this.podeTerNovaBaixa = false;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n }\r\n\r\n calc_vDevido() {\r\n let vdevido = this.valueToFloat(this.model.vsaldo, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vmulta, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vjuros, 0);\r\n vdevido -= this.valueToFloat(this.model.novabaixa.vdesconto, 0);\r\n this.model.novabaixa.vdevido = this.floatToValue(vdevido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (this.podeTerNovaBaixa && r === \"\") {\r\n if (this.valueToFloat(this.model.novabaixa.vbaixa, 0) > 0) {\r\n if (\r\n this.valueToFloat(this.model.novabaixa.vbaixa, 0) >\r\n this.valueToFloat(this.model.novabaixa.vdevido, 0)\r\n )\r\n r = \"Valor da baixa não pode ser maior que o valor dedivo\";\r\n }\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './duplicata-receber-browse.component';\r\nexport * from './duplicata-receber-edit.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMInputConfig, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { EmpresaAssociadoEditComponent } from './empresa-associado-edit.component';\r\n\r\n@Component({\r\n selector: 'empresa-associado-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class EmpresaAssociadoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n getTitle() {\r\n return 'Empresa';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'empresaassociado';\r\n this.formEditComponent = EmpresaAssociadoEditComponent;\r\n this.columns = [{field: 'codigo', caption: '#', width: '100',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {field: 'cnpj', caption: 'CNPJ', width: '200',\r\n filter: new CMInputConfig({\r\n mask: '99.999.999/9999-99'\r\n })\r\n },\r\n {field: 'nome', caption: 'Razão Social',\r\n filter: new CMInputConfig({\r\n maxlength: 100\r\n })\r\n }\r\n ];\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string, onAfterSelect?: Function) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'empresaassociado',\r\n 'Pesquisa de Empresa',\r\n [{field: 'codigo', caption: '#'},\r\n {field: 'nome', caption: 'Nome'},\r\n {field: 'cnpj', caption: 'CNPJ'}],\r\n target,\r\n targetProp,\r\n 'codigo',\r\n onAfterSelect);\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, OnInit, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMValidatorEmail,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport { CMValidatorCNPJCPF } from \"./../../@cmcore/validator\";\r\nimport {\r\n PadraoDeOperacaoBrowseComponent,\r\n MunicipioBrowseComponent,\r\n CFOPBrowseComponent,\r\n PessoaBrowseComponent,\r\n} from \"./../index\";\r\nimport { UsuarioBrowseComponent } from \"./../../@cmcore/guard\";\r\nimport { EmpresaAssociadoBrowseComponent } from \"./empresa-associado-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"empresa-associado-edit\",\r\n templateUrl: \"empresa-associado-edit.component.html\",\r\n})\r\nexport class EmpresaAssociadoEditComponent\r\n extends CMFormEditComponent\r\n implements OnInit {\r\n getFirstComponentName() {\r\n return \"model_cnpj\";\r\n }\r\n\r\n getTitle() {\r\n return \"Empresa - \" + this.fieldByName(\"nome\");\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"empresaassociado\";\r\n this.setModelConfig();\r\n\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n this.imageSrc = this.getImageSrc();\r\n }\r\n\r\n getImageSrc(){\r\n return \"/api/empresaassociado/GetDBFileGroupImage/Logos/EmpresaLogo_\"+this.model.id+\"/_self\"\r\n }\r\n\r\n public imageSrc: String = \"\";\r\n\r\n AcabouHabilitarCopiaProdutos: boolean = false;\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nomefantasia: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome Fantasia\",\r\n maxlength: 60,\r\n onExit: () => {\r\n console.log(this.model)\r\n }\r\n }),\r\n cnpj: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ\",\r\n required: true,\r\n mask: \"99.999.999/9999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Razão Social\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n ie: new CMInputConfig({\r\n form: this,\r\n caption: \"IE\",\r\n maxlength: 100,\r\n requiredFunc: () => this.usaSAT(),\r\n }),\r\n im: new CMInputConfig({\r\n form: this,\r\n caption: \"IM\",\r\n maxlength: 20,\r\n requiredFunc: () => this.usaSAT(),\r\n }),\r\n cadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n readonly: true,\r\n }),\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n emailnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail NF-e\",\r\n maxlength: 100,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n contador: new CMInputConfig({\r\n form: this,\r\n caption: \"Contador\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisaContador(sender, this.model, \"contador\");\r\n },\r\n }),\r\n endereco: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n required: true,\r\n maxlength: 10,\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n required: true,\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.endereco.estado,\r\n sender,\r\n this.model.endereco,\r\n \"ibge\"\r\n );\r\n },\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n required: true,\r\n mask: \"99999-999\",\r\n }),\r\n },\r\n telefones: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Telefones\",\r\n onNewItem: (model) => {\r\n Object.assign(model, { tipo: \"Residencial\" });\r\n },\r\n fields: {\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Telefone\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maskFunc: (row) => {\r\n let m = \"(99)9999-9999\";\r\n if (row.tipo === \"Celular\") m = \"(99)99999-9999\";\r\n return m;\r\n },\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n }),\r\n values: [\r\n { value: \"Residencial\" },\r\n { value: \"Comercial\" },\r\n { value: \"Celular\" },\r\n { value: \"Fax\" },\r\n ],\r\n }),\r\n contato: new CMInputConfig({\r\n form: this,\r\n caption: \"Contato\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 100,\r\n }),\r\n },\r\n }),\r\n parametroemail: {\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail\",\r\n maxlength: 100,\r\n required: true,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n smtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Servidor (SMTP)\",\r\n maxlength: 50,\r\n required: true,\r\n }),\r\n portsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Porta\",\r\n dataType: \"integer\",\r\n required: true,\r\n }),\r\n protocol: new CMInputConfig({\r\n form: this,\r\n caption: \"Protocolo\",\r\n required: true,\r\n values: [\r\n { value: \"Nenhum\" },\r\n { value: \"Padrao\", text: \"Padrão\" },\r\n { value: \"SSL\" },\r\n { value: \"TLS\" },\r\n { value: \"TLSv1\" },\r\n { value: \"TLSv1R\", text: \"TSLv1 requerido\" },\r\n { value: \"STARTTLS\" },\r\n ],\r\n }),\r\n usernamesmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n maxlength: 100,\r\n required: true,\r\n }),\r\n passwordsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n maxlength: 50,\r\n required: true,\r\n criptografado: true,\r\n }),\r\n mensagememailpadrao: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão\",\r\n required: true,\r\n }),\r\n },\r\n parametronfe: {\r\n regimetrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Regime tributário\",\r\n values: [\r\n { value: \"SimplesNacional\", text: \"Simples Nacional\" },\r\n { value: \"SimplesNacionalSubLimite\", text: \"Simples Nacional Sublimite\"},\r\n\t\t\t{ value: \"SimplesNacionalMEI\", text: \"Simples Nacional Microempreendedor Individual – MEI\"}\r\n ],\r\n }),\r\n tpamb: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Ambiente\",\r\n values: [\r\n { value: \"Producao\", text: \"Produção\" },\r\n { value: \"Homologacao\", text: \"Homologação\" },\r\n ],\r\n }),\r\n contingencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Ativar Contingência\",\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n required: true,\r\n }),\r\n cfoppadrao: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP Padrão\",\r\n mask: \"9.999\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfe,\r\n \"cfoppadrao\"\r\n );\r\n },\r\n }),\r\n cfoppadraodevolucao: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP Padrão de Devolução\",\r\n mask: \"9.999\",\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfe,\r\n \"cfoppadraodevolucao\"\r\n );\r\n },\r\n }),\r\n nrultimanf: new CMInputConfig({\r\n form: this,\r\n caption: \"Produção\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnota === \"true\";\r\n },\r\n }),\r\n nrultimanfhomologacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Homologação\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnotahomologacao === \"true\";\r\n },\r\n }),\r\n padraodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Padrão de Operação\",\r\n pesqFunc: (sender) => {\r\n PadraoDeOperacaoBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfe\r\n );\r\n },\r\n }),\r\n pcredsn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Alíquota aplicável de cálculo do crédito (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n }),\r\n obssimples: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação do Simples\",\r\n required: true,\r\n }),\r\n mensagememailnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão da NF-e\",\r\n required: true,\r\n }),\r\n msgemailcancelamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão do Cancelamento\",\r\n required: true,\r\n }),\r\n msgemailcartacor: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão da Carta de Correção\",\r\n required: true,\r\n }),\r\n senhacertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n required: true,\r\n criptografado: true,\r\n }),\r\n diasvalcertdigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Qtde. de dias para aviso do vencimento\",\r\n required: true,\r\n dataType: \"integer\",\r\n }),\r\n datacertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Validade\",\r\n disabled: true,\r\n }),\r\n infocertificadodigital: new CMInputConfig({ form: this }),\r\n },\r\n parametronfce: {\r\n usanfce: new CMInputConfig({\r\n form: this,\r\n caption: \"Usa NFCe\",\r\n }),\r\n regimetrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Regime tributário\",\r\n values: [\r\n { value: \"SimplesNacional\", text: \"Simples Nacional\" },\r\n { value: \"SimplesNacionalSubLimite\", text: \"Simples Nacional Sublimite\"},\r\n\t\t\t{ value: \"SimplesNacionalMEI\", text: \"Simples Nacional Microempreendedor Individual – MEI\"}\r\n // {\r\n // value: \"Normal\",\r\n // text: \"Normal\",\r\n // },\r\n ],\r\n }),\r\n tpamb: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Ambiente\",\r\n values: [\r\n { value: \"Producao\", text: \"Produção\" },\r\n { value: \"Homologacao\", text: \"Homologação\" },\r\n ],\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n requiredFunc: () => this.usaNFCe(),\r\n }),\r\n idcsc: new CMInputConfig({\r\n form: this,\r\n caption: \"ID CSC\",\r\n requiredFunc: () => this.usaNFCe(),\r\n maxlength: 6,\r\n }),\r\n idcschomologacao: new CMInputConfig({\r\n form: this,\r\n caption: \"ID CSC Amb. Homologação\",\r\n maxlength: 6,\r\n }),\r\n csc: new CMInputConfig({\r\n form: this,\r\n caption: \"CSC\",\r\n requiredFunc: () => this.usaNFCe(),\r\n maxlength: 40,\r\n }),\r\n cschomologacao: new CMInputConfig({\r\n form: this,\r\n caption: \"CSC Amb. Homologação\",\r\n maxlength: 40,\r\n }),\r\n cfoppadrao: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP Padrão\",\r\n mask: \"9.999\",\r\n requiredFunc: () => this.usaNFCe(),\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfce,\r\n \"cfoppadrao\"\r\n );\r\n },\r\n }),\r\n nrultimanf: new CMInputConfig({\r\n form: this,\r\n caption: \"Produção\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnota === \"true\";\r\n },\r\n }),\r\n nrultimanfhomologacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Homologação\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnotahomologacao === \"true\";\r\n },\r\n }),\r\n padraodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Configuração Fiscal de Venda padrão para ser utilizada na emissão da NFCe\",\r\n disabledFunc: () => !this.isEmpresaDefinida(),\r\n pesqFunc: (sender) => {\r\n PadraoDeOperacaoBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfce\r\n );\r\n },\r\n }),\r\n obssimples: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação do Simples\",\r\n requiredFunc: () => this.usaNFCe(),\r\n }),\r\n },\r\n parametrocnab: {\r\n codigobanco: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Banco\",\r\n maxlength: 3,\r\n }),\r\n digitobanco: new CMInputConfig({\r\n form: this,\r\n caption: \"Dígito\",\r\n maxlength: 1,\r\n }),\r\n agencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Agência\",\r\n maxlength: 4,\r\n }),\r\n digitoagencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n maxlength: 1,\r\n }),\r\n contacorrente: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Corrente\",\r\n maxlength: 10,\r\n }),\r\n digitocc: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n maxlength: 1,\r\n }),\r\n carteira: new CMInputConfig({\r\n form: this,\r\n caption: \"Carteira\",\r\n maxlength: 1,\r\n }),\r\n convenio: new CMInputConfig({\r\n form: this,\r\n caption: \"Convenio\",\r\n maxlength: 6,\r\n }),\r\n modalidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade\",\r\n maxlength: 2,\r\n }),\r\n codigocliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Cliente no Banco\",\r\n maxlength: 9,\r\n }),\r\n digitocodigocliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n maxlength: 1,\r\n }),\r\n instrucao01: new CMInputConfig({\r\n form: this,\r\n caption: \"Instrução de Protesto\",\r\n maxlength: 2,\r\n }),\r\n instrucao02: new CMInputConfig({\r\n form: this,\r\n caption: \"Dias para Protesto\",\r\n maxlength: 2,\r\n }),\r\n seqnn: new CMInputConfig({\r\n form: this,\r\n caption: \"Sequência Nosso Número\",\r\n dataType: \"integer\",\r\n }),\r\n taxajuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Taxa de Juros Mensal\",\r\n dataType: \"double(2)\",\r\n }),\r\n taxamulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Taxa de Multa\",\r\n dataType: \"double(2)\",\r\n }),\r\n msg1: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem 1\",\r\n maxlength: 40,\r\n }),\r\n msg2: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem 2\",\r\n maxlength: 40,\r\n }),\r\n posto: new CMInputConfig({\r\n form: this,\r\n caption: \"Posto\",\r\n dataType: \"integer\",\r\n maxlength: 2\r\n }),\r\n numeroarquivo: new CMInputConfig({\r\n form: this,\r\n caption: \"Número do Arquivo\",\r\n dataType: \"integer\",\r\n }),\r\n },\r\n parametroestoque: {\r\n usagrade1: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla Grade 1\",\r\n disabledFunc: () =>\r\n this.model.parametroestoque.copiaprodutograde === \"Sim\",\r\n }),\r\n usagrade2: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla Grade 2\",\r\n disabledFunc: () =>\r\n this.model.parametroestoque.copiaprodutograde === \"Sim\",\r\n }),\r\n nomegrade1: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome Grade 1\",\r\n requiredFunc: () => this.model.parametroestoque.usagrade1 === \"Sim\",\r\n disabledFunc: () =>\r\n this.model.parametroestoque.copiaprodutograde === \"Sim\" ||\r\n this.model.parametroestoque.usagrade1 !== \"Sim\",\r\n maxlength: 10,\r\n }),\r\n nomegrade2: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome Grade 2\",\r\n requiredFunc: () => this.model.parametroestoque.usagrade2 === \"Sim\",\r\n disabledFunc: () =>\r\n this.model.parametroestoque.copiaprodutograde === \"Sim\" ||\r\n this.model.parametroestoque.usagrade2 !== \"Sim\",\r\n maxlength: 10,\r\n }),\r\n usalote: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla Lote\",\r\n }),\r\n usacopiaproduto: new CMInputConfig({\r\n form: this,\r\n caption: \"Usa cópia de produto\",\r\n }),\r\n copiaprodutopreco: new CMInputConfig({\r\n form: this,\r\n caption: \"Formação de Preço de Venda\",\r\n disabledFunc: () => !this.AcabouHabilitarCopiaProdutos,\r\n }),\r\n copiaprodutofiscal: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações Fiscais\",\r\n disabledFunc: () => !this.AcabouHabilitarCopiaProdutos,\r\n }),\r\n copiaprodutograde: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações de Grade\",\r\n disabledFunc: () => !this.AcabouHabilitarCopiaProdutos,\r\n }),\r\n copiaprodutofornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações de Fornecedores\",\r\n disabledFunc: () => !this.AcabouHabilitarCopiaProdutos,\r\n }),\r\n copiaprodutoempresa: new CMInputConfig({\r\n form: this,\r\n caption: \"Empresa de Origem\",\r\n requiredFunc: () =>\r\n this.model.parametroestoque.copiaprodutograde === \"Sim\",\r\n disabledFunc: () => !this.AcabouHabilitarCopiaProdutos,\r\n pesqFunc: (sender) => {\r\n EmpresaAssociadoBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametroestoque,\r\n \"copiaprodutoempresa\"\r\n );\r\n },\r\n }),\r\n codigoprodutosequencial: new CMInputConfig({\r\n form: this,\r\n caption: \"Usa código do produto sequencial\",\r\n }),\r\n },\r\n parametrofinanceiro: {\r\n qtdemaximaparcelas: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade máxima de parcelas\",\r\n }),\r\n solicitapermissaovendacontavencida: new CMInputConfig({\r\n form: this,\r\n caption: \"Solicita permissão na venda para conta a receber vencida\",\r\n dataType: \"boolean\",\r\n }),\r\n textonotapromissoria: new CMInputConfig({\r\n form: this,\r\n caption: \"Texto Padrão para Nota Promissória\",\r\n }),\r\n },\r\n parametrocompras: {\r\n msgemailcotacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão da Cotação\",\r\n required: true,\r\n }),\r\n msgemailordemcompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão da Ordem de Compra\",\r\n required: true,\r\n }),\r\n msgemailorcamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão do Orçamento\",\r\n required: true,\r\n }),\r\n },\r\n parametrosat: {\r\n regtribissqn: new CMInputConfig({\r\n form: this,\r\n caption: \"Regime Especial de Tributação do ISSQN\",\r\n values: [\r\n { value: \"MicroempresaMunicipal\", text: \"Micro Empresa Municipal\" },\r\n { value: \"Estimativa\", text: \"Estimativa\" },\r\n {\r\n value: \"SociedadeDeProfissionais\",\r\n text: \"Sociedade de Profissionais\",\r\n },\r\n { value: \"Cooperativa\", text: \"Cooperativa\" },\r\n {\r\n value: \"MicroempresarioIndividual\",\r\n text: \"Micro Empresário Individual (MEI)\",\r\n },\r\n ],\r\n }),\r\n indratissqn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Indicador de rateio do Desconto sobre subtotal entre itens sujeitos à tributação pelo ISSQN\",\r\n }),\r\n razaosocial: new CMInputConfig({\r\n form: this,\r\n caption: \"Razão Social\",\r\n maxlength: 63,\r\n requiredFunc: () => this.usaSAT(),\r\n }),\r\n enderecolinha01: new CMInputConfig({\r\n form: this,\r\n caption: \"Endereço Linha 1\",\r\n maxlength: 63,\r\n requiredFunc: () => this.usaSAT(),\r\n }),\r\n enderecolinha02: new CMInputConfig({\r\n form: this,\r\n caption: \"Endereço Linha 2\",\r\n maxlength: 63,\r\n }),\r\n nomefantasia: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome Fantasia\",\r\n maxlength: 63,\r\n }),\r\n usasat: new CMInputConfig({\r\n form: this,\r\n caption: \"Usa SAT\",\r\n }),\r\n msgimpressao: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem para Impressão\",\r\n }),\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n mask: \"9.999\",\r\n requiredFunc: () => this.usaSAT(),\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametrosat,\r\n \"cfop\"\r\n );\r\n },\r\n }),\r\n },\r\n usuarios: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Usuários\",\r\n required: false,\r\n fields: {\r\n usuario: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Usuário\",\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"usuario.nome\");\r\n },\r\n }),\r\n pesqFunc: (sender) =>\r\n UsuarioBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.usuarios.grid.current\r\n ),\r\n }),\r\n },\r\n }),\r\n precos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Preços\",\r\n disabledFunc: () =>\r\n this.model.parametroestoque.copiaprodutopreco === \"Sim\",\r\n onAllowRemoveItemCallback: (callback, current) =>\r\n this.onAllowRemovePreco(callback, current),\r\n fields: {\r\n ordem: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Ordem\",\r\n dataType: \"integer\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Nome\",\r\n maxlength: 10,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n filenamelogo: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n maxlength: 255,\r\n }),\r\n };\r\n }\r\n\r\n testeEnvioEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/empresaassociado/TesteEnvioEmail/FuncaoExtra\",\r\n JSON.stringify(this.model.parametroemail),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Aguarde alguns minutos e verifique seu email\"\r\n );\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Verifique a mensagem abaixo

    \";\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n usaSAT() {\r\n return this.model.parametrosat.usasat === \"Sim\";\r\n }\r\n\r\n carregarCertificadoDigital() {\r\n if (this.model.parametronfe.senhacertificadodigital === \"\")\r\n CMFormGlobaisComponent.toastErro(\r\n \"Informe a senha do certificado digital\"\r\n );\r\n else CMFormModalComponent.open(\"modalFormCertificado\");\r\n }\r\n\r\n modalFormCertificadoClose() {\r\n CMFormModalComponent.close(\"modalFormCertificado\");\r\n }\r\n\r\n onCompleteUpload(sender: any) {\r\n console.log(sender);\r\n CMFormGlobaisComponent.showSpinner();\r\n sender.form.postSubscribe(\r\n \"/api/empresaassociado/UploadCertificadoDigital/FuncaoExtra\",\r\n JSON.stringify({\r\n keyserver: sender.keyserver,\r\n senha: sender.form.model.parametronfe.senhacertificadodigital,\r\n idempresa: sender.form.model.id,\r\n filename: sender.file.name\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n sender.form.model.parametronfe.datacertificadodigital =\r\n result[\"validade\"];\r\n sender.form.model.parametronfe.infocertificadodigital =\r\n result[\"info\"];\r\n CMFormGlobaisComponent.toastSucesso(\"Arquivo enviado com sucesso\");\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n \r\n \r\n onCompleteUploadLogo(sender: any) {\r\n CMFormGlobaisComponent.showSpinner();\r\n sender.form.postSubscribe(\r\n \"/api/empresaassociado/UploadLogo/FuncaoExtra\",\r\n JSON.stringify({\r\n keyserver: sender.keyserver,\r\n idempresa: sender.form.model.id,\r\n filename: sender.file.name\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Arquivo enviado com sucesso\");\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n afterSave() {\r\n this.AcabouHabilitarCopiaProdutos = false;\r\n if (this.model.id == FuncsGlobais.paramEmpresa.idEmpresa) {\r\n FuncsGlobais.setIdEmpresa(\r\n this.http,\r\n FuncsGlobais.idServerEmpresa,\r\n () => {}\r\n );\r\n }\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Ir para tela de Login\",\r\n \"

    Para que as alterações sejam aplicadas, é necessário realizar o login novamente.

    \" +\r\n \"

    Deseja realizar agora?

    \",\r\n () => {\r\n window.location.assign(\"/login\");\r\n }\r\n );\r\n }\r\n\r\n showTagsTroca() {\r\n let html: string = \"\";\r\n html += '
    ';\r\n html += \"

    #NumeroNota: Número da nota fiscal

    \";\r\n html += \"

    #NomeCliente: Nome do cliente

    \";\r\n html +=\r\n \"

    #DataEmissao: Data de emissão da nota fiscal

    \";\r\n html +=\r\n \"

    #ChaveAcesso: Chave de acesso da nota fiscal

    \";\r\n html +=\r\n \"

    #RazaoSocialAssociado: Razão social do associado

    \";\r\n html +=\r\n \"

    #DataCancelamento: Data do cancelamento da nota fiscal

    \";\r\n html +=\r\n \"

    #JustificativaCancelamento: Justificativa do cancelamento da nota fiscal

    \";\r\n html +=\r\n \"

    #DataCartaCorrecao: Data da carta de correção da nota fsical

    \";\r\n html +=\r\n \"

    #CartaCorrecao: Conteúdo da carta de correção da nota fiscal

    \";\r\n html += \"
    \";\r\n html +=\r\n \"

    #DataVencimento: Data de vencimento da conta a receber

    \";\r\n html += \"
    \";\r\n\r\n html += \"

    #CNPJAssocialdo: CNPJ do Associado

    \";\r\n html += \"
    \";\r\n\r\n CMFormGlobaisComponent.showMessage(\r\n \"Tags disponíveis para as mensagens\",\r\n html\r\n );\r\n }\r\n\r\n showTagsNotaPromissoria() {\r\n let html: string = \"\";\r\n html += '
    ';\r\n html +=\r\n \"

    #NumeroDocumento: Número do Documento que gerou a conta a receber

    \";\r\n html += \"

    #CodigoCliente: Código do cliente

    \";\r\n html += \"

    #CNPJCPFCliente: CNPJ/CPF do cliente

    \";\r\n html += \"

    #RGCliente: RG do cliente

    \";\r\n html += \"

    #EndereçoCliente: Endereço do cliente

    \";\r\n html += \"

    #BairroCliente: Bairro do cliente

    \";\r\n html += \"

    #CEPCliente: CEP do cliente

    \";\r\n html += \"

    #CidadeCliente: Cidade do cliente

    \";\r\n html +=\r\n \"

    #EndereçoAssociado: Endereço do Associado

    \";\r\n html +=\r\n \"

    #DataEmissao: Data de emissão do documento

    \";\r\n html +=\r\n \"

    #ValorDocumento: Valor do Documento a Receber

    \";\r\n html +=\r\n \"

    #ValorDocExtenso: Valor do Documento a Receber por extenso

    \";\r\n html +=\r\n \"

    #RazaoSocialAssociado: Razão social do associado

    \";\r\n html +=\r\n \"

    #DataVencimento: Data de vencimento da conta a receber

    \";\r\n html +=\r\n \"

    #DataVencExtenso: Data de vencimento da conta a receber por extenso

    \";\r\n html += \"

    #CNPJAssocialdo: CNPJ do Associado

    \";\r\n html += \"

    #CidadeAssociado: CNPJ do Associado

    \";\r\n html += \"
    \";\r\n\r\n CMFormGlobaisComponent.showMessage(\r\n \"Tags disponíveis para as mensagens\",\r\n html\r\n );\r\n }\r\n\r\n checkCertificadoDigitalConfigurado() {\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/empresaassociado/CheckCertificadoDigitalConfigurado/FuncaoExtra\",\r\n JSON.stringify({\r\n idempresa: this.model.id,\r\n senha: this.model.parametronfe.senhacertificadodigital,\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Certificado digital configurado corretamente\"\r\n );\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n onAllowRemovePreco(callback, current) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/PodeRemoverPreco\",\r\n JSON.stringify({\r\n idempresapreco: current.id,\r\n }),\r\n (r) => {\r\n if (r[\"result\"] == \"ok\") callback(\"\");\r\n else callback(r[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n showTagsTrocaCompras() {\r\n let html: string = \"\";\r\n html += '
    ';\r\n html += \"

    #NomeFornecedor: Nome do forncedor

    \";\r\n html +=\r\n \"

    #RazaoSocialAssociado: Razão social do associado

    \";\r\n html +=\r\n \"

    #Cotacao_Link: Link para o fornecedor acessar a cotação

    \";\r\n html +=\r\n \"

    #Cotacao_DataMaximaResposta: Data de maxima para resposta da cotação

    \";\r\n html += \"
    \";\r\n CMFormGlobaisComponent.showMessage(\r\n \"Tags disponíveis para as mensagens\",\r\n html\r\n );\r\n }\r\n\r\n habilitaCopiaProdutos() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/PermiteHabilitarCopiaProdutos\",\r\n JSON.stringify({\r\n id: this.idDataModel,\r\n }),\r\n (r) => {\r\n if (r[\"result\"] == \"ok\") {\r\n this.AcabouHabilitarCopiaProdutos = true;\r\n this.model.parametroestoque.usacopiaproduto = \"Sim\";\r\n this.model.parametroestoque.copiaprodutopreco = \"Sim\";\r\n this.model.parametroestoque.copiaprodutofiscal = \"Sim\";\r\n this.model.parametroestoque.copiaprodutograde = \"Sim\";\r\n this.model.parametroestoque.copiaprodutofornecedor = \"Sim\";\r\n } else CMFormGlobaisComponent.toastErro(r[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n desabilitaCopiaProdutos() {\r\n setTimeout(() => {\r\n this.model.parametroestoque.copiaprodutoempresa = {};\r\n this.model.parametroestoque.usacopiaproduto = \"Não\";\r\n this.model.parametroestoque.copiaprodutopreco = \"Não\";\r\n this.model.parametroestoque.copiaprodutofiscal = \"Não\";\r\n this.model.parametroestoque.copiaprodutograde = \"Não\";\r\n this.model.parametroestoque.copiaprodutofornecedor = \"Não\";\r\n }, 10);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.model.parametroestoque.usacopiaproduto === \"Sim\") {\r\n if (this.model.parametroestoque.copiaprodutoempresa) {\r\n if (\r\n this.model.parametroestoque.copiaprodutoempresa.id == this.model.id\r\n )\r\n r =\r\n \"Empresa de origem de cópia de produtos não pode ser a mesma de destino.\";\r\n }\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n isEmpresaDefinida() {\r\n return this.model.id === FuncsGlobais.paramEmpresa.idEmpresa;\r\n }\r\n \r\n usaNFCe() {\r\n return this.model.parametronfce.usanfce === \"Sim\";\r\n }\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n}\r\n","export * from './empresa-associado-edit.component';\r\nexport * from './empresa-associado-browse.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { EmpresaPrecoEditComponent } from './empresapreco-edit.component';\r\n\r\n@Component({\r\n selector: 'cest-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class EmpresaPrecoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'EmpresaPreco';\r\n this.formEditComponent = EmpresaPrecoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'nome', caption: 'Nome', filter: true},\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Preços';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"empresapreco\",\r\n \"Tabelas de Preços\",\r\n [{field: 'nome', caption: 'Nome', filter: true},],\r\n target,\r\n targetProp,\r\n \"ordem\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig,\r\n CMGridEditConfig, CMGridEditConfigColumn\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'empresapreco-edit',\r\n templateUrl: 'empresapreco-edit.component.html',\r\n})\r\nexport class EmpresaPrecoEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_codigo';\r\n }\r\n\r\n getTitle() {\r\n return 'Empresa Preço';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'EmpresaPreco';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n nome: new CMInputConfig({form: this,\r\n caption: 'Nome',\r\n required: true}),\r\n };\r\n }\r\n\r\n}","export * from './empresapreco-browse.component';\r\nexport * from './empresapreco-edit.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { FechamentoCaixaEditComponent } from \"./fechamento-caixa-edit.component\";\r\n\r\n@Component({\r\n selector: \"fechamento-caixa-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class FechamentoCaixaBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"fechamentocaixa\";\r\n this.formEditComponent = FechamentoCaixaEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n { field: \"numerocaixa\", caption: \"Número do Caixa\", filter: true },\r\n {\r\n field: \"dataabertura\",\r\n caption: \"DataAbertura\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n { field: \"horaabertura\", caption: \"HoraAbertura\" },\r\n { field: \"datafechamento\", caption: \"DataFechamento\" },\r\n { field: \"horafechamento\", caption: \"HoraFechamento\" },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Fechamento de Caixa\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"fechamento-caixa-edit\",\r\n templateUrl: \"fechamento-caixa-edit.component.html\",\r\n})\r\nexport class FechamentoCaixaEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n return \"Fechamento de Caixa\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"fechamentocaixa\";\r\n this.setModelConfig();\r\n }\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numerocaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Número do Caixa\",\r\n disabled: true,\r\n }),\r\n dataabertura: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n disabled: true,\r\n }),\r\n horaabertura: new CMInputConfig({\r\n form: this,\r\n caption: \"Hora\",\r\n disabled: true,\r\n }),\r\n usuarioabertura: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n disabled: true,\r\n }),\r\n tipofechamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n disabled: true,\r\n }),\r\n datafechamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n disabled: true,\r\n }),\r\n horafechamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Hora\",\r\n disabled: true,\r\n }),\r\n usuariofechamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n disabled: true,\r\n }),\r\n movimentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Movimentos\",\r\n fields: {\r\n dhmovimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Data e Hora\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n disabled: true,\r\n values: [\r\n { value: \"Sangria\" },\r\n { value: \"Suprimento\" },\r\n { value: \"ValorFechamento\", text: \"Valor de Fechamento\" },\r\n ],\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n usuario: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"usuario.nome\");\r\n },\r\n }),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n customdata: {\r\n vtotalvenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Total de Vendas\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n vsuprimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Total de Suprimento\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n vsangria: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Total de Sangria\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n vvalorfechamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de Fechamento\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n pagamentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Pagamentos\",\r\n fields: {\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n },\r\n };\r\n }\r\n}\r\n","export * from \"./fechamento-caixa-edit.component\";\r\nexport * from \"./fechamento-caixa-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { FluxoDeCaixaEditComponent } from \"./fluxodecaixa-edit.component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { DuplicataReceberRelatoriosComponent } from \"../duplicata-receber-relatorios/duplicata-receber-relatorios.component\";\r\nimport { ContaContabilBrowseComponent } from \"../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\n@Component({\r\n selector: \"fluxodecaixa-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class FluxoDeCaixaBrowseComponent extends CMFormBrowse2Component {\r\n valuesOrigem = [];\r\n tipoDuplicata = [\r\n { value: \"Pagar\"},\r\n { value: \"Receber\"},\r\n { value: \"Todas\"},\r\n ]\r\n\r\n setValuesOrigem() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\"){\r\n this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"Todas\" },\r\n ];\r\n }else {this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"CFe\", text: \"CF-e\" },\r\n { value: \"Lote\", text: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n { value: \"NFCe\", text: \"NFC-e\" },\r\n { value: \"Todas\" },\r\n ];\r\n\r\n }\r\n\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setValuesOrigem();\r\n this.controllerName = \"duplicatareceber\";\r\n this.formEditComponent = FluxoDeCaixaEditComponent;\r\n this.showPrintButton = true;\r\n this.buttonsExtra = 3;\r\n this._hideShowFilters = true;\r\n this.columns = [\r\n {\r\n field: \"tipoduplicata\",\r\n caption: \"Tipo de Duplicata\",\r\n filter: new CMInputConfig({\r\n values: this.tipoDuplicata,\r\n }),\r\n value: \"Todas\",\r\n },\r\n {\r\n field: \"origem\",\r\n caption: \"Origem\",\r\n filter: new CMInputConfig({\r\n values: this.valuesOrigem,\r\n }),\r\n value: \"Todas\",\r\n },\r\n { field: \"nduplicata\", caption: \"Duplicata\" },\r\n { field: \"dvenc\", caption: \"Data de Vencimento\" },\r\n { field: \"datacadastro\", caption: \"Data de Emissão\" },\r\n {\r\n field: \"dataini\",\r\n caption: \"Data de Vencimento Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafim\",\r\n caption: \"Data de Vencimento Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"datainiliquidacao\",\r\n caption: \"Data de Baixa Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datafimliquidacao\",\r\n caption: \"Data de Baixa Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"datacadastroini\",\r\n caption: \"Data de Emissão Inicial\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.firstDateLastMonth(),\r\n },\r\n {\r\n field: \"datacadastrofim\",\r\n caption: \"Data de Emissão Final\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n //value: this.lastDateNextMonth(),\r\n },\r\n {\r\n field: \"nduplicata\",\r\n caption: \"Duplicata\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {field: 'contacontabil_descricao', caption: 'Conta Contábil',\r\n filterField: 'contacontabil.id',\r\n filterValue: 'contacontabil.codigo',\r\n fieldBottom: 'contacontabil.descricao',\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.valuesFilters, \"Conta Contábil\");\r\n },\r\n })\r\n },\r\n {\r\n field: \"formapagamento_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"status\",\r\n caption: \"Status\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Abertas\" },\r\n { value: \"Baixadas\" },\r\n { value: \"Todas\" },\r\n ],\r\n }),\r\n value: \"Abertas\",\r\n },\r\n { field: \"valor\", caption: \"Valor\" },\r\n { field: \"vsaldo\", caption: \"Saldo\" },\r\n { field: \"databaixa\", caption: \"Data de baixa\" },\r\n { field: \"geracao\", caption: \"Geração Boleto\" },\r\n ];\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(DuplicataReceberRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (DuplicataReceberRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosDuplicataReceber();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/cupomdesconto/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'DuplicataReceber'){\r\n DuplicataReceberRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosDuplicataReceber() {\r\n this.beforeComponent = DuplicataReceberRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosDuplicataReceber\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return \"Fluxo De Caixa\";\r\n }\r\n\r\n getShowActionAdd() {\r\n return false;\r\n }\r\n\r\n getShowActionRemove() {\r\n return false;\r\n }\r\n\r\n baixaTotal() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/baixatotal/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Duplicata baixada\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n geraboleto() {\r\n this.postSubscribeT>(\r\n \"/api/\" + this.controllerName.toLowerCase() + \"/geraboleto/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Boleto Gerado\");\r\n this.refresh();\r\n return true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"onPage\", error);\r\n }\r\n );\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"BaixaTotal\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GeraBoleto\");\r\n } else if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImpressaoDuplicataReceberReduzida\");\r\n }\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n super.buttonsExtraClick(index);\r\n if (index === 0) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Baixa total\",\r\n \"Deseja realizar a baixa total da duplicata?\",\r\n () => {\r\n this.baixaTotal();\r\n }\r\n );\r\n } else if (index === 1) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Gerar Boleto\",\r\n \"Deseja gerar boleto bancário para a duplicata?\",\r\n () => {\r\n this.geraboleto();\r\n }\r\n );\r\n } else if (index === 2) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoDuplicataReceberReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"attach_money\";\r\n else if (index === 1) r = \"view_column\";\r\n else if (index === 2) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Baixa total\";\r\n else if (index === 1) r = \"Gerar Boleto\";\r\n else if (index === 2) r = \"Imprimir Reduzido\";\r\n return r;\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0) r = isCurrent;\r\n else if (index === 1) r = isCurrent;\r\n else if (index === 2) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../conta-bancaria\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"fluxodecaixa-edit\",\r\n templateUrl: \"fluxodecaixa-edit.component.html\",\r\n})\r\nexport class FluxoDeCaixaEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n return \"Fluxo de Caixa - \" + this.fieldByName(\"nduplicata\");\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"fluxodecaixa\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n this.podeTerNovaBaixa = true;\r\n this.model.novabaixa = {};\r\n this.model.novabaixa.data = this.date;\r\n this.model.novabaixa.vmulta = this.floatToValue(0);\r\n this.model.novabaixa.vjuros = this.floatToValue(0);\r\n this.model.novabaixa.vdesconto = this.floatToValue(0);\r\n this.model.novabaixa.vdevido = this.model.vsaldo;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n this.model.novabaixa.observacao = \"\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n id: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Número da Duplicata\",\r\n disabled: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Vencimento\",\r\n disabled: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n disabled: true,\r\n }),\r\n vtotalmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de multa\",\r\n disabled: true,\r\n }),\r\n vtotaljuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de juros\",\r\n disabled: true,\r\n }),\r\n vtotaldesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de desconto\",\r\n disabled: true,\r\n }),\r\n vtotaldevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total devido\",\r\n disabled: true,\r\n }),\r\n vtotalbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total de baixa\",\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Saldo\",\r\n disabled: true,\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Baixa\",\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n readonly: true,\r\n }),\r\n cnab: {\r\n codigobanco: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Banco\",\r\n disabled: true,\r\n maxlength: 3,\r\n }),\r\n agencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Agência\",\r\n disabled: true,\r\n maxlength: 4,\r\n }),\r\n digitoagencia: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n contacorrente: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Corrente\",\r\n disabled: true,\r\n maxlength: 10,\r\n }),\r\n digitocc: new CMInputConfig({\r\n form: this,\r\n caption: \"Dg\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n carteira: new CMInputConfig({\r\n form: this,\r\n caption: \"Carteira\",\r\n disabled: true,\r\n maxlength: 1,\r\n }),\r\n\r\n modalidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade\",\r\n disabled: true,\r\n maxlength: 2,\r\n }),\r\n nossonumero: new CMInputConfig({\r\n form: this,\r\n caption: \"Nosso Número\",\r\n disabled: true,\r\n maxlength: 9,\r\n }),\r\n linhadigitavel: new CMInputConfig({\r\n form: this,\r\n caption: \"Linha Digitável\",\r\n disabled: true,\r\n maxlength: 47,\r\n }),\r\n codigobarra: new CMInputConfig({\r\n form: this,\r\n caption: \"Código de Barras\",\r\n disabled: true,\r\n maxlength: 44,\r\n }),\r\n datageracao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Geração\",\r\n disabled: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n dataexportacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Transmissão\",\r\n disabled: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model, \"contabancaria\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n movimentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Movimentos\",\r\n required: false,\r\n fields: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancaria\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"contabancaria.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"contabancaria.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.movimentos.current,\r\n \"contabancaria\"\r\n );\r\n },\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n },\r\n }),\r\n\r\n novabaixa: {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data\",\r\n mask: \"99/99/9999\",\r\n }),\r\n vmulta: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor multa\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vjuros: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor juros\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor desconto\",\r\n onExit: () => {\r\n this.calc_vDevido();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vdevido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor devido\",\r\n disabled: true,\r\n }),\r\n vbaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Baixa\",\r\n dataType: \"double(2)\",\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n maxlength: 60,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n /*\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.novabaixa.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),*/\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n },\r\n };\r\n }\r\n\r\n podeTerNovaBaixa: boolean = true;\r\n\r\n onRemoveMovimento() {\r\n this.podeTerNovaBaixa = false;\r\n this.model.novabaixa.vbaixa = this.floatToValue(0);\r\n }\r\n\r\n calc_vDevido() {\r\n let vdevido = this.valueToFloat(this.model.vsaldo, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vmulta, 0);\r\n vdevido += this.valueToFloat(this.model.novabaixa.vjuros, 0);\r\n vdevido -= this.valueToFloat(this.model.novabaixa.vdesconto, 0);\r\n this.model.novabaixa.vdevido = this.floatToValue(vdevido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (this.podeTerNovaBaixa && r === \"\") {\r\n if (this.valueToFloat(this.model.novabaixa.vbaixa, 0) > 0) {\r\n if (\r\n this.valueToFloat(this.model.novabaixa.vbaixa, 0) >\r\n this.valueToFloat(this.model.novabaixa.vdevido, 0)\r\n )\r\n r = \"Valor da baixa não pode ser maior que o valor dedivo\";\r\n }\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './fluxodecaixa-browse.component';\r\nexport * from './fluxodecaixa-edit.component';","// tslint:disable\nimport { Component } from '@angular/core';\nimport { AuthService } from './../../@cmcore/guard';\n\nimport { FuncsGlobais } from './../funcs.globais';\n\n@Component({\n selector: 'footer-page',\n templateUrl: './footer-page.component.html'\n})\nexport class FooterPageComponent {\n\n public constructor(public authService: AuthService) {}\n\n getCurrentYear() {\n return new Date().getFullYear();\n }\n\n empresaAtual() {\n return FuncsGlobais.titleEmpresaAtual;\n }\n\n}\n","export * from './footer-page.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { FormaPagamentoEditComponent } from './formapagamento-edit.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\n\r\n@Component({\r\n selector: 'formapagamento-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class FormaPagamentoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'formapagamento';\r\n this.formEditComponent = FormaPagamentoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'codigo', caption: '#'},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'numeroparcelas', caption: 'Número de parcelas'},\r\n {field: 'geraboleto', caption: 'Gera Boleto'},\r\n {field: 'contabancaria_descricao', caption: 'Conta Bancária'}];\r\n }\r\n\r\n getTitle() {\r\n return 'Forma de Pagamento';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'formapagamento',\r\n 'Pesquisa de Forma de Pagamento',\r\n [{field: 'codigo', caption: '#'},\r\n {field: 'descricao', caption: 'Descrição', filter: true},\r\n {field: 'numeroparcelas', caption: 'Número de parcelas'},\r\n {field: 'geraboleto', caption: 'Gera Boleto'}],\r\n target,\r\n targetProp,\r\n 'codigo');\r\n }\r\n }\r\n\r\n private static _valuesSelect = [];\r\n private static _inLoadValuesSelect = false;\r\n\r\n private static _valuesObjectSelect = {};\r\n\r\n private static loadValuesSelect(http: HttpClient) {\r\n if (!FormaPagamentoBrowseComponent._inLoadValuesSelect) {\r\n FormaPagamentoBrowseComponent._inLoadValuesSelect = true;\r\n CMFormBrowse2Component.postSubscribeT>(http, '/api/formapagamento/GetAllObject',\r\n JSON.stringify({}),\r\n (condpag) => {\r\n if ((condpag.length) && (condpag.length > 0)) {\r\n condpag.sort(function (a, b) {\r\n if (a['descricao'] > b['descricao']) {\r\n return 1;\r\n }\r\n if (a['descricao'] < b['descricao']) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n FormaPagamentoBrowseComponent._valuesSelect.push({\r\n value: 0,\r\n text: ' '\r\n });\r\n condpag.forEach(element => {\r\n FormaPagamentoBrowseComponent._valuesObjectSelect[element['id']] = element;\r\n FormaPagamentoBrowseComponent._valuesSelect.push({\r\n value: element['id'],\r\n text: element['descricao']\r\n });\r\n });\r\n }\r\n FormaPagamentoBrowseComponent._inLoadValuesSelect = false;\r\n return true;\r\n });\r\n }\r\n }\r\n\r\n static valuesSelect(http: HttpClient) {\r\n if (FormaPagamentoBrowseComponent._valuesSelect.length == 0)\r\n FormaPagamentoBrowseComponent.loadValuesSelect(http);\r\n return FormaPagamentoBrowseComponent._valuesSelect;\r\n }\r\n\r\n static valuesObjectSelect() {\r\n return FormaPagamentoBrowseComponent._valuesObjectSelect;\r\n }\r\n\r\n static clearValuesSelect() {\r\n FormaPagamentoBrowseComponent._valuesSelect = [];\r\n FormaPagamentoBrowseComponent._valuesObjectSelect = [];\r\n }\r\n\r\n private static _valuesQtdeParcelas = [];\r\n static valuesQtdeParcelas() {\r\n if (FormaPagamentoBrowseComponent._valuesQtdeParcelas.length == 0)\r\n for (let i = 0; i < FuncsGlobais.paramEmpresa.qtdeMaximaParcelas; i++) {\r\n const item = {\r\n value: (i+1).toString(),\r\n text: (i+1).toString()+'x'\r\n };\r\n FormaPagamentoBrowseComponent._valuesQtdeParcelas.push(item);\r\n }\r\n return FormaPagamentoBrowseComponent._valuesQtdeParcelas;\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMFormGlobaisComponent\r\n } from './../../@cmcore/component';\r\nimport { FormaPagamentoBrowseComponent } from './formapagamento-browse.component';\r\nimport { ContaBancariaBrowseComponent } from '../conta-bancaria';\r\n\r\n@Component({\r\n selector: 'formapagamento-edit',\r\n templateUrl: 'formapagamento-edit.component.html',\r\n})\r\nexport class FormaPagamentoEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_descricao';\r\n }\r\n\r\n getTitle() {\r\n return 'Forma de Pagamento';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'formapagamento';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n maxlength: 100,\r\n required: true}),\r\n tpagnfe: new CMInputConfig({form: this,\r\n caption: 'Tipo de Pagamento na NF-e / SAT',\r\n required: true,\r\n values: [\r\n {'value': \"Dinheiro\", \"text\": \"Dinheiro\"},\r\n {'value': \"Cheque\", \"text\": \"Cheque\"},\r\n {'value': \"CartaoCredito\", \"text\": \"Cartão de Crédito\"},\r\n {'value': \"CartaoDebito\", \"text\": \"Cartão de Débito\"},\r\n {'value': \"CreditoLoja\", \"text\": \"Crédito Loja\"},\r\n {'value': \"ValeAlimentacao\", \"text\": \"Vale Alimentação\"},\r\n {'value': \"ValeRefeicao\", \"text\": \"Vale Refeição\"},\r\n {'value': \"ValePresente\", \"text\": \"Vale Presente\"},\r\n {'value': \"ValeCombustivel\", \"text\": \"Vale Combustível\"},\r\n {'value': \"BoletoBancario\", \"text\": \"Boleto Bancário\"},\r\n {'value': \"DepBancario\", \"text\": \"Depósito Bancário\"},\r\n {'value': \"PIX\", \"text\": \"PIX\"},\r\n {'value': \"Transferencia\", \"text\": \"Transferência bancária, Carteira Digital\"},\r\n {'value': \"ProgFidelidade\", \"text\": \"Programa de fidelidade, Cashback, Crédito Virtual\"},\r\n {'value': \"Sempagamento\", \"text\": \"Sem pagamento\"},\r\n {'value': \"Outros\", \"text\": \"Outros\"}\r\n ],\r\n }),\r\n geraboleto: new CMInputConfig({form: this,\r\n caption: 'Gera Boleto'}),\r\n \r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model, \"Conta Bancária\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n };\r\n }\r\n\r\n afterSave() {\r\n FormaPagamentoBrowseComponent.clearValuesSelect();\r\n }\r\n\r\n}","export * from './formapagamento-edit.component';\r\nexport * from './formapagamento-browse.component';","import { PessoaBrowseComponent } from \"..\";\r\nimport { CMFormPesquisaComponent } from \"../../@cmcore/component\";\r\n\r\n// tslint:disable\r\nexport class FornecedorBrowseComponent {\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n produtos?: number[]\r\n ) {\r\n if (target && !CMFormPesquisaComponent.inPesquisa) {\r\n if (targetProp == undefined) targetProp = \"fornecedor\";\r\n\r\n let extraFilters: any = {};\r\n let extraColumns = [];\r\n if (sender === undefined && produtos !== undefined) {\r\n if (produtos.length > 0) {\r\n let i = {\r\n field: \"filtraproduto\",\r\n caption: \"Filtra por produto\",\r\n filter: true,\r\n visible: false,\r\n tipo: \"checkbox\",\r\n value: \"Sim\",\r\n columns: 12\r\n };\r\n extraFilters.produtos = produtos;\r\n extraColumns.push(i);\r\n }\r\n }\r\n\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n target,\r\n \"Fornecedor\",\r\n targetProp,\r\n onAfterSelect,\r\n extraFilters,\r\n extraColumns\r\n );\r\n }\r\n }\r\n}\r\n","export * from \"./fornecedor-browse.component\";\r\n","// tslint:disable\r\n\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\nimport { CMFormGlobaisComponent, CMInputConfig } from \"./../@cmcore/component\";\r\nimport { CMFormComponent } from \"./../@cmcore/component/cmform/cmform.component\";\r\nimport { MenuLateralComponent } from \"./menu-lateral\";\r\n\r\nexport class FuncsGlobais {\r\n private static _paramEmpresa = {\r\n idEmpresa: \"\",\r\n nomeGrade1: \"\",\r\n nomeGrade2: \"\",\r\n usaGrade: false,\r\n usaGrade1: false,\r\n usaGrade2: false,\r\n usaLote: false,\r\n qtdeMaximaParcelas: 0,\r\n solicitaPermissaoVendaContaVencida: false,\r\n usaCopiaProduto: false,\r\n copiaProdutoPreco: false,\r\n copiaProdutoFiscal: false,\r\n copiaProdutoGrade: false,\r\n copiaProdutoFornecedor: false,\r\n codigoProdutoSequencial: false,\r\n modoOperacao: \"\",\r\n estado: \"\",\r\n nomePreco1: \"\",\r\n Convenio: \"\",\r\n };\r\n public static get paramEmpresa() {\r\n if (FuncsGlobais._paramEmpresa[\"loaded\"]) {\r\n const dados: any = CMFormComponent.currentUserStorage();\r\n if (FuncsGlobais._paramEmpresa.idEmpresa !== dados[\"Empresa.Id\"])\r\n FuncsGlobais._paramEmpresa[\"loaded\"] = undefined;\r\n }\r\n if (FuncsGlobais._paramEmpresa[\"loaded\"] == undefined) {\r\n const dados: any = CMFormComponent.currentUserStorage();\r\n FuncsGlobais._paramEmpresa.idEmpresa = dados[\"Empresa.Id\"];\r\n FuncsGlobais._paramEmpresa.nomeGrade1 = dados[\"Empresa.NomeGrade1\"];\r\n FuncsGlobais._paramEmpresa.nomeGrade2 = dados[\"Empresa.NomeGrade2\"];\r\n FuncsGlobais._paramEmpresa.Convenio = dados[\"Empresa.Convenio\"];\r\n FuncsGlobais._paramEmpresa.usaGrade1 = dados[\"Empresa.UsaGrade1\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.usaGrade2 = dados[\"Empresa.UsaGrade2\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.usaGrade =\r\n FuncsGlobais._paramEmpresa.usaGrade1 ||\r\n FuncsGlobais._paramEmpresa.usaGrade2;\r\n FuncsGlobais._paramEmpresa.usaLote = dados[\"Empresa.UsaLote\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.usaCopiaProduto =\r\n dados[\"Empresa.UsaCopiaProduto\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.copiaProdutoPreco =\r\n dados[\"Empresa.CopiaProdutoPreco\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.copiaProdutoFiscal =\r\n dados[\"Empresa.CopiaProdutoFiscal\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.copiaProdutoGrade =\r\n dados[\"Empresa.CopiaProdutoGrade\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.copiaProdutoFornecedor =\r\n dados[\"Empresa.CopiaProdutoFornecedor\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.codigoProdutoSequencial =\r\n dados[\"Empresa.CodigoProdutoSequencial\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.qtdeMaximaParcelas = CMInputConfig.valueToInteger(\r\n dados[\"Empresa.QtdeMaximaParcelas\"]\r\n );\r\n FuncsGlobais._paramEmpresa.solicitaPermissaoVendaContaVencida =\r\n dados[\"Empresa.SolicitaPermissaoVendaContaVencida\"] != \"0\";\r\n FuncsGlobais._paramEmpresa.estado = dados[\"Empresa.Estado\"];\r\n FuncsGlobais._paramEmpresa.modoOperacao =\r\n dados[\"ConfigGeral.ModoOperacao\"];\r\n FuncsGlobais._paramEmpresa.nomePreco1 = dados[\"Empresa.NomePreco1\"];\r\n FuncsGlobais._paramEmpresa[\"loaded\"] = true;\r\n }\r\n return FuncsGlobais._paramEmpresa;\r\n }\r\n\r\n private static _empresas = [];\r\n public static get empresas() {\r\n if (\r\n (this._empresas && this._empresas.length == 0) ||\r\n localStorage.getItem(\"empresas_cache\") !== \"1\"\r\n ) {\r\n localStorage.setItem(\"empresas_cache\", \"1\");\r\n this._selectedEmpresa = undefined;\r\n this._empresas = CMFormComponent.currentUserStorage()[\"empresas\"];\r\n if (!(this._empresas instanceof Array)) this._empresas = [];\r\n }\r\n return this._empresas;\r\n }\r\n\r\n public static get idServerEmpresa(): string {\r\n return CMFormComponent.trimValue(\r\n CMFormComponent.currentUserStorage()[\"Empresa.IdServer\"]\r\n );\r\n }\r\n\r\n public static get titleEmpresaAtual(): string {\r\n let r = \"\";\r\n if (FuncsGlobais.selectedEmpresa) {\r\n r = FuncsGlobais.selectedEmpresa.nome;\r\n }\r\n return r;\r\n }\r\n\r\n public static setIdEmpresa(http: HttpClient, id: string, onChange: Function) {\r\n this.changeServer(http, \"Empresa\", id, () => {\r\n this._selectedEmpresa = undefined;\r\n setTimeout(() => {\r\n MenuLateralComponent.defaultInstance.closeMenu();\r\n MenuLateralComponent.defaultInstance.loadMenus();\r\n if (\r\n MenuLateralComponent.defaultInstance.router.url !==\r\n \"/empresa-associado\"\r\n )\r\n MenuLateralComponent.defaultInstance.router.navigate([\"/home\"]);\r\n }, 10);\r\n if (onChange) onChange();\r\n });\r\n }\r\n\r\n private static _selectedEmpresa = undefined;\r\n public static get selectedEmpresa() {\r\n if (this._selectedEmpresa == undefined) {\r\n if (this.empresas) {\r\n for (let i = 0; i < this.empresas.length; i++) {\r\n const empresa = this.empresas[i];\r\n if (empresa.id === this.idServerEmpresa) {\r\n this._selectedEmpresa = empresa;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return this._selectedEmpresa;\r\n }\r\n\r\n public static changeServer(\r\n http: HttpClient,\r\n tipo: string,\r\n id: string,\r\n onChange: Function\r\n ) {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n let dados = {};\r\n dados[\"id\" + tipo.toLowerCase()] = id;\r\n dados[\"user\"] = CMFormComponent.currentUserStorage();\r\n CMFormGlobaisComponent.postSubscribe(\r\n http,\r\n \"/api/funcs/Seleciona\" + tipo,\r\n JSON.stringify(dados),\r\n (ret) => {\r\n if (ret[\"result\"] === \"ok\") {\r\n localStorage.setItem(\"user\", JSON.stringify(ret[\"user\"]));\r\n localStorage.setItem(\"lastHashReload\", Date.now().toString());\r\n FuncsGlobais._paramEmpresa[\"loaded\"] = undefined;\r\n CMFormComponent.clearCacheAllDireitos();\r\n if (onChange) onChange();\r\n } else {\r\n CMFormGlobaisComponent.toastErro(ret[\"result\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\n\r\nimport { CMInputConfig, CMFormExecComponent,\r\n CMFormGlobaisComponent } from './../../@cmcore/component';\r\n\r\n@Component({\r\n templateUrl: 'geracaoarquivocnab-component.html'\r\n})\r\nexport class GeracaoArquivoCNABComponent extends CMFormExecComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired: true\r\n }),\r\n datafim: new CMInputConfig({form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired: true\r\n }),\r\n\t\t}\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n\t}\r\n\r\n\tinnerExec() {\r\n\t\tsuper.innerExec();\r\n\t\tthis.geraArquivoCNAB()\r\n\t}\r\n\r\n geraArquivoCNAB() {\r\n\t\tlet filter = this.filter;\r\n CMFormGlobaisComponent.showSpinner();\r\n let date = new Date;\r\n let dia = date.getDate();\r\n let diaformatado;\r\n let mes = date.getMonth()+1;\r\n let mesformatado;\r\n \r\n if (dia < 10) {\r\n diaformatado = \"0\" + dia;\r\n }\r\n else{\r\n diaformatado = dia;\r\n }\r\n\r\n if (mes === 10){\r\n mesformatado = \"O\";\r\n }\r\n else if (mes === 11){\r\n mesformatado = \"N\";\r\n }\r\n else if (mes === 12){\r\n mesformatado = \"D\";\r\n }\r\n else{\r\n mesformatado = mes;\r\n }\r\n\r\n console.log(this.paramEmpresa);\r\n \r\n this.postSubscribeT>('/api/duplicatareceber/GeraArquivoCNAB/FuncaoExtra',\r\n JSON.stringify(filter),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === 'ok') {\r\n let contentFile = result.pop();\r\n console.log(date.getDay(), ' ', date);\r\n if (this.paramEmpresa.Convenio) {\r\n let fileName = this.paramEmpresa.Convenio+mesformatado+diaformatado+'.crm';\r\n this.downloadContent(contentFile, fileName);\r\n }\r\n else{\r\n let fileName = \"00000\"+mesformatado+diaformatado+'.crm';\r\n this.downloadContent(contentFile, fileName);\r\n }\r\n }\r\n else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('geraArquivoCNAB', error);\r\n });\r\n }\r\n \r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n /*\r\n loadDadosCedente() {\r\n this.getObjectData('convenio',\r\n [{'field': 'id', 'value': this.currentUserStorage.Empresa}],\r\n object => {\r\n\t\t\t\tthis.modelNFeInutilizacao = object;\r\n });\r\n }*/\r\n\r\n}","export * from './geracaoarquivocnab-component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormBrowseComponent, CMFormGlobaisComponent, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { GradeEditComponent } from './grade-edit.component';\r\nimport { FuncsGlobais } from './../funcs.globais';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'grade-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class GradeBrowseComponent extends CMFormBrowse2Component {\r\n\r\n private sub: any;\r\n private indice: string;\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'grade';\r\n this.formEditComponent = GradeEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.sub = this.route.params.subscribe(params => {\r\n if (params['indice']) {\r\n this.indice = params['indice'];\r\n this.columns = [\r\n {field: 'codigo', caption: 'Código', filter: true},\r\n {field: 'indice', caption: 'Indice', filter: true,\r\n filterVisible: false, visible: false, value: params['indice']},\r\n ];\r\n this.internalInit();\r\n this.refresh();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n getTitle() {\r\n return FuncsGlobais.paramEmpresa['nomeGrade'+this.indice];\r\n }\r\n\r\n static pesquisa(sender: any, target: any, indice: string) {\r\n if (target) {\r\n let caption: string = 'Pesquisa de Grade';\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'grade',\r\n caption,\r\n [{field: 'codigo', caption: 'Código', filter: true},\r\n {field: '$indice', caption: 'Indice', filter: true, filterVisible: false, visible: false, value: indice}\r\n ],\r\n target,\r\n 'grade'+indice,\r\n 'codigo',\r\n undefined,\r\n false);\r\n }\r\n }\r\n\r\n \r\n private static _valuesSelect = [];\r\n private static _inLoadValuesSelect = false;\r\n\r\n private static _valuesObjectSelect = {};\r\n\r\n private static loadValuesSelect(http: HttpClient, tipoGrade, onResult: Function) {\r\n if (!GradeBrowseComponent._inLoadValuesSelect) {\r\n CMFormBrowse2Component.postSubscribeT>(http, '/api/grade/GetAllObject',\r\n JSON.stringify({}),\r\n (condpag) => {\r\n if ((condpag.length) && (condpag.length > 0)) {\r\n\r\n condpag.forEach(element => {\r\n GradeBrowseComponent._valuesObjectSelect[element['id']] = element;\r\n GradeBrowseComponent._valuesSelect.push(element);\r\n });\r\n\r\n onResult(\r\n condpag.sort((a, b) => {\r\n let da = a[\"codigo\"].toLowerCase();\r\n let db = b[\"codigo\"].toLowerCase();\r\n return da > db ? 1 : db > da ? -1 : 0;\r\n })\r\n );\r\n }\r\n return true;\r\n });\r\n }\r\n }\r\n\r\n static carregaGrades(http: HttpClient, tipoGrade, onResult: Function) {\r\n if (GradeBrowseComponent._valuesSelect.length == 0)\r\n GradeBrowseComponent.loadValuesSelect(http, tipoGrade, onResult);\r\n }\r\n\r\n static getGrades(){\r\n return GradeBrowseComponent._valuesSelect;\r\n }\r\n\r\n static addGrade(novagrade){\r\n GradeBrowseComponent._valuesSelect.push(novagrade);\r\n }\r\n\r\n static valuesObjectSelect() {\r\n return GradeBrowseComponent._valuesObjectSelect;\r\n }\r\n\r\n static clearValuesSelect() {\r\n GradeBrowseComponent._valuesSelect = [];\r\n GradeBrowseComponent._valuesObjectSelect = [];\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig,\r\n CMGridEditConfig, CMGridEditConfigColumn\r\n } from './../../@cmcore/component';\r\nimport { FuncsGlobais } from '../funcs.globais';\r\nimport { GradeBrowseComponent } from './grade-browse.component';\r\n\r\n@Component({\r\n selector: 'grade-edit',\r\n templateUrl: 'grade-edit.component.html',\r\n})\r\nexport class GradeEditComponent extends CMFormEditComponent {\r\n\r\n private sub: any;\r\n private indice: string;\r\n\r\n getFirstComponentName() {\r\n return 'model_codigo';\r\n }\r\n\r\n getTitle() {\r\n return FuncsGlobais.paramEmpresa['nomeGrade'+this.indice];\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'grade';\r\n this.setModelConfig();\r\n this.sub = this.route.params.subscribe(params => {\r\n if (params['indice'])\r\n this.indice = params['indice'];\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: 'Código',\r\n dataType: 'string',\r\n upper: true,\r\n maxlength: 10,\r\n required: true,\r\n onExit: () => {\r\n console.log(this.model);\r\n }\r\n }),\r\n };\r\n }\r\n\r\n beforeSave(procSave: Function) {\r\n console.log('procSave: ', procSave);\r\n this.model.indice = this.indice;\r\n super.beforeSave(procSave);\r\n }\r\n\r\n}","export * from './grade-edit.component';\r\nexport * from './grade-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { GrupoDeOperacaoEditComponent } from \"./grupodeoperacao-edit.component\";\r\n\r\n@Component({\r\n selector: \"grupodeoperacao-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class GrupoDeOperacaoBrowseComponent extends CMFormBrowse2Component {\r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\" },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"grupodeoperacao\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = GrupoDeOperacaoEditComponent;\r\n this.columns = GrupoDeOperacaoBrowseComponent.defaultColumns;\r\n }\r\n\r\n getTitle() {\r\n return \"Grupo de Operação\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"grupodeoperacao\",\r\n \"Pesquisa de Grupo de Operação\",\r\n GrupoDeOperacaoBrowseComponent.defaultColumns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent, CMInputConfig } from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"grupodeoperacao-edit\",\r\n templateUrl: \"grupodeoperacao-edit.component.html\",\r\n})\r\nexport class GrupoDeOperacaoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_codigo\";\r\n }\r\n\r\n getTitle() {\r\n return \"Grupo de Operação\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"grupodeoperacao\";\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n maxlength: 5,\r\n required: true,\r\n upper: true,\r\n disabledFunc: () => {\r\n return this.model.codigo == \"GERAL\" || this.model.codigo == \"SAT\";\r\n },\r\n }),\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n };\r\n }\r\n}\r\n","export * from \"./grupodeoperacao-edit.component\";\r\nexport * from \"./grupodeoperacao-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { GrupoDeProdutoEditComponent } from \"./grupodeproduto-edit.component\";\r\n\r\n@Component({\r\n selector: \"grupodeproduto-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class GrupoDeProdutoBrowseComponent extends CMFormBrowse2Component {\r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\" },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"grupodeproduto\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = GrupoDeProdutoEditComponent;\r\n this.columns = GrupoDeProdutoBrowseComponent.defaultColumns;\r\n }\r\n\r\n getTitle() {\r\n return \"Grupo de Produto\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"grupodeproduto\",\r\n \"Pesquisa de Grupo de Produto\",\r\n GrupoDeProdutoBrowseComponent.defaultColumns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent, CMInputConfig } from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"grupodeproduto-edit\",\r\n templateUrl: \"grupodeproduto-edit.component.html\",\r\n})\r\nexport class GrupoDeProdutoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_codigo\";\r\n }\r\n\r\n getTitle() {\r\n return \"Grupo de Produto\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"grupodeproduto\";\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n maxlength: 5,\r\n required: true,\r\n upper: true,\r\n disabledFunc: () => {\r\n return this.model.codigo == \"GERAL\" || this.model.codigo == \"SAT\";\r\n },\r\n }),\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n };\r\n }\r\n}\r\n","export * from \"./grupodeproduto-edit.component\";\r\nexport * from \"./grupodeproduto-browse.component\";\r\n","export default \".wapper-bt_consulta {\\n width: 100%;\\n text-align: center;\\n margin-bottom: 20px;\\n}\\n\\n.bt_consulta {\\n max-width: 300px;\\n}\\n\\n.text {\\n padding: 3em;\\n min-height: 150px;\\n padding-bottom: 1em;\\n text-align: justify;\\n}\\n\\n.img_text {\\n max-width: 50px;\\n position: absolute;\\n top: 20px;\\n right: 20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtY29uc3VsdGFzL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGhvbWVcXGhvbWUtY29uc3VsdGFzXFxob21lLWNvbnN1bHRhcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtY29uc3VsdGFzL2hvbWUtY29uc3VsdGFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FERUE7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtY29uc3VsdGFzL2hvbWUtY29uc3VsdGFzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndhcHBlci1idF9jb25zdWx0YSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5idF9jb25zdWx0YSB7XHJcbiAgbWF4LXdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLnRleHQge1xyXG4gIHBhZGRpbmc6IDNlbTtcclxuICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbn1cclxuXHJcbi5pbWdfdGV4dCB7XHJcbiAgbWF4LXdpZHRoOiA1MHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDIwcHg7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbn1cclxuIiwiLndhcHBlci1idF9jb25zdWx0YSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5idF9jb25zdWx0YSB7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi50ZXh0IHtcbiAgcGFkZGluZzogM2VtO1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmltZ190ZXh0IHtcbiAgbWF4LXdpZHRoOiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG59Il19 */\"","// tslint:disable\nimport { Component } from '@angular/core';\n\nimport { CMFormComponent } from './../../../@cmcore/component/cmform/cmform.component';\n\n@Component({\n templateUrl: 'home-consultas.component.html',\n styleUrls: ['home-consultas.component.scss']\n})\nexport class HomeConsultasComponent extends CMFormComponent {\n\n segundaViaBoleto() {\n window.open('https://www.sicoob.com.br/web/sicoob/segunda-via-boleto', '_blank');\n }\n\n}","export * from './home-consultas.component';","export default \".ngx-charts {\\n float: left;\\n overflow: visible;\\n}\\n.ngx-charts .circle,\\n.ngx-charts .bar,\\n.ngx-charts .arc {\\n cursor: pointer;\\n}\\n.ngx-charts .bar.active, .ngx-charts .bar:hover,\\n.ngx-charts .cell.active,\\n.ngx-charts .cell:hover,\\n.ngx-charts .arc.active,\\n.ngx-charts .arc:hover,\\n.ngx-charts .card.active,\\n.ngx-charts .card:hover {\\n opacity: 0.8;\\n transition: opacity 100ms ease-in-out;\\n}\\n.ngx-charts .bar:focus,\\n.ngx-charts .cell:focus,\\n.ngx-charts .arc:focus,\\n.ngx-charts .card:focus {\\n outline: none;\\n}\\n.ngx-charts .bar.hidden,\\n.ngx-charts .cell.hidden,\\n.ngx-charts .arc.hidden,\\n.ngx-charts .card.hidden {\\n display: none;\\n}\\n.ngx-charts g:focus {\\n outline: none;\\n}\\n.ngx-charts .line-series.inactive,\\n.ngx-charts .line-series-range.inactive,\\n.ngx-charts .area-series.inactive {\\n transition: opacity 100ms ease-in-out;\\n opacity: 0.2;\\n}\\n.ngx-charts .line-highlight {\\n display: none;\\n}\\n.ngx-charts .line-highlight.active {\\n display: block;\\n}\\n.ngx-charts .area {\\n opacity: 0.6;\\n}\\n.ngx-charts .circle:hover {\\n cursor: pointer;\\n}\\n.ngx-charts .label {\\n font-size: 12px;\\n font-weight: normal;\\n}\\n.ngx-charts .tooltip-anchor {\\n fill: black;\\n}\\n.ngx-charts .gridline-path {\\n stroke: #ddd;\\n stroke-width: 1;\\n fill: none;\\n}\\n.ngx-charts .grid-panel rect {\\n fill: none;\\n}\\n.ngx-charts .grid-panel.odd rect {\\n fill: rgba(0, 0, 0, 0.05);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtZGFzaGJvYXJkL2NvbWJvLWNoYXJ0L0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGhvbWVcXGhvbWUtZGFzaGJvYXJkXFxjb21iby1jaGFydFxcY29tYm8tY2hhcnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvaG9tZS9ob21lLWRhc2hib2FyZC9jb21iby1jaGFydC9jb21iby1jaGFydC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxpQkFBQTtBQ0NGO0FEQ0U7OztFQUdFLGVBQUE7QUNDSjtBRE1JOzs7Ozs7O0VBRUUsWUFBQTtFQUNBLHFDQUFBO0FDQ047QURFSTs7OztFQUNFLGFBQUE7QUNHTjtBRERJOzs7O0VBQ0UsYUFBQTtBQ01OO0FEREk7RUFDRSxhQUFBO0FDR047QURJSTs7O0VBQ0UscUNBQUE7RUFDQSxZQUFBO0FDQU47QURJRTtFQUNFLGFBQUE7QUNGSjtBRElJO0VBQ0UsY0FBQTtBQ0ZOO0FETUU7RUFDRSxZQUFBO0FDSko7QURRSTtFQUNFLGVBQUE7QUNOTjtBRFVFO0VBQ0UsZUFBQTtFQUNBLG1CQUFBO0FDUko7QURXRTtFQUNFLFdBQUE7QUNUSjtBRFlFO0VBQ0UsWUFBQTtFQUNBLGVBQUE7RUFDQSxVQUFBO0FDVko7QURjSTtFQUNFLFVBQUE7QUNaTjtBRGdCTTtFQUNFLHlCQUFBO0FDZFIiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL2hvbWUvaG9tZS1kYXNoYm9hcmQvY29tYm8tY2hhcnQvY29tYm8tY2hhcnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubmd4LWNoYXJ0cyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAuY2lyY2xlLFxuICAuYmFyLFxuICAuYXJjIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYmFyLFxuICAuY2VsbCxcbiAgLmFyYyxcbiAgLmNhcmQge1xuICAgICYuYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICYuaGlkZGVue1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBnIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtc2VyaWVzLFxuICAubGluZS1zZXJpZXMtcmFuZ2UsXG4gIC5hcmVhLXNlcmllcyB7XG4gICAgJi5pbmFjdGl2ZSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogLjJcbiAgICB9XG4gIH1cblxuICAubGluZS1oaWdobGlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuYXJlYSB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC50b29sdGlwLWFuY2hvciB7XG4gICAgZmlsbDogcmdiKDAsMCwwKTtcbiAgfVxuXG4gIC5ncmlkbGluZS1wYXRoIHtcbiAgICBzdHJva2U6ICNkZGQ7XG4gICAgc3Ryb2tlLXdpZHRoOiAxO1xuICAgIGZpbGw6IG5vbmU7XG4gIH1cblxuICAuZ3JpZC1wYW5lbCB7XG4gICAgcmVjdCB7XG4gICAgICBmaWxsOiBub25lO1xuICAgIH1cblxuICAgICYub2RkIHtcbiAgICAgIHJlY3Qge1xuICAgICAgICBmaWxsOiByZ2JhKDAsMCwwLDAuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiLm5neC1jaGFydHMge1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ubmd4LWNoYXJ0cyAuY2lyY2xlLFxuLm5neC1jaGFydHMgLmJhcixcbi5uZ3gtY2hhcnRzIC5hcmMge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmd4LWNoYXJ0cyAuYmFyLmFjdGl2ZSwgLm5neC1jaGFydHMgLmJhcjpob3Zlcixcbi5uZ3gtY2hhcnRzIC5jZWxsLmFjdGl2ZSxcbi5uZ3gtY2hhcnRzIC5jZWxsOmhvdmVyLFxuLm5neC1jaGFydHMgLmFyYy5hY3RpdmUsXG4ubmd4LWNoYXJ0cyAuYXJjOmhvdmVyLFxuLm5neC1jaGFydHMgLmNhcmQuYWN0aXZlLFxuLm5neC1jaGFydHMgLmNhcmQ6aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4ubmd4LWNoYXJ0cyAuYmFyOmZvY3VzLFxuLm5neC1jaGFydHMgLmNlbGw6Zm9jdXMsXG4ubmd4LWNoYXJ0cyAuYXJjOmZvY3VzLFxuLm5neC1jaGFydHMgLmNhcmQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLm5neC1jaGFydHMgLmJhci5oaWRkZW4sXG4ubmd4LWNoYXJ0cyAuY2VsbC5oaWRkZW4sXG4ubmd4LWNoYXJ0cyAuYXJjLmhpZGRlbixcbi5uZ3gtY2hhcnRzIC5jYXJkLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmd4LWNoYXJ0cyBnOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5uZ3gtY2hhcnRzIC5saW5lLXNlcmllcy5pbmFjdGl2ZSxcbi5uZ3gtY2hhcnRzIC5saW5lLXNlcmllcy1yYW5nZS5pbmFjdGl2ZSxcbi5uZ3gtY2hhcnRzIC5hcmVhLXNlcmllcy5pbmFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbi5uZ3gtY2hhcnRzIC5saW5lLWhpZ2hsaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmd4LWNoYXJ0cyAubGluZS1oaWdobGlnaHQuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubmd4LWNoYXJ0cyAuYXJlYSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5uZ3gtY2hhcnRzIC5jaXJjbGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubmd4LWNoYXJ0cyAubGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4ubmd4LWNoYXJ0cyAudG9vbHRpcC1hbmNob3Ige1xuICBmaWxsOiBibGFjaztcbn1cbi5uZ3gtY2hhcnRzIC5ncmlkbGluZS1wYXRoIHtcbiAgc3Ryb2tlOiAjZGRkO1xuICBzdHJva2Utd2lkdGg6IDE7XG4gIGZpbGw6IG5vbmU7XG59XG4ubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0IHtcbiAgZmlsbDogbm9uZTtcbn1cbi5uZ3gtY2hhcnRzIC5ncmlkLXBhbmVsLm9kZCByZWN0IHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn0iXX0= */\"","// tslint:disable\nimport {\n Component,\n Input,\n ViewEncapsulation,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n OnInit,\n OnChanges,\n ContentChild,\n TemplateRef\n} from \"@angular/core\";\nimport {\n trigger,\n state,\n style,\n animate,\n transition\n} from \"@angular/animations\";\n\nimport {\n NgxChartsModule,\n BaseChartComponent,\n LineComponent,\n LineSeriesComponent,\n calculateViewDimensions,\n ViewDimensions,\n ColorHelper\n} from \"@swimlane/ngx-charts\";\nimport { area, line, curveLinear } from \"d3-shape\";\nimport { scaleBand, scaleLinear, scalePoint, scaleTime } from \"d3-scale\";\n\n@Component({\n selector: \"combo-chart-component\",\n template: `\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n `,\n styleUrls: [\"./combo-chart.component.scss\"],\n encapsulation: ViewEncapsulation.None\n})\nexport class ComboChartComponent extends BaseChartComponent {\n @Input() curve: any = curveLinear;\n @Input() legend = false;\n @Input() legendTitle: string = \"Legend\";\n @Input() legendPosition: string = \"right\";\n @Input() xAxis;\n @Input() yAxis;\n @Input() showXAxisLabel;\n @Input() showYAxisLabel;\n @Input() showRightYAxisLabel;\n @Input() xAxisLabel;\n @Input() yAxisLabel;\n @Input() yAxisLabelRight;\n @Input() tooltipDisabled: boolean = false;\n @Input() gradient: boolean;\n @Input() showGridLines: boolean = true;\n @Input() activeEntries: any[] = [];\n @Input() rotateXAxisTicks: boolean = false;\n @Input() schemeType: string;\n @Input() xAxisTickFormatting: any;\n @Input() yAxisTickFormatting: any;\n @Input() yRightAxisTickFormatting: any;\n @Input() roundDomains: boolean = false;\n @Input() colorSchemeLine: any[];\n @Input() autoScale;\n @Input() lineChart: any;\n @Input() yLeftAxisScaleFactor: any;\n @Input() yRightAxisScaleFactor: any;\n @Input() rangeFillOpacity: number;\n @Input() animations: boolean = true;\n @Input() noBarWhenZero: boolean = true;\n\n @Output() activate: EventEmitter = new EventEmitter();\n @Output() deactivate: EventEmitter = new EventEmitter();\n\n @ContentChild(\"tooltipTemplate\", { static: false })\n tooltipTemplate: TemplateRef;\n @ContentChild(\"seriesTooltipTemplate\", { static: false })\n seriesTooltipTemplate: TemplateRef;\n\n @ViewChild(LineSeriesComponent, { static: false })\n lineSeriesComponent: LineSeriesComponent;\n\n dims: ViewDimensions;\n xScale: any;\n yScale: any;\n xDomain: any;\n yDomain: any;\n transform: string;\n colors: ColorHelper;\n colorsLine: ColorHelper;\n margin: any[] = [10, 20, 10, 20];\n xAxisHeight: number = 0;\n yAxisWidth: number = 0;\n legendOptions: any;\n scaleType = \"linear\";\n xScaleLine;\n yScaleLine;\n xDomainLine;\n yDomainLine;\n seriesDomain;\n scaledAxis;\n combinedSeries;\n xSet;\n filteredDomain;\n hoveredVertical;\n yOrientLeft = \"left\";\n yOrientRight = \"right\";\n legendSpacing = 0;\n bandwidth;\n barPadding = 8;\n\n trackBy(index, item): string {\n return item.name;\n }\n\n update(): void {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n\n if (!this.yAxis) {\n this.legendSpacing = 0;\n } else if (this.showYAxisLabel && this.yAxis) {\n this.legendSpacing = 100;\n } else {\n this.legendSpacing = 40;\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n\n // line chart\n this.xDomainLine = this.getXDomainLine();\n if (this.filteredDomain) {\n this.xDomainLine = this.filteredDomain;\n }\n\n this.yDomainLine = this.getYDomainLine();\n this.seriesDomain = this.getSeriesDomain();\n\n this.scaleLines();\n\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n\n @HostListener(\"mouseleave\")\n hideCircles(): void {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n\n updateHoveredVertical(item): void {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n\n updateDomain(domain): void {\n this.filteredDomain = domain;\n this.xDomainLine = this.filteredDomain;\n this.xScaleLine = this.getXScaleLine(this.xDomainLine, this.dims.width);\n }\n\n scaleLines() {\n this.xScaleLine = this.getXScaleLine(this.xDomainLine, this.dims.width);\n this.yScaleLine = this.getYScaleLine(this.yDomainLine, this.dims.height);\n }\n\n getSeriesDomain(): any[] {\n this.combinedSeries = this.lineChart.slice(0);\n this.combinedSeries.push({\n name: this.yAxisLabel,\n series: this.results\n });\n return this.combinedSeries.map(d => d.name);\n }\n\n isDate(value): boolean {\n if (value instanceof Date) {\n return true;\n }\n\n return false;\n }\n\n getScaleType(values): string {\n let date = true;\n let num = true;\n\n for (const value of values) {\n if (!this.isDate(value)) {\n date = false;\n }\n\n if (typeof value !== \"number\") {\n num = false;\n }\n }\n\n if (date) return \"time\";\n if (num) return \"linear\";\n return \"ordinal\";\n }\n\n getXDomainLine(): any[] {\n let values = [];\n\n for (const results of this.lineChart) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n\n this.scaleType = this.getScaleType(values);\n let domain = [];\n\n if (this.scaleType === \"time\") {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n } else if (this.scaleType === \"linear\") {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n } else {\n domain = values;\n }\n\n this.xSet = values;\n return domain;\n }\n\n getYDomainLine(): any[] {\n const domain = [];\n\n for (const results of this.lineChart) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n\n let min = Math.min(...domain);\n const max = Math.max(...domain);\n if (this.yRightAxisScaleFactor) {\n const minMax = this.yRightAxisScaleFactor(min, max);\n return [Math.min(0, minMax.min), minMax.max];\n } else {\n min = Math.min(0, min);\n return [min, max];\n }\n }\n\n getXScaleLine(domain, width): any {\n let scale;\n if (this.bandwidth === undefined) {\n this.bandwidth = width - this.barPadding;\n }\n const offset = Math.floor(\n (width +\n this.barPadding -\n (this.bandwidth + this.barPadding) * domain.length) /\n 2\n );\n\n if (this.scaleType === \"time\") {\n scale = scaleTime()\n .range([0, width])\n .domain(domain);\n } else if (this.scaleType === \"linear\") {\n scale = scaleLinear()\n .range([0, width])\n .domain(domain);\n\n if (this.roundDomains) {\n scale = scale.nice();\n }\n } else if (this.scaleType === \"ordinal\") {\n scale = scalePoint()\n .range([\n offset + this.bandwidth / 2,\n width - offset - this.bandwidth / 2\n ])\n .domain(domain);\n }\n\n return scale;\n }\n\n getYScaleLine(domain, height): any {\n const scale = scaleLinear()\n .range([height, 0])\n .domain(domain);\n\n return this.roundDomains ? scale.nice() : scale;\n }\n\n getXScale(): any {\n this.xDomain = this.getXDomain();\n const spacing =\n this.xDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand()\n .range([0, this.dims.width])\n .paddingInner(spacing)\n .domain(this.xDomain);\n }\n\n getYScale(): any {\n this.yDomain = this.getYDomain();\n const scale = scaleLinear()\n .range([this.dims.height, 0])\n .domain(this.yDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n\n getXDomain(): any[] {\n return this.results.map(d => d.name);\n }\n\n getYDomain() {\n const values = this.results.map(d => d.value);\n const min = Math.min(0, ...values);\n const max = Math.max(...values);\n if (this.yLeftAxisScaleFactor) {\n const minMax = this.yLeftAxisScaleFactor(min, max);\n return [Math.min(0, minMax.min), minMax.max];\n } else {\n return [min, max];\n }\n }\n\n onClick(data) {\n this.select.emit(data);\n }\n\n setColors(): void {\n let domain;\n if (this.schemeType === \"ordinal\") {\n domain = this.xDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(\n this.scheme,\n this.schemeType,\n domain,\n this.customColors\n );\n this.colorsLine = new ColorHelper(\n this.colorSchemeLine,\n this.schemeType,\n domain,\n this.customColors\n );\n }\n\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === \"ordinal\") {\n opts.domain = this.seriesDomain;\n opts.colors = this.colorsLine;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n\n updateLineWidth(width): void {\n this.bandwidth = width;\n this.scaleLines();\n }\n\n updateYAxisWidth({ width }): void {\n this.yAxisWidth = width + 20;\n this.update();\n }\n\n updateXAxisHeight({ height }): void {\n this.xAxisHeight = height;\n this.update();\n }\n\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return (\n d.name === item.name &&\n d.value === item.value &&\n d.series === item.series\n );\n });\n if (idx > -1) {\n return;\n }\n\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return (\n d.name === item.name &&\n d.value === item.value &&\n d.series === item.series\n );\n });\n\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\n","// tslint:disable\nimport {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {trigger, state, style, animate, transition} from '@angular/animations';\nimport {formatLabel} from '@swimlane/ngx-charts';\n\n@Component({\n selector: 'g[ngx-combo-charts-series-vertical]',\n template: `\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition('* => void', [\n style({\n opacity: 1,\n transform: '*',\n }),\n animate(500, style({opacity: 0, transform: 'scale(0)'})),\n ]),\n ]),\n ],\n})\nexport class ComboSeriesVerticalComponent implements OnChanges {\n @Input() dims;\n @Input() type = 'standard';\n @Input() series;\n @Input() seriesLine;\n @Input() xScale;\n @Input() yScale;\n @Input() colors;\n @Input() tooltipDisabled: boolean = false;\n @Input() gradient: boolean;\n @Input() activeEntries: any[];\n @Input() seriesName: string;\n @Input() animations: boolean = true;\n @Input() noBarWhenZero: boolean = true;\n\n @Output() select = new EventEmitter();\n @Output() activate = new EventEmitter();\n @Output() deactivate = new EventEmitter();\n @Output() bandwidth = new EventEmitter();\n\n bars: any;\n x: any;\n y: any;\n\n ngOnChanges(changes): void {\n this.update();\n }\n\n update(): void {\n let width;\n if (this.series.length) {\n width = this.xScale.bandwidth();\n this.bandwidth.emit(width);\n }\n\n let d0 = 0;\n let total;\n if (this.type === 'normalized') {\n total = this.series.map((d) => d.value).reduce((sum, d) => sum + d, 0);\n }\n\n this.bars = this.series.map((d, index) => {\n let value = d.value;\n const label = d.name;\n const formattedLabel = formatLabel(label);\n const roundEdges = this.type === 'standard';\n\n const bar: any = {\n value,\n label,\n roundEdges,\n data: d,\n width,\n formattedLabel,\n height: 0,\n x: 0,\n y: 0,\n };\n\n if (this.type === 'standard') {\n bar.height = Math.abs(this.yScale(value) - this.yScale(0));\n bar.x = this.xScale(label);\n\n if (value < 0) {\n bar.y = this.yScale(0);\n } else {\n bar.y = this.yScale(value);\n }\n } else if (this.type === 'stacked') {\n const offset0 = d0;\n const offset1 = offset0 + value;\n d0 += value;\n\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n } else if (this.type === 'normalized') {\n let offset0 = d0;\n let offset1 = offset0 + value;\n d0 += value;\n\n if (total > 0) {\n offset0 = (offset0 * 100) / total;\n offset1 = (offset1 * 100) / total;\n } else {\n offset0 = 0;\n offset1 = 0;\n }\n\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n\n if (this.colors.scaleType === 'ordinal') {\n bar.color = this.colors.getColor(label);\n } else {\n if (this.type === 'standard') {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n } else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n\n let tooltipLabel = formattedLabel;\n if (this.seriesName) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n }\n\n this.getSeriesTooltips(this.seriesLine, index);\n const lineValue = this.seriesLine[0].series[index].value;\n const lineName = this.seriesLine[0].series[index].name;\n bar.tooltipText = `\n ${tooltipLabel}\n Y1 - ${value.toLocaleString()} • Y2 - ${lineValue.toLocaleString()}%\n `;\n\n return bar;\n });\n }\n getSeriesTooltips(seriesLine, index) {\n return seriesLine.map((d) => {\n return d.series[index];\n });\n }\n isActive(entry): boolean {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find((d) => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n\n onClick(data): void {\n this.select.emit(data);\n }\n\n trackBy(index, bar): string {\n return bar.label;\n }\n}\n","export * from './combo-chart.component';\nexport * from './combo-series-vertical.component';\n","export default \".wapper-dashboard {\\n overflow: auto;\\n height: 100%;\\n display: flex;\\n}\\n\\n.wapper-items {\\n height: -webkit-fit-content;\\n height: -moz-fit-content;\\n height: fit-content;\\n width: -webkit-fit-content;\\n width: -moz-fit-content;\\n width: fit-content;\\n margin: 0 auto;\\n overflow-y: auto;\\n padding: 2rem;\\n padding-top: 0;\\n}\\n\\n@media screen and (min-width: 961px) {\\n .wapper-items {\\n min-width: 75rem;\\n }\\n}\\n\\n.item-number {\\n box-shadow: 5px 5px 5px 1px rgba(0, 0, 0, 0.19);\\n padding: 1px;\\n padding-left: 30px;\\n border-left-color: var(--primary-base-color-darken-3);\\n border-left-width: 5px;\\n border-left-style: solid;\\n}\\n\\n.item-number-titulo {\\n font-weight: 900;\\n color: var(--primary-base-color-darken-3);\\n}\\n\\n.item-number-valor {\\n font-weight: 900;\\n color: rgba(0, 0, 0, 0.6);\\n}\\n\\n.titulo-grafico {\\n font-weight: 900;\\n color: rgba(0, 0, 0, 0.6);\\n}\\n\\n.legendaGI {\\n font-size: 12px;\\n border-left-width: 12px;\\n border-left-style: solid;\\n align-self: center;\\n padding-left: 4px;\\n display: flex;\\n flex-direction: column;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtZGFzaGJvYXJkL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGhvbWVcXGhvbWUtZGFzaGJvYXJkXFxob21lLWRhc2hib2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtZGFzaGJvYXJkL2hvbWUtZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSwyQkFBQTtFQUFBLHdCQUFBO0VBQUEsbUJBQUE7RUFDQSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ0NGOztBREVBO0VBQ0U7SUFDRSxnQkFBQTtFQ0NGO0FBQ0Y7O0FERUE7RUFDRSwrQ0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHFEQUFBO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQTtBQ0FGOztBREdBO0VBQ0UsZ0JBQUE7RUFDQSx5Q0FBQTtBQ0FGOztBREdBO0VBQ0UsZ0JBQUE7RUFDQSx5QkFBQTtBQ0FGOztBREdBO0VBQ0UsZ0JBQUE7RUFDQSx5QkFBQTtBQ0FGOztBREdBO0VBQ0UsZUFBQTtFQUNBLHVCQUFBO0VBQ0Esd0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0FDQUYiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL2hvbWUvaG9tZS1kYXNoYm9hcmQvaG9tZS1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud2FwcGVyLWRhc2hib2FyZCB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi53YXBwZXItaXRlbXMge1xyXG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgcGFkZGluZzogMnJlbTtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcclxuICAud2FwcGVyLWl0ZW1zIHtcclxuICAgIG1pbi13aWR0aDogNzVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uaXRlbS1udW1iZXIge1xyXG4gIGJveC1zaGFkb3c6IDVweCA1cHggNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xyXG4gIHBhZGRpbmc6IDFweDtcclxuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMyk7XHJcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDVweDtcclxuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi5pdGVtLW51bWJlci10aXR1bG8ge1xyXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMyk7XHJcbn1cclxuXHJcbi5pdGVtLW51bWJlci12YWxvciB7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBjb2xvcjogcmdiKDAsIDAsIDAsIDAuNik7XHJcbn1cclxuXHJcbi50aXR1bG8tZ3JhZmljbyB7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBjb2xvcjogcmdiKDAsIDAsIDAsIDAuNik7XHJcbn1cclxuXHJcbi5sZWdlbmRhR0kge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBib3JkZXItbGVmdC13aWR0aDogMTJweDtcclxuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XHJcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4iLCIud2FwcGVyLWRhc2hib2FyZCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi53YXBwZXItaXRlbXMge1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAycmVtO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgLndhcHBlci1pdGVtcyB7XG4gICAgbWluLXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuLml0ZW0tbnVtYmVyIHtcbiAgYm94LXNoYWRvdzogNXB4IDVweCA1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xOSk7XG4gIHBhZGRpbmc6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi0zKTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDVweDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xufVxuXG4uaXRlbS1udW1iZXItdGl0dWxvIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMyk7XG59XG5cbi5pdGVtLW51bWJlci12YWxvciB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi50aXR1bG8tZ3JhZmljbyB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5sZWdlbmRhR0kge1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxMnB4O1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59Il19 */\"","// tslint:disable\nimport { Component, Injector } from \"@angular/core\";\n\nimport { CMFormComponent } from \"./../../../@cmcore/component/cmform/cmform.component\";\nimport {\n CMFormGlobaisComponent,\n CMPanelConfigMore,\n} from \"../../../@cmcore/component\";\nimport * as shape from \"d3-shape\";\n\n@Component({\n templateUrl: \"home-dashboard.component.html\",\n styleUrls: [\"home-dashboard.component.scss\"],\n})\nexport class HomeDashboardComponent extends CMFormComponent {\n constructor(_injector: Injector) {\n super(_injector);\n }\n\n valoresFixos = {\n getCursor: (item) => {\n if (this.trimValue(item.relatName) !== \"\") {\n return \"pointer\";\n } else {\n return \"auto\";\n }\n },\n data: [\n [\n {\n name: \"CARREGANDO AGUARDE...\",\n value: \"R$ 0,00\",\n relatName: \"\",\n filtroRelat: undefined,\n },\n ],\n ],\n };\n\n graficoVendas = {\n data: [\n {\n name: \"CARREGANDO AGUARDE...\",\n series: [\n {\n name: \"...\",\n value: 0,\n },\n ],\n },\n ],\n yScaleMax: 0,\n curve: shape.curveCardinal.tension(0),\n colorScheme: {\n domain: [],\n },\n xAxisTickFormatting: (value) => {\n if (value) {\n return value.substr(0, 5);\n } else {\n return value;\n }\n },\n };\n\n graficoInadimplencia = {\n colorScheme: {\n domain: [\"#697279\", \"#5ba1de\"],\n },\n data: [],\n tooltipText: (data) => {\n if (data && data.value) {\n return this.floatToValue(data.value) + \"%\";\n }\n },\n getValueLegend: (index, tipo) => {\n if (this.graficoInadimplencia.data.length > index) {\n if (tipo == 0) {\n return this.graficoInadimplencia.data[index].name;\n } else {\n return (\n this.floatToValue(this.graficoInadimplencia.data[index].value) + \"%\"\n );\n }\n } else {\n return \"Carregando\";\n }\n },\n };\n\n onSelect(tipo, valor) {\n if (valor.relatName && valor.filtroRelat) {\n this.showRelat(valor.relatName, valor.filtroRelat);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.loadData();\n }\n\n setValues(response) {\n this.valoresFixos.data = [];\n if (response[\"valoresFixos\"]) {\n this.valoresFixos.data = response[\"valoresFixos\"];\n }\n this.graficoVendas.yScaleMax = 0;\n if (response[\"graficoVendas\"]) {\n const newSerie = response[\"graficoVendas\"];\n this.graficoVendas.data = [\n {\n name: \"Vendas\",\n series: newSerie,\n },\n ];\n newSerie.forEach((item) => {\n if (item.value > this.graficoVendas.yScaleMax) {\n this.graficoVendas.yScaleMax = item.value;\n }\n });\n this.graficoVendas.yScaleMax = this.graficoVendas.yScaleMax * 1.1;\n }\n let inadinplencia = 100;\n let relatName = \"\";\n let filtroRelat = {};\n if (response[\"inadinplencia\"]) {\n inadinplencia = response[\"inadinplencia\"].value;\n relatName = response[\"inadinplencia\"].relatName;\n filtroRelat = response[\"inadinplencia\"].filtroRelat;\n }\n this.graficoInadimplencia.data = [\n {\n name: \"Inadinplência\",\n value: inadinplencia,\n relatName: relatName,\n filtroRelat: filtroRelat\n },\n {\n name: \"Outros\",\n value: 100 - inadinplencia,\n relatName: relatName,\n filtroRelat: filtroRelat\n },\n ];\n }\n\n dias: string = \"7\";\n loadData() {\n CMFormGlobaisComponent.showSpinner();\n\n this.postSubscribe(\n \"/api/EmpresaAssociado/dashboard/FuncaoExtra\",\n JSON.stringify({\n dias: this.dias,\n }),\n (response) => {\n this.setValues(response);\n setTimeout(() => {\n this.graficoVendas.colorScheme = {\n domain: [\"#5ba1de\"],\n }\n CMFormGlobaisComponent.hideSpinner();\n }, 100);\n },\n (error) => {\n CMFormGlobaisComponent.hideSpinner();\n this.showMessageErrorHTTP(\"loadData\", error);\n }\n );\n }\n}\n","export * from './home-dashboard.component';","export default \".wapper-destaques {\\n overflow: auto;\\n height: 100%;\\n display: flex;\\n}\\n\\n.wapper-destaques-right {\\n width: 100%;\\n margin: 4rem;\\n margin-left: 0;\\n height: calc(100% - 8rem);\\n}\\n\\n.img-logo-acirc {\\n width: 80%;\\n padding: 1rem;\\n padding-right: 0;\\n max-width: 300px;\\n}\\n\\n.img-logo-bessani {\\n width: 80%;\\n padding: 1rem;\\n padding-left: 0;\\n max-width: 300px;\\n}\\n\\n.titulo-logo-acirc {\\n color: rgba(0, 0, 0, 0.87) !important;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n}\\n\\n.titulo-logo-bessani {\\n color: rgba(0, 0, 0, 0.87) !important;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n}\\n\\n.mb20 {\\n margin-bottom: 20px !important;\\n}\\n\\n.blog-post img {\\n width: 100%;\\n height: 150px;\\n display: block;\\n max-width: 100%;\\n padding-left: 30px;\\n padding-right: 30px;\\n margin-top: 20px;\\n}\\n\\n.blog-post .blog-post-holder {\\n padding-left: 30px;\\n padding-right: 30px;\\n background-color: #fff;\\n border-top: 0;\\n}\\n\\n.blog-post h2 a {\\n color: #767676;\\n font-weight: 400;\\n font-size: 21px;\\n cursor: pointer;\\n text-decoration: none;\\n text-transform: uppercase;\\n line-height: 1.5em;\\n}\\n\\n.blog-post p {\\n color: #767676;\\n margin-bottom: 30px;\\n}\\n\\n.wapper-bt_saibamais {\\n width: 100%;\\n text-align: center;\\n margin-bottom: 20px;\\n}\\n\\n.wapper-dashboard {\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n}\\n\\n.wrapper-menu-dashboard {\\n width: 230px;\\n height: 190px;\\n margin: 10px;\\n}\\n\\n.menu-dashboard {\\n padding: 0px !important;\\n background-color: var(--primary-base-color-darken-4) !important;\\n color: #fff;\\n width: 100%;\\n height: 100%;\\n border-radius: 15px;\\n}\\n\\n.menu-dashboard .anotacao-titulo {\\n text-align: center;\\n padding-left: 15px !important;\\n padding-right: 15px !important;\\n padding-top: 5px !important;\\n padding-bottom: 5px !important;\\n}\\n\\n.menu-dashboard .card-stacked {\\n width: 100%;\\n height: 100px;\\n text-align: justify;\\n}\\n\\n.menu-dashboard .card-content {\\n padding: 0;\\n margin: 0;\\n}\\n\\n.menu-dashboard .anotacao-descricao {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n padding-left: 15px !important;\\n padding-right: 15px !important;\\n padding-bottom: 10px !important;\\n margin: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtZGVzdGFxdWVzL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXGhvbWVcXGhvbWUtZGVzdGFxdWVzXFxob21lLWRlc3RhcXVlcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvX19yZWN1cnNvcy9ob21lL2hvbWUtZGVzdGFxdWVzL2hvbWUtZGVzdGFxdWVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtBQ0NGOztBREVBO0VBQ0UsVUFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQ0NGOztBREVBO0VBQ0UscUNBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUNDRjs7QURFQTtFQUNFLHFDQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSw4QkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURFQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7QUNDRjs7QURFQTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7RUFDQSwrREFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FEQ0U7RUFDRSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLDhCQUFBO0FDQ0o7O0FERUU7RUFDRSxXQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FDQUo7O0FER0U7RUFDRSxVQUFBO0VBQ0EsU0FBQTtBQ0RKOztBRElFO0VBQ0UsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLDZCQUFBO0VBQ0EsOEJBQUE7RUFDQSwrQkFBQTtFQUNBLFNBQUE7QUNGSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvaG9tZS9ob21lLWRlc3RhcXVlcy9ob21lLWRlc3RhcXVlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53YXBwZXItZGVzdGFxdWVzIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLndhcHBlci1kZXN0YXF1ZXMtcmlnaHQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogNHJlbTtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhyZW0pO1xyXG59XHJcblxyXG4uaW1nLWxvZ28tYWNpcmMge1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgcGFkZGluZzogMXJlbTtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIG1heC13aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi5pbWctbG9nby1iZXNzYW5pIHtcclxuICB3aWR0aDogODAlO1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIG1heC13aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi50aXR1bG8tbG9nby1hY2lyYyB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50aXR1bG8tbG9nby1iZXNzYW5pIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLm1iMjAge1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsb2ctcG9zdCBpbWcge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMzBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5ibG9nLXBvc3QgLmJsb2ctcG9zdC1ob2xkZXIge1xyXG4gIHBhZGRpbmctbGVmdDogMzBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxufVxyXG5cclxuLmJsb2ctcG9zdCBoMiBhIHtcclxuICBjb2xvcjogIzc2NzY3NjtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc2l6ZTogMjFweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG59XHJcblxyXG4uYmxvZy1wb3N0IHAge1xyXG4gIGNvbG9yOiAjNzY3Njc2O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi53YXBwZXItYnRfc2FpYmFtYWlzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLndhcHBlci1kYXNoYm9hcmQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ud3JhcHBlci1tZW51LWRhc2hib2FyZCB7XHJcbiAgd2lkdGg6IDIzMHB4O1xyXG4gIGhlaWdodDogMTkwcHg7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4ubWVudS1kYXNoYm9hcmQge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tNCkgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuXHJcbiAgLmFub3RhY2FvLXRpdHVsbyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jYXJkLXN0YWNrZWQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICB9XHJcblxyXG4gIC5jYXJkLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5hbm90YWNhby1kZXNjcmljYW8ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG4iLCIud2FwcGVyLWRlc3RhcXVlcyB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi53YXBwZXItZGVzdGFxdWVzLXJpZ2h0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gOHJlbSk7XG59XG5cbi5pbWctbG9nby1hY2lyYyB7XG4gIHdpZHRoOiA4MCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5pbWctbG9nby1iZXNzYW5pIHtcbiAgd2lkdGg6IDgwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4udGl0dWxvLWxvZ28tYWNpcmMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRpdHVsby1sb2dvLWJlc3Nhbmkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1iMjAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ibG9nLXBvc3QgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTUwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmJsb2ctcG9zdCAuYmxvZy1wb3N0LWhvbGRlciB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLmJsb2ctcG9zdCBoMiBhIHtcbiAgY29sb3I6ICM3Njc2NzY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuLmJsb2ctcG9zdCBwIHtcbiAgY29sb3I6ICM3Njc2NzY7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi53YXBwZXItYnRfc2FpYmFtYWlzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLndhcHBlci1kYXNoYm9hcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ud3JhcHBlci1tZW51LWRhc2hib2FyZCB7XG4gIHdpZHRoOiAyMzBweDtcbiAgaGVpZ2h0OiAxOTBweDtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4ubWVudS1kYXNoYm9hcmQge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi00KSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbn1cbi5tZW51LWRhc2hib2FyZCAuYW5vdGFjYW8tdGl0dWxvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbn1cbi5tZW51LWRhc2hib2FyZCAuY2FyZC1zdGFja2VkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwcHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4ubWVudS1kYXNoYm9hcmQgLmNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5tZW51LWRhc2hib2FyZCAuYW5vdGFjYW8tZGVzY3JpY2FvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbn0iXX0= */\"","// tslint:disable\nimport { Component, Injector } from \"@angular/core\";\n\nimport { CMFormComponent } from \"./../../../@cmcore/component/cmform/cmform.component\";\nimport {\n CMPanelConfigMore,\n CMFormGlobaisComponent,\n CMPanelComponent,\n} from \"./../../../@cmcore/component\";\nimport { FuncsGlobais } from \"../../funcs.globais\";\n\n@Component({\n templateUrl: \"home-destaques.component.html\",\n styleUrls: [\"home-destaques.component.scss\"],\n})\nexport class HomeDestaquesComponent extends CMFormComponent {\n blogInfo = {\n img: \"\",\n href: \"\",\n titulo: \"\",\n texto: \"\",\n };\n\n currentAnotacao = {\n id: 0,\n titulo: \"\",\n descricao: \"\",\n };\n\n configShowAnotacao: CMPanelConfigMore;\n\n get paramEmpresa() {\n return FuncsGlobais.paramEmpresa;\n }\n\n constructor(_injector: Injector) {\n super(_injector);\n this.configJSON.htmlatualizacoes = \"\";\n this.configJSONPath = \"configgeral.json\";\n this.configShowAnotacao = new CMPanelConfigMore({\n title: \"Anotação\",\n maxWidth: \"300px\",\n onSave: () => this.onSaveAnotacao(),\n onAction: (action) => this.onActionAnotacao(action),\n hintAction1: \"Apagar\",\n iconAction1: \"delete\",\n });\n }\n\n anotacoes = [];\n\n ngOnInit() {\n super.ngOnInit();\n this.loadAnotacoes();\n this.loadBlogInfo();\n }\n\n inLoadBlogInfo: boolean = true;\n loadBlogInfo() {\n this.inLoadBlogInfo = true;\n this.http\n .get>(\n \"https://www.bessani.com.br/carousel_blog_bessani_last3.php\"\n )\n .subscribe((datajson) => {\n if (datajson && datajson.length && datajson.length > 0) {\n this.blogInfo.img = datajson[0][\"img\"];\n this.blogInfo.href = datajson[0][\"href\"];\n this.blogInfo.titulo = datajson[0][\"titulo\"];\n this.blogInfo.texto = datajson[0][\"texto\"].replace(\n /\\.|…/g,\n \"...\"\n );\n }\n this.inLoadBlogInfo = false;\n });\n }\n\n inLoadAnotacoes: boolean = true;\n loadAnotacoes() {\n this.inLoadAnotacoes = true;\n this.postSubscribeT>(\n \"/api/MinhaConta/Anotacoes\",\n JSON.stringify({}),\n (response) => {\n this.anotacoes = response;\n this.inLoadAnotacoes = false;\n },\n (error) => {\n this.showMessageErrorHTTP(\"loadAnotacoes\", error);\n this.inLoadAnotacoes = false;\n }\n );\n }\n\n postAnotacao() {\n CMFormGlobaisComponent.showSpinner();\n this.postSubscribe(\n \"/api/MinhaConta/SaveAnotacao\",\n JSON.stringify(this.currentAnotacao),\n (res) => {\n if (res[\"result\"] == \"ok\") {\n if (this.currentAnotacao.id == 0) {\n this.currentAnotacao.id = res[\"id\"];\n this.anotacoes.push(this.currentAnotacao);\n }\n this.currentAnotacao = {\n id: 0,\n titulo: \"\",\n descricao: \"\",\n };\n this.configShowAnotacao.allowCancel = true;\n this.configShowAnotacao.showAction1 = false;\n }\n CMFormGlobaisComponent.hideSpinner();\n },\n (error) => {\n this.showMessageErrorHTTP(\"postAnotacao\", error);\n CMFormGlobaisComponent.hideSpinner();\n }\n );\n }\n\n postDeleteAnotacao() {\n CMFormGlobaisComponent.showSpinner();\n this.postSubscribe(\n \"/api/MinhaConta/DeleteAnotacao\",\n JSON.stringify(this.currentAnotacao),\n (res) => {\n if (res[\"result\"] == \"ok\") {\n const index = this.anotacoes.indexOf(this.currentAnotacao, 0);\n if (index > -1) {\n this.anotacoes.splice(index, 1);\n }\n this.currentAnotacao = {\n id: 0,\n titulo: \"\",\n descricao: \"\",\n };\n this.configShowAnotacao.allowCancel = true;\n this.configShowAnotacao.showAction1 = false;\n }\n CMFormGlobaisComponent.hideSpinner();\n },\n (error) => {\n this.showMessageErrorHTTP(\"postDeleteAnotacao\", error);\n CMFormGlobaisComponent.hideSpinner();\n }\n );\n }\n\n onSaveAnotacao() {\n if (this.trimValue(this.currentAnotacao.titulo) == \"\") {\n CMFormGlobaisComponent.toastInformacao(\"Titulo não informado\");\n return false;\n } else {\n this.postAnotacao();\n return true;\n }\n }\n\n onActionAnotacao(action) {\n if (action == \"action1\") {\n CMFormGlobaisComponent.showConfirmation(\n \"Apagar Anotação\",\n 'Confirma a deleção da anotação \"' + this.currentAnotacao.titulo + '\"',\n () => {\n this.postDeleteAnotacao();\n }\n );\n }\n return true;\n }\n\n editAnotacao(anotacao, panel_anotacao: CMPanelComponent) {\n this.currentAnotacao = anotacao;\n this.configShowAnotacao.allowCancel = false;\n this.configShowAnotacao.showAction1 = true;\n panel_anotacao.clickHelpText();\n }\n\n getHeightAnotacoes() {\n if (this.isRole(\"AssociadoN2\")) {\n return \"calc(100% - 40% - 1rem)\";\n } else {\n return \"calc(100% - 20% - 150px - 2rem)\";\n }\n }\n\n getHeightOqueHaNovo() {\n if (this.isRole(\"AssociadoN2\")) {\n return \"40%\";\n } else {\n return \"20%\";\n }\n }\n}\n","export * from './home-destaques.component';","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvaG9tZS9ob21lLmNvbXBvbmVudC5zY3NzIn0= */\"","// tslint:disable\nimport { Component } from '@angular/core';\n\nimport { CMFormComponent } from './../../@cmcore/component/cmform/cmform.component';\nimport { FuncsGlobais } from '../funcs.globais';\n\n@Component({\n templateUrl: 'home.component.html',\n styleUrls: ['home.component.scss']\n})\nexport class HomeComponent extends CMFormComponent {\n\n public get empresas() {\n return FuncsGlobais.empresas;\n }\n\n}","export * from './home.component';\r\nexport * from './home-consultas';\r\nexport * from './home-dashboard';\r\nexport * from './home-destaques';","export default \".bt_menu {\\n width: 180px;\\n height: 140px;\\n text-align: center;\\n}\\n\\n.sicoob {\\n text-align: center;\\n}\\n\\n.img_sicoob {\\n max-width: 300px;\\n}\\n\\n.bt_sicoob {\\n margin-bottom: 10px;\\n text-align: center;\\n}\\n\\n.bessani {\\n text-align: center;\\n}\\n\\n.img_bessani {\\n padding-top: 14px;\\n max-width: 200px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9ob21lMi9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxob21lMlxcaG9tZTIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvaG9tZTIvaG9tZTIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtBQ0NGOztBREVBO0VBQ0UsZ0JBQUE7QUNDRjs7QURFQTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtFQUNBLGdCQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL2hvbWUyL2hvbWUyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ0X21lbnUge1xyXG4gIHdpZHRoOiAxODBweDtcclxuICBoZWlnaHQ6IDE0MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNpY29vYiB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uaW1nX3NpY29vYiB7XHJcbiAgbWF4LXdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLmJ0X3NpY29vYiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5iZXNzYW5pIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbWdfYmVzc2FuaSB7XHJcbiAgcGFkZGluZy10b3A6IDE0cHg7XHJcbiAgbWF4LXdpZHRoOiAyMDBweDtcclxufSIsIi5idF9tZW51IHtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDE0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaWNvb2Ige1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbWdfc2ljb29iIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLmJ0X3NpY29vYiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlc3Nhbmkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbWdfYmVzc2FuaSB7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xufSJdfQ== */\"","// tslint:disable\nimport { Component, Injector } from '@angular/core';\n\nimport { CMFormComponent } from './../../@cmcore/component/cmform/cmform.component';\nimport { FuncsGlobais } from './../funcs.globais';\n\n@Component({\n templateUrl: 'home2.component.html',\n styleUrls: ['home2.component.scss']\n})\nexport class Home2Component extends CMFormComponent {\n\n avisos: string = '';\n\n constructor(_injector: Injector) {\n super(_injector);\n }\n\n segundaViaBoleto() {\n window.open('https://www.sicoob.com.br/web/sicoob/segunda-via-boleto', '_blank');\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.avisos = this.trimValue(this.currentUserStorage.avisos);\n }\n\n empresaDefinida() {\n return FuncsGlobais.idServerEmpresa !== \"\";\n }\n\n public get empresas() {\n return FuncsGlobais.empresas;\n }\n\n public get idEmpresa(): string {\n return FuncsGlobais.idServerEmpresa;\n }\n\n public set idEmpresa(id : string) {\n FuncsGlobais.setIdEmpresa(this.http, id, () => {\n this.avisos = this.trimValue(this.currentUserStorage.avisos);\n });\n }\n\n get paramEmpresa() {\n return FuncsGlobais.paramEmpresa;\n }\n\n}","export * from './home2.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { IBPTEditComponent } from \"./ibpt-edit.component\";\r\n\r\n@Component({\r\n selector: \"ibpt-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class IBPTBrowseComponent extends CMFormBrowse2Component {\r\n \r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\", filter: true },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ];\r\n\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"ibpt\";\r\n this.formEditComponent = IBPTEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n {\r\n field: \"tipo\",\r\n caption: \"Tipo\",\r\n visible: false,\r\n value: \"Mercadoria\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Todos\" },\r\n { value: \"Mercadoria\" },\r\n { value: \"ServicoNBS\", text: \"Serviço NBS\" },\r\n { value: \"ServicoLC116\", text: \"Serviço LC 116\" },\r\n ],\r\n }),\r\n },\r\n {\r\n field: \"codigo\",\r\n caption: \"Código (NCM/SH)\",\r\n filter: true,\r\n width: \"170\",\r\n },\r\n { field: \"ex\", caption: \"EX\", width: \"70\", filter: true },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n {\r\n field: \"custom\",\r\n caption: \"Alterado pelo usuário\",\r\n visible: false,\r\n value: \"Todos\",\r\n filter: new CMInputConfig({\r\n values: [{ value: \"Todos\" }, { value: \"Sim\" }, { value: \"Não\" }],\r\n }),\r\n },\r\n {\r\n field: \"validade\",\r\n caption: \"Validade\",\r\n visible: false,\r\n value: \"Todos\",\r\n filter: new CMInputConfig({\r\n values: [{ value: \"Todos\" }, { value: \"Vencidos\" }],\r\n }),\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"IBPT (NCM/SH)\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any) {\r\n if (target) {\r\n let caption: string = \"Pesquisa de IBPT (NCM/SH)\";\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"ibpt\",\r\n caption,\r\n [\r\n {\r\n field: \"codigo\",\r\n caption: \"Código (NCM/SH)\",\r\n filter: true,\r\n width: \"170\",\r\n },\r\n { field: \"ex\", caption: \"EX\", width: \"70\", filter: true },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ],\r\n target,\r\n undefined,\r\n \"codigo\",\r\n undefined,\r\n undefined,\r\n \"auto\"\r\n );\r\n }\r\n }\r\n\r\n static pesquisa2(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"ibpt\",\r\n \"Pesquisa de IBPT(NCM/SH)\",\r\n IBPTBrowseComponent.defaultColumns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig, CMGridEditConfig, CMGridEditConfigColumn\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'ibpt-edit',\r\n templateUrl: 'ibpt-edit.component.html',\r\n})\r\nexport class IBPTEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_codigo';\r\n }\r\n\r\n getTitle() {\r\n return 'IBPT (NCM/SH) - '+this.fieldByName('descricao');\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'ibpt';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: 'Código (NCM/SH)',\r\n dataType: 'integer',\r\n maxlength: 9,\r\n disabledFunc: () => {return !this.isCustom()},\r\n required: true}),\r\n ex: new CMInputConfig({form: this,\r\n caption: 'EX (Código da exceção à regra aplicada na NCM)',\r\n dataType: 'integer',\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n tipo: new CMInputConfig({form: this,\r\n caption: 'Tipo',\r\n values: [{'value': \"Mercadoria\"},\r\n {'value': \"ServicoNBS\", 'text': \"Serviço NBS\"},\r\n {'value': \"ServicoLC116\", 'text': \"Serviço LC 116\"}],\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n disabledFunc: () => {return !this.isCustom()},\r\n required: true}),\r\n vigenciainicio: new CMInputConfig({form: this,\r\n caption: 'Inicio da vigência',\r\n disabled: true}),\r\n vigenciafim: new CMInputConfig({form: this,\r\n caption: 'Fim da vigência',\r\n disabled: true}),\r\n versao: new CMInputConfig({form: this,\r\n caption: 'Versão',\r\n disabled: true}),\r\n custom: new CMInputConfig({form: this,\r\n caption: 'Alterado pelo usuário',\r\n maxlength: 10}),\r\n estados: new CMGridEditConfig({form: this,\r\n caption: 'Estados',\r\n onNewItem: model => {\r\n Object.assign(model, {\r\n estado: 'SP',\r\n aliquotanacional: '0,00',\r\n aliquotaimportada: '0,00',\r\n aliquotaicms: '0,00',\r\n aliquotamunicipal: '0,00',\r\n });\r\n },\r\n fields: {estado: new CMInputConfig({form: this,\r\n caption: 'Estado',\r\n required: true,\r\n disabledFunc: () => {return !this.isCustom()},\r\n maxlength: 2,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n values: [{'value': \"AC\"},\r\n {'value': \"AL\"},\r\n {'value': \"AP\"},\r\n {'value': \"AM\"},\r\n {'value': \"BA\"},\r\n {'value': \"CE\"},\r\n {'value': \"DF\"},\r\n {'value': \"ES\"},\r\n {'value': \"GO\"},\r\n {'value': \"MA\"},\r\n {'value': \"MT\"},\r\n {'value': \"MS\"},\r\n {'value': \"MG\"},\r\n {'value': \"PR\"},\r\n {'value': \"PB\"},\r\n {'value': \"PA\"},\r\n {'value': \"PE\"},\r\n {'value': \"PI\"},\r\n {'value': \"RJ\"},\r\n {'value': \"RN\"},\r\n {'value': \"RS\"},\r\n {'value': \"RO\"},\r\n {'value': \"RR\"},\r\n {'value': \"SC\"},\r\n {'value': \"SE\"},\r\n {'value': \"SP\"},\r\n {'value': \"TO\"}]}),\r\n aliquotanacional: new CMInputConfig({form: this,\r\n caption: 'Alíquota nacional',\r\n dataType: 'double(2)',\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n aliquotaimportada: new CMInputConfig({form: this,\r\n caption: 'Alíquota importada',\r\n dataType: 'double(2)',\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n aliquotaicms: new CMInputConfig({form: this,\r\n caption: 'Alíquota ICMS',\r\n dataType: 'double(2)',\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n aliquotamunicipal: new CMInputConfig({form: this,\r\n caption: 'Alíquota municipal',\r\n dataType: 'double(2)',\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabledFunc: () => {return !this.isCustom()}}),\r\n }}),\r\n };\r\n }\r\n\r\n isCustom() {\r\n let r: boolean = false;\r\n if (this.model)\r\n r = (this.model.custom === 'Sim');\r\n return r;\r\n }\r\n\r\n}","export * from './ibpt-edit.component';\r\nexport * from './ibpt-browse.component';","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormExecComponent,\r\n CMUploadFileComponent,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n PessoaBrowseComponent,\r\n EmpresaAssociadoBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n templateUrl: \"importacoes-component.html\",\r\n})\r\nexport class ImportacoesCNABComponent extends CMFormExecComponent {\r\n @ViewChild(\"fileUpLoad\", { static: true }) fileUpLoad: CMUploadFileComponent;\r\n\r\n valuesTipoImportacao = [];\r\n setValuesTipoImportacao() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesTipoImportacao = [\r\n { value: \"Clientes\", text: \"Clientes / Fornecedores\" },\r\n { value: \"Produtos\" },\r\n { value: \"IBPT\" },\r\n ];\r\n } else {\r\n this.valuesTipoImportacao = [\r\n { value: \"Clientes\", text: \"Clientes / Fornecedores\" },\r\n { value: \"Produtos\" },\r\n { value: \"Grade\", text: \"Grade de Produtos\" },\r\n { value: \"IBPT\" },\r\n ];\r\n }\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setValuesTipoImportacao();\r\n this.filterConfig = {\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n values: this.valuesTipoImportacao,\r\n }),\r\n associado: new CMInputConfig({\r\n form: this,\r\n caption: \"Associado\",\r\n required: true,\r\n disabledFunc: () => this.filter.tipo === \"IBPT\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.filter,\r\n \"Empresa\",\r\n \"associado\",\r\n () => this.getEmpresasAssociado()\r\n );\r\n },\r\n }),\r\n empresa: new CMInputConfig({\r\n form: this,\r\n caption: \"Empresa\",\r\n requiredFunc: () => this.exigeEmpresa(),\r\n disabledFunc: () => !this.exigeEmpresa(),\r\n values: this.empresasAssociado,\r\n }),\r\n };\r\n this.filter.tipo = \"Clientes\";\r\n }\r\n\r\n exigeEmpresa() {\r\n return this.filter.tipo === \"Produtos\" || this.filter.tipo === \"Grade\";\r\n }\r\n\r\n onCompleteUploadFile(sender: any) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n sender.form.filter.fileuploadkeyserver = sender.keyserver;\r\n sender.form.filter.fileuploadname = sender.file.name;\r\n sender.form.importar();\r\n }\r\n\r\n innerExec() {\r\n this.importou = false;\r\n this.mostraResultado = false;\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Importação\",\r\n \"Confirma a importação com os dados selecionados.
    \" +\r\n \"
    Essa ação não poderá ser desfeita.
    \",\r\n () => {\r\n super.innerExec();\r\n if (this.fileUpLoad.IsFileSelect) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.fileUpLoad.enviar();\r\n } else CMFormGlobaisComponent.toastErro(\"Selecione um arquivo\");\r\n }\r\n );\r\n }\r\n\r\n objectKeys = Object.keys;\r\n importados: any = {};\r\n naoimportados: any = {};\r\n jacadastrados: any = {};\r\n importou: boolean = false;\r\n mostraResultado: boolean = false;\r\n\r\n importar() {\r\n this.fileUpLoad.setMsg(\"Processamento arquivo no servidor\");\r\n let filter = this.filter;\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n this.postSubscribe(\r\n \"/api/Importacoes/Importar/FuncaoExtra\",\r\n JSON.stringify(filter),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.fileUpLoad.setMsg(result[\"msg\"]);\r\n CMFormGlobaisComponent.toastSucesso(result[\"msg\"]);\r\n this.mostraResultado = result[\"importados\"] != undefined;\r\n if (this.mostraResultado) {\r\n this.importados = result[\"importados\"];\r\n this.naoimportados = result[\"naoimportados\"];\r\n this.jacadastrados = result[\"jacadastrados\"];\r\n } else {\r\n this.importados = {};\r\n this.naoimportados = {};\r\n this.jacadastrados = {};\r\n }\r\n this.importou = true;\r\n } else {\r\n CMFormGlobaisComponent.toastErro(result[\"msg\"]);\r\n this.fileUpLoad.setMsg(result[\"msg\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"importar\", error);\r\n }\r\n );\r\n }\r\n\r\n empresasAssociado = [];\r\n\r\n getEmpresasAssociado() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Importacoes/GetEmpresasAssociado\",\r\n JSON.stringify({ associado: this.filter.associado.id }),\r\n (result) => {\r\n if (result instanceof Array) {\r\n this.empresasAssociado.length = 0;\r\n Object.assign(this.empresasAssociado, result);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"getEmpresasAssociado\", error);\r\n }\r\n );\r\n }\r\n}\r\n","export * from './importacoes-component';","export * from \"./associado\";\r\nexport * from \"./cliente\";\r\nexport * from \"./fornecedor\";\r\nexport * from \"./formapagamento\";\r\nexport * from \"./duplicata-receber\";\r\nexport * from \"./duplicata-pagar\";\r\nexport * from \"./footer-page\";\r\nexport * from \"./home\";\r\nexport * from \"./home2\";\r\nexport * from \"./menu-principal\";\r\nexport * from \"./menu-lateral\";\r\nexport * from \"./minha-conta\";\r\nexport * from \"./municipio\";\r\nexport * from \"./prevenda\";\r\nexport * from \"./produto\";\r\nexport * from \"./relats\";\r\nexport * from \"./seguimento\";\r\nexport * from \"./vendedor\";\r\nexport * from \"./conta-pagar\";\r\nexport * from \"./ibpt\";\r\nexport * from \"./cest\";\r\nexport * from \"./padraodeoperacao\";\r\nexport * from \"./transportadora\";\r\nexport * from \"./nfe\";\r\nexport * from \"./nfe-acoes\";\r\nexport * from \"./nfe-estoque\";\r\nexport * from \"./nfeinutilizacao\";\r\nexport * from \"./nfeinutilizacao-acoes\";\r\nexport * from \"./cfop\";\r\nexport * from \"./pessoa\";\r\nexport * from \"./curriculum\";\r\nexport * from \"./geracaoarquivocnab\";\r\nexport * from \"./importacoes\";\r\nexport * from \"./ajuste-saldo\";\r\nexport * from \"./empresa-associado\";\r\nexport * from \"./grade\";\r\nexport * from \"./necessidade-compra\";\r\nexport * from \"./ordem-compra\";\r\nexport * from \"./cotacao\";\r\nexport * from \"./nfe-recebimento\";\r\nexport * from \"./lote-conta-receber\";\r\nexport * from \"./cobranca-baixa-em-lote\";\r\nexport * from \"./nfe-recebimento-acoes\";\r\nexport * from \"./config-geral\";\r\nexport * from \"./caixa-sat\";\r\nexport * from \"./cfe\";\r\nexport * from \"./grupodeoperacao\";\r\nexport * from \"./fechamento-caixa\";\r\nexport * from \"./nfe-consignacao\";\r\nexport * from \"./nfe-consignacao-fechamento\";\r\nexport * from \"./grupodeproduto\";\r\nexport * from \"./subgrupodeproduto\";\r\nexport * from \"./produto-detalhes-saldo\";\r\nexport * from \"./cupom-desconto\";\r\nexport * from \"./nfe-troca-produto\";\r\nexport * from \"./promocao\";\r\nexport * from \"./relatorio-customizado\";\r\nexport * from \"./marketplace\";\r\nexport * from \"./produto-marketplace\";\r\nexport * from \"./nfe-importacao-marketplace\";\r\nexport * from \"./nfe-recebimento-alterar-data-duplicata\";\r\nexport * from \"./solicita-senha-supervisor\";\r\nexport * from \"./nfce\";\r\nexport * from \"./nfce-acoes\";\r\n\r\n//@Raul\r\nexport * from \"./conta-contabil\";\r\nexport * from \"./categoria-conta-contabil\";\r\nexport * from \"./produto-altera-em-lote\";\r\nexport * from \"./empresapreco\";\r\nexport * from \"./relats/conta-contabil\"\r\nexport * from \"./orcamento\";\r\nexport * from \"./relats/dre-liquidacao-vertical\";\r\nexport * from \"./prevenda-relatorios\";\r\nexport * from \"./ordem-compra-relatorios\";\r\nexport * from \"./cupom-desconto-relatorios\";\r\nexport * from \"./duplicata-receber-relatorios\";\r\nexport * from \"./nfe-consignacao-relatorios\";\r\nexport * from \"./orcamento-relatorios\";\r\nexport * from \"./nfe-relatorios\";\r\nexport * from \"./nfe-recebimento-relatorios\";\r\nexport * from \"./produto-relatorios\";\r\nexport * from \"./conta-bancaria\";\r\nexport * from \"./prevenda-gerar-saida-estoque\";\r\nexport * from \"./relats/dados-assinaturas\";\r\nexport * from \"./landing-page\";\r\nexport * from \"./sped-fiscal\";\r\nexport * from \"./fluxodecaixa\";\r\nexport * from \"./conta-pagar-receber\";\r\nexport * from \"./relats/conta-pagar-receber\";\r\nexport * from \"./wizard-config\";","export * from './landing-page.component';","export default \".warpper-menu-home {\\n display: flex;\\n}\\n\\n.menu-dropdown {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.menu-dropdown-button {\\n display: flex;\\n}\\n\\n.menu-dropdown-show {\\n display: block !important;\\n}\\n\\n.menu-dropdown-content {\\n display: none;\\n position: absolute;\\n background-color: var(--primary-base-color-darken-4);\\n min-width: 160px;\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n overflow: auto;\\n right: 0;\\n z-index: 2;\\n}\\n\\n.menu-dropdown-content .divider {\\n height: 1px !important;\\n min-height: 1px !important;\\n}\\n\\n.menu-dropdown-content li {\\n clear: both;\\n color: rgba(0, 0, 0, 0.87);\\n cursor: pointer;\\n min-height: 30px;\\n line-height: 1.5rem;\\n width: 100%;\\n text-align: left;\\n text-transform: none;\\n}\\n\\n.menu-dropdown-content li > a {\\n color: #fff;\\n display: block;\\n line-height: 22px;\\n padding: 10px 20px;\\n}\\n\\n.nome-usuario {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 180px;\\n}\\n\\n.nome-empresa {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 300px;\\n}\\n\\n.menu-navbar {\\n margin-right: auto;\\n margin-left: auto;\\n padding-left: 40px;\\n padding-right: 40px;\\n max-width: 1200px;\\n}\\n\\n.body-navbar {\\n margin-right: auto;\\n margin-left: auto;\\n padding-left: 40px;\\n padding-right: 40px;\\n max-width: 1200px;\\n}\\n\\n.button-landing-page {\\n float: right;\\n}\\n\\n.lp-text-menu {\\n color: #5f75ef;\\n}\\n\\n.lp-text2 {\\n color: #ffffff;\\n font-weight: bold;\\n}\\n\\n.menu-content {\\n margin-right: auto;\\n margin-left: auto;\\n padding-left: 40px;\\n padding-right: 40px;\\n max-width: 1200px;\\n}\\n\\n.i4fzyu {\\n padding: 30px 30px;\\n max-width: 50%;\\n vertical-align: middle;\\n display: inline-block;\\n}\\n\\n.text-panel {\\n padding: 30px 30px;\\n max-width: 60%;\\n vertical-align: middle;\\n display: inline-block;\\n}\\n\\n.lp-text {\\n font-family: Trebuchet MS, Helvetica, sans-serif;\\n}\\n\\n#itwn15 {\\n font-size: 44px;\\n}\\n\\n.img-content {\\n padding: 30px 30px;\\n max-width: 40%;\\n vertical-align: middle;\\n display: inline-block;\\n}\\n\\n#i8satl {\\n padding: 30px 30px;\\n margin: 0 30px 0 30px;\\n width: 300px;\\n height: 300px;\\n}\\n\\n#ionzhv {\\n padding: 30px 30px;\\n width: 330px;\\n height: 330px;\\n}\\n\\n#ilrcrh {\\n max-width: 1169px;\\n margin: 67px auto 0 auto;\\n height: 385px;\\n background-color: #9edaff;\\n border-radius: 30px;\\n}\\n\\n.lp-titulo {\\n color: white;\\n font-family: \\\"Trebuchet MS\\\", Helvetica, sans-serif;\\n font-size: 34px;\\n float: right;\\n}\\n\\n.lp-text3 {\\n padding-top: 10px;\\n color: #ffffff;\\n font-family: Trebuchet MS, Helvetica, sans-serif;\\n font-weight: 400;\\n float: left;\\n}\\n\\n#i6amol {\\n display: table-cell;\\n}\\n\\n#iqr1jv {\\n max-width: 1200px;\\n margin-top: 60px;\\n text-align: left;\\n}\\n\\n#i4ne8h {\\n background-color: #9edaff;\\n display: flex;\\n border-radius: 30px;\\n}\\n\\n#iwhlop {\\n margin-bottom: 20px;\\n}\\n\\n#i4ne8h2 {\\n background-color: #9edaff;\\n display: block;\\n border-radius: 30px;\\n}\\n\\n.imgimg {\\n width: 158px;\\n height: 158px;\\n}\\n\\n.lp-grid-container {\\n display: grid;\\n grid-template-columns: repeat(2, 1fr);\\n grid-template-rows: repeat(2, 1fr);\\n gap: 40px;\\n}\\n\\n.grid-item {\\n background-color: gray;\\n color: white;\\n text-align: center;\\n padding: 20px;\\n}\\n\\n.lp-grid-container2 {\\n display: grid;\\n grid-template-columns: repeat(3, 1fr);\\n grid-template-rows: repeat(1, 1fr);\\n gap: 40px;\\n text-align: center;\\n}\\n\\n.grid-item2 {\\n background-color: gray;\\n color: white;\\n text-align: center;\\n padding: 20px;\\n}\\n\\n.lp-img-grid {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 385px;\\n margin: 0 20 0 20;\\n}\\n\\n.lp-img-grid2 {\\n display: block;\\n justify-content: center;\\n align-items: center;\\n margin: 0 20 0 20;\\n}\\n\\n.item-titulo {\\n color: white;\\n font-family: \\\"Trebuchet MS\\\", Helvetica, sans-serif;\\n font-size: 34px;\\n float: right;\\n}\\n\\n.item-texto {\\n padding: 10px;\\n color: #ffffff;\\n font-family: Trebuchet MS, Helvetica, sans-serif;\\n font-weight: 400;\\n line-height: 28px;\\n float: left;\\n}\\n\\n.item-texto2 {\\n padding: 10px;\\n color: #5fbeef;\\n font-family: Trebuchet MS, Helvetica, sans-serif;\\n font-weight: 400;\\n line-height: 28px;\\n float: left;\\n}\\n\\n.box-item-titulo {\\n padding: 10px 0 10px;\\n}\\n\\n.fkgn2 {\\n margin-top: 50px;\\n}\\n\\n.amkop1 {\\n float: right;\\n}\\n\\n#cdgqa7 {\\n width: 250px;\\n height: 250px;\\n}\\n\\n#ihwlea {\\n height: 427px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n}\\n\\n.arow {\\n display: table;\\n padding-top: 10px;\\n padding-right: 10px;\\n padding-bottom: 10px;\\n padding-left: 10px;\\n width: 100%;\\n}\\n\\n.acell {\\n /* width: 17%; */\\n display: table-cell;\\n height: 84px;\\n}\\n\\n#iwmm5j {\\n height: 373px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n background-color: #f8f8f8;\\n border: 1px solid #ebebeb;\\n}\\n\\n#ibol18 {\\n padding: 10px 0 10px 24px;\\n width: 671px;\\n height: 93px;\\n font-size: 44px;\\n line-height: 63px;\\n color: #5fbeef;\\n margin: 0 auto 0 auto;\\n text-align: center;\\n}\\n\\n#i4c4ft {\\n max-width: 1169px;\\n margin: 11px auto 0 auto;\\n height: 301px;\\n}\\n\\n#akdh2 {\\n text-align: center;\\n}\\n\\n#iwmm5j {\\n height: 373px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n background-color: #f8f8f8;\\n border: 1px solid #ebebeb;\\n}\\n\\n.lp-icon {\\n margin-top: 20px;\\n width: 121px;\\n height: 121px;\\n}\\n\\n.lp-gray {\\n height: 373px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n background-color: #f8f8f8;\\n border: 1px solid #ebebeb;\\n}\\n\\n#igzyh1 {\\n height: 280px;\\n width: 312px;\\n display: inline-block;\\n border-radius: 21px;\\n box-shadow: 0 0 6px -1px black;\\n}\\n\\n#i5gigc {\\n height: 176px;\\n}\\n\\n#iw28p7 {\\n color: black;\\n width: 311px;\\n height: 175px;\\n border-radius: 19px 19px 0 0;\\n}\\n\\n.image-blog-post {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n border-radius: 19px 19px 0 0;\\n}\\n\\n#ibmdf8 {\\n color: #5fbeef;\\n margin: 0 auto 0 auto;\\n text-align: center;\\n}\\n\\n#ij174a {\\n height: 104px;\\n background-color: #ffffff;\\n padding: 26px 10px 0 10px;\\n border-radius: 0 0 19px 19px;\\n}\\n\\n#iek5hc {\\n font-family: \\\"Trebuchet MS\\\", Helvetica, sans-serif;\\n}\\n\\n#ivssdq {\\n height: 269px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n background-color: #f8f8f8;\\n border: 1px solid #ebebeb;\\n}\\n\\n#ivxjmr {\\n max-width: 1169px;\\n margin: 11px auto 0 auto;\\n height: 247px;\\n}\\n\\n#ixqg98 {\\n height: 182px;\\n width: 262px;\\n display: inline-block;\\n margin: 0 0 0 0;\\n}\\n\\n#imc223 {\\n height: 56px;\\n}\\n\\n#i4r171 {\\n font-size: 22px;\\n line-height: 63px;\\n color: #787878;\\n text-align: left;\\n}\\n\\n#i0svdd {\\n font-family: \\\"Trebuchet MS\\\", Helvetica, sans-serif;\\n color: #5fbeef;\\n}\\n\\n#ugno1 {\\n display: flex;\\n padding-top: 20px;\\n}\\n\\n#imjlpg {\\n width: 176px;\\n height: 88px;\\n}\\n\\n#nfpo {\\n height: 250px;\\n margin: 0 0 0 0;\\n color: #5fbeef;\\n background-color: #f8f8f8;\\n border: 1px solid #ebebeb;\\n}\\n\\n#i8hwhx {\\n height: 41px;\\n}\\n\\n#icqxqg {\\n max-width: 1169px;\\n margin: 11px auto 0 auto;\\n height: 20px;\\n}\\n\\n#ilzb8l {\\n color: #787878;\\n margin: 6px auto 0 auto;\\n text-align: left;\\n}\\n\\n#i2tu39 {\\n color: #b1b1b1;\\n font-family: \\\"Open Sans\\\", sans-serif;\\n font-size: 12px;\\n background-color: #fafafa;\\n}\\n\\n.menubtn {\\n display: none;\\n}\\n\\n.ldnbtn:hover {\\n color: #5f75ef;\\n background-color: #ffffff;\\n}\\n\\n.ldnbtn {\\n color: #ffffff;\\n font-family: Trebuchet MS, Helvetica, sans-serif;\\n border-radius: 178px;\\n border: 1px solid #5f75ef;\\n padding: 15px 15px 15px 15px;\\n background-color: #2f365c;\\n transition: all 0.5s ease;\\n font-size: 33px;\\n margin-top: 20px;\\n display: flex;\\n width: 169px;\\n height: 67px;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n#io85kh {\\n margin-left: auto;\\n}\\n\\n#i5xbs {\\n padding-top: 64px;\\n}\\n\\n#osyvm {\\n position: fixed;\\n top: 0;\\n}\\n\\n@media screen and (min-width: 768px) and (max-width: 992px) {\\n #iqr1jv {\\n text-align: center;\\n }\\n\\n #i4fzyu {\\n display: flex;\\n flex-direction: column;\\n }\\n\\n #i8satl {\\n width: 200px;\\n height: 200px;\\n }\\n\\n #itwn15 {\\n font-size: 30px;\\n }\\n\\n .img-content {\\n padding: 0 0 0 0;\\n }\\n\\n #ilrcrh {\\n display: flex;\\n align-items: center;\\n }\\n\\n #ikezue {\\n padding: 30px 0;\\n }\\n\\n .lp-titulo {\\n font-size: 30px;\\n }\\n\\n #ionzhv {\\n padding: 30px 30px;\\n width: 250px;\\n height: 250px;\\n }\\n\\n #i4ne8h {\\n flex-direction: column;\\n }\\n\\n #i4ne8h {\\n margin: 0 0 0 0;\\n padding-top: 20px;\\n }\\n\\n #ij92nh {\\n height: 100%;\\n }\\n}\\n\\n@media screen and (min-width: 576px) and (max-width: 768px) {\\n #iqr1jv {\\n text-align: center;\\n }\\n\\n #io85kh {\\n margin-left: auto;\\n margin-right: auto;\\n }\\n\\n #i8hwhx {\\n padding-left: 40px;\\n }\\n\\n #nfpo {\\n height: 700px;\\n }\\n\\n #ugno1 {\\n flex-direction: column;\\n text-align: left;\\n padding-left: 50px;\\n }\\n\\n .ngus1 {\\n margin-bottom: 30px;\\n }\\n\\n .lp-grid-container2 {\\n gap: 5px;\\n }\\n\\n .fkgn2 {\\n height: 550px;\\n }\\n\\n .lp-grid-container {\\n grid-template-columns: repeat(1, 1fr);\\n grid-template-rows: repeat(1, 1fr);\\n }\\n\\n .text-panel {\\n max-width: 100%;\\n }\\n\\n #ipfrgg {\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n text-align: left;\\n }\\n\\n #iossk {\\n text-align: center;\\n }\\n\\n #i8satl {\\n width: 200px;\\n height: 200px;\\n margin: 0 0 0 0;\\n }\\n\\n #itwn15 {\\n font-size: 30px;\\n }\\n\\n .img-content {\\n padding: 0 0 0 0;\\n max-width: 100%;\\n }\\n\\n #ilrcrh {\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n height: 513px;\\n }\\n\\n #ikezue {\\n padding: 0 10px 0 10px;\\n text-align: center;\\n }\\n\\n .lp-titulo {\\n font-size: 30px;\\n }\\n\\n #ionzhv {\\n padding: 0 0 0 0;\\n width: 200px;\\n height: 200px;\\n }\\n\\n #i4ne8h {\\n flex-direction: column;\\n }\\n\\n #i4ne8h {\\n margin: 0 0 0 0;\\n padding-top: 20px;\\n }\\n\\n #ij92nh {\\n height: 100%;\\n }\\n}\\n\\n@media screen and (max-width: 575px) {\\n #iqr1jv {\\n text-align: center;\\n }\\n\\n #io85kh {\\n margin-left: auto;\\n margin-right: auto;\\n }\\n\\n .menu-item {\\n padding-left: 15px;\\n }\\n\\n .lp-text-menu {\\n font-size: 20px;\\n }\\n\\n .lpxme {\\n display: none;\\n }\\n\\n #vopd3 {\\n margin-right: 0;\\n }\\n\\n .menu-item {\\n background-color: white;\\n }\\n\\n .menu-navbar {\\n display: flex;\\n flex-direction: column;\\n }\\n\\n #menuitems2 {\\n display: none;\\n flex-direction: column;\\n justify-content: flex-start;\\n }\\n\\n .menubtn {\\n display: block;\\n width: 50px;\\n height: 50px;\\n }\\n\\n .lp-grid-container2 {\\n grid-template-columns: repeat(1, 1fr);\\n grid-template-rows: repeat(1, 1fr);\\n }\\n\\n #igzyh1 {\\n width: 285px;\\n }\\n\\n .menu-content {\\n padding-left: 20px;\\n padding-right: 20px;\\n }\\n\\n #ihvfri {\\n font-size: 25px;\\n }\\n\\n ul.right {\\n height: 55px;\\n }\\n\\n .menu-navbar {\\n padding-left: 10px;\\n padding-right: 10px;\\n }\\n\\n nav ul a {\\n padding-left: 5px;\\n padding-right: 5px;\\n }\\n\\n #i8hwhx {\\n padding-left: 40px;\\n }\\n\\n #nfpo {\\n height: 700px;\\n }\\n\\n #ugno1 {\\n flex-direction: column;\\n text-align: left;\\n padding-left: 50px;\\n }\\n\\n .ngus1 {\\n margin-bottom: 30px;\\n }\\n\\n .lp-grid-container2 {\\n gap: 5px;\\n }\\n\\n .fkgn2 {\\n height: 610px;\\n }\\n\\n .lp-grid-container {\\n grid-template-columns: repeat(1, 1fr);\\n grid-template-rows: repeat(1, 1fr);\\n }\\n\\n .text-panel {\\n max-width: 100%;\\n }\\n\\n #ipfrgg {\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n text-align: left;\\n padding-left: 0;\\n padding-right: 0;\\n }\\n\\n #iossk {\\n text-align: center;\\n }\\n\\n #i8satl {\\n width: 200px;\\n height: 200px;\\n margin: 0 0 0 0;\\n }\\n\\n #itwn15 {\\n font-size: 25px;\\n }\\n\\n .img-content {\\n padding: 0 0 0 0;\\n max-width: 100%;\\n }\\n\\n #ilrcrh {\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n height: 635px;\\n }\\n\\n #ikezue {\\n padding: 0 10px 0 10px;\\n text-align: center;\\n }\\n\\n .lp-titulo {\\n font-size: 30px;\\n }\\n\\n #ionzhv {\\n padding: 0 0 0 0;\\n width: 200px;\\n height: 200px;\\n }\\n\\n #i4ne8h {\\n flex-direction: column;\\n }\\n\\n #i4ne8h {\\n margin: 0 0 0 0;\\n padding-top: 20px;\\n }\\n\\n #ij92nh {\\n height: 100%;\\n }\\n}\\n\\nnav {\\n box-shadow: none;\\n background-color: #ffffff;\\n}\\n\\n.pesquisa-menu form {\\n position: relative;\\n height: 100%;\\n background: inherit;\\n margin: 0;\\n}\\n\\n.pesquisa-menu .search-close-icon {\\n display: none !important;\\n position: absolute;\\n top: 0;\\n left: 100% !important;\\n padding-left: 0px;\\n color: rgba(0, 0, 0, 0.54);\\n transition: color 0.2s;\\n cursor: pointer;\\n}\\n\\n.pesquisa-menu input.search-field {\\n font-weight: 500;\\n color: rgba(0, 0, 0, 0.54);\\n border: 0;\\n height: 36px;\\n padding: 8px 8px 8px 60px;\\n width: 0px;\\n background: transparent;\\n transition: background 0.2s, width 0.2s 0.2s;\\n margin-top: 5px;\\n}\\n\\n.pesquisa-menu input.search-field:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.pesquisa-menu .searchbox {\\n position: relative;\\n}\\n\\n.pesquisa-menu ::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu input.search-field:focus {\\n outline: none;\\n width: 200px;\\n color: #212121;\\n background: #f7f7f7;\\n transition: width 0.2s 0s;\\n}\\n\\n.pesquisa-menu input.search-field:focus:hover {\\n background: #f7f7f7;\\n}\\n\\n.pesquisa-menu input.search-field + label {\\n color: #f7f7f7;\\n}\\n\\n.pesquisa-menu input.search-field:focus + label {\\n color: #303c42;\\n}\\n\\n.pesquisa-menu .search-icon {\\n position: absolute;\\n top: 0;\\n padding-left: 20px;\\n}\\n\\n.pesquisa-menu .search-content {\\n color: #303c42;\\n width: 90%;\\n margin: auto;\\n height: auto;\\n padding: 8px 10px;\\n}\\n\\n.pesquisa-menu .search-heading {\\n color: #393737;\\n display: block;\\n font-size: 0.8rem;\\n line-height: 2rem;\\n float: left;\\n}\\n\\n.pesquisa-menu .search-heading-icon {\\n float: right;\\n font-size: 1.3em;\\n line-height: 1.3em;\\n height: 1.3em;\\n cursor: pointer;\\n}\\n\\n.pesquisa-menu .search-heading-icon:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup {\\n overflow: hidden;\\n left: 0px;\\n min-height: 50px;\\n max-height: 700px;\\n width: auto;\\n top: 55px;\\n visibility: hidden;\\n z-index: 1000;\\n position: absolute;\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\\n transition: width 0.2s, top 0.2s ease-in-out;\\n border-radius: 2px;\\n background-color: #fff;\\n min-width: 200px;\\n transition: visibility 0.1s 0.1s;\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup li {\\n width: 100%;\\n height: 32px;\\n line-height: 32px;\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup li a {\\n font-size: 0.8rem;\\n white-space: nowrap;\\n width: 100%;\\n}\\n\\n.pesquisa-menu input.search-field:focus ~ .search-popup {\\n visibility: visible;\\n}\\n\\n.logo-topo-home {\\n height: 100%;\\n}\\n\\n.wapper-logo-topo-home {\\n height: 100%;\\n padding: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9sYW5kaW5nLXBhZ2UvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcbGFuZGluZy1wYWdlXFxsYW5kaW5nLXBhZ2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGFBQUE7QUNDSjs7QURFRTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7QUNDSjs7QURFRTtFQUNFLGFBQUE7QUNDSjs7QURFRTtFQUNFLHlCQUFBO0FDQ0o7O0FERUU7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxvREFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FDQ0o7O0FERUU7RUFDRSxzQkFBQTtFQUNBLDBCQUFBO0FDQ0o7O0FERUU7RUFDRSxXQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0FDQ0o7O0FERUU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUNDSjs7QURFRTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FDQ0o7O0FERUU7RUFDRSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ0NKOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBQ0NG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QSx5QkFBQTtFQUNBLHlCQUFBO0FDREY7O0FESUE7RUFDRSxZQUFBO0FDREY7O0FESUE7RUFDRSxpQkFBQTtFQUNBLHdCQUFBO0VBQ0EsWUFBQTtBQ0RGOztBRElBO0VBQ0UsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7QUNERjs7QURJQTtFQUNFLGNBQUE7RUFDQSxvQ0FBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtBQ0RGOztBRElBO0VBQ0UsYUFBQTtBQ0RGOztBRElBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBO0FDREY7O0FESUE7RUFDRSxjQUFBO0VBQ0EsZ0RBQUE7RUFDQSxvQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBQ0RGOztBRElBO0VBQ0UsaUJBQUE7QUNERjs7QURJQTtFQUNFLGlCQUFBO0FDREY7O0FESUE7RUFDRSxlQUFBO0VBQ0EsTUFBQTtBQ0RGOztBRElBO0VBRUU7SUFDRSxrQkFBQTtFQ0ZGOztFREtBO0lBQ0UsYUFBQTtJQUNBLHNCQUFBO0VDRkY7O0VES0E7SUFDRSxZQUFBO0lBQ0EsYUFBQTtFQ0ZGOztFREtBO0lBQ0UsZUFBQTtFQ0ZGOztFREtBO0lBQ0UsZ0JBQUE7RUNGRjs7RURLQTtJQUNFLGFBQUE7SUFDQSxtQkFBQTtFQ0ZGOztFREtBO0lBQ0UsZUFBQTtFQ0ZGOztFREtBO0lBQ0UsZUFBQTtFQ0ZGOztFREtBO0lBQ0Usa0JBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtFQ0ZGOztFREtBO0lBQ0Usc0JBQUE7RUNGRjs7RURLQTtJQUNFLGVBQUE7SUFDQSxpQkFBQTtFQ0ZGOztFREtBO0lBQ0UsWUFBQTtFQ0ZGO0FBQ0Y7O0FETUE7RUFFRTtJQUNFLGtCQUFBO0VDTEY7O0VEUUE7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VDTEY7O0VEUUE7SUFDRSxrQkFBQTtFQ0xGOztFRFFBO0lBQ0UsYUFBQTtFQ0xGOztFRFFBO0lBQ0Usc0JBQUE7SUFDQSxnQkFBQTtJQUNBLGtCQUFBO0VDTEY7O0VEUUE7SUFDRSxtQkFBQTtFQ0xGOztFRFFBO0lBQ0UsUUFBQTtFQ0xGOztFRFFBO0lBQ0UsYUFBQTtFQ0xGOztFRFFBO0lBQ0UscUNBQUE7SUFDQSxrQ0FBQTtFQ0xGOztFRFFBO0lBQ0UsZUFBQTtFQ0xGOztFRFFBO0lBQ0UsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsZUFBQTtJQUNBLGdCQUFBO0VDTEY7O0VEUUE7SUFDRSxrQkFBQTtFQ0xGOztFRFFBO0lBQ0UsWUFBQTtJQUNBLGFBQUE7SUFDQSxlQUFBO0VDTEY7O0VEUUE7SUFDRSxlQUFBO0VDTEY7O0VEUUE7SUFDRSxnQkFBQTtJQUNBLGVBQUE7RUNMRjs7RURRQTtJQUNFLGFBQUE7SUFDQSxtQkFBQTtJQUNBLHNCQUFBO0lBQ0EsYUFBQTtFQ0xGOztFRFFBO0lBQ0Usc0JBQUE7SUFDQSxrQkFBQTtFQ0xGOztFRFFBO0lBQ0UsZUFBQTtFQ0xGOztFRFFBO0lBQ0UsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtFQ0xGOztFRFFBO0lBQ0Usc0JBQUE7RUNMRjs7RURRQTtJQUNFLGVBQUE7SUFDQSxpQkFBQTtFQ0xGOztFRFFBO0lBQ0UsWUFBQTtFQ0xGO0FBQ0Y7O0FEVUE7RUFFRTtJQUNFLGtCQUFBO0VDVEY7O0VEWUE7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VDVEY7O0VEWUE7SUFDRSxrQkFBQTtFQ1RGOztFRFlBO0lBQ0UsZUFBQTtFQ1RGOztFRFlBO0lBQ0UsYUFBQTtFQ1RGOztFRFlBO0lBQ0UsZUFBQTtFQ1RGOztFRFlBO0lBQ0UsdUJBQUE7RUNURjs7RURZQTtJQUNFLGFBQUE7SUFDQSxzQkFBQTtFQ1RGOztFRFlBO0lBQ0UsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsMkJBQUE7RUNURjs7RURZQTtJQUNFLGNBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtFQ1RGOztFRFlBO0lBQ0UscUNBQUE7SUFDQSxrQ0FBQTtFQ1RGOztFRFlBO0lBQ0UsWUFBQTtFQ1RGOztFRFlBO0lBQ0Usa0JBQUE7SUFDQSxtQkFBQTtFQ1RGOztFRFlBO0lBQ0UsZUFBQTtFQ1RGOztFRFlBO0lBQ0UsWUFBQTtFQ1RGOztFRFlBO0lBQ0Usa0JBQUE7SUFDQSxtQkFBQTtFQ1RGOztFRFlBO0lBQ0UsaUJBQUE7SUFDQSxrQkFBQTtFQ1RGOztFRFlBO0lBQ0Usa0JBQUE7RUNURjs7RURZQTtJQUNFLGFBQUE7RUNURjs7RURZQTtJQUNFLHNCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxrQkFBQTtFQ1RGOztFRFlBO0lBQ0UsbUJBQUE7RUNURjs7RURZQTtJQUNFLFFBQUE7RUNURjs7RURZQTtJQUNFLGFBQUE7RUNURjs7RURZQTtJQUNFLHFDQUFBO0lBQ0Esa0NBQUE7RUNURjs7RURZQTtJQUNFLGVBQUE7RUNURjs7RURZQTtJQUNFLGFBQUE7SUFDQSxzQkFBQTtJQUNBLGVBQUE7SUFDQSxnQkFBQTtJQUNBLGVBQUE7SUFDQSxnQkFBQTtFQ1RGOztFRFlBO0lBQ0Usa0JBQUE7RUNURjs7RURZQTtJQUNFLFlBQUE7SUFDQSxhQUFBO0lBQ0EsZUFBQTtFQ1RGOztFRFlBO0lBQ0UsZUFBQTtFQ1RGOztFRFlBO0lBQ0UsZ0JBQUE7SUFDQSxlQUFBO0VDVEY7O0VEWUE7SUFDRSxhQUFBO0lBQ0EsbUJBQUE7SUFDQSxzQkFBQTtJQUNBLGFBQUE7RUNURjs7RURZQTtJQUNFLHNCQUFBO0lBQ0Esa0JBQUE7RUNURjs7RURZQTtJQUNFLGVBQUE7RUNURjs7RURZQTtJQUNFLGdCQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7RUNURjs7RURZQTtJQUNFLHNCQUFBO0VDVEY7O0VEWUE7SUFDRSxlQUFBO0lBQ0EsaUJBQUE7RUNURjs7RURZQTtJQUNFLFlBQUE7RUNURjtBQUNGOztBRGFFO0VBQ0UsZ0JBQUE7RUFDQSx5QkFBQTtBQ1hKOztBRGVJO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FDWk47O0FEZUk7RUFDRSx3QkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtBQ2JOOztBRGdCSTtFQUNFLGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLHVCQUFBO0VBQ0EsNENBQUE7RUFDQSxlQUFBO0FDZE47O0FEZ0JJO0VBQ0Usb0NBQUE7QUNkTjs7QURnQkk7RUFDRSxrQkFBQTtBQ2ROOztBRGdCSTtFQUNFLHlDQUFBO0VBQ0EsMEJBQUE7QUNkTjs7QURZSTtFQUNFLHlDQUFBO0VBQ0EsMEJBQUE7QUNkTjs7QURZSTtFQUNFLHlDQUFBO0VBQ0EsMEJBQUE7QUNkTjs7QURZSTtFQUNFLHlDQUFBO0VBQ0EsMEJBQUE7QUNkTjs7QURnQkk7RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0FDZE47O0FEZ0JJO0VBQ0UsbUJBQUE7QUNkTjs7QURnQkk7RUFDRSxjQUFBO0FDZE47O0FEZ0JJO0VBQ0UsY0FBQTtBQ2ROOztBRGdCSTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLGtCQUFBO0FDZE47O0FEZ0JJO0VBQ0UsY0FBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FDZE47O0FEZ0JJO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtBQ2ROOztBRGdCSTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7QUNkTjs7QURnQkk7RUFDRSxvQ0FBQTtBQ2ROOztBRGdCSTtFQUNFLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsK0dBQUE7RUFFQSw0Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdDQUFBO0FDZk47O0FEaUJNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBQ2ZSOztBRGlCUTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0FDZlY7O0FEbUJJO0VBQ0UsbUJBQUE7QUNqQk47O0FEcUJFO0VBQ0UsWUFBQTtBQ2xCSjs7QURxQkU7RUFDRSxZQUFBO0VBQ0EsWUFBQTtBQ2xCSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53YXJwcGVyLW1lbnUtaG9tZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBcclxuICAubWVudS1kcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC5tZW51LWRyb3Bkb3duLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBcclxuICAubWVudS1kcm9wZG93bi1zaG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5tZW51LWRyb3Bkb3duLWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tNCk7XHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG4gIFxyXG4gIC5tZW51LWRyb3Bkb3duLWNvbnRlbnQgLmRpdmlkZXIge1xyXG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAubWVudS1kcm9wZG93bi1jb250ZW50IGxpIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuICBcclxuICAubWVudS1kcm9wZG93bi1jb250ZW50IGxpID4gYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub21lLXVzdWFyaW8ge1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub21lLWVtcHJlc2Ege1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgfVxyXG4gIFxyXG4ubWVudS1uYXZiYXIge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICBtYXgtd2lkdGg6IDEyMDBweDtcclxufVxyXG5cclxuLmJvZHktbmF2YmFyIHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuXHJcbi5idXR0b24tbGFuZGluZy1wYWdlIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5scC10ZXh0LW1lbnUge1xyXG4gIGNvbG9yOiAjNWY3NWVmO1xyXG59XHJcblxyXG4ubHAtdGV4dDIge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubWVudS1jb250ZW50IHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuXHJcbi5pNGZ6eXUge1xyXG4gIHBhZGRpbmc6IDMwcHggMzBweDtcclxuICBtYXgtd2lkdGg6IDUwJTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuXHJcbi50ZXh0LXBhbmVsIHtcclxuICBwYWRkaW5nOiAzMHB4IDMwcHg7XHJcbiAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5scC10ZXh0IHtcclxuICBmb250LWZhbWlseTogVHJlYnVjaGV0IE1TLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbiNpdHduMTUge1xyXG4gIGZvbnQtc2l6ZTogNDRweDtcclxufVxyXG5cclxuLmltZy1jb250ZW50IHtcclxuICBwYWRkaW5nOiAzMHB4IDMwcHg7XHJcbiAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbiNpOHNhdGwge1xyXG4gIHBhZGRpbmc6IDMwcHggMzBweDtcclxuICBtYXJnaW46IDAgMzBweCAwIDMwcHg7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbiNpb256aHYge1xyXG4gIHBhZGRpbmc6IDMwcHggMzBweDtcclxuICB3aWR0aDogMzMwcHg7XHJcbiAgaGVpZ2h0OiAzMzBweDtcclxufVxyXG5cclxuI2lscmNyaCB7XHJcbiAgbWF4LXdpZHRoOiAxMTY5cHg7XHJcbiAgbWFyZ2luOiA2N3B4IGF1dG8gMCBhdXRvO1xyXG4gIGhlaWdodDogMzg1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllZGFmZjtcclxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG59XHJcblxyXG4ubHAtdGl0dWxvIHtcclxuICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAzNHB4O1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmxwLXRleHQzIHtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBmb250LWZhbWlseTogVHJlYnVjaGV0IE1TLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuI2k2YW1vbCB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5cclxuI2lxcjFqdiB7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgbWFyZ2luLXRvcDogNjBweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4jaTRuZThoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWVkYWZmO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcclxufVxyXG5cclxuI2l3aGxvcCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuI2k0bmU4aDIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWRhZmY7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcclxufVxyXG5cclxuLmltZ2ltZyB7XHJcbiAgd2lkdGg6IDE1OHB4O1xyXG4gIGhlaWdodDogMTU4cHg7XHJcbn1cclxuXHJcbi5scC1ncmlkLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZ3JpZDsgXHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgXHJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTsgXHJcbiAgZ2FwOiA0MHB4OyBcclxufVxyXG5cclxuLmdyaWQtaXRlbSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5scC1ncmlkLWNvbnRhaW5lcjIge1xyXG4gIGRpc3BsYXk6IGdyaWQ7IFxyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IFxyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIDFmcik7IFxyXG4gIGdhcDogNDBweDsgXHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZ3JpZC1pdGVtMiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5scC1pbWctZ3JpZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGhlaWdodDogMzg1cHg7XHJcbiAgbWFyZ2luOiAwIDIwIDAgMjA7XHJcbn1cclxuXHJcbi5scC1pbWctZ3JpZDIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwIDIwIDAgMjA7XHJcbn1cclxuXHJcbi5pdGVtLXRpdHVsbyB7XHJcbiAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcclxuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMzRweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5pdGVtLXRleHRvIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uaXRlbS10ZXh0bzIge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgY29sb3I6ICM1ZmJlZWY7XHJcbiAgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5ib3gtaXRlbS10aXR1bG8ge1xyXG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4O1xyXG59XHJcblxyXG4uZmtnbjIge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuXHJcbi5hbWtvcDEge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuI2NkZ3FhNyB7XHJcbiAgd2lkdGg6IDI1MHB4O1xyXG4gIGhlaWdodDogMjUwcHg7XHJcbn1cclxuXHJcbiNpaHdsZWEge1xyXG4gIGhlaWdodDogNDI3cHg7XHJcbiAgbWFyZ2luOiAwIDAgMCAwO1xyXG4gIGNvbG9yOiAjNWZiZWVmO1xyXG59XHJcblxyXG4uYXJvdyB7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5hY2VsbCB7XHJcbiAgLyogd2lkdGg6IDE3JTsgKi9cclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIGhlaWdodDogODRweDtcclxufVxyXG5cclxuI2l3bW01aiB7XHJcbiAgaGVpZ2h0OiAzNzNweDtcclxuICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgY29sb3I6ICM1ZmJlZWY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xyXG59XHJcblxyXG4jaWJvbDE4IHtcclxuICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyNHB4O1xyXG4gIHdpZHRoOiA2NzFweDtcclxuICBoZWlnaHQ6IDkzcHg7XHJcbiAgZm9udC1zaXplOiA0NHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA2M3B4O1xyXG4gIGNvbG9yOiAjNWZiZWVmO1xyXG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiNpNGM0ZnQge1xyXG4gIG1heC13aWR0aDogMTE2OXB4O1xyXG4gIG1hcmdpbjogMTFweCBhdXRvIDAgYXV0bztcclxuICBoZWlnaHQ6IDMwMXB4O1xyXG59XHJcblxyXG4jYWtkaDIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuI2l3bW01aiB7XHJcbiAgaGVpZ2h0OiAzNzNweDtcclxuICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgY29sb3I6ICM1ZmJlZWY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xyXG59XHJcblxyXG4ubHAtaWNvbiB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICB3aWR0aDogMTIxcHg7XHJcbiAgaGVpZ2h0OiAxMjFweDtcclxufVxyXG5cclxuXHJcbi5scC1ncmF5IHtcclxuICBoZWlnaHQ6IDM3M3B4O1xyXG4gIG1hcmdpbjogMCAwIDAgMDtcclxuICBjb2xvcjogIzVmYmVlZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XHJcbn1cclxuXHJcbiNpZ3p5aDEge1xyXG4gIGhlaWdodDogMjgwcHg7XHJcbiAgd2lkdGg6IDMxMnB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItcmFkaXVzOiAyMXB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCA2cHggLTFweCBibGFjaztcclxufVxyXG5cclxuI2k1Z2lnYyB7XHJcbiAgaGVpZ2h0OiAxNzZweDtcclxufVxyXG5cclxuI2l3MjhwNyB7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIHdpZHRoOiAzMTFweDtcclxuICBoZWlnaHQ6IDE3NXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE5cHggMTlweCAwIDA7XHJcbn1cclxuXHJcbi5pbWFnZS1ibG9nLXBvc3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICBib3JkZXItcmFkaXVzOiAxOXB4IDE5cHggMCAwO1xyXG59XHJcblxyXG4jaWJtZGY4IHtcclxuICBjb2xvcjogIzVmYmVlZjtcclxuICBtYXJnaW46IDAgYXV0byAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4jaWoxNzRhIHtcclxuICBoZWlnaHQ6IDEwNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgcGFkZGluZzogMjZweCAxMHB4IDAgMTBweDtcclxuICBib3JkZXItcmFkaXVzOiAwIDAgMTlweCAxOXB4O1xyXG59XHJcblxyXG4jaWVrNWhjIHtcclxuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4jaXZzc2RxIHtcclxuICBoZWlnaHQ6IDI2OXB4O1xyXG4gIG1hcmdpbjogMCAwIDAgMDtcclxuICBjb2xvcjogIzVmYmVlZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XHJcbn1cclxuXHJcbiNpdnhqbXIge1xyXG4gIG1heC13aWR0aDogMTE2OXB4O1xyXG4gIG1hcmdpbjogMTFweCBhdXRvIDAgYXV0bztcclxuICBoZWlnaHQ6IDI0N3B4O1xyXG59XHJcblxyXG4jaXhxZzk4IHtcclxuICBoZWlnaHQ6IDE4MnB4O1xyXG4gIHdpZHRoOiAyNjJweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwIDAgMCAwO1xyXG59XHJcblxyXG4jaW1jMjIzIHtcclxuICBoZWlnaHQ6IDU2cHg7XHJcbn1cclxuXHJcbiNpNHIxNzEge1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBsaW5lLWhlaWdodDogNjNweDtcclxuICBjb2xvcjogIzc4Nzg3ODtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4jaTBzdmRkIHtcclxuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gIGNvbG9yOiAjNWZiZWVmO1xyXG59XHJcblxyXG4jdWdubzEge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuXHJcbiNpbWpscGcge1xyXG4gIHdpZHRoOiAxNzZweDtcclxuICBoZWlnaHQ6IDg4cHg7XHJcbn1cclxuXHJcbiNuZnBvIHtcclxuICBoZWlnaHQ6IDI1MHB4O1xyXG4gIG1hcmdpbjogMCAwIDAgMDtcclxuICBjb2xvcjogIzVmYmVlZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XHJcbn1cclxuXHJcbiNpOGh3aHgge1xyXG4gIGhlaWdodDogNDFweDtcclxufVxyXG5cclxuI2ljcXhxZyB7XHJcbiAgbWF4LXdpZHRoOiAxMTY5cHg7XHJcbiAgbWFyZ2luOiAxMXB4IGF1dG8gMCBhdXRvO1xyXG4gIGhlaWdodDogMjBweDtcclxufVxyXG5cclxuI2lsemI4bCB7XHJcbiAgY29sb3I6ICM3ODc4Nzg7XHJcbiAgbWFyZ2luOiA2cHggYXV0byAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuI2kydHUzOSB7XHJcbiAgY29sb3I6IHJnYigxNzcsIDE3NywgMTc3KTtcclxuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgMjUwLCAyNTApO1xyXG59XHJcblxyXG4ubWVudWJ0biB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmxkbmJ0bjpob3ZlciB7XHJcbiAgY29sb3I6ICM1Zjc1ZWY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLmxkbmJ0biB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE3OHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICM1Zjc1ZWY7XHJcbiAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYzNjVjO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgZm9udC1zaXplOiAzM3B4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogMTY5cHg7XHJcbiAgaGVpZ2h0OiA2N3B4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbiNpbzg1a2gge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4jaTV4YnMge1xyXG4gIHBhZGRpbmctdG9wOiA2NHB4O1xyXG59XHJcblxyXG4jb3N5dm0ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcclxuXHJcbiAgI2lxcjFqdiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAjaTRmenl1IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgI2k4c2F0bCB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gIH1cclxuXHJcbiAgI2l0d24xNSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuaW1nLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAwIDAgMDtcclxuICB9XHJcblxyXG4gICNpbHJjcmgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAjaWtlenVlIHtcclxuICAgIHBhZGRpbmc6IDMwcHggMDtcclxuICB9XHJcblxyXG4gIC5scC10aXR1bG8ge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgI2lvbnpodiB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHg7XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gIH1cclxuXHJcbiAgI2k0bmU4aCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgI2k0bmU4aCB7XHJcbiAgICBtYXJnaW46IDAgMCAwIDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICB9XHJcblxyXG4gICNpajkybmgge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgI2lxcjFqdiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAjaW84NWtoIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAjaThod2h4IHtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICB9XHJcblxyXG4gICNuZnBvIHtcclxuICAgIGhlaWdodDogNzAwcHg7XHJcbiAgfVxyXG5cclxuICAjdWdubzEge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgfVxyXG5cclxuICAubmd1czEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIC5scC1ncmlkLWNvbnRhaW5lcjIge1xyXG4gICAgZ2FwOiA1cHg7XHJcbiAgfVxyXG5cclxuICAuZmtnbjIge1xyXG4gICAgaGVpZ2h0OiA1NTBweDtcclxuICB9XHJcblxyXG4gIC5scC1ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgMWZyKTtcclxuICB9XHJcblxyXG4gIC50ZXh0LXBhbmVsIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICNpcGZyZ2cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICBcclxuICAjaW9zc2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgI2k4c2F0bCB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMCAwO1xyXG4gIH1cclxuXHJcbiAgI2l0d24xNSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuaW1nLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAwIDAgMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICNpbHJjcmgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiA1MTNweDtcclxuICB9XHJcblxyXG4gICNpa2V6dWUge1xyXG4gICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5scC10aXR1bG8ge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgI2lvbnpodiB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICB9XHJcblxyXG4gICNpNG5lOGgge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcblxyXG4gICNpNG5lOGgge1xyXG4gICAgbWFyZ2luOiAwIDAgMCAwO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAjaWo5Mm5oIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcclxuXHJcbiAgI2lxcjFqdiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAjaW84NWtoIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLm1lbnUtaXRlbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAubHAtdGV4dC1tZW51IHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcblxyXG4gIC5scHhtZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgI3ZvcGQzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIC5tZW51LWl0ZW0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAubWVudS1uYXZiYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAjbWVudWl0ZW1zMiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICB9XHJcblxyXG4gIC5tZW51YnRuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgfVxyXG5cclxuICAubHAtZ3JpZC1jb250YWluZXIyIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCAxZnIpO1xyXG4gIH1cclxuXHJcbiAgI2lnenloMSB7XHJcbiAgICB3aWR0aDogMjg1cHg7XHJcbiAgfVxyXG5cclxuICAubWVudS1jb250ZW50IHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAjaWh2ZnJpIHtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICB9XHJcblxyXG4gIHVsLnJpZ2h0IHtcclxuICAgIGhlaWdodDogNTVweDtcclxuICB9XHJcblxyXG4gIC5tZW51LW5hdmJhciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgbmF2IHVsIGEge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG5cclxuICAjaThod2h4IHtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICB9XHJcblxyXG4gICNuZnBvIHtcclxuICAgIGhlaWdodDogNzAwcHg7XHJcbiAgfVxyXG5cclxuICAjdWdubzEge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgfVxyXG5cclxuICAubmd1czEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIC5scC1ncmlkLWNvbnRhaW5lcjIge1xyXG4gICAgZ2FwOiA1cHg7XHJcbiAgfVxyXG5cclxuICAuZmtnbjIge1xyXG4gICAgaGVpZ2h0OiA2MTBweDtcclxuICB9XHJcblxyXG4gIC5scC1ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgMWZyKTtcclxuICB9XHJcblxyXG4gIC50ZXh0LXBhbmVsIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICNpcGZyZ2cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbiAgXHJcbiAgI2lvc3NrIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gICNpOHNhdGwge1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbjogMCAwIDAgMDtcclxuICB9XHJcblxyXG4gICNpdHduMTUge1xyXG4gICAgZm9udC1zaXplOiAyNXB4O1xyXG4gIH1cclxuXHJcbiAgLmltZy1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjaWxyY3JoIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGhlaWdodDogNjM1cHg7XHJcbiAgfVxyXG5cclxuICAjaWtlenVlIHtcclxuICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAubHAtdGl0dWxvIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICB9XHJcblxyXG4gICNpb256aHYge1xyXG4gICAgcGFkZGluZzogMCAwIDAgMDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgfVxyXG5cclxuICAjaTRuZThoIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAjaTRuZThoIHtcclxuICAgIG1hcmdpbjogMCAwIDAgMDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgI2lqOTJuaCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuICBuYXYge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5wZXNxdWlzYS1tZW51IHtcclxuICAgIGZvcm0ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLnNlYXJjaC1jbG9zZS1pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICBcclxuICAgIGlucHV0LnNlYXJjaC1maWVsZCB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggNjBweDtcclxuICAgICAgd2lkdGg6IDBweDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgd2lkdGggMC4ycyAwLjJzO1xyXG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dC5zZWFyY2gtZmllbGQ6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoYm94IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xyXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcclxuICAgIH1cclxuICAgIGlucHV0LnNlYXJjaC1maWVsZDpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgY29sb3I6ICMyMTIxMjE7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgMHM7XHJcbiAgICB9XHJcbiAgICBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXM6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG4gICAgfVxyXG4gICAgaW5wdXQuc2VhcmNoLWZpZWxkICsgbGFiZWwge1xyXG4gICAgICBjb2xvcjogI2Y3ZjdmNztcclxuICAgIH1cclxuICAgIGlucHV0LnNlYXJjaC1maWVsZDpmb2N1cyArIGxhYmVsIHtcclxuICAgICAgY29sb3I6ICMzMDNjNDI7XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoLWljb24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1jb250ZW50IHtcclxuICAgICAgY29sb3I6ICMzMDNjNDI7XHJcbiAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICAgIH1cclxuICAgIC5zZWFyY2gtaGVhZGluZyB7XHJcbiAgICAgIGNvbG9yOiAjMzkzNzM3O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICAgIC5zZWFyY2gtaGVhZGluZy1pY29uIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDEuM2VtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbiAgICAgIGhlaWdodDogMS4zZW07XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC5zZWFyY2gtaGVhZGluZy1pY29uOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgfVxyXG4gICAgaW5wdXQuc2VhcmNoLWZpZWxkIH4gLnNlYXJjaC1wb3B1cCB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgICAgbWF4LWhlaWdodDogNzAwcHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB0b3A6IDU1cHg7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxyXG4gICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycywgdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjFzIDAuMXM7XHJcbiAgXHJcbiAgICAgIGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0LnNlYXJjaC1maWVsZDpmb2N1cyB+IC5zZWFyY2gtcG9wdXAge1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAubG9nby10b3BvLWhvbWUge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAud2FwcGVyLWxvZ28tdG9wby1ob21lIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuICB9XHJcbiAgIiwiLndhcnBwZXItbWVudS1ob21lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1lbnUtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbnUtZHJvcGRvd24tYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1lbnUtZHJvcGRvd24tc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tNCk7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWVudS1kcm9wZG93bi1jb250ZW50IC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQgbGkge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4ubWVudS1kcm9wZG93bi1jb250ZW50IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cblxuLm5vbWUtdXN1YXJpbyB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6IDE4MHB4O1xufVxuXG4ubm9tZS1lbXByZXNhIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5tZW51LW5hdmJhciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbi5ib2R5LW5hdmJhciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbi5idXR0b24tbGFuZGluZy1wYWdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubHAtdGV4dC1tZW51IHtcbiAgY29sb3I6ICM1Zjc1ZWY7XG59XG5cbi5scC10ZXh0MiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm1lbnUtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbi5pNGZ6eXUge1xuICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gIG1heC13aWR0aDogNTAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50ZXh0LXBhbmVsIHtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xuICBtYXgtd2lkdGg6IDYwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubHAtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cblxuI2l0d24xNSB7XG4gIGZvbnQtc2l6ZTogNDRweDtcbn1cblxuLmltZy1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xuICBtYXgtd2lkdGg6IDQwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jaThzYXRsIHtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xuICBtYXJnaW46IDAgMzBweCAwIDMwcHg7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAzMDBweDtcbn1cblxuI2lvbnpodiB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgd2lkdGg6IDMzMHB4O1xuICBoZWlnaHQ6IDMzMHB4O1xufVxuXG4jaWxyY3JoIHtcbiAgbWF4LXdpZHRoOiAxMTY5cHg7XG4gIG1hcmdpbjogNjdweCBhdXRvIDAgYXV0bztcbiAgaGVpZ2h0OiAzODVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllZGFmZjtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbn1cblxuLmxwLXRpdHVsbyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5scC10ZXh0MyB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuI2k2YW1vbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbiNpcXIxanYge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI2k0bmU4aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWRhZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG59XG5cbiNpd2hsb3Age1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4jaTRuZThoMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWRhZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuXG4uaW1naW1nIHtcbiAgd2lkdGg6IDE1OHB4O1xuICBoZWlnaHQ6IDE1OHB4O1xufVxuXG4ubHAtZ3JpZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IDQwcHg7XG59XG5cbi5ncmlkLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmxwLWdyaWQtY29udGFpbmVyMiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIDFmcik7XG4gIGdhcDogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ3JpZC1pdGVtMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ubHAtaW1nLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzODVweDtcbiAgbWFyZ2luOiAwIDIwIDAgMjA7XG59XG5cbi5scC1pbWctZ3JpZDIge1xuICBkaXNwbGF5OiBibG9jaztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAyMCAwIDIwO1xufVxuXG4uaXRlbS10aXR1bG8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaXRlbS10ZXh0byB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogVHJlYnVjaGV0IE1TLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmbG9hdDogbGVmdDtcbn1cblxuLml0ZW0tdGV4dG8yIHtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICM1ZmJlZWY7XG4gIGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uYm94LWl0ZW0tdGl0dWxvIHtcbiAgcGFkZGluZzogMTBweCAwIDEwcHg7XG59XG5cbi5ma2duMiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5hbWtvcDEge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbiNjZGdxYTcge1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG5cbiNpaHdsZWEge1xuICBoZWlnaHQ6IDQyN3B4O1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIGNvbG9yOiAjNWZiZWVmO1xufVxuXG4uYXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hY2VsbCB7XG4gIC8qIHdpZHRoOiAxNyU7ICovXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGhlaWdodDogODRweDtcbn1cblxuI2l3bW01aiB7XG4gIGhlaWdodDogMzczcHg7XG4gIG1hcmdpbjogMCAwIDAgMDtcbiAgY29sb3I6ICM1ZmJlZWY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG59XG5cbiNpYm9sMTgge1xuICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyNHB4O1xuICB3aWR0aDogNjcxcHg7XG4gIGhlaWdodDogOTNweDtcbiAgZm9udC1zaXplOiA0NHB4O1xuICBsaW5lLWhlaWdodDogNjNweDtcbiAgY29sb3I6ICM1ZmJlZWY7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jaTRjNGZ0IHtcbiAgbWF4LXdpZHRoOiAxMTY5cHg7XG4gIG1hcmdpbjogMTFweCBhdXRvIDAgYXV0bztcbiAgaGVpZ2h0OiAzMDFweDtcbn1cblxuI2FrZGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jaXdtbTVqIHtcbiAgaGVpZ2h0OiAzNzNweDtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBjb2xvcjogIzVmYmVlZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbn1cblxuLmxwLWljb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB3aWR0aDogMTIxcHg7XG4gIGhlaWdodDogMTIxcHg7XG59XG5cbi5scC1ncmF5IHtcbiAgaGVpZ2h0OiAzNzNweDtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBjb2xvcjogIzVmYmVlZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbn1cblxuI2lnenloMSB7XG4gIGhlaWdodDogMjgwcHg7XG4gIHdpZHRoOiAzMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICBib3gtc2hhZG93OiAwIDAgNnB4IC0xcHggYmxhY2s7XG59XG5cbiNpNWdpZ2Mge1xuICBoZWlnaHQ6IDE3NnB4O1xufVxuXG4jaXcyOHA3IHtcbiAgY29sb3I6IGJsYWNrO1xuICB3aWR0aDogMzExcHg7XG4gIGhlaWdodDogMTc1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE5cHggMTlweCAwIDA7XG59XG5cbi5pbWFnZS1ibG9nLXBvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogMTlweCAxOXB4IDAgMDtcbn1cblxuI2libWRmOCB7XG4gIGNvbG9yOiAjNWZiZWVmO1xuICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2lqMTc0YSB7XG4gIGhlaWdodDogMTA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDI2cHggMTBweCAwIDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxOXB4IDE5cHg7XG59XG5cbiNpZWs1aGMge1xuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuXG4jaXZzc2RxIHtcbiAgaGVpZ2h0OiAyNjlweDtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBjb2xvcjogIzVmYmVlZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbn1cblxuI2l2eGptciB7XG4gIG1heC13aWR0aDogMTE2OXB4O1xuICBtYXJnaW46IDExcHggYXV0byAwIGF1dG87XG4gIGhlaWdodDogMjQ3cHg7XG59XG5cbiNpeHFnOTgge1xuICBoZWlnaHQ6IDE4MnB4O1xuICB3aWR0aDogMjYycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAwO1xufVxuXG4jaW1jMjIzIHtcbiAgaGVpZ2h0OiA1NnB4O1xufVxuXG4jaTRyMTcxIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogNjNweDtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNpMHN2ZGQge1xuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzVmYmVlZjtcbn1cblxuI3Vnbm8xIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbiNpbWpscGcge1xuICB3aWR0aDogMTc2cHg7XG4gIGhlaWdodDogODhweDtcbn1cblxuI25mcG8ge1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIGNvbG9yOiAjNWZiZWVmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xufVxuXG4jaThod2h4IHtcbiAgaGVpZ2h0OiA0MXB4O1xufVxuXG4jaWNxeHFnIHtcbiAgbWF4LXdpZHRoOiAxMTY5cHg7XG4gIG1hcmdpbjogMTFweCBhdXRvIDAgYXV0bztcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4jaWx6YjhsIHtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIG1hcmdpbjogNnB4IGF1dG8gMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jaTJ0dTM5IHtcbiAgY29sb3I6ICNiMWIxYjE7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG59XG5cbi5tZW51YnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxkbmJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjNWY3NWVmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubGRuYnRuIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogMTc4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1Zjc1ZWY7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjM2NWM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE2OXB4O1xuICBoZWlnaHQ6IDY3cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4jaW84NWtoIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbiNpNXhicyB7XG4gIHBhZGRpbmctdG9wOiA2NHB4O1xufVxuXG4jb3N5dm0ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjaXFyMWp2IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjaTRmenl1IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAjaThzYXRsIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuXG4gICNpdHduMTUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gIC5pbWctY29udGVudCB7XG4gICAgcGFkZGluZzogMCAwIDAgMDtcbiAgfVxuXG4gICNpbHJjcmgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICNpa2V6dWUge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxuXG4gIC5scC10aXR1bG8ge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gICNpb256aHYge1xuICAgIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgfVxuXG4gICNpNG5lOGgge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAjaTRuZThoIHtcbiAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICAjaWo5Mm5oIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI2lxcjFqdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgI2lvODVraCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgI2k4aHdoeCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG5cbiAgI25mcG8ge1xuICAgIGhlaWdodDogNzAwcHg7XG4gIH1cblxuICAjdWdubzEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cblxuICAubmd1czEge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAubHAtZ3JpZC1jb250YWluZXIyIHtcbiAgICBnYXA6IDVweDtcbiAgfVxuXG4gIC5ma2duMiB7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgfVxuXG4gIC5scC1ncmlkLWNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG5cbiAgLnRleHQtcGFuZWwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICNpcGZyZ2cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICNpb3NzayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgI2k4c2F0bCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCAwO1xuICB9XG5cbiAgI2l0d24xNSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG5cbiAgLmltZy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICNpbHJjcmgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogNTEzcHg7XG4gIH1cblxuICAjaWtlenVlIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5scC10aXR1bG8ge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gICNpb256aHYge1xuICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cblxuICAjaTRuZThoIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgI2k0bmU4aCB7XG4gICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgI2lqOTJuaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjaXFyMWp2IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjaW84NWtoIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAubWVudS1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cblxuICAubHAtdGV4dC1tZW51IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAubHB4bWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjdm9wZDMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLm1lbnUtbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAjbWVudWl0ZW1zMiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5tZW51YnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cblxuICAubHAtZ3JpZC1jb250YWluZXIyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIDFmcik7XG4gIH1cblxuICAjaWd6eWgxIHtcbiAgICB3aWR0aDogMjg1cHg7XG4gIH1cblxuICAubWVudS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuXG4gICNpaHZmcmkge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxuXG4gIHVsLnJpZ2h0IHtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gIH1cblxuICAubWVudS1uYXZiYXIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgbmF2IHVsIGEge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuXG4gICNpOGh3aHgge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxuXG4gICNuZnBvIHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICB9XG5cbiAgI3Vnbm8xIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG5cbiAgLm5ndXMxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmxwLWdyaWQtY29udGFpbmVyMiB7XG4gICAgZ2FwOiA1cHg7XG4gIH1cblxuICAuZmtnbjIge1xuICAgIGhlaWdodDogNjEwcHg7XG4gIH1cblxuICAubHAtZ3JpZC1jb250YWluZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxuXG4gIC50ZXh0LXBhbmVsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjaXBmcmdnIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAjaW9zc2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICNpOHNhdGwge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgfVxuXG4gICNpdHduMTUge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxuXG4gIC5pbWctY29udGVudCB7XG4gICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjaWxyY3JoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDYzNXB4O1xuICB9XG5cbiAgI2lrZXp1ZSB7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAubHAtdGl0dWxvIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICAjaW9uemh2IHtcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG5cbiAgI2k0bmU4aCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICNpNG5lOGgge1xuICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gICNpajkybmgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxubmF2IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnBlc3F1aXNhLW1lbnUgZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG4ucGVzcXVpc2EtbWVudSAuc2VhcmNoLWNsb3NlLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiA4cHggOHB4IDhweCA2MHB4O1xuICB3aWR0aDogMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCB3aWR0aCAwLjJzIDAuMnM7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5wZXNxdWlzYS1tZW51IGlucHV0LnNlYXJjaC1maWVsZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wZXNxdWlzYS1tZW51IC5zZWFyY2hib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGVzcXVpc2EtbWVudSA6OnBsYWNlaG9sZGVyIHtcbiAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDIwMHB4O1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyAwcztcbn1cbi5wZXNxdWlzYS1tZW51IGlucHV0LnNlYXJjaC1maWVsZDpmb2N1czpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgKyBsYWJlbCB7XG4gIGNvbG9yOiAjZjdmN2Y3O1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzICsgbGFiZWwge1xuICBjb2xvcjogIzMwM2M0Mjtcbn1cbi5wZXNxdWlzYS1tZW51IC5zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ucGVzcXVpc2EtbWVudSAuc2VhcmNoLWNvbnRlbnQge1xuICBjb2xvcjogIzMwM2M0MjtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nIHtcbiAgY29sb3I6ICMzOTM3Mzc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nLWljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgaGVpZ2h0OiAxLjNlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nLWljb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGVmdDogMHB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogNTVweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycywgdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjFzIDAuMXM7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIGxpIGEge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXMgfiAuc2VhcmNoLXBvcHVwIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxvZ28tdG9wby1ob21lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ud2FwcGVyLWxvZ28tdG9wby1ob21lIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxZW07XG59Il19 */\"","// tslint:disable\r\nimport {Component, Injector, HostListener} from '@angular/core';\r\nimport {AuthService} from './../../@cmcore/guard';\r\n\r\nimport {CMFormComponent} from './../../@cmcore/component/cmform/cmform.component';\r\nimport {FuncsGlobais} from './../funcs.globais';\r\nimport {MenuLateralComponent} from '../index';\r\n\r\n@Component({\r\n selector: 'landing-page',\r\n templateUrl: './landing-page.component.html',\r\n styleUrls: ['./landing-page.component.scss'],\r\n})\r\nexport class LandingPageComponent extends CMFormComponent {\r\n public constructor(public authService: AuthService, _injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n toggleDropdown(dropdown) {\r\n document.getElementById(dropdown).classList.toggle('menu-dropdown-show');\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n if (MenuLateralComponent.defaultInstance)\r\n this.searchResult = MenuLateralComponent.defaultInstance.atalhos;\r\n this.loadNotificacoes();\r\n }\r\n\r\n showHideMenu() {\r\n MenuLateralComponent.defaultInstance.showHideMenu();\r\n }\r\n\r\n inHome() {\r\n return this.router.url.toLowerCase().startsWith('/home');\r\n }\r\n\r\n getNomeUsuario() {\r\n return CMFormComponent.currentUser().nome;\r\n }\r\n\r\n searchResult = [];\r\n searchEngine(event) {\r\n let input: any = document.getElementById('search-input');\r\n let matchingResults = [];\r\n let heading = document.querySelector('.search-heading');\r\n if (input.value === '') {\r\n heading.textContent = '';\r\n matchingResults = MenuLateralComponent.defaultInstance.atalhos;\r\n } else {\r\n heading.textContent = 'Pesquisa';\r\n MenuLateralComponent.defaultInstance.menus.forEach(function(menu) {\r\n if (menu.rotas) {\r\n menu.rotas.forEach((rota) => {\r\n if (rota.captionPesquisa.toUpperCase().includes(input.value.toUpperCase())) {\r\n matchingResults.push({\r\n caption: menu.grupo + ' -> ' + rota.caption,\r\n routerLink: rota.routerLink,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n this.searchResult = matchingResults;\r\n }\r\n\r\n empresaAtual() {\r\n return FuncsGlobais.titleEmpresaAtual;\r\n }\r\n\r\n public get empresas() {\r\n return FuncsGlobais.empresas;\r\n }\r\n\r\n notificacoes = [];\r\n loadNotificacoes() {\r\n this.notificacoes.length = 0;\r\n Object.assign(this.notificacoes, this.currentUserStorage.avisos);\r\n }\r\n\r\n getNotificationsIcon() {\r\n if (this.notificacoes.length === 0) return 'notifications_none';\r\n else return 'notifications_active';\r\n }\r\n\r\n public setIdEmpresa(id: string) {\r\n FuncsGlobais.setIdEmpresa(this.http, id, () => {\r\n this.loadNotificacoes();\r\n });\r\n }\r\n\r\n idServerEmpresa() {\r\n return FuncsGlobais.idServerEmpresa;\r\n }\r\n\r\n empresaDefinida() {\r\n return FuncsGlobais.idServerEmpresa !== '';\r\n }\r\n\r\n @HostListener('window:click', ['$event', '$event.target'])\r\n public _window_click(event: MouseEvent, targetElement: HTMLElement) {\r\n if (targetElement && !targetElement.matches('.menu-dropdown-button-click')) {\r\n let dropdowns = document.getElementsByClassName('menu-dropdown-content');\r\n for (let i = 0; i < dropdowns.length; i++) {\r\n let openDropdown = dropdowns[i];\r\n if (openDropdown.classList.contains('menu-dropdown-show')) {\r\n openDropdown.classList.remove('menu-dropdown-show');\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n showHideMenu2() {\r\n const menu = document.getElementById('menuitems2');\r\n \r\n console.log('display:', menu.style.display.length);\r\n\r\n if (menu.offsetParent !== null){\r\n menu.style.display = 'none';\r\n } \r\n else {\r\n menu.style.display = 'flex';\r\n }\r\n\r\n }\r\n\r\n}\r\n","export * from './lote-conta-receber-edit.component';\r\nexport * from './lote-conta-receber-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { LoteContaReceberEditComponent } from \"./lote-conta-receber-edit.component\";\r\nimport { ClienteBrowseComponent } from \"../cliente\";\r\n\r\n@Component({\r\n selector: \"lote-conta-receber-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class LoteContaReceberBrowseComponent extends CMFormBrowse2Component {\r\n getTitle() {\r\n return \"Lote Conta a Receber\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"LoteContaReceber\";\r\n this.formEditComponent = LoteContaReceberEditComponent;\r\n this.columns = [\r\n {\r\n field: \"numero\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n { field: \"datacadastro\", caption: \"Data de Cadastro\" },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n ];\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"LoteContaReceber\",\r\n \"Pesquisa de Lote Conta a Receber\",\r\n [\r\n {\r\n field: \"numero\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n { field: \"datacadastro\", caption: \"Data de Cadastro\" },\r\n ],\r\n target,\r\n targetProp,\r\n \"numero\"\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"../cliente\";\r\nimport { FormaPagamentoBrowseComponent } from \"../formapagamento\";\r\nimport { PreVendaBrowseComponent } from \"../prevenda\";\r\nimport { NFeBrowseComponent } from \"../nfe\";\r\nimport { NFCeBrowseComponent } from \"../nfce\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"lote-conta-receber-edit\",\r\n templateUrl: \"lote-conta-receber-edit.component.html\",\r\n})\r\nexport class LoteContaReceberEditComponent extends CMFormEditComponent {\r\n valuesOrigem = [];\r\n setValuesOrigem() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\"){\r\n this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n ];\r\n }else {this.valuesOrigem = [\r\n { value: \"PreVenda\", text: \"Pré-Venda\" },\r\n { value: \"NFe\", text: \"NF-e\" },\r\n { value: \"NFCe\", text: \"NFC-e\" },\r\n \r\n ];\r\n }\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_contareceber_destinatario\";\r\n }\r\n\r\n getTitle() {\r\n return \"Lote Conta a Receber\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setValuesOrigem();\r\n this.controllerName = \"LoteContaReceber\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) {\r\n this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.contareceber.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n onSetValue: (oldValue, newValue) => {\r\n if (this.trimValue(oldValue) !== \"\" && oldValue !== newValue)\r\n this.gerarDuplicatas();\r\n },\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n documentos: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Documentos\",\r\n onNewItem: (model) => {\r\n this.clearDuplicatas();\r\n Object.assign(model, {\r\n tipo: \"PreVenda\",\r\n });\r\n },\r\n onRemoveItem: (item) => {\r\n this.clearDuplicatas();\r\n },\r\n fields: {\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n values: this.valuesOrigem,\r\n }),\r\n prevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Pré-Venda\",\r\n pesqFunc: (sender) => {\r\n PreVendaBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.documentos.current,\r\n undefined,\r\n () => this.calcValorOriginal(),\r\n this.model.contareceber.destinatario.id,\r\n \"RecebimentoFuturo\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorOriginal();\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prevenda.numero\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n let r = this.getValueObject(row, \"prevenda.cobranca.vliquido\");\r\n if (r !== \"\") r = \"Valor: \" + r;\r\n return r;\r\n },\r\n disabledFunc: (row) => {\r\n return this.getValueObject(row, \"tipo\") !== \"PreVenda\";\r\n },\r\n }),\r\n }),\r\n nfe: new CMInputConfig({\r\n form: this,\r\n caption: \"NF-e\",\r\n pesqFunc: (sender) => {\r\n NFeBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.documentos.current,\r\n 'nfe',\r\n () => this.calcValorOriginal(),\r\n this.model.contareceber.destinatario.id,\r\n \"RecebimentoFuturo\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorOriginal();\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"nfe.infnfe.ide.nnf\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n let r = this.getValueObject(row, \"nfe.infnfe.cobr.vliquido\");\r\n if (r !== \"\") r = \"Valor: \" + r;\r\n return r;\r\n },\r\n disabledFunc: (row) => {\r\n return this.getValueObject(row, \"tipo\") !== \"NFe\";\r\n },\r\n }),\r\n }),\r\n nfce: new CMInputConfig({\r\n form: this,\r\n caption: \"NFC-e\",\r\n visibleFunc: () =>\r\n FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n NFCeBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.documentos.current,\r\n 'nfce',\r\n () => this.calcValorOriginal(),\r\n this.model.contareceber.destinatario.id,\r\n \"RecebimentoFuturo\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorOriginal();\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"nfce.infnfe.ide.nnf\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n let r = this.getValueObject(row, \"nfce.infnfe.cobr.vliquido\");\r\n if (r !== \"\") r = \"Valor: \" + r;\r\n return r;\r\n },\r\n disabledFunc: (row) => {\r\n return this.getValueObject(row, \"tipo\") !== \"NFCe\";\r\n },\r\n }),\r\n }),\r\n },\r\n }),\r\n contareceber: {\r\n voriginal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor bruto\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor liquído\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n destinatario: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n required: true,\r\n disabledFunc: () => this.model.documentos.length > 0,\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(\r\n sender,\r\n this.model.contareceber,\r\n \"destinatario\"\r\n );\r\n },\r\n }),\r\n datacadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n vacrescimo: new CMInputConfig({\r\n form: this,\r\n caption: \"Acréscimo financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.recalcularValorParcelas(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"alteradomanualmente\") !== \"Sim\",\r\n }),\r\n required: true,\r\n }),\r\n alteradomanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar\",\r\n dataType: \"boolean\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"60px\",\r\n }),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.contareceber.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n }),\r\n },\r\n };\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.contareceber.datacadastro);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de cadastro\";\r\n return r;\r\n }\r\n\r\n calcValorLiquido() {\r\n let vliquido =\r\n this.valueToFloat(this.model.contareceber.voriginal, 0) -\r\n this.valueToFloat(this.model.contareceber.vdesconto, 0) +\r\n this.valueToFloat(this.model.contareceber.vacrescimo, 0);\r\n this.model.contareceber.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.contareceber.vliquido, 0) <= 0)\r\n r = \"Valor líquido deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n let duplicatas = this.model.contareceber.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.contareceber.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n return r;\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas = this.valueToInteger(this.model.qtdeparcelas, 0);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.contareceber.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.contareceber.datacadastro);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.contareceber.duplicatas.unSelect();\r\n this.model.contareceber.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n\r\n recalcularValorParcelas() {\r\n let valorFixo = 0;\r\n let numeroParcelas = 0;\r\n let primeiraDuplicataAutomatica = undefined;\r\n this.model.contareceber.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente == \"Sim\")\r\n valorFixo += this.valueToFloat(duplicata.valor);\r\n else {\r\n if (primeiraDuplicataAutomatica == undefined)\r\n primeiraDuplicataAutomatica = duplicata;\r\n numeroParcelas += 1;\r\n }\r\n });\r\n if (numeroParcelas > 0) {\r\n let vliquido =\r\n this.valueToFloat(this.model.contareceber.vliquido, 0) - valorFixo;\r\n if (vliquido > 0) {\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n this.model.contareceber.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente !== \"Sim\")\r\n duplicata.valor = this.floatToValue(valorParcela);\r\n });\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(primeiraDuplicataAutomatica.valor);\r\n valor += dif;\r\n primeiraDuplicataAutomatica.valor = this.floatToValue(valor);\r\n }\r\n }\r\n }\r\n }\r\n\r\n calcValorOriginal() {\r\n let total = 0;\r\n this.model.documentos.forEach((documento) => {\r\n if (documento.tipo === \"PreVenda\") {\r\n total += this.valueToFloat(\r\n this.getValueObject(documento, \"prevenda.cobranca.vliquido\"),\r\n 0\r\n );\r\n } else if (documento.tipo === \"NFe\") {\r\n total += this.valueToFloat(\r\n this.getValueObject(documento, \"nfe.infnfe.cobr.vliquido\"),\r\n 0\r\n );\r\n }\r\n else if (documento.tipo === \"NFCe\") {\r\n total += this.valueToFloat(\r\n this.getValueObject(documento, \"nfce.infnfe.cobr.vliquido\"),\r\n 0\r\n );\r\n }\r\n\r\n });\r\n this.model.contareceber.voriginal = this.floatToValue(total);\r\n this.calcValorLiquido();\r\n }\r\n\r\n showActionAddDocumentos() {\r\n return (\r\n this.getValueObject(this.model, \"contareceber.destinatario.id\") !== \"\"\r\n );\r\n }\r\n\r\n clearDuplicatas() {\r\n setTimeout(() => {\r\n this.model.qtdeparcelas = 0;\r\n this.modelConfig.contareceber.duplicatas.unSelect();\r\n this.model.contareceber.duplicatas = [];\r\n this.calcValorOriginal();\r\n }, 500);\r\n }\r\n \r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","export * from \"./marketplace-edit.component\";\r\nexport * from \"./marketplace-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { MarketplaceEditComponent } from \"./marketplace-edit.component\";\r\n\r\n@Component({\r\n selector: \"marketplace-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class MarketplaceBrowseComponent extends CMFormBrowse2Component {\r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\" },\r\n { field: \"nome\", caption: \"Nome\", filter: true },\r\n ];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"marketplace\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = MarketplaceEditComponent;\r\n this.columns = MarketplaceBrowseComponent.defaultColumns;\r\n }\r\n\r\n getTitle() {\r\n return \"Marketplace\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"marketplace\",\r\n \"Pesquisa de Marketplace\",\r\n MarketplaceBrowseComponent.defaultColumns,\r\n target,\r\n targetProp,\r\n \"codigo\"\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent, CMInputConfig } from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"marketplace-edit\",\r\n templateUrl: \"marketplace-edit.component.html\",\r\n})\r\nexport class MarketplaceEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_codigo\";\r\n }\r\n\r\n getTitle() {\r\n return \"Marketplace\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"marketplace\";\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n disabled: true,\r\n }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n ativo: new CMInputConfig({\r\n form: this,\r\n caption: \"Ativo\",\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo\",\r\n }),\r\n appkey: new CMInputConfig({\r\n form: this,\r\n caption: \"ID do Aplicativo\", // ver nome conforme marketplace\r\n required: true,\r\n maxlength: 255,\r\n }),\r\n accountmanagerkey: new CMInputConfig({\r\n form: this,\r\n caption: \"Secret Key\", // ver nome conforme marketplace\r\n required: true,\r\n maxlength: 255,\r\n }),\r\n importarapartirde: new CMInputConfig({\r\n form: this,\r\n caption: \"Importar apartir de\",\r\n required: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n ultimaimportacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Última Importação\",\r\n mask: \"99/99/9999\",\r\n }),\r\n };\r\n }\r\n}\r\n","export * from './menu-lateral.component';","export default \".wrapper-barra {\\n height: 100%;\\n background-color: var(--primary-base-color-darken-4);\\n width: 4.2rem !important;\\n overflow: auto;\\n transition: all 0.2s linear;\\n position: unset;\\n left: 0px;\\n z-index: auto;\\n padding: 0px;\\n}\\n\\n.barra_nao_escondida {\\n width: 250px !important;\\n}\\n\\n.container {\\n height: 200px;\\n overflow: auto;\\n width: 250px;\\n border-bottom: 1px solid #d4d4d4;\\n}\\n\\n.container::-webkit-scrollbar-track {\\n background-color: #9e9e9e;\\n}\\n\\n.container::-webkit-scrollbar {\\n width: 8px;\\n background: #f4f4f4;\\n}\\n\\n.container::-webkit-scrollbar-thumb {\\n background: #616161;\\n}\\n\\n.barra .collapsible-header, .barra .collapsible-header-subgrupo {\\n padding: 0;\\n background-color: var(--primary-base-color-darken-4);\\n color: #f4f4f4;\\n border: none;\\n min-height: 3rem;\\n line-height: 3rem;\\n}\\n\\n.barra .collapsible-header i, .barra .collapsible-header-subgrupo i {\\n margin-left: 1rem;\\n min-height: 3rem;\\n line-height: 3rem;\\n}\\n\\n.barra .active {\\n border-left: 6px solid #f4f4f4;\\n background-color: var(--primary-base-color-darken-3);\\n}\\n\\n.barra .collapsible-header:hover, .barra .collapsible-header-subgrupo:hover,\\n.barra p:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.barra .collapsible-header-subgrupo {\\n background-color: var(--primary-base-color-darken-2);\\n display: flex;\\n}\\n\\n.barra .collapsible-header-subgrupo i {\\n margin-left: 0.5rem;\\n margin-right: 1rem;\\n}\\n\\n.barra .collapsible {\\n border-top: none;\\n border-right: none;\\n border-left: none;\\n box-shadow: none;\\n}\\n\\n.barra .collapsible-body {\\n border-bottom: none;\\n box-sizing: border-box;\\n padding: 0px;\\n padding-bottom: 0.5em;\\n color: #f4f4f4;\\n}\\n\\n.barra .collapsible-body p {\\n cursor: pointer;\\n margin: 0;\\n padding-left: 1em;\\n padding-right: 1em;\\n width: 100%;\\n display: table-cell;\\n vertical-align: middle;\\n}\\n\\n.barra .collapsible-body .activeRouter {\\n background-color: var(--primary-base-color-accent-4);\\n}\\n\\n.barra .collapsible-body .star {\\n display: table-cell;\\n vertical-align: middle;\\n font-size: 16px;\\n padding-left: 0.5em;\\n padding-right: 0.5em;\\n cursor: default;\\n}\\n\\n.barra .collapsible-body .star:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.barra .collapsible-body .rota, .barra .collapsible-body .rota-subgrupo {\\n display: table;\\n padding-top: 0.5em;\\n padding-bottom: 0.5em;\\n}\\n\\n.barra .collapsible-body .rota-subgrupo {\\n padding-left: 40px;\\n background-color: var(--primary-base-color-darken-2);\\n}\\n\\n.wapper-logo-bottom-home {\\n text-align: center;\\n padding-top: 1em;\\n}\\n\\n.logo-bottom-home {\\n height: 60px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9tZW51LWxhdGVyYWwvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcbWVudS1sYXRlcmFsXFxtZW51LWxhdGVyYWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbWVudS1sYXRlcmFsL21lbnUtbGF0ZXJhbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQUE7RUFDQSxvREFBQTtFQUNBLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLDJCQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdDQUFBO0FDQ0Y7O0FERUE7RUFDRSx5QkFBQTtBQ0NGOztBREVBO0VBQ0UsVUFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FEQ0E7RUFDRSxtQkFBQTtBQ0VGOztBREVFO0VBQ0UsVUFBQTtFQUNBLG9EQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0FDQ0o7O0FEQ0k7RUFDRSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUNDTjs7QURHRTtFQUNFLDhCQUFBO0VBQ0Esb0RBQUE7QUNESjs7QURJRTs7RUFFRSxvQ0FBQTtBQ0ZKOztBREtFO0VBRUUsb0RBQUE7RUFDQSxhQUFBO0FDSko7O0FETUk7RUFDRSxtQkFBQTtFQUNBLGtCQUFBO0FDSk47O0FEUUU7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBQ05KOztBRFNFO0VBQ0UsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQTtFQUNBLGNBQUE7QUNQSjs7QURTSTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0FDUE47O0FEVUk7RUFDRSxvREFBQTtBQ1JOOztBRFdJO0VBQ0UsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtBQ1ROOztBRFlJO0VBQ0Usb0NBQUE7QUNWTjs7QURhSTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0FDWE47O0FEY0k7RUFFRSxrQkFBQTtFQUNBLG9EQUFBO0FDYk47O0FEa0JBO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtBQ2ZGOztBRGtCQTtFQUNFLFlBQUE7QUNmRiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvbWVudS1sYXRlcmFsL21lbnUtbGF0ZXJhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53cmFwcGVyLWJhcnJhIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi00KTtcclxuICB3aWR0aDogNC4ycmVtICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gIHBvc2l0aW9uOiB1bnNldDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgei1pbmRleDogYXV0bztcclxuICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi5iYXJyYV9uYW9fZXNjb25kaWRhIHtcclxuICB3aWR0aDogMjUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICB3aWR0aDogMjUwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNGQ0ZDQ7XHJcbn1cclxuXHJcbi5jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWU5ZTllO1xyXG59XHJcblxyXG4uY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDhweDtcclxuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG59XHJcbi5jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kOiAjNjE2MTYxO1xyXG59XHJcblxyXG4uYmFycmEge1xyXG4gIC5jb2xsYXBzaWJsZS1oZWFkZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tNCk7XHJcbiAgICBjb2xvcjogI2Y0ZjRmNDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1pbi1oZWlnaHQ6IDNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuXHJcbiAgICBpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNmNGY0ZjQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTMpO1xyXG4gIH1cclxuXHJcbiAgLmNvbGxhcHNpYmxlLWhlYWRlcjpob3ZlcixcclxuICBwOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICB9XHJcblxyXG4gIC5jb2xsYXBzaWJsZS1oZWFkZXItc3ViZ3J1cG8ge1xyXG4gICAgQGV4dGVuZCAuY29sbGFwc2libGUtaGVhZGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi0yKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2xsYXBzaWJsZSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmNvbGxhcHNpYmxlLWJvZHkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XHJcbiAgICBjb2xvcjogI2Y0ZjRmNDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3RpdmVSb3V0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItYWNjZW50LTQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFyIHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFyOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3RhIHtcclxuICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3RhLXN1YmdydXBvIHtcclxuICAgICAgQGV4dGVuZCAucm90YTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndhcHBlci1sb2dvLWJvdHRvbS1ob21lIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6IDFlbTtcclxufVxyXG5cclxuLmxvZ28tYm90dG9tLWhvbWUge1xyXG4gIGhlaWdodDogNjBweDtcclxufVxyXG4iLCIud3JhcHBlci1iYXJyYSB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi00KTtcbiAgd2lkdGg6IDQuMnJlbSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICBwb3NpdGlvbjogdW5zZXQ7XG4gIGxlZnQ6IDBweDtcbiAgei1pbmRleDogYXV0bztcbiAgcGFkZGluZzogMHB4O1xufVxuXG4uYmFycmFfbmFvX2VzY29uZGlkYSB7XG4gIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNGQ0ZDQ7XG59XG5cbi5jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllOWU5ZTtcbn1cblxuLmNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xufVxuXG4uY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICM2MTYxNjE7XG59XG5cbi5iYXJyYSAuY29sbGFwc2libGUtaGVhZGVyLCAuYmFycmEgLmNvbGxhcHNpYmxlLWhlYWRlci1zdWJncnVwbyB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tNCk7XG4gIGNvbG9yOiAjZjRmNGY0O1xuICBib3JkZXI6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xufVxuLmJhcnJhIC5jb2xsYXBzaWJsZS1oZWFkZXIgaSwgLmJhcnJhIC5jb2xsYXBzaWJsZS1oZWFkZXItc3ViZ3J1cG8gaSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtaW4taGVpZ2h0OiAzcmVtO1xuICBsaW5lLWhlaWdodDogM3JlbTtcbn1cbi5iYXJyYSAuYWN0aXZlIHtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTMpO1xufVxuLmJhcnJhIC5jb2xsYXBzaWJsZS1oZWFkZXI6aG92ZXIsIC5iYXJyYSAuY29sbGFwc2libGUtaGVhZGVyLXN1YmdydXBvOmhvdmVyLFxuLmJhcnJhIHA6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uYmFycmEgLmNvbGxhcHNpYmxlLWhlYWRlci1zdWJncnVwbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmFzZS1jb2xvci1kYXJrZW4tMik7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYmFycmEgLmNvbGxhcHNpYmxlLWhlYWRlci1zdWJncnVwbyBpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLmJhcnJhIC5jb2xsYXBzaWJsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYmFycmEgLmNvbGxhcHNpYmxlLWJvZHkge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgY29sb3I6ICNmNGY0ZjQ7XG59XG4uYmFycmEgLmNvbGxhcHNpYmxlLWJvZHkgcCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5iYXJyYSAuY29sbGFwc2libGUtYm9keSAuYWN0aXZlUm91dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWFjY2VudC00KTtcbn1cbi5iYXJyYSAuY29sbGFwc2libGUtYm9keSAuc3RhciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5iYXJyYSAuY29sbGFwc2libGUtYm9keSAuc3Rhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5iYXJyYSAuY29sbGFwc2libGUtYm9keSAucm90YSwgLmJhcnJhIC5jb2xsYXBzaWJsZS1ib2R5IC5yb3RhLXN1YmdydXBvIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuLmJhcnJhIC5jb2xsYXBzaWJsZS1ib2R5IC5yb3RhLXN1YmdydXBvIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTIpO1xufVxuXG4ud2FwcGVyLWxvZ28tYm90dG9tLWhvbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi5sb2dvLWJvdHRvbS1ob21lIHtcbiAgaGVpZ2h0OiA2MHB4O1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\nimport { AppComponent } from \"../../app.component\";\r\n\r\n@Component({\r\n selector: \"menu-lateral\",\r\n templateUrl: \"menu-lateral.component.html\",\r\n styleUrls: [\"menu-lateral.component.scss\"],\r\n})\r\nexport class MenuLateralComponent extends CMFormComponent {\r\n menus = [];\r\n\r\n atalhos = [];\r\n\r\n public static defaultInstance: MenuLateralComponent = undefined;\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.closeMenu();\r\n MenuLateralComponent.defaultInstance = this;\r\n }\r\n\r\n loadAtalhos() {\r\n let atalhos = this.atalhos;\r\n atalhos.length = 0;\r\n this.menus.forEach(function (menu) {\r\n if (menu.rotas) {\r\n menu.rotas.forEach((rota) => {\r\n if (rota.favorito) {\r\n atalhos.push({\r\n caption: menu.grupo + \" -> \" + rota.caption,\r\n routerLink: rota.routerLink,\r\n });\r\n }\r\n });\r\n }\r\n if (menu.subgrupos) {\r\n menu.subgrupos.forEach((subgrupo) => {\r\n if (subgrupo.rotas) {\r\n subgrupo.rotas.forEach((rota) => {\r\n if (rota.favorito) {\r\n atalhos.push({\r\n caption:\r\n menu.grupo +\r\n \" -> \" +\r\n subgrupo.grupo +\r\n \" -> \" +\r\n rota.caption,\r\n routerLink: rota.routerLink,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.loadMenus();\r\n }\r\n\r\n loadMenus() {\r\n this.menus = this.currentUserStorage.menus;\r\n if (!this.menus) this.menus = [];\r\n this.loadAtalhos();\r\n setTimeout(() => {\r\n let c: any = $(\".collapsible\");\r\n c.collapsible();\r\n }, 100);\r\n }\r\n\r\n showHideMenu() {\r\n if (this.isShowMenuPrincipal()) this.closeMenu();\r\n else this.showMenuPrincipal({});\r\n }\r\n\r\n closeMenu() {\r\n this._isShowMenuPrincipal = false;\r\n this._lastMenuClick = undefined;\r\n setTimeout(() => {\r\n $(\".li-collapsible-header\").removeClass(\"active\");\r\n $(\".collapsible-body\").hide();\r\n }, 10);\r\n }\r\n\r\n _isShowMenuPrincipal: boolean = false;\r\n _lastMenuClick: any = undefined;\r\n showMenuPrincipal(menu) {\r\n let b = true;\r\n if (menu && menu.rotas) {\r\n b = menu.rotas.length > 0;\r\n }\r\n if (b) {\r\n this._isShowMenuPrincipal = this._lastMenuClick !== menu;\r\n if (this._isShowMenuPrincipal) this._lastMenuClick = menu;\r\n else this.closeMenu();\r\n } else this.closeMenu();\r\n }\r\n\r\n isShowMenuPrincipal() {\r\n return this._isShowMenuPrincipal;\r\n }\r\n\r\n heightScreen() {\r\n AppComponent.heightMenuLateral2 = this.windowHeight + \"px\";\r\n return AppComponent.heightMenuLateral2;\r\n }\r\n\r\n getIconFavorito(rota) {\r\n if (rota.favorito) return \"star\";\r\n else return \"star_border\";\r\n }\r\n\r\n toggleFavorito(rota) {\r\n this.postSubscribe(\r\n \"/api/MinhaConta/SaveFavorito\",\r\n JSON.stringify(rota),\r\n (res) => {\r\n if (res[\"result\"] == \"ok\") {\r\n rota.favorito = !rota.favorito;\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n user.menus = this.menus;\r\n localStorage.setItem(\"user\", JSON.stringify(user));\r\n this.loadAtalhos();\r\n return true;\r\n } else return false;\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"toggleFavorito\", error);\r\n }\r\n );\r\n }\r\n\r\n getUrlLogoLateral() {\r\n if (this._isShowMenuPrincipal) {\r\n return \"/logo-lateral-open.png\";\r\n } else {\r\n return \"/logo-lateral-close.png\";\r\n }\r\n }\r\n}\r\n","export * from './menu-principal.component';","export default \".warpper-menu-home {\\n display: flex;\\n}\\n\\n.menu-dropdown {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.menu-dropdown-button {\\n display: flex;\\n}\\n\\n.menu-dropdown-show {\\n display: block !important;\\n}\\n\\n.menu-dropdown-content {\\n display: none;\\n position: absolute;\\n background-color: var(--primary-base-color-darken-4);\\n min-width: 160px;\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n overflow: auto;\\n right: 0;\\n z-index: 2;\\n}\\n\\n.menu-dropdown-content .divider {\\n height: 1px !important;\\n min-height: 1px !important;\\n}\\n\\n.menu-dropdown-content li {\\n clear: both;\\n color: rgba(0, 0, 0, 0.87);\\n cursor: pointer;\\n min-height: 30px;\\n line-height: 1.5rem;\\n width: 100%;\\n text-align: left;\\n text-transform: none;\\n}\\n\\n.menu-dropdown-content li > a {\\n color: #fff;\\n display: block;\\n line-height: 22px;\\n padding: 10px 20px;\\n}\\n\\n.nome-usuario {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 180px;\\n}\\n\\n.nome-empresa {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 300px;\\n}\\n\\nnav {\\n box-shadow: none;\\n}\\n\\n.pesquisa-menu form {\\n position: relative;\\n height: 100%;\\n background: inherit;\\n margin: 0;\\n}\\n\\n.pesquisa-menu .search-close-icon {\\n display: none !important;\\n position: absolute;\\n top: 0;\\n left: 100% !important;\\n padding-left: 0px;\\n color: rgba(0, 0, 0, 0.54);\\n transition: color 0.2s;\\n cursor: pointer;\\n}\\n\\n.pesquisa-menu input.search-field {\\n font-weight: 500;\\n color: rgba(0, 0, 0, 0.54);\\n border: 0;\\n height: 36px;\\n padding: 8px 8px 8px 60px;\\n width: 0px;\\n background: transparent;\\n transition: background 0.2s, width 0.2s 0.2s;\\n margin-top: 5px;\\n}\\n\\n.pesquisa-menu input.search-field:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.pesquisa-menu .searchbox {\\n position: relative;\\n}\\n\\n.pesquisa-menu ::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu ::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: rgba(0, 0, 0, 0.54);\\n}\\n\\n.pesquisa-menu input.search-field:focus {\\n outline: none;\\n width: 200px;\\n color: #212121;\\n background: #f7f7f7;\\n transition: width 0.2s 0s;\\n}\\n\\n.pesquisa-menu input.search-field:focus:hover {\\n background: #f7f7f7;\\n}\\n\\n.pesquisa-menu input.search-field + label {\\n color: #f7f7f7;\\n}\\n\\n.pesquisa-menu input.search-field:focus + label {\\n color: #303c42;\\n}\\n\\n.pesquisa-menu .search-icon {\\n position: absolute;\\n top: 0;\\n padding-left: 20px;\\n}\\n\\n.pesquisa-menu .search-content {\\n color: #303c42;\\n width: 90%;\\n margin: auto;\\n height: auto;\\n padding: 8px 10px;\\n}\\n\\n.pesquisa-menu .search-heading {\\n color: #393737;\\n display: block;\\n font-size: 0.8rem;\\n line-height: 2rem;\\n float: left;\\n}\\n\\n.pesquisa-menu .search-heading-icon {\\n float: right;\\n font-size: 1.3em;\\n line-height: 1.3em;\\n height: 1.3em;\\n cursor: pointer;\\n}\\n\\n.pesquisa-menu .search-heading-icon:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup {\\n overflow: hidden;\\n left: 0px;\\n min-height: 50px;\\n max-height: 700px;\\n width: auto;\\n top: 55px;\\n visibility: hidden;\\n z-index: 1000;\\n position: absolute;\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\\n transition: width 0.2s, top 0.2s ease-in-out;\\n border-radius: 2px;\\n background-color: #fff;\\n min-width: 200px;\\n transition: visibility 0.1s 0.1s;\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup li {\\n width: 100%;\\n height: 32px;\\n line-height: 32px;\\n}\\n\\n.pesquisa-menu input.search-field ~ .search-popup li a {\\n font-size: 0.8rem;\\n white-space: nowrap;\\n width: 100%;\\n}\\n\\n.pesquisa-menu input.search-field:focus ~ .search-popup {\\n visibility: visible;\\n}\\n\\n.logo-topo-home {\\n height: 100%;\\n}\\n\\n.wapper-logo-topo-home {\\n height: 100%;\\n padding: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9tZW51LXByaW5jaXBhbC9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxtZW51LXByaW5jaXBhbFxcbWVudS1wcmluY2lwYWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbWVudS1wcmluY2lwYWwvbWVudS1wcmluY2lwYWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0FDQ0Y7O0FERUE7RUFDRSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSx5QkFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0RBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0VBQUEsdUJBQUE7RUFBQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBQ0NGOztBREVBO0VBQ0Usc0JBQUE7RUFDQSwwQkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0FDQ0Y7O0FER0U7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7QUNBSjs7QURHRTtFQUNFLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0FDREo7O0FESUU7RUFDRSxnQkFBQTtFQUNBLDBCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLFVBQUE7RUFDQSx1QkFBQTtFQUNBLDRDQUFBO0VBQ0EsZUFBQTtBQ0ZKOztBRElFO0VBQ0Usb0NBQUE7QUNGSjs7QURJRTtFQUNFLGtCQUFBO0FDRko7O0FESUU7RUFDRSx5Q0FBQTtFQUNBLDBCQUFBO0FDRko7O0FEQUU7RUFDRSx5Q0FBQTtFQUNBLDBCQUFBO0FDRko7O0FEQUU7RUFDRSx5Q0FBQTtFQUNBLDBCQUFBO0FDRko7O0FEQUU7RUFDRSx5Q0FBQTtFQUNBLDBCQUFBO0FDRko7O0FESUU7RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0FDRko7O0FESUU7RUFDRSxtQkFBQTtBQ0ZKOztBRElFO0VBQ0UsY0FBQTtBQ0ZKOztBRElFO0VBQ0UsY0FBQTtBQ0ZKOztBRElFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0Esa0JBQUE7QUNGSjs7QURJRTtFQUNFLGNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBQ0ZKOztBRElFO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtBQ0ZKOztBRElFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtBQ0ZKOztBRElFO0VBQ0Usb0NBQUE7QUNGSjs7QURJRTtFQUNFLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsK0dBQUE7RUFFQSw0Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdDQUFBO0FDSEo7O0FES0k7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FDSE47O0FES007RUFDRSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtBQ0hSOztBRE9FO0VBQ0UsbUJBQUE7QUNMSjs7QURTQTtFQUNFLFlBQUE7QUNORjs7QURTQTtFQUNFLFlBQUE7RUFDQSxZQUFBO0FDTkYiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL21lbnUtcHJpbmNpcGFsL21lbnUtcHJpbmNpcGFsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndhcnBwZXItbWVudS1ob21lIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubWVudS1kcm9wZG93biB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLm1lbnUtZHJvcGRvd24tYnV0dG9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubWVudS1kcm9wZG93bi1zaG93IHtcclxuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWVudS1kcm9wZG93bi1jb250ZW50IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UtY29sb3ItZGFya2VuLTQpO1xyXG4gIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQgLmRpdmlkZXIge1xyXG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgbWluLWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQgbGkge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLm1lbnUtZHJvcGRvd24tY29udGVudCBsaSA+IGEge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxufVxyXG5cclxuLm5vbWUtdXN1YXJpbyB7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG1heC13aWR0aDogMTgwcHg7XHJcbn1cclxuXHJcbi5ub21lLWVtcHJlc2Ege1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBtYXgtd2lkdGg6IDMwMHB4O1xyXG59XHJcblxyXG5uYXYge1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5wZXNxdWlzYS1tZW51IHtcclxuICBmb3JtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLWNsb3NlLWljb24ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICBpbnB1dC5zZWFyY2gtZmllbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggNjBweDtcclxuICAgIHdpZHRoOiAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgd2lkdGggMC4ycyAwLjJzO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIH1cclxuICBpbnB1dC5zZWFyY2gtZmllbGQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIH1cclxuICAuc2VhcmNoYm94IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgOjpwbGFjZWhvbGRlciB7XHJcbiAgICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xyXG4gIH1cclxuICBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGNvbG9yOiAjMjEyMTIxO1xyXG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgMHM7XHJcbiAgfVxyXG4gIGlucHV0LnNlYXJjaC1maWVsZDpmb2N1czpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG4gIH1cclxuICBpbnB1dC5zZWFyY2gtZmllbGQgKyBsYWJlbCB7XHJcbiAgICBjb2xvcjogI2Y3ZjdmNztcclxuICB9XHJcbiAgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzICsgbGFiZWwge1xyXG4gICAgY29sb3I6ICMzMDNjNDI7XHJcbiAgfVxyXG4gIC5zZWFyY2gtaWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG4gIC5zZWFyY2gtY29udGVudCB7XHJcbiAgICBjb2xvcjogIzMwM2M0MjtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICB9XHJcbiAgLnNlYXJjaC1oZWFkaW5nIHtcclxuICAgIGNvbG9yOiAjMzkzNzM3O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG4gIC5zZWFyY2gtaGVhZGluZy1pY29uIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMS4zZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbiAgICBoZWlnaHQ6IDEuM2VtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICAuc2VhcmNoLWhlYWRpbmctaWNvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgfVxyXG4gIGlucHV0LnNlYXJjaC1maWVsZCB+IC5zZWFyY2gtcG9wdXAge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgdG9wOiA1NXB4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksXHJcbiAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMsIHRvcCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMXMgMC4xcztcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXMgfiAuc2VhcmNoLXBvcHVwIHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nby10b3BvLWhvbWUge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLndhcHBlci1sb2dvLXRvcG8taG9tZSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBhZGRpbmc6IDFlbTtcclxufVxyXG4iLCIud2FycHBlci1tZW51LWhvbWUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWVudS1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWVudS1kcm9wZG93bi1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWVudS1kcm9wZG93bi1zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLm1lbnUtZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYXNlLWNvbG9yLWRhcmtlbi00KTtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQgLmRpdmlkZXIge1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbn1cblxuLm1lbnUtZHJvcGRvd24tY29udGVudCBsaSB7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4taGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5tZW51LWRyb3Bkb3duLWNvbnRlbnQgbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xufVxuXG4ubm9tZS11c3VhcmlvIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMTgwcHg7XG59XG5cbi5ub21lLWVtcHJlc2Ege1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxubmF2IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnBlc3F1aXNhLW1lbnUgZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG4ucGVzcXVpc2EtbWVudSAuc2VhcmNoLWNsb3NlLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiA4cHggOHB4IDhweCA2MHB4O1xuICB3aWR0aDogMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCB3aWR0aCAwLjJzIDAuMnM7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5wZXNxdWlzYS1tZW51IGlucHV0LnNlYXJjaC1maWVsZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wZXNxdWlzYS1tZW51IC5zZWFyY2hib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGVzcXVpc2EtbWVudSA6OnBsYWNlaG9sZGVyIHtcbiAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDIwMHB4O1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyAwcztcbn1cbi5wZXNxdWlzYS1tZW51IGlucHV0LnNlYXJjaC1maWVsZDpmb2N1czpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgKyBsYWJlbCB7XG4gIGNvbG9yOiAjZjdmN2Y3O1xufVxuLnBlc3F1aXNhLW1lbnUgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzICsgbGFiZWwge1xuICBjb2xvcjogIzMwM2M0Mjtcbn1cbi5wZXNxdWlzYS1tZW51IC5zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ucGVzcXVpc2EtbWVudSAuc2VhcmNoLWNvbnRlbnQge1xuICBjb2xvcjogIzMwM2M0MjtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nIHtcbiAgY29sb3I6ICMzOTM3Mzc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nLWljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgaGVpZ2h0OiAxLjNlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBlc3F1aXNhLW1lbnUgLnNlYXJjaC1oZWFkaW5nLWljb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGVmdDogMHB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogNTVweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycywgdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjFzIDAuMXM7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQgfiAuc2VhcmNoLXBvcHVwIGxpIGEge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGVzcXVpc2EtbWVudSBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXMgfiAuc2VhcmNoLXBvcHVwIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxvZ28tdG9wby1ob21lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ud2FwcGVyLWxvZ28tdG9wby1ob21lIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxZW07XG59Il19 */\"","// tslint:disable\nimport {Component, Injector, HostListener} from '@angular/core';\nimport {AuthService} from './../../@cmcore/guard';\n\nimport {CMFormComponent} from './../../@cmcore/component/cmform/cmform.component';\nimport {FuncsGlobais} from './../funcs.globais';\nimport {MenuLateralComponent} from '../index';\n\n@Component({\n selector: 'menu-principal',\n templateUrl: './menu-principal.component.html',\n styleUrls: ['./menu-principal.component.scss'],\n})\nexport class MenuPrincipalComponent extends CMFormComponent {\n public constructor(public authService: AuthService, _injector: Injector) {\n super(_injector);\n }\n\n toggleDropdown(dropdown) {\n document.getElementById(dropdown).classList.toggle('menu-dropdown-show');\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (MenuLateralComponent.defaultInstance)\n this.searchResult = MenuLateralComponent.defaultInstance.atalhos;\n this.loadNotificacoes();\n }\n\n showHideMenu() {\n MenuLateralComponent.defaultInstance.showHideMenu();\n }\n\n inHome() {\n return this.router.url.toLowerCase().startsWith('/home');\n }\n\n getNomeUsuario() {\n return CMFormComponent.currentUser().nome;\n }\n\n searchResult = [];\n searchEngine(event) {\n let input: any = document.getElementById('search-input');\n let matchingResults = [];\n let heading = document.querySelector('.search-heading');\n if (input.value === '') {\n heading.textContent = '';\n matchingResults = MenuLateralComponent.defaultInstance.atalhos;\n } else {\n heading.textContent = 'Pesquisa';\n MenuLateralComponent.defaultInstance.menus.forEach(function(menu) {\n if (menu.rotas) {\n menu.rotas.forEach((rota) => {\n if (rota.captionPesquisa.toUpperCase().includes(input.value.toUpperCase())) {\n matchingResults.push({\n caption: menu.grupo + ' -> ' + rota.caption,\n routerLink: rota.routerLink,\n });\n }\n });\n }\n });\n }\n this.searchResult = matchingResults;\n }\n\n empresaAtual() {\n return FuncsGlobais.titleEmpresaAtual;\n }\n\n public get empresas() {\n return FuncsGlobais.empresas;\n }\n\n notificacoes = [];\n loadNotificacoes() {\n this.notificacoes.length = 0;\n Object.assign(this.notificacoes, this.currentUserStorage.avisos);\n }\n\n getNotificationsIcon() {\n if (this.notificacoes.length === 0) return 'notifications_none';\n else return 'notifications_active';\n }\n\n public setIdEmpresa(id: string) {\n FuncsGlobais.setIdEmpresa(this.http, id, () => {\n this.loadNotificacoes();\n });\n }\n\n idServerEmpresa() {\n return FuncsGlobais.idServerEmpresa;\n }\n\n empresaDefinida() {\n return FuncsGlobais.idServerEmpresa !== '';\n }\n\n @HostListener('window:click', ['$event', '$event.target'])\n public _window_click(event: MouseEvent, targetElement: HTMLElement) {\n if (targetElement && !targetElement.matches('.menu-dropdown-button-click')) {\n let dropdowns = document.getElementsByClassName('menu-dropdown-content');\n for (let i = 0; i < dropdowns.length; i++) {\n let openDropdown = dropdowns[i];\n if (openDropdown.classList.contains('menu-dropdown-show')) {\n openDropdown.classList.remove('menu-dropdown-show');\n }\n }\n }\n }\n}\n","export * from './minha-conta.component';","// tslint:disable\r\nimport { Component, ViewChild, Injector } from \"@angular/core\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridV2ListColumns,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"minha-conta\",\r\n templateUrl: \"minha-conta.component.html\",\r\n})\r\nexport class MinhaContaComponent extends CMFormEditComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"MinhaConta\";\r\n this.modelConfig = {\r\n senhaatual: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha Atual\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n minlength: 6,\r\n }),\r\n novasenha: new CMInputConfig({\r\n form: this,\r\n caption: \"Nova Senha\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n minlength: 6,\r\n }),\r\n novasenhaconfirmacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Confirmação de Senha\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n minlength: 6,\r\n }),\r\n };\r\n this.getDadosAssinatura();\r\n }\r\n\r\n get modoOperacao() {\r\n return FuncsGlobais.paramEmpresa.modoOperacao;\r\n }\r\n\r\n dadosAssinatura: any = {};\r\n dadosAssinaturaModel = {\r\n numerocartao: new CMInputConfig({\r\n form: this,\r\n caption: \"Numero do Cartão\",\r\n maxlength: 16,\r\n required: true,\r\n dataType: \"integer\",\r\n }),\r\n validadecartao: new CMInputConfig({\r\n form: this,\r\n caption: \"Validade (MM/AAAA)\",\r\n mask: \"99/9999\",\r\n required: true,\r\n }),\r\n bandeiracartao: new CMInputConfig({\r\n form: this,\r\n caption: \"Bandeira\",\r\n values: [\r\n { value: \" \", text: \"Não Informada\" },\r\n { value: \"Visa\" },\r\n { value: \"Master\", text: \"Master Card\" },\r\n { value: \"Amex\", text: \"American Express\" },\r\n { value: \"Elo\" },\r\n { value: \"Aura\" },\r\n { value: \"JCB\" },\r\n { value: \"Diners\", text: \"Diners Club\" },\r\n { value: \"Discover\" },\r\n { value: \"Hipercard\" },\r\n { value: \"Hiper\" },\r\n ],\r\n required: true,\r\n }),\r\n nomecartao: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome impresso no cartão\",\r\n required: true,\r\n }),\r\n codigosegurancaocartaro: new CMInputConfig({\r\n form: this,\r\n caption: \"Cód de Segurança\",\r\n maxlength: 4,\r\n dataType: \"integer\",\r\n required: true,\r\n }),\r\n faturas: new CMGridV2ListColumns({\r\n columns: [\r\n {\r\n field: \"dvencimento\",\r\n header: \"Data Vencimento\",\r\n },\r\n {\r\n field: \"valor\",\r\n header: \"Valor\",\r\n },\r\n {\r\n field: \"dhpagamento\",\r\n header: \"Pagamento\",\r\n },\r\n {\r\n field: \"tid\",\r\n header: \"TID\",\r\n },\r\n {\r\n field: \"displaynumber\",\r\n header: \"Cartão Utilizado\",\r\n buttons: [\r\n {\r\n icon: \"credit_card\",\r\n hint: \"Pagar agora\",\r\n onClick: (row: any) => {\r\n this.pagarFatura(row);\r\n },\r\n visible: (row: any) => {\r\n return this.trimValue(row.dhpagamento) == \"\";\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n }),\r\n };\r\n\r\n getDadosAssinatura() {\r\n if (this.modoOperacao === \"Nivel2\") {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/minhaconta/DadosAssinatura\",\r\n {},\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n this.dadosAssinatura = result;\r\n this.dadosAssinatura.bandeiracartao = \" \";\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n customValid() {\r\n let r: string = super.customValid();\r\n if (r === \"\") {\r\n if (this.model.novasenha !== this.model.novasenhaconfirmacao)\r\n r = \"Senha e confirmação de senha não são iguais\";\r\n }\r\n return r;\r\n }\r\n\r\n alterarSenha() {\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/minhaconta/alterarsenha\",\r\n JSON.stringify(this.model),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\"Senha alterada\");\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n salvarCartao() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/minhaconta/salvarcartao\",\r\n JSON.stringify({\r\n numerocartao: this.dadosAssinatura.numerocartao,\r\n validadecartao: this.dadosAssinatura.validadecartao,\r\n bandeiracartao: this.dadosAssinatura.bandeiracartao,\r\n nomecartao: this.dadosAssinatura.nomecartao,\r\n codigosegurancaocartaro: this.dadosAssinatura.codigosegurancaocartaro,\r\n }),\r\n (result) => {\r\n console.log(result);\r\n if (result[\"result\"] === \"ok\") {\r\n window.location.reload();\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n inPagarFatura() {\r\n let r = this.router.url.indexOf('pagarfatura') > -1;\r\n return r;\r\n }\r\n\r\n pagarFatura(row) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/minhaconta/pagarFatura\",\r\n JSON.stringify({\r\n idfatura: row.id,\r\n }),\r\n (result) => {\r\n console.log(result);\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Ir para tela de Login\",\r\n \"

    Para que as alterações sejam aplicadas, é necessário realizar o login novamente.

    \" +\r\n \"

    Deseja realizar agora?

    \",\r\n () => {\r\n window.location.assign(\"/login\");\r\n }\r\n );\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n}\r\n","export * from './municipio-edit.component';\r\nexport * from './municipio-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { MunicipioEditComponent } from './municipio-edit.component';\r\n\r\n@Component({\r\n selector: 'municipio-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class MunicipioBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'municipio';\r\n this.formEditComponent = MunicipioEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [{field: 'codigomunicipio', caption: 'Cód. do IBGE', width: '120'},\r\n {field: 'municipio', caption: 'Município', filter: true},\r\n {field: 'estado', caption: 'Estado', width: '100'}];\r\n }\r\n\r\n getTitle() {\r\n return 'Município';\r\n }\r\n\r\n static pesquisa(estado: string, sender: any, target: any, targetProp?: string) {\r\n if (target) {\r\n let caption: string = 'Pesquisa de Municípios';\r\n estado = this.trimValue(estado);\r\n if (estado !== '')\r\n caption += ' do estado '+estado;\r\n\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'municipio',\r\n caption,\r\n [{field: 'codigomunicipio', caption: 'Cód. do IBGE', width: '120'},\r\n {field: 'municipio', caption: 'Município', filter: true},\r\n {field: 'estado', caption: 'Estado', value: estado, width: '100'}],\r\n target,\r\n targetProp,\r\n 'codigomunicipio');\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'municipio-edit',\r\n templateUrl: 'municipio-edit.component.html',\r\n})\r\nexport class MunicipioEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_codigomunicipio';\r\n }\r\n\r\n getTitle() {\r\n return 'Município';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'municipio';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigomunicipio: new CMInputConfig({form: this,\r\n caption: 'Código do Município no IBGE',\r\n dataType: 'integer',\r\n required: true}),\r\n estado: new CMInputConfig({form: this,\r\n caption: 'Estado',\r\n required: true,\r\n maxlength: 2,\r\n values: [{'value': \"AC\"},\r\n {'value': \"AL\"},\r\n {'value': \"AP\"},\r\n {'value': \"AM\"},\r\n {'value': \"BA\"},\r\n {'value': \"CE\"},\r\n {'value': \"DF\"},\r\n {'value': \"ES\"},\r\n {'value': \"GO\"},\r\n {'value': \"MA\"},\r\n {'value': \"MT\"},\r\n {'value': \"MS\"},\r\n {'value': \"MG\"},\r\n {'value': \"PR\"},\r\n {'value': \"PB\"},\r\n {'value': \"PA\"},\r\n {'value': \"PE\"},\r\n {'value': \"PI\"},\r\n {'value': \"RJ\"},\r\n {'value': \"RN\"},\r\n {'value': \"RS\"},\r\n {'value': \"RO\"},\r\n {'value': \"RR\"},\r\n {'value': \"SC\"},\r\n {'value': \"SE\"},\r\n {'value': \"SP\"},\r\n {'value': \"TO\"}]}),\r\n municipio: new CMInputConfig({form: this,\r\n caption: 'Município',\r\n required: true,\r\n maxlength: 200})\r\n };\r\n }\r\n\r\n}","export * from './necessidade-compra-edit.component';\r\nexport * from './necessidade-compra-browse.component';","// tslint:disable\r\nimport {Injector, Component} from '@angular/core';\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from './../../@cmcore/component';\r\nimport {NecessidadeCompraEditComponent} from './necessidade-compra-edit.component';\r\n\r\n@Component({\r\n selector: 'necessidade-compra-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss'],\r\n})\r\nexport class NecessidadeCompraBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'NecessidadeCompra';\r\n this.formEditComponent = NecessidadeCompraEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n {\r\n field: 'numero',\r\n caption: '#',\r\n width: 100,\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n }),\r\n },\r\n {\r\n field: 'data',\r\n caption: 'Data',\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999',\r\n }),\r\n },\r\n {\r\n field: 'status',\r\n caption: 'Status',\r\n filter: new CMInputConfig({\r\n values: [{value: 'Aberta'}, {value: 'Atendida'}, {value: 'Cancelada'}],\r\n }),\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return 'Solicitação de Compra';\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string, onAfterSelect?: Function) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'NecessidadeCompra',\r\n 'Pesquisa de Solicitação de Compra',\r\n [\r\n {field: 'numero', caption: '#'},\r\n {field: 'data', caption: 'Data', filter: true, mask: '99/99/9999'},\r\n ],\r\n target,\r\n targetProp,\r\n 'numero',\r\n onAfterSelect,\r\n );\r\n }\r\n }\r\n\r\n static pesquisaItens(onAfterSelect: Function) {\r\n CMFormPesquisaComponent.defaultPesquisaMuiltSelect(\r\n 'NecessidadeCompra',\r\n 'Pesquisa de Solicitação de Compra',\r\n [\r\n {field: 'numero', caption: '#', width: '150px', filter: true},\r\n {\r\n field: 'data',\r\n caption: 'Data',\r\n filter: true,\r\n mask: '99/99/9999',\r\n width: '150px',\r\n },\r\n {field: 'produto', caption: 'Produto'},\r\n {field: 'quantidade', caption: 'Quantidade', width: '150px'},\r\n ],\r\n onAfterSelect,\r\n undefined,\r\n {pesqitens: true, status: 'Aberta'},\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport { ProdutoBrowseComponent } from \"./../produto/produto-browse.component\";\r\n\r\n@Component({\r\n selector: \"necessidade-compra-edit\",\r\n templateUrl: \"necessidade-compra-edit.component.html\",\r\n})\r\nexport class NecessidadeCompraEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_data\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Solicitação de Compra\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"NecessidadeCompra\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n values: [\r\n { value: \"Aberta\" },\r\n { value: \"Atendida\" },\r\n { value: \"Cancelada\" },\r\n ],\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n itens: new CMGridEditConfig({\r\n form: this,\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n quantidade: \"1,00\",\r\n estoque: [],\r\n });\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.itens.current,\r\n \"Ativos\",\r\n undefined,\r\n () => {\r\n if(this.currentProdutoUsaGrade()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n\r\n let grades = this.modelConfig.itens.current.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.itens.current.quantidade = \"1,00\";\r\n };\r\n }\r\n );\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.modelConfig.itens.current))\r\n this.modelConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n maxlength: 60,\r\n caption: \"Observação\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.valueToFloat(item.quantidade, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let qtotal = 0;\r\n qtotal = this.valueToFloat(this.modelConfig.itens.current.quantidade) - this.valueToFloat(item.quantidade);\r\n this.modelConfig.itens.current.quantidade = this.floatToValue(qtotal);\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r = row.produto.usagrade1 === \"Sim\" || row.produto.usagrade2 === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidade = this.floatToValue(qtotal);\r\n }\r\n}\r\n","export * from './nfce-acoes.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmNlLWFjb2VzL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXG5mY2UtYWNvZXNcXG5mY2UtYWNvZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZjZS1hY29lcy9uZmNlLWFjb2VzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9uZmNlLWFjb2VzL25mY2UtYWNvZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIG1heC13aWR0aDogODAlO1xufSJdfQ== */\"","// tslint:disable\r\nimport {Component, Injector, ViewChild} from '@angular/core';\r\n\r\nimport {CMFormComponent} from './../../@cmcore/component/cmform/cmform.component';\r\n\r\nimport {\r\n CMInputConfig,\r\n CMValidatorEmail,\r\n CMFormGlobaisComponent,\r\n CMTabComponent,\r\n CMFormModalComponent,\r\n} from './../../@cmcore/component';\r\nimport {NFCeBrowseComponent} from './../index';\r\n@Component({\r\n selector: 'nfce-acoes',\r\n templateUrl: 'nfce-acoes.component.html',\r\n styleUrls: ['nfce-acoes.component.scss'],\r\n})\r\nexport class NFCeAcoesComponent extends CMFormComponent {\r\n _owner: NFCeBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n if (this.owner) {\r\n this.loadDadosNFCe();\r\n this.voltarAcoes();\r\n }\r\n }\r\n\r\n configNFCe: any = {\r\n \r\n cancelamento: {\r\n xjust: new CMInputConfig({\r\n form: this,\r\n caption: 'Justificativa',\r\n disabledFunc: () => {\r\n return !this.nfceAutorizado();\r\n },\r\n }),\r\n },\r\n email: {\r\n para: new CMInputConfig({\r\n form: this,\r\n caption: 'Para',\r\n required: true,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n cc: new CMInputConfig({\r\n form: this,\r\n caption: 'CC',\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n assunto: new CMInputConfig({form: this, caption: 'Assunto', required: true}),\r\n mensagem: new CMInputConfig({form: this, caption: 'Mensagem', required: true}),\r\n },\r\n };\r\n\r\n dadosNFCe: any = {\r\n infnfe: {\r\n status: \"\",\r\n ide: {\r\n tpemiss: \"\",\r\n nnfcontingencia: \"0\",\r\n },\r\n },\r\n cancelamento: {\r\n temxml: '',\r\n xjust: '',\r\n },\r\n protnfe: {\r\n temxml: \"\",\r\n result_cstat: \"\",\r\n result_xmotivo: \"\",\r\n },\r\n email: {\r\n para: '',\r\n cc: '',\r\n assunto: '',\r\n mensagem: '',\r\n },\r\n };\r\n loadDadosNFCe() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfce/GetDadosAcoesNFCe/FuncaoExtra\",\r\n JSON.stringify({ id: this.owner.idFormAcoesNFe}),\r\n (result) => {\r\n this.dadosNFCe = result;\r\n this.dadosNFCe.email.assunto = \"\";\r\n this.dadosNFCe.email.mensagem = \"\";\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n nfceAutorizadoCancelado() {\r\n return (\r\n this.nfceAutorizado() || this.dadosNFCe.infnfe.status === \"Cancelado\"\r\n );\r\n }\r\n\r\n nfceContingencia() {\r\n return this.dadosNFCe.infnfe.ide.tpemis === \"Contingência\";\r\n }\r\n\r\n nfceEmContingencia() {\r\n return this.dadosNFCe.infnfe.ide.nnfcontingencia !== \"0\";\r\n }\r\n nfceCancelado() {\r\n return this.dadosNFCe.infnfe.status === \"Cancelado\";\r\n }\r\n\r\n nfceAutorizado() {\r\n return this.dadosNFCe.infnfe.status === \"Autorizado\";\r\n }\r\n\r\n nfceEmProcessamento() {\r\n return this.dadosNFCe.infnfe.status === \"EmProcessamento\";\r\n }\r\n\r\n nfceEmDigitacao() {\r\n return this.dadosNFCe.infnfe.status === \"EmDigitacao\";\r\n }\r\n\r\n nfceEmPreAutorizacao() {\r\n return this.dadosNFCe.infnfe.status === \"PreAutorizacao\";\r\n }\r\n\r\n nfeDenegada() {\r\n return this.dadosNFCe.infnfe.status === \"Denegado\";\r\n }\r\n nfceEmDigitacaoEmProcessamento() {\r\n return (\r\n this.nfceEmDigitacao() ||\r\n this.nfceEmProcessamento() ||\r\n this.nfceEmPreAutorizacao()\r\n );\r\n }\r\n\r\n @ViewChild('tbAcoes', {static: true}) tbAcoes: CMTabComponent;\r\n voltarAcoes() {\r\n this.tbAcoes.active = true;\r\n }\r\n\r\n getCaptionTransmissao(padrao) {\r\n let r: string = padrao;\r\n if (this.nfceEmContingencia()) r = \"Consultar processamento\";\r\n else if (this.nfceEmDigitacao() || this.nfceEmPreAutorizacao())\r\n r = \"Transmitir\";\r\n else if (this.nfceEmProcessamento()) r = \"Consultar processamento\";\r\n else if (\r\n this.dadosNFCe.protnfe.temxml === \"True\" &&\r\n this.dadosNFCe.protnfe.result_cstat === \"100\"\r\n ) {\r\n r = \"Enviar e-Mail\";\r\n }\r\n return r;\r\n }\r\n\r\n getCaptionCancelamento() {\r\n let r: string = \"\";\r\n if (this.nfceAutorizado()) r = \"Cancelar NFC-e\";\r\n else if (\r\n this.nfceCancelado() &&\r\n this.dadosNFCe.cancelamento.temxml === \"True\"\r\n ) {\r\n r = \"Enviar e-Mail\";\r\n }\r\n return r;\r\n }\r\n\r\n clickTransmissao() {\r\n if (\r\n this.nfceEmDigitacao() ||\r\n this.nfceEmProcessamento() ||\r\n this.nfceEmPreAutorizacao()\r\n )\r\n this.transmitirNFCe();\r\n else if (this.dadosNFCe.protnfe.temxml === \"True\")\r\n this.openEmail(\"protnfe\");\r\n }\r\n\r\n clickCancelamento() {\r\n if (this.nfceAutorizado()) this.cancelarNFCe();\r\n else if (this.dadosNFCe.cancelamento.temxml === \"True\")\r\n this.openEmail(\"cancelamento\");\r\n }\r\n\r\n setActiveTab(tab, enabled) {\r\n if (enabled) tab.active = true;\r\n }\r\n\r\n titleEmail: string = '';\r\n tipoEmail: string = '';\r\n openEmail(tipoEmail) {\r\n this.titleEmail = '';\r\n this.tipoEmail = tipoEmail;\r\n if (tipoEmail === \"protnfe\")\r\n this.titleEmail = \"e-Mail do XML de transmissão\";\r\n else if (tipoEmail === \"cancelamento\")\r\n this.titleEmail = \"e-Mail do XML de cancelamento\";\r\n this.dadosNFCe.email.assunto = this.dadosNFCe[tipoEmail].email_assunto;\r\n this.dadosNFCe.email.mensagem = this.dadosNFCe[tipoEmail].email_mensagem;\r\n CMFormModalComponent.open(\"formAcoesNFCeEmail\");\r\n }\r\n\r\n enviarEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfce/EnviarEmail',\r\n JSON.stringify({\r\n id: this.dadosNFCe.id,\r\n tipo: this.tipoEmail,\r\n para: this.dadosNFCe.email.para,\r\n cc: this.dadosNFCe.email.cc,\r\n assunto: this.dadosNFCe.email.assunto,\r\n mensagem: this.dadosNFCe.email.mensagem,\r\n }),\r\n (result) => {\r\n this.processaRetorno(this.titleEmail, result, \"formAcoesNFCeEmail\");\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n\r\n getCaptionImpressao() {\r\n let r: string = \"Imprimir DANFE\";\r\n if (this.nfceEmDigitacao() || this.nfceEmPreAutorizacao())\r\n r = \"Imprimir Pré-DANFE\";\r\n if (this.nfeDenegada()) r = \"Imprimir Pré-DANFE\";\r\n return r;\r\n }\r\n\r\n impressaoDANFE() {\r\n this.showRelat(\r\n \"Print\",\r\n { id: this.dadosNFCe.id, nnf: this.dadosNFCe.infnfe.ide.nnf },\r\n \"NFCe\"\r\n );\r\n }\r\n\r\n transmitirNFCe() {\r\n if (this.nfceEmDigitacaoEmProcessamento()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfce/GerarNFCe\",\r\n JSON.stringify({ id: this.dadosNFCe.id }),\r\n (result) => {\r\n this.processaRetorno(\"Retorno da Transmissão\", result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"transmitirNFCe\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancelarNFCe() {\r\n let ok: boolean = true;\r\n if (this.trimValue(this.dadosNFCe.cancelamento.xjust).length < 15) {\r\n ok = false;\r\n CMFormGlobaisComponent.toastErro(\r\n this.configNFCe.cancelamento.xjust.caption +\r\n \" deve ter pelo menos 15 caracteres\"\r\n );\r\n }\r\n if (ok) {\r\n if (this.nfceAutorizado()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfce/CancelaNFCe\",\r\n JSON.stringify({\r\n id: this.dadosNFCe.id,\r\n xjust: this.dadosNFCe.cancelamento.xjust,\r\n }),\r\n (result) => {\r\n this.processaRetorno(\"Retorno do Cancelamento\", result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) {\r\n this.owner.refresh();\r\n this.owner.beforeComponent = undefined;\r\n }\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n retorno: any = {\r\n title: '',\r\n result: '',\r\n tipo: '',\r\n msg: '',\r\n cstat: '',\r\n xml: '',\r\n xml_conferencia: '',\r\n result_str: '',\r\n json: '',\r\n nnf: \"\",\r\n tipomsg: \"\",\r\n contingencia: \"\",\r\n };\r\n\r\n setRetorno(title, retorno) {\r\n this.retorno.title = title;\r\n this.retorno.result = this.trimValue(retorno.result);\r\n this.retorno.tipo = this.trimValue(retorno.tipo);\r\n this.retorno.msg = this.trimValue(retorno.msg);\r\n this.retorno.cstat = this.trimValue(retorno.cstat);\r\n this.retorno.xml = this.trimValue(retorno.xml);\r\n this.retorno.xml_conferencia = this.trimValue(retorno.xml_conferencia);\r\n this.retorno.result_str = this.trimValue(retorno.result_str);\r\n this.retorno.nnf = this.trimValue(retorno.nnf);\r\n this.retorno.tipomsg = this.trimValue(retorno.tipomsg);\r\n this.retorno.contingencia = this.trimValue(retorno.contingencia65);\r\n\r\n delete retorno.result;\r\n delete retorno.tipo;\r\n delete retorno.msg;\r\n delete retorno.cstat;\r\n delete retorno.xml;\r\n delete retorno.xml_conferencia;\r\n delete retorno.result_str;\r\n delete retorno.nnf;\r\n delete retorno.tipomsg;\r\n delete retorno.contingencia;\r\n this.retorno.json = retorno;\r\n }\r\n\r\n processaRetorno(title, retorno, closeFormOK = undefined) {\r\n this.setRetorno(title, retorno);\r\n if (this.retorno.result === \"True\") {\r\n this.loadDadosNFCe();\r\n if (this.retorno.tipomsg === \"erro\")\r\n CMFormGlobaisComponent.toastErro(this.retorno.result_str);\r\n else CMFormGlobaisComponent.toastSucesso(this.retorno.result_str);\r\n if (closeFormOK) this.close(closeFormOK);\r\n } else {\r\n if (this.retorno.tipo !== \"str\") {\r\n let myNode = document.getElementById(\"div_json\");\r\n while (myNode.firstChild) myNode.removeChild(myNode.firstChild);\r\n let ui = this.tree(this.retorno.json);\r\n ui.className = \"tree\";\r\n myNode.appendChild(ui);\r\n }\r\n CMFormModalComponent.open(\"formAcoesNFCeRetorno\");\r\n }\r\n }\r\n\r\n tree(data) {\r\n let r: HTMLElement = undefined;\r\n let ul = document.createElement('ul');\r\n for (var i in data) {\r\n let li = document.createElement('li');\r\n ul.appendChild(li);\r\n var t = document.createTextNode(i);\r\n li.appendChild(t);\r\n if (data[i] instanceof Object) li.appendChild(this.tree(data[i]));\r\n else {\r\n let textNode = document.createTextNode(' - ' + data[i]);\r\n li.appendChild(textNode);\r\n }\r\n }\r\n r = ul;\r\n return r;\r\n }\r\n\r\n nfceGerarContingencia() {\r\n if (this.nfceEmDigitacaoEmProcessamento()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfce/GerarContingencia\",\r\n JSON.stringify({ id: this.dadosNFCe.id }),\r\n (result) => {\r\n this.processaRetorno(\"Retorno da Transmissão\", result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"nfceGerarContingencia\", error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","export * from './nfce-edit.component';\r\nexport * from './nfce-browse.component';","// tslint:disable\r\nimport {Injector, Component} from '@angular/core';\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent\r\n} from './../../@cmcore/component';\r\nimport {\r\n NFCeEditComponent,\r\n NFCeAcoesComponent,\r\n ClienteBrowseComponent,\r\n VendedorBrowseComponent,\r\n FormaPagamentoBrowseComponent\r\n} from './../index';\r\n\r\n@Component({\r\n selector: 'nfce-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class NFCeBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'nfce';\r\n this.formEditComponent = NFCeEditComponent;\r\n this.buttonsExtra = 1;\r\n this.columns = [\r\n {\r\n field: 'nnf',\r\n caption: '#',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {\r\n field: 'dhemi',\r\n caption: 'Data',\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n })\r\n },\r\n {\r\n field: \"hemi\",\r\n caption: \"Hora\",\r\n filter: new CMInputConfig({\r\n mask: \"99:99:9999\",\r\n }),\r\n },\r\n {\r\n field: \"serie\",\r\n caption: \"Série\",\r\n },\r\n {\r\n field: \"tpemis\",\r\n caption: \"Tipo Emissão\",\r\n },\r\n {\r\n field: \"emcont\",\r\n caption: \"Contingência em\",\r\n },\r\n {\r\n field: 'pessoa_nome',\r\n caption: 'Cliente',\r\n filterField: 'cliente.id',\r\n filterValue: 'cliente.codigo',\r\n fieldBottom: 'cliente.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n },\r\n {field: 'statusstr', caption: 'Status'},\r\n {\r\n field: 'vendedor_nome',\r\n caption: 'Vendedor',\r\n filterField: 'vendedor.id',\r\n filterValue: 'vendedor.codigo',\r\n fieldBottom: 'vendedor.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n },\r\n {\r\n field: 'formapag_descricao',\r\n caption: 'Forma de Pagamento',\r\n filterField: 'formapagamento.id',\r\n fieldBottom: 'formapagamento.descricao',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n }\r\n ];\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n if (this.grid.fieldByName('impostocalculado') === 'Sim')\r\n this.openFormAcoesNFe(this.grid.fieldByName('id'));\r\n else\r\n CMFormGlobaisComponent.showMessageAviso(\r\n 'Calcule os impostos da NF-e antes de abrir o gerenciamento'\r\n );\r\n }\r\n }\r\n\r\n idFormAcoesNFe: number = 0;\r\n openFormAcoesNFe(id) {\r\n this.idFormAcoesNFe = id;\r\n this.beforeComponent = NFCeAcoesComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open('formAcoesNFCe');\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, 'GetDadosAcoesNFCe');\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = '';\r\n if (index === 0) r = 'build';\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = '';\r\n if (index === 0) r = 'Gerenciamento';\r\n return r;\r\n }\r\n\r\n getTitle() {\r\n return 'Nota Fiscal de Consumidor Eletrônica';\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n idCliente?: number,\r\n tipoPagamento?: string\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'nfce',\r\n 'Pesquisa de NFC-e',\r\n [\r\n {field: 'nnf', caption: '#'},\r\n {field: 'pessoa_nome', caption: 'Cliente', filter: true},\r\n {field: 'dhemi', caption: 'Data', filter: true, mask: '99/99/9999'},\r\n {field: \"serie\", caption: \"Série\", },\r\n {field: \"tpemis\",caption: \"Tipo Emissão\",},\r\n ],\r\n target,\r\n targetProp,\r\n 'infnfe.ide.nnf',\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n {\r\n idcliente: idCliente,\r\n tipopagamento: tipoPagamento,\r\n status: 'Autorizado'\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMPanelConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n PessoaBrowseComponent,\r\n TransportadoraBrowseComponent,\r\n ProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n FormaPagamentoBrowseComponent,\r\n NFeBrowseComponent,\r\n CFOPBrowseComponent,\r\n PadraoDeOperacaoEditComponent,\r\n MunicipioBrowseComponent,\r\n CupomDescontoBrowseComponent,\r\n} from \"./../index\";\r\nimport { CMValidatorCNPJCPF, CMValidator } from \"./../../@cmcore/validator\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"nfce-edit\",\r\n templateUrl: \"nfce-edit.component.html\",\r\n})\r\nexport class NFCeEditComponent extends CMFormEditComponent {\r\n valuesTipoPagamento = [];\r\n\r\n configPesqLocalEntrega: CMPanelConfigMore;\r\n\r\n setValuesTipoPagamento() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ];\r\n } else {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n { value: \"RecebimentoFuturo\", text: \"Recebimento Futuro\" },\r\n ];\r\n }\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_infnfe_dest_pessoa\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Nota Fiscal de Consumidor Eletrônica\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"infnfe.dest.pessoa.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfce\";\r\n this.setValuesTipoPagamento();\r\n this.setModelConfig();\r\n PessoaBrowseComponent.setValidProcSolicitaPermissaoVendaContaVencida(this, () => {\r\n return this.model.infnfe.tipopagamento === 'AVista'\r\n });\r\n this.configPesqLocalEntrega = new CMPanelConfigMore({\r\n onClick: () => this.onActionpesqLocalEntrega(),\r\n });\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.podeeditar !== \"Sim\";\r\n this.setCFOPNovosItens();\r\n }\r\n\r\n setCFOPNovosItens() {\r\n if (this.model.infnfe.ide.finnfe == 'Devolucao') {\r\n this.model.cfopnovositenscfop = Object.assign({}, this.currentUserStorage.cfoppadraodevolucao);\r\n }\r\n else {\r\n this.model.cfopnovositenscfop = Object.assign({}, this.currentUserStorage.cfoppadrao);\r\n }\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n cfopnovositenscfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP novos itens\",\r\n mask: \"9.999\",\r\n customvalidators: [\r\n new CMValidator(() => {\r\n return this.validCFOPAtivo();\r\n }),\r\n ],\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"cfopnovositenscfop\",\r\n this.model.infnfe.ide.tpnf,\r\n this.model.infnfe.ide.finnfe\r\n );\r\n },\r\n }),\r\n infnfe: {\r\n ide: {\r\n tpnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Operação\",\r\n values: [{ value: \"Entrada\" }, { value: \"Saida\", text: \"Saída\" }],\r\n }),\r\n\r\n finnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"Finalidade de emissão da NF-e\",\r\n values: [\r\n { value: \"Normal\" },\r\n { value: \"Complementar\" },\r\n { value: \"Ajuste\" },\r\n { value: \"Devolucao\", text: \"Devolução\" },\r\n ],\r\n onChange: () => {\r\n this.setCFOPNovosItens();\r\n }\r\n }),\r\n tpemis: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo da NF-e\",\r\n values: [\r\n { value: \"Normal\" },\r\n { value: \"Contingencia\", text: \"Contingência Off-Line NFC-e\" },\r\n ],\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.valueToInteger(this.model.id, 0) > 0;\r\n },\r\n required: true,\r\n }),\r\n nnf: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n hemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Hora emissão\",\r\n mask: \"99:99:99\",\r\n required: true,\r\n }),\r\n natop: new CMInputConfig({\r\n form: this,\r\n caption: \"Natureza da Operação\",\r\n maxlength: 60,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Destinatário\",\r\n required: false,\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados ||\r\n this.model.infnfe.dest.tipopessoa === \"Empresa\"\r\n );\r\n },\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n this.model.infnfe.dest.tipopessoa\r\n );\r\n },\r\n }),\r\n usaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n }),\r\n armazenaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n caption: \"Salva endereço de entrega como:\",\r\n }),\r\n identificacaoenderecoentrega: new CMInputConfig({\r\n form: this,\r\n maxlength: 30,\r\n requiredFunc: () =>\r\n this.model.infnfe.dest.armazenaenderecoentrega == \"Sim\",\r\n }),\r\n enderecoentrega: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.infnfe.dest.enderecoentrega.estado,\r\n sender,\r\n this.model.infnfe.dest.enderecoentrega,\r\n \"ibge\"\r\n );\r\n },\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n },\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n prod: {\r\n qcom: \"1,00\",\r\n vuncom: \"0,00\",\r\n vprod: \"0,00\",\r\n vdesc: \"0,00\",\r\n pdesc: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n cfop: this.getCFOPPadrao(),\r\n },\r\n estoque: [],\r\n });\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.modelConfig.infnfe.det.current.prod.vuncom = ProdutoBrowseComponent.get_vUniCon(\r\n produto\r\n );\r\n if(this.currentProdutoUsaGrade()){\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"0,00\";\r\n\r\n let grades = this.modelConfig.infnfe.det.current.prod.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.infnfe.det.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"qcom\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"1,00\";\r\n };\r\n this.calcTotalItem();\r\n this.setInfoFiscalProduto(\r\n this.modelConfig.infnfe.det.current,\r\n \"produto\"\r\n );\r\n }\r\n );\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n required: true,\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n hintButton: \"Preço\",\r\n iconButton: \"attach_money\",\r\n dropdownValues: (row) => this.dropdownValuesVUnCom(row),\r\n required: true,\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 7,\r\n }),\r\n disabled: true,\r\n required: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 4,\r\n }),\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 6,\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"prod.tipodesconto\") ===\r\n \"Percentual\",\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem(\"v\");\r\n },\r\n visibleFunc: () => {\r\n return this.impostosCalculados || this.isDescontoItem();\r\n },\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados &&\r\n !this.isAlteraImpostosManualmente()\r\n );\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 5,\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"prod.tipodesconto\") === \"Valor\",\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem(\"p\");\r\n },\r\n visibleFunc: () => {\r\n return this.impostosCalculados || this.isDescontoItem();\r\n },\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados &&\r\n !this.isAlteraImpostosManualmente()\r\n );\r\n },\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n mask: \"9.999\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 8,\r\n tipo: \"input-pesquisa\",\r\n width: \"130px\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.descricao\");\r\n },\r\n }),\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n customvalidators: [\r\n new CMValidator(() => {\r\n return this.validCFOPAtivo();\r\n }),\r\n ],\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"cfop\",\r\n this.model.infnfe.ide.tpnf,\r\n this.model.infnfe.ide.finnfe,\r\n (cfop) => {\r\n this.setInfoFiscalProduto(\r\n this.modelConfig.infnfe.det.current,\r\n \"cfop\"\r\n );\r\n }\r\n );\r\n },\r\n }),\r\n indtot: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Item entra no valor total da NF-e\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n values: [\r\n { value: \"NaoCompoeValorTotal\", text: \"Não\" },\r\n { value: \"CompoeValorTotal\", text: \"Sim\" },\r\n ],\r\n }),\r\n },\r\n imposto: {\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n icms: {\r\n csosn: new CMInputConfig({\r\n form: this,\r\n caption: \"CSOSN\",\r\n dataType: \"integer\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 9,\r\n width: \"6em\",\r\n }),\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n values: PadraoDeOperacaoEditComponent.CSOSN,\r\n }),\r\n modbc: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Modalidade de determinação da BC do ICMS (CSOSN 900)\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n picms: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pcredsn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Alíquota aplicável de cálculo do crédito (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vcredicmssn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n predbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n icmsst: {\r\n modbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade de determinação da BC do ICMS ST\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n predbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC do ICMS ST\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pmvast: new CMInputConfig({\r\n form: this,\r\n caption: \"MVA\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n picmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbcstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Base Cálculo (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicmsstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor ICMS (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n pis: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n ppis: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n cofins: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.infnfe.det.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.infnfe.det.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n required: true,\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n required: true,\r\n }),\r\n icmstot: {\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vprod: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n required: true,\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n let r = this.isDescontoItem();\r\n if (!r) r = this.model.infnfe.tipodesconto === \"Percentual\";\r\n return r;\r\n },\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"v\");\r\n },\r\n onExit: () => {\r\n this.onExitDescTotal(\"v\");\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n let r = this.isDescontoItem();\r\n if (!r) r = this.model.infnfe.tipodesconto === \"Valor\";\r\n return r;\r\n },\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"p\");\r\n },\r\n onExit: () => {\r\n this.onExitDescTotal(\"p\");\r\n },\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS ST\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS ST\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n },\r\n transp: {\r\n modfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade do frete\",\r\n values: [\r\n { value: \"PorContaDoEmitente\", text: \"Por conta do emitente\" },\r\n {\r\n value: \"PorContaDoDestinatario\",\r\n text: \"Por conta do destinatário/remetente\",\r\n },\r\n { value: \"PorContaDeTerceiros\", text: \"Por conta de terceiros\" },\r\n { value: \"SemFrete\", text: \"Sem frete\" },\r\n ],\r\n }),\r\n transportadora: new CMInputConfig({\r\n form: this,\r\n caption: \"Transportadora\",\r\n pesqFunc: (sender) => {\r\n TransportadoraBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.transp\r\n );\r\n },\r\n }),\r\n placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Placa\",\r\n maxlength: 7,\r\n }),\r\n uf_placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n rntc: new CMInputConfig({\r\n form: this,\r\n caption: \"RNTC / ANTT\",\r\n maxlength: 20,\r\n }),\r\n vol: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n qvol: \"0\",\r\n pesol: \"0,000\",\r\n pesob: \"0,000\",\r\n });\r\n },\r\n fields: {\r\n qvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"integer\",\r\n }),\r\n esp: new CMInputConfig({\r\n form: this,\r\n caption: \"Espécie\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n marca: new CMInputConfig({\r\n form: this,\r\n caption: \"Marca\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n nvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Numeração\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n pesol: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Líquido (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n pesob: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Bruto (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n },\r\n }),\r\n },\r\n pag: {\r\n cupomdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Cupom de Desconto\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n CupomDescontoBrowseComponent.pesquisa(\r\n \"Não\",\r\n sender,\r\n this.model.infnfe.pag,\r\n undefined,\r\n (cupom) => {\r\n let msg;\r\n msg = this.cupomValido(cupom);\r\n if (this.trimValue(msg) === \"\") {\r\n this.model.infnfe.pag.vutilizadocupom = cupom.valor;\r\n this.model.infnfe.cobr.vdesconto = cupom.valor;\r\n this.calcValorLiquidoDuplicatas();\r\n } else {\r\n this.model.infnfe.pag.cupomdesconto = \"\";\r\n CMFormGlobaisComponent.showMessageError(msg);\r\n }\r\n }\r\n );\r\n },\r\n onExit: () => {\r\n this.onExitCupomDesconto();\r\n },\r\n }),\r\n vutilizadocupom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do cupom\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n cobr: {\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return (\r\n this.valueToInteger(\r\n this.getValueObject(\r\n this.model.model_infnfe,\r\n \"pag.cupomdesconto.id\"\r\n ),\r\n 0\r\n ) > 0\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorLiquidoDuplicatas();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor líquido\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n requiredFunc: () => {\r\n return this.model.infnfe.tipopagamento === \"FormaPagamento\";\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da duplicata\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.recalcularValorParcelas(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"alteradomanualmente\") !== \"Sim\",\r\n }),\r\n requiredFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n alteradomanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar\",\r\n dataType: \"boolean\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"60px\",\r\n }),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n requiredFunc: () => {\r\n return this.model.infnfe.tipopagamento === \"FormaPagamento\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.infnfe.cobr.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data da Baixa\",\r\n visibleFunc: () => {\r\n return this.model.infnfe.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo\",\r\n visibleFunc: () => {\r\n return this.model.infnfe.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n }),\r\n },\r\n\r\n infadic: {\r\n infadfisco: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações adicionais de interesse do fisco\",\r\n }),\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações Complementares de interesse do Contribuinte\",\r\n }),\r\n },\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model.infnfe);\r\n },\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: this.valuesTipoPagamento,\r\n }),\r\n alteraimpostosmanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar valores manualmente\",\r\n onExit: () => {\r\n if (!this.isAlteraImpostosManualmente()) {\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot.vdesc = \"0,00\";\r\n this.calcularImpostos(false);\r\n }\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n onSetValue: (oldValue, newValue) => {\r\n if (this.trimValue(oldValue) !== \"\" && oldValue !== newValue)\r\n this.gerarDuplicatas();\r\n },\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n chaveacesso: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n disabled: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n }),\r\n descontoaplicato: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto será aplicado\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n onExit: () => {\r\n this.zeraDesconto();\r\n },\r\n values: [\r\n { value: \"NosItens\", text: \"Nos itens\" },\r\n { value: \"NoTotal\", text: \"No total\" },\r\n ],\r\n }),\r\n },\r\n };\r\n }\r\n\r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n onEnterDescTotal(tipo) {\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot[\"old_\" + tipo + \"desc\"] = icmstot[tipo + \"desc\"];\r\n }\r\n\r\n onExitDescTotal(tipo) {\r\n if (!this.isAlteraImpostosManualmente()) {\r\n let desc1 = \"vdesc\";\r\n let desc2 = \"pdesc\";\r\n if (tipo === \"p\") {\r\n desc1 = \"pdesc\";\r\n desc2 = \"vdesc\";\r\n }\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n if (icmstot[\"old_\" + desc1] !== icmstot[desc1]) {\r\n icmstot[desc2] = \"0,00\";\r\n this.calcularImpostos(false, () => {\r\n let icmstot2 = this.model.infnfe.total.icmstot;\r\n icmstot2[\"old_\" + desc2] = icmstot2[desc2];\r\n });\r\n }\r\n }\r\n }\r\n\r\n isAlteraImpostosManualmente() {\r\n return this.model.infnfe.alteraimpostosmanualmente === \"Sim\";\r\n }\r\n\r\n isDescontoItem() {\r\n return this.model.infnfe.descontoaplicato === \"NosItens\";\r\n }\r\n\r\n getColumnDescontoItem(atual, inc) {\r\n if (this.isDescontoItem()) inc = 0;\r\n return atual + inc;\r\n }\r\n\r\n onRemoveItem(item) {\r\n this.add_vTotal(this.valueToFloat(item.prod.vtotal, 0), 0);\r\n }\r\n\r\n calc_vDescItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = (vtotal * this.valueToFloat(item.pdesc, 0)) / 100;\r\n return this.floatToValue(vdesc);\r\n }\r\n\r\n calc_pDescItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = this.valueToFloat(item.vdesc, 0);\r\n let pdesc = (vdesc / vtotal) * 100;\r\n return this.floatToValue(pdesc);\r\n }\r\n\r\n calcTotalItem(tipo = undefined) {\r\n this.calcTotalItem2(this.modelConfig.infnfe.det.current.prod, tipo);\r\n }\r\n\r\n calcTotalItem2(item, tipo) {\r\n let vdesc = this.calc_vDescItem(item);\r\n if (item.vdesc !== vdesc) {\r\n if (tipo === \"v\") item.pdesc = this.calc_pDescItem(item);\r\n else item.vdesc = vdesc;\r\n }\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n vtotal = vtotal - this.valueToFloat(item.vdesc, 0);\r\n this.add_vTotal(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem2(item.prod, undefined);\r\n }\r\n\r\n add_vTotal(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.vtotal, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.valueToFloat(item.prod.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n if (this.impostosCalculados) {\r\n if (this.model.infnfe.tipopagamento === \"FormaPagamento\") {\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.infnfe.ide.dhemi);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de emissão\";\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n onExitCupomDesconto() {\r\n if (\r\n this.valueToInteger(\r\n this.getValueObject(this.model.infnfe, \"pag.cupomdesconto.id\"),\r\n 0\r\n ) <= 0\r\n ) {\r\n this.model.infnfe.cobr.vdesconto = 0;\r\n this.model.infnfe.pag.vutilizadocupom = 0;\r\n this.calcValorLiquidoDuplicatas();\r\n }\r\n }\r\n\r\n calcValorLiquidoDuplicatas() {\r\n let vliquido =\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0) -\r\n this.valueToFloat(this.model.infnfe.cobr.vdesconto, 0);\r\n this.model.infnfe.cobr.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n valid() {\r\n let r = true;\r\n if (this.impostosCalculados || this.calculandoImpostos) r = super.valid();\r\n return r;\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (!this.calculandoImpostos) {\r\n if (r === \"\") {\r\n if (\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0) <=\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vdesc, 0)\r\n )\r\n r = \"Valor de desconto deve ser menor que o valor dos produtos\";\r\n }\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.infnfe.cobr.vliquido, 0) < 0)\r\n r = \"Valor total Líquido deve ser maior ou igual a zero\";\r\n }\r\n if (r === \"\" && this.model.infnfe.tipopagamento === \"FormaPagamento\") {\r\n let duplicatas = this.model.infnfe.cobr.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.infnfe.cobr.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n afterSave() {\r\n super.afterSave();\r\n if (this.impostosCalculados && this.formBrowse) {\r\n let form: NFeBrowseComponent = this.formBrowse;\r\n form.openFormAcoesNFe(this.model.id);\r\n }\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas = this.valueToInteger(this.model.infnfe.qtdeparcelas, 0);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.infnfe.cobr.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.infnfe.ide.dhemi);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.infnfe.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.infnfe.cobr.duplicatas.unSelect();\r\n this.model.infnfe.cobr.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n\r\n recalcularValorParcelas() {\r\n let valorFixo = 0;\r\n let numeroParcelas = 0;\r\n let primeiraDuplicataAutomatica = undefined;\r\n this.model.infnfe.cobr.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente == \"Sim\")\r\n valorFixo += this.valueToFloat(duplicata.valor);\r\n else {\r\n if (primeiraDuplicataAutomatica == undefined)\r\n primeiraDuplicataAutomatica = duplicata;\r\n numeroParcelas += 1;\r\n }\r\n });\r\n if (numeroParcelas > 0) {\r\n let vliquido =\r\n this.valueToFloat(this.model.infnfe.cobr.vliquido, 0) - valorFixo;\r\n if (vliquido > 0) {\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n this.model.infnfe.cobr.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente !== \"Sim\")\r\n duplicata.valor = this.floatToValue(valorParcela);\r\n });\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(primeiraDuplicataAutomatica.valor);\r\n valor += dif;\r\n primeiraDuplicataAutomatica.valor = this.floatToValue(valor);\r\n }\r\n }\r\n }\r\n }\r\n\r\n isHomologacao() {\r\n let r: boolean = true;\r\n if (this.model && this.model.infnfe && this.model.infnfe.ide)\r\n r = this.model.infnfe.ide.tpamb === \"Homologacao\";\r\n return r;\r\n }\r\n\r\n get impostosCalculados() {\r\n return this.model.impostocalculado === \"Sim\";\r\n }\r\n\r\n set impostosCalculados(value: boolean) {\r\n if (value) this.model.impostocalculado = \"Sim\";\r\n else this.model.impostocalculado = \"Não\";\r\n }\r\n\r\n calculandoImpostos: boolean = false;\r\n calcularImpostos(nextPage: boolean, afterCalcula = undefined) {\r\n this.calculandoImpostos = true;\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfe/CalculaImposto\",\r\n JSON.stringify(this.model),\r\n (result) => {\r\n this.unSelectItens(this.modelConfig);\r\n this.model = result;\r\n this.impostosCalculados = true;\r\n if (afterCalcula) afterCalcula();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n this.calculandoImpostos = false;\r\n }\r\n\r\n liberarCalculoImposto() {\r\n this.impostosCalculados = false;\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot.vdesc = \"0,00\";\r\n this.model.infnfe.alteraimpostosmanualmente = \"Não\";\r\n }\r\n\r\n zeraDesconto() {\r\n if (this.isDescontoItem()) {\r\n this.model.vdesc = \"0,00\";\r\n this.model.pdesc = \"0,00\";\r\n } else {\r\n this.model.infnfe.det.forEach((item) => {\r\n item.vdesc = \"0,00\";\r\n item.pdesc = \"0,00\";\r\n this.calcTotalItem2(item, undefined);\r\n });\r\n }\r\n }\r\n\r\n getCFOPPadrao() {\r\n return this.model.cfopnovositenscfop;\r\n }\r\n\r\n temPessoa() {\r\n return this.valueToInteger(this.fieldByName(\"infnfe.dest.pessoa.id\")) > 0;\r\n }\r\n\r\n getInfoFiscal(item) {\r\n if (item.prod.cfop && item.prod.produto) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Produto/GetInfoFiscal\",\r\n JSON.stringify({\r\n id: item.prod.produto.id,\r\n cfop: item.prod.cfop.codigo,\r\n idpessoa: this.fieldByName(\"infnfe.dest.pessoa.id\"),\r\n }),\r\n (result) => {\r\n item.imposto.icms.csosn = result[\"icms_csosn\"];\r\n item.imposto.pis.cst = result[\"pis_cst\"];\r\n item.imposto.cofins.cst = result[\"cofins_cst\"];\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n getCFOPPessoa(item) {\r\n if (item.prod.cfop && item.prod.produto) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Cliente/GetInfoFiscal\",\r\n JSON.stringify({\r\n idproduto: item.prod.produto.id,\r\n cfop: item.prod.cfop.codigo,\r\n idpessoa: this.fieldByName(\"infnfe.dest.pessoa.id\"),\r\n }),\r\n (result) => {\r\n if (result[\"cfop\"]) item.prod.cfop = result[\"cfop\"];\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.getInfoFiscal(item);\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n setInfoFiscalProduto(item, campoOgirem) {\r\n if (campoOgirem !== \"cfop\") {\r\n this.getCFOPPessoa(item);\r\n } else {\r\n this.getInfoFiscal(item);\r\n }\r\n }\r\n\r\n recarregaInformacoesFiscaisProduto() {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"ATENÇÃO\",\r\n \"Este procedimento irá recarregar as informações de CFOP, CSOSN, \" +\r\n \"CST PIS e CST COFINS de acordo com o cadastro do produto e destinatário.\" +\r\n \"Deseja continuar?\",\r\n () => {\r\n this.model.infnfe.det.forEach((item) => {\r\n item.prod.cfop = this.getCFOPPadrao();\r\n this.setInfoFiscalProduto(item, \"\");\r\n });\r\n }\r\n );\r\n }\r\n\r\n getVisibleCobranca() {\r\n let r: boolean = this.impostosCalculados || this.disabledAll;\r\n if (r) r = this.model.infnfe.ide.tpnf === \"Saida\";\r\n if (r) r = this.model.infnfe.ide.finnfe === \"Normal\";\r\n return r;\r\n }\r\n\r\n getVisibleDocumentosFiscaisReferenciados() {\r\n let r: boolean = this.impostosCalculados || this.disabledAll;\r\n if (r) r = this.model.infnfe.ide.finnfe !== \"Normal\";\r\n return r;\r\n }\r\n\r\n getInfoDocumentosFiscaisReferenciados(row) {\r\n let r: string = \"\";\r\n if (row.tipo === \"CTe\") r = row.refcte;\r\n else if (row.tipo === \"NFP\")\r\n r = \"Série: \" + row.refnfp_serie + \" / Núm.: \" + row.refnfp_nnf;\r\n else if (row.tipo === \"NF\")\r\n r = \"Série: \" + row.refnf_serie + \" / Núm.: \" + row.refnf_nnf;\r\n else if (row.tipo === \"NFe\") r = row.refnfe;\r\n else if (row.tipo === \"ECF\")\r\n r = \"ECF: \" + row.refecf_necf + \" / CCO: \" + row.refecf_ncoo;\r\n return r;\r\n }\r\n\r\n onExitTipoPessoa() {\r\n if (\r\n this.model.infnfe.dest.tipopessoa !==\r\n this.model.infnfe.dest.old_tipopessoa\r\n )\r\n this.model.infnfe.dest.pessoa = {};\r\n if (this.model.infnfe.dest.tipopessoa === \"Empresa\") {\r\n this.model.infnfe.dest.pessoa = {\r\n id: this.currentUserStorage[\"Empresa.Id\"],\r\n codigo: this.currentUserStorage[\"Empresa.Codigo\"],\r\n nome: this.currentUserStorage[\"Empresa.Nome\"],\r\n };\r\n }\r\n }\r\n\r\n onEnterTipoPessoa() {\r\n this.model.infnfe.dest.old_tipopessoa = this.model.infnfe.dest.tipopessoa;\r\n }\r\n\r\n validCFOPAtivo() {\r\n let r: string = \"\";\r\n let item = this.modelConfig.infnfe.det.current;\r\n if (item && item.prod && item.prod.cfop && item.prod.cfop.ativo !== \"Sim\") {\r\n r = \"CFOP Inativo. Utilize a pesquisa para verificar os CFOPs ativos.\";\r\n }\r\n return r;\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n dropdownValuesVUnCom(row) {\r\n let r = [];\r\n if (row && row.prod && row.prod.produto)\r\n r = ProdutoBrowseComponent.dropdownValuesVUnCom(row.produto);\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n usaEnderecoEntrega() {\r\n return this.model.infnfe.dest.usaenderecoentrega == \"Sim\";\r\n }\r\n\r\n onActionpesqLocalEntrega() {\r\n const idPessoa = this.valueToInteger(\r\n this.fieldByName(\"infnfe.dest.pessoa.id\")\r\n );\r\n if (idPessoa > 0) {\r\n PessoaBrowseComponent.pesquisaEnderecoEntrega(idPessoa, (row) => {\r\n this.model.infnfe.dest.usaenderecoentrega = \"Sim\";\r\n this.model.infnfe.dest.enderecoentrega.logradouro = row.logradouro;\r\n this.model.infnfe.dest.enderecoentrega.numero = row.numero;\r\n this.model.infnfe.dest.enderecoentrega.bairro = row.bairro;\r\n this.model.infnfe.dest.enderecoentrega.complemento = row.complemento;\r\n this.model.infnfe.dest.enderecoentrega.estado = row.estado;\r\n if (this.valueToInteger(row.ibge_id) > 0) {\r\n this.model.infnfe.dest.enderecoentrega.ibge = {\r\n id: row.ibge_id,\r\n estado: row.ibge_estado,\r\n codigouf: row.ibge_codigouf,\r\n municipio: row.ibge_municipio,\r\n codigomunicipio: row.ibge_codigomunicipio,\r\n };\r\n } else this.model.infnfe.dest.enderecoentrega.ibge = {};\r\n this.model.infnfe.dest.enderecoentrega.cep = row.cep;\r\n this.model.infnfe.dest.identificacaoenderecoentrega = row.identificacao;\r\n this.model.infnfe.dest.armazenaenderecoentrega = \"Sim\";\r\n });\r\n }\r\n }\r\n\r\n cupomValido(cupom) {\r\n let r: string = \"\";\r\n if (cupom) {\r\n if (cupom.datavalidade > 0 && cupom.datavalidade <= this.date)\r\n r = \"Cupom de Desconto vencido\";\r\n if (r && cupom.valor === 0)\r\n r = \"Cupom de Desconto inválido ou já utilizado\";\r\n return r;\r\n }\r\n }\r\n}\r\n","export * from './nfe-acoes.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtYWNvZXMvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcbmZlLWFjb2VzXFxuZmUtYWNvZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLWFjb2VzL25mZS1hY29lcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLWFjb2VzL25mZS1hY29lcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbn0iLCIuY21mb3JtLWlubmVyIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG59Il19 */\"","// tslint:disable\r\nimport {Component, Injector, ViewChild} from '@angular/core';\r\n\r\nimport {CMFormComponent} from './../../@cmcore/component/cmform/cmform.component';\r\n\r\nimport {\r\n CMInputConfig,\r\n CMValidatorEmail,\r\n CMFormGlobaisComponent,\r\n CMTabComponent,\r\n CMFormModalComponent,\r\n} from './../../@cmcore/component';\r\nimport {NFeBrowseComponent, NFeRelatoriosComponent} from './../index';\r\n@Component({\r\n selector: 'nfe-acoes',\r\n templateUrl: 'nfe-acoes.component.html',\r\n styleUrls: ['nfe-acoes.component.scss'],\r\n})\r\nexport class NFeAcoesComponent extends CMFormComponent {\r\n _owner: NFeBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n if (this.owner) {\r\n this.loadDadosNFe();\r\n this.voltarAcoes();\r\n }\r\n }\r\n\r\n public beforeComponent: any = undefined;\r\n\r\n configNFe: any = {\r\n cartacorrecao: {\r\n xcorrecao: new CMInputConfig({\r\n form: this,\r\n caption: 'Texto da Carta de Correção',\r\n disabledFunc: () => {\r\n return !this.nfeAutorizado();\r\n },\r\n }),\r\n },\r\n cancelamento: {\r\n xjust: new CMInputConfig({\r\n form: this,\r\n caption: 'Justificativa',\r\n disabledFunc: () => {\r\n return !this.nfeAutorizado();\r\n },\r\n }),\r\n },\r\n email: {\r\n para: new CMInputConfig({\r\n form: this,\r\n caption: 'Para',\r\n required: true,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n cc: new CMInputConfig({\r\n form: this,\r\n caption: 'CC',\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n assunto: new CMInputConfig({form: this, caption: 'Assunto', required: true}),\r\n mensagem: new CMInputConfig({form: this, caption: 'Mensagem', required: true}),\r\n },\r\n };\r\n\r\n dadosNFe: any = {\r\n infnfe: {\r\n status: '',\r\n },\r\n cartacorrecao: {\r\n xcorrecao: '',\r\n temxml: '',\r\n },\r\n cancelamento: {\r\n temxml: '',\r\n xjust: '',\r\n },\r\n protnfe: {\r\n temxml: '',\r\n },\r\n email: {\r\n para: '',\r\n cc: '',\r\n assunto: '',\r\n mensagem: '',\r\n },\r\n };\r\n loadDadosNFe() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfe/GetDadosAcoesNFe/FuncaoExtra',\r\n JSON.stringify({id: this.owner.idFormAcoesNFe}),\r\n (result) => {\r\n this.dadosNFe = result;\r\n this.dadosNFe.email.assunto = '';\r\n this.dadosNFe.email.mensagem = '';\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n nfeAutorizadoCancelado() {\r\n return this.nfeAutorizado() || this.dadosNFe.infnfe.status === 'Cancelado';\r\n }\r\n\r\n nfeCancelado() {\r\n return this.dadosNFe.infnfe.status === 'Cancelado';\r\n }\r\n\r\n nfeAutorizado() {\r\n return this.dadosNFe.infnfe.status === 'Autorizado';\r\n }\r\n\r\n nfeEmProcessamento() {\r\n return this.dadosNFe.infnfe.status === 'EmProcessamento';\r\n }\r\n\r\n nfeEmDigitacao() {\r\n return this.dadosNFe.infnfe.status === 'EmDigitacao';\r\n }\r\n\r\n nfeEmDigitacaoEmProcessamento() {\r\n return this.nfeEmDigitacao() || this.nfeEmProcessamento();\r\n }\r\n\r\n @ViewChild('tbAcoes', {static: true}) tbAcoes: CMTabComponent;\r\n voltarAcoes() {\r\n this.tbAcoes.active = true;\r\n }\r\n\r\n getCaptionTransmissao() {\r\n let r: string = '';\r\n if (this.nfeEmDigitacao()) r = 'Transmitir';\r\n else if (this.nfeEmProcessamento()) r = 'Consultar processamento';\r\n else if (this.dadosNFe.protnfe.temxml === 'True') {\r\n r = 'Enviar e-Mail';\r\n }\r\n return r;\r\n }\r\n\r\n getCaptionCancelamento() {\r\n let r: string = '';\r\n if (this.nfeAutorizado()) r = 'Cancelar NF-e';\r\n else if (this.nfeCancelado() && this.dadosNFe.cancelamento.temxml === 'True') {\r\n r = 'Enviar e-Mail';\r\n }\r\n return r;\r\n }\r\n\r\n clickTransmissao() {\r\n if (this.nfeEmDigitacao() || this.nfeEmProcessamento()) this.transmitirNFe();\r\n else if (this.dadosNFe.protnfe.temxml === 'True') this.openEmail('protnfe');\r\n }\r\n\r\n clickCancelamento() {\r\n if (this.nfeAutorizado()) this.cancelarNFe();\r\n else if (this.dadosNFe.cancelamento.temxml === 'True') this.openEmail('cancelamento');\r\n }\r\n\r\n clickEmailCartaCorrecao() {\r\n if (this.dadosNFe.cartacorrecao.temxml === 'True') this.openEmail('cartacorrecao');\r\n }\r\n\r\n setActiveTab(tab, enabled) {\r\n if (enabled) tab.active = true;\r\n }\r\n\r\n titleEmail: string = '';\r\n tipoEmail: string = '';\r\n openEmail(tipoEmail) {\r\n this.titleEmail = '';\r\n this.tipoEmail = tipoEmail;\r\n if (tipoEmail === 'protnfe') this.titleEmail = 'e-Mail do XML de transmissão';\r\n else if (tipoEmail === 'cancelamento') this.titleEmail = 'e-Mail do XML de cancelamento';\r\n else if (tipoEmail === 'cartacorrecao') this.titleEmail = 'e-Mail do XML da carta de correção';\r\n this.dadosNFe.email.assunto = this.dadosNFe[tipoEmail].email_assunto;\r\n this.dadosNFe.email.mensagem = this.dadosNFe[tipoEmail].email_mensagem;\r\n CMFormModalComponent.open('formAcoesNFeEmail');\r\n }\r\n\r\n enviarEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfe/EnviarEmail',\r\n JSON.stringify({\r\n id: this.dadosNFe.id,\r\n tipo: this.tipoEmail,\r\n para: this.dadosNFe.email.para,\r\n cc: this.dadosNFe.email.cc,\r\n assunto: this.dadosNFe.email.assunto,\r\n mensagem: this.dadosNFe.email.mensagem,\r\n }),\r\n (result) => {\r\n this.processaRetorno(this.titleEmail, result, 'formAcoesNFeEmail');\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n\r\n getCaptionImpressao() {\r\n let r: string = 'Imprimir DANFE';\r\n if (this.nfeEmDigitacao()) r = 'Imprimir Pré-DANFE';\r\n return r;\r\n }\r\n\r\n impressaoDANFE() {\r\n if (NFeRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosNFe();\r\n }\r\n else{\r\n this.showRelat('Print', {id: this.dadosNFe.id, nnf: this.dadosNFe.infnfe.ide.nnf}, 'NFe');\r\n }\r\n }\r\n \r\n openFormRelatoriosNFe() {\r\n this.owner.beforeComponent = NFeRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosNFe\");\r\n }, 100);\r\n }\r\n\r\n transmitirNFe() {\r\n if (this.nfeEmDigitacaoEmProcessamento()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfe/GerarNFe',\r\n JSON.stringify({id: this.dadosNFe.id}),\r\n (result) => {\r\n console.log('hereretorno: ', result);\r\n this.processaRetorno('Retorno da Transmissão', result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n console.log('Error: ', error.error);\r\n console.log('Error Verbose: ', error);\r\n console.log('ErroIncludes: ', error.error.includes('httpstat.us'));\r\n\r\n let errorArray = error.error.split(/\\r?\\n/);\r\n\r\n console.log('errorArray: ', errorArray)\r\n\r\n //if (error.error.includes('httpstat.us')){\r\n let html = \"
    \";\r\n html += `

    \r\n Servidor da receita (`+errorArray[2]+`) retornou o `+errorArray[1]+`\r\n

    \r\n `;\r\n\r\n if (errorArray[0].includes('Erro Interno: 10060')){\r\n html += `

    \r\n O servidor da receita está indisponível no momento.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n \r\n if (errorArray[1].includes('Erro HTTP: 403')){\r\n html += `

    \r\n A requisição web foi negada pelo servidor remoto da receita.\r\n

    \r\n `;\r\n html += `

    \r\n Possíveis Causas: As informações cadastrais de envio de NFe estão incorretas ou o certificado digital está vencido ou inválido.\r\n

    \r\n `;\r\n html += `

    \r\n Possível Solução: Verifique se as informações cadastrais de envio de NFe estão corretas e se o certificado digital é válido.\r\n

    \r\n `;\r\n }\r\n\r\n \r\n if (errorArray[1].includes('Erro HTTP: 500')){\r\n html += `

    \r\n O servidor remoto da receita apresentou um erro interno.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n\r\n \r\n if (errorArray[1].includes('Erro HTTP: 504')){\r\n html += `

    \r\n O servidor da receita está indisponível no momento.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n \r\n if (errorArray[1].includes('Erro HTTP: 503')){\r\n html += `

    \r\n O servidor remoto da receita não foi capaz de processar a requisição web no momento.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n\r\n if (errorArray[1].includes('Erro HTTP: 502')){\r\n html += `

    \r\n O servidor remoto da receita retornou uma resposta inválida para a requisição web solicitada.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n \r\n if (errorArray[1].includes('Erro HTTP: 417')){\r\n html += `

    \r\n O servidor remoto da receita possui um erro interno e não foi capaz de atender as informações da requisição web enviada.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n \r\n if (errorArray[1].includes('Erro HTTP: 424')){\r\n html += `

    \r\n O servidor remoto da receita não foi capaz de atender as informações da requisição web enviada.\r\n

    \r\n `;\r\n html += `

    \r\n Consultar status do servidor da receita\r\n

    \r\n `;\r\n }\r\n \r\n html += \"
    \";\r\n CMFormGlobaisComponent.showMessageHtml(html, \"Erro ao transmitir NFe\");\r\n //}\r\n //else{\r\n //this.showMessageErrorHTTP('transmitirNFe', error);\r\n //}\r\n },\r\n );\r\n }\r\n }\r\n\r\n emitirCCe() {\r\n let ok: boolean = true;\r\n if (this.trimValue(this.dadosNFe.cartacorrecao.xcorrecao).length < 15) {\r\n ok = false;\r\n CMFormGlobaisComponent.toastErro(\r\n this.configNFe.cartacorrecao.xcorrecao.caption + ' deve ter pelo menos 15 caracteres',\r\n );\r\n }\r\n if (ok) {\r\n if (this.nfeAutorizado()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfe/EmiteCCe',\r\n JSON.stringify({id: this.dadosNFe.id, xcorrecao: this.dadosNFe.cartacorrecao.xcorrecao}),\r\n (result) => {\r\n this.processaRetorno('Retorno da Carta de Correção', result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n\r\n cancelarNFe() {\r\n let ok: boolean = true;\r\n if (this.trimValue(this.dadosNFe.cancelamento.xjust).length < 15) {\r\n ok = false;\r\n CMFormGlobaisComponent.toastErro(\r\n this.configNFe.cancelamento.xjust.caption + ' deve ter pelo menos 15 caracteres',\r\n );\r\n }\r\n if (ok) {\r\n if (this.nfeAutorizado()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n '/api/nfe/CancelaNFe',\r\n JSON.stringify({id: this.dadosNFe.id, xjust: this.dadosNFe.cancelamento.xjust}),\r\n (result) => {\r\n this.processaRetorno('Retorno do Cancelamento', result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) {\r\n this.owner.refresh();\r\n this.owner.beforeComponent = undefined;\r\n }\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n retorno: any = {\r\n title: '',\r\n result: '',\r\n tipo: '',\r\n msg: '',\r\n cstat: '',\r\n xml: '',\r\n xml_conferencia: '',\r\n result_str: '',\r\n json: '',\r\n nnf: \"\",\r\n };\r\n\r\n setRetorno(title, retorno) {\r\n this.retorno.title = title;\r\n this.retorno.result = this.trimValue(retorno.result);\r\n this.retorno.tipo = this.trimValue(retorno.tipo);\r\n this.retorno.msg = this.trimValue(retorno.msg);\r\n this.retorno.cstat = this.trimValue(retorno.cstat);\r\n this.retorno.xml = this.trimValue(retorno.xml);\r\n this.retorno.xml_conferencia = this.trimValue(retorno.xml_conferencia);\r\n this.retorno.result_str = this.trimValue(retorno.result_str);\r\n this.retorno.nnf = this.trimValue(retorno.nnf);\r\n\r\n delete retorno.result;\r\n delete retorno.tipo;\r\n delete retorno.msg;\r\n delete retorno.cstat;\r\n delete retorno.xml;\r\n delete retorno.xml_conferencia;\r\n delete retorno.result_str;\r\n delete retorno.nnf;\r\n\r\n this.retorno.json = retorno;\r\n }\r\n\r\n processaRetorno(title, retorno, closeFormOK = undefined) {\r\n this.setRetorno(title, retorno);\r\n if (this.retorno.result === 'True') {\r\n this.loadDadosNFe();\r\n CMFormGlobaisComponent.toastSucesso(this.retorno.result_str);\r\n if (closeFormOK) this.close(closeFormOK);\r\n } else {\r\n if (this.retorno.tipo !== 'str') {\r\n let myNode = document.getElementById('div_json');\r\n while (myNode.firstChild) myNode.removeChild(myNode.firstChild);\r\n let ui = this.tree(this.retorno.json);\r\n ui.className = 'tree';\r\n myNode.appendChild(ui);\r\n }\r\n CMFormModalComponent.open('formAcoesNFeRetorno');\r\n }\r\n }\r\n\r\n tree(data) {\r\n let r: HTMLElement = undefined;\r\n let ul = document.createElement('ul');\r\n for (var i in data) {\r\n let li = document.createElement('li');\r\n ul.appendChild(li);\r\n var t = document.createTextNode(i);\r\n li.appendChild(t);\r\n if (data[i] instanceof Object) li.appendChild(this.tree(data[i]));\r\n else {\r\n let textNode = document.createTextNode(' - ' + data[i]);\r\n li.appendChild(textNode);\r\n }\r\n }\r\n r = ul;\r\n return r;\r\n }\r\n}\r\n","export * from \"./nfe-consignacao-fechamento.component\";\r\n","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtY29uc2lnbmFjYW8tZmVjaGFtZW50by9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxuZmUtY29uc2lnbmFjYW8tZmVjaGFtZW50b1xcbmZlLWNvbnNpZ25hY2FvLWZlY2hhbWVudG8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLWNvbnNpZ25hY2FvLWZlY2hhbWVudG8vbmZlLWNvbnNpZ25hY2FvLWZlY2hhbWVudG8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL25mZS1jb25zaWduYWNhby1mZWNoYW1lbnRvL25mZS1jb25zaWduYWNhby1mZWNoYW1lbnRvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { NFeConsignacaoBrowseComponent } from \"./../index\";\r\n@Component({\r\n selector: \"nfe-consignacao-fechamento\",\r\n templateUrl: \"nfe-consignacao-fechamento.component.html\",\r\n styleUrls: [\"nfe-consignacao-fechamento.component.scss\"],\r\n})\r\nexport class NFeConsignacaoFechamentoComponent extends CMFormComponent {\r\n _owner: NFeConsignacaoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n if (this.owner) {\r\n this.loadDados();\r\n }\r\n }\r\n\r\n configNFeConsignacao: any;\r\n dadosNFeConsignacao: any = {};\r\n\r\n setConfigNFeConsignacao() {\r\n this.configNFeConsignacao = {\r\n infnfe: {\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"prod.produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"350px\",\r\n readOnly: true,\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n }),\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n }),\r\n qret: new CMInputConfig({\r\n form: this,\r\n caption: \"Qtde Retorno\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcQtdePreVenda();\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n }),\r\n qprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Qtde Pré-Venda\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n }),\r\n },\r\n },\r\n }),\r\n },\r\n };\r\n }\r\n\r\n loadDados() {\r\n this.getObjectData(\r\n \"NFeConsignacao\",\r\n [{ field: \"id\", value: this.owner.idFormFechamentoConsignacao }],\r\n (dados) => {\r\n this.dadosNFeConsignacao = dados;\r\n let det = dados.infnfe.det;\r\n let newDet = [];\r\n det.forEach((item) => {\r\n if (\r\n item.prod.produto.usagrade1 == \"Sim\" ||\r\n item.prod.produto.usagrade2 == \"Sim\"\r\n ) {\r\n item.estoque.forEach((itemEstoque) => {\r\n let newItem: any = {\r\n prod: {},\r\n };\r\n newItem.id = item.id;\r\n newItem.idgrade = itemEstoque.grade.id;\r\n newItem.prod.produto = { ...item.prod.produto };\r\n newItem.prod.produto.descr += \" \" + itemEstoque.grade.descricao;\r\n newItem.prod.qcom = itemEstoque.qcom;\r\n newItem.prod.qret = \"0,00\";\r\n newItem.prod.vuncom = item.prod.vuncom;\r\n newItem.prod.qprevenda = itemEstoque.qcom;\r\n newDet.push(newItem);\r\n });\r\n } else {\r\n let newItem: any = {\r\n prod: {},\r\n };\r\n newItem.id = item.id;\r\n newItem.prod.produto = { ...item.prod.produto };\r\n newItem.prod.qcom = item.prod.qcom;\r\n newItem.prod.qret = \"0,00\";\r\n newItem.prod.vuncom = item.prod.vuncom;\r\n newItem.prod.qprevenda = item.prod.qcom;\r\n newDet.push(newItem);\r\n }\r\n });\r\n dados.infnfe.det = newDet;\r\n }\r\n );\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setConfigNFeConsignacao();\r\n this.generateEmptyModel(\r\n this.configNFeConsignacao,\r\n this.dadosNFeConsignacao\r\n );\r\n }\r\n\r\n calcQtdePreVenda() {\r\n let item = this.configNFeConsignacao.infnfe.det.current;\r\n let qcom = this.valueToFloat(item.prod.qcom);\r\n let qret = this.valueToFloat(item.prod.qret);\r\n if (qret < 0) {\r\n qret = 0;\r\n item.prod.qret = this.floatToValue(qret);\r\n }\r\n if (qret > qcom) {\r\n qret = qcom;\r\n item.prod.qret = this.floatToValue(qret);\r\n }\r\n item.prod.qprevenda = this.floatToValue(qcom - qret);\r\n }\r\n\r\n confirmaGeracao() {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"CONFIRMAÇÃO\",\r\n \"

    Confirma o retorno da quantidade informada e a geração da Pré-Venda com a quantidade restante?

    \",\r\n () => {\r\n this.enviarRetorno();\r\n }\r\n );\r\n }\r\n\r\n enviarRetorno() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/NFeConsignacao/FechamentoConsignacao/FuncaoExtra\",\r\n JSON.stringify({\r\n id: this.dadosNFeConsignacao.id,\r\n itens: this.dadosNFeConsignacao.infnfe.det,\r\n }),\r\n (ret) => {\r\n if (ret[\"result\"] == \"ok\") {\r\n this.close(\"formFechamentoConsignacao\");\r\n CMFormGlobaisComponent.toastSucesso(ret[\"msg\"]);\r\n } else CMFormGlobaisComponent.showMessageAviso(ret[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) {\r\n this.owner.refresh();\r\n this.owner.beforeComponent = undefined;\r\n }\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './nfe-consignacao-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtY29uc2lnbmFjYW8tcmVsYXRvcmlvcy9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxuZmUtY29uc2lnbmFjYW8tcmVsYXRvcmlvc1xcbmZlLWNvbnNpZ25hY2FvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLWNvbnNpZ25hY2FvLXJlbGF0b3Jpb3MvbmZlLWNvbnNpZ25hY2FvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL25mZS1jb25zaWduYWNhby1yZWxhdG9yaW9zL25mZS1jb25zaWduYWNhby1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n NFeConsignacaoBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"nfe-consignacao-relatorios\",\r\n templateUrl: \"nfe-consignacao-relatorios.component.html\",\r\n styleUrls: [\"nfe-consignacao-relatorios.component.scss\"],\r\n})\r\nexport class NFeConsignacaoRelatoriosComponent extends CMFormComponent {\r\n _owner: NFeConsignacaoBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n NFeConsignacaoRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return NFeConsignacaoRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"NFeConsignacaoPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"NFeConsignacaoPadrao\", text: \"NFe Consignação Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"NFeConsignacaoPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"nfeconsignacao\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoNFeConsignacaoCustomizado\",\r\n data,\r\n \"nfeconsignacao\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, NFeConsignacaoRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from \"./nfe-consignacao-edit.component\";\r\nexport * from \"./nfe-consignacao-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeConsignacaoEditComponent,\r\n NFeConsignacaoFechamentoComponent,\r\n PessoaBrowseComponent,\r\n NFeConsignacaoRelatoriosComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-consignacao-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class NFeConsignacaoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeconsignacao\";\r\n this.showPrintButton = true;\r\n this.buttonsExtra = 3;\r\n this.formEditComponent = NFeConsignacaoEditComponent;\r\n this.columns = [\r\n {\r\n field: \"nnf\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"pessoa_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"pessoa.id\",\r\n filterValue: \"pessoa.codigo\",\r\n fieldBottom: \"pessoa.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Cliente\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"vendedor_nome\",\r\n caption: \"Vendedor\",\r\n filterField: \"vendedor.id\",\r\n filterValue: \"vendedor.codigo\",\r\n fieldBottom: \"vendedor.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Vendedor\",\r\n \"vendedor\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"status\",\r\n caption: \"Status\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Aberto\" },\r\n { value: \"Fechado\" },\r\n { value: \"Todos\" },\r\n ],\r\n }),\r\n value: \"Todos\",\r\n },\r\n ];\r\n if (NFeConsignacaoRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(NFeConsignacaoRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (NFeConsignacaoRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosNFeConsignacao();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/nfeconsignacao/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'Consignacao'){\r\n NFeConsignacaoRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosNFeConsignacao() {\r\n this.beforeComponent = NFeConsignacaoRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosNFeConsignacao\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return \"Consignação\";\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n if (this.grid.fieldByName(\"status\") === \"Aberto\") {\r\n this.openFormFechamentoConsignacao(this.grid.fieldByName(\"id\"));\r\n } else\r\n CMFormGlobaisComponent.showMessageAviso(\r\n \"Somente consignação em aberto pode ser fechada\"\r\n );\r\n } else if (index === 1) {\r\n let data = {\r\n id: this.grid.fieldByName(this.fieldNameId()),\r\n nnf: this.grid.fieldByName(\"nnf\"),\r\n };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoRetornoConsignacao/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n } else if (index === 2) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoNFeConsignacaoReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n idFormFechamentoConsignacao: number = 0;\r\n openFormFechamentoConsignacao(id) {\r\n this.idFormFechamentoConsignacao = id;\r\n this.beforeComponent = NFeConsignacaoFechamentoComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formFechamentoConsignacao\");\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"FechamentoConsignacao\");\r\n }\r\n if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(\r\n index,\r\n \"ImpressaoRetornoConsignacao\"\r\n );\r\n }\r\n if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(\r\n index,\r\n \"ImpressaoNFeConsignacaoReduzida\"\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0 || index === 1) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"assignment_return\";\r\n else if (index === 1) r = \"exit_to_app\";\r\n else if (index === 2) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Efetuar Fechamento\";\r\n else if (index === 1) r = \"Imprimir Retorno\";\r\n else if (index === 2) r = \"Imprimir Reduzido\";\r\n return r;\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n PessoaBrowseComponent,\r\n ProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-consignacao-edit\",\r\n templateUrl: \"nfe-consignacao-edit.component.html\",\r\n})\r\nexport class NFeConsignacaoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_infnfe_dest_pessoa\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Consignação\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"infnfe.dest.pessoa.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeconsignacao\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.status !== \"Autorizado\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n infnfe: {\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n disabled: true,\r\n values: [\r\n { value: \"Autorizado\", text: \"Aberto\" },\r\n { value: \"Cancelado\", text: \"Fechado\" },\r\n ],\r\n }),\r\n ide: {\r\n nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"#\",\r\n disabled: true,\r\n required: true,\r\n }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n \"Cliente\"\r\n );\r\n },\r\n }),\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n prod: {\r\n qcom: \"1,00\",\r\n vuncom: \"0,00\",\r\n vprod: \"0,00\",\r\n vtotal: \"0,00\",\r\n },\r\n estoque: [],\r\n });\r\n },\r\n customValidItem: (item) => {\r\n return this.validEstoque(item);\r\n },\r\n\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"prod.produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"350px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.modelConfig.infnfe.det.current.prod.vuncom = ProdutoBrowseComponent.get_vUniCon(\r\n produto\r\n );\r\n if(this.currentProdutoUsaGrade()){\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"0,00\";\r\n\r\n let grades = this.modelConfig.infnfe.det.current.prod.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.infnfe.det.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"qcom\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"1,00\";\r\n };\r\n this.calcTotalItem();\r\n }\r\n );\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 4,\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n required: true,\r\n hintButton: \"Preço\",\r\n iconButton: \"attach_money\",\r\n dropdownValues: (row) => this.dropdownValuesVUnCom(row),\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 5,\r\n }),\r\n required: true,\r\n disabled: true,\r\n }),\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.infnfe.det.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.infnfe.det.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n icmstot: {\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n infadic: {\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model.infnfe);\r\n },\r\n }),\r\n },\r\n };\r\n }\r\n \r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n \r\n validEstoque(item: any) {\r\n let r: string = \"\";\r\n console.log('item ', item);\r\n console.log('item.qcom ', item.prod.qcom);\r\n\r\n if (this.valueToFloat(item.prod.qcom, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let itemsEstoque = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.qcom);\r\n }\r\n });\r\n itemsEstoque.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem();\r\n }\r\n\r\n dropdownValuesVUnCom(row) {\r\n let r = [];\r\n if (row && row.prod && row.prod.produto)\r\n r = ProdutoBrowseComponent.dropdownValuesVUnCom(row.produto);\r\n return r;\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem();\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n //***********Calculos dos produtos e totais ***********/\r\n\r\n calcTotalItem() {\r\n let item = this.modelConfig.infnfe.det.current.prod;\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n this.add_vProd(this.valueToFloat(item.vtotal, 0), vtotal);\r\n vtotal = vtotal - this.valueToFloat(item.vdesc, 0);\r\n this.add_vNF(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vProd(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vprod = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vNF(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vnf = this.floatToValue(vtotal);\r\n }\r\n\r\n onRemoveItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.prod.qcom, 0) *\r\n this.valueToFloat(item.prod.vuncom, 0);\r\n this.add_vProd(this.valueToFloat(vtotal, 0), 0);\r\n this.add_vNF(this.valueToFloat(item.prod.vtotal, 0), 0);\r\n }\r\n}\r\n","export * from './nfe-estoque-edit.component';\r\nexport * from './nfe-estoque-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeEstoqueEditComponent,\r\n PessoaBrowseComponent,\r\n ProdutoBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-estoque-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class NFeEstoqueBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeestoque\";\r\n this.formEditComponent = NFeEstoqueEditComponent;\r\n this.columns = [\r\n {\r\n field: \"nnf\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"pessoa_nome\",\r\n caption: \"Fornecedor\",\r\n filterField: \"pessoa.id\",\r\n filterValue: \"pessoa.codigo\",\r\n fieldBottom: \"pessoa.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Fornecedor\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"produto_descr\",\r\n caption: \"Produto\",\r\n filterField: \"produto.id\",\r\n filterValue: \"produto.codigo\",\r\n fieldBottom: \"produto.descr\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.valuesFilters, \"Ativos\");\r\n },\r\n }),\r\n },\r\n { field: \"tpnf\", caption: \"Tipo de Operação\" },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Entrada / Saída Manual de Estoque\";\r\n }\r\n}\r\n","// tslint:disable\r\n\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport { PessoaBrowseComponent, ProdutoBrowseComponent } from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-estoque-edit\",\r\n templateUrl: \"nfe-estoque-edit.component.html\",\r\n})\r\nexport class NFeEstoqueEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_infnfe_dest_pessoa\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Entrada / Saída Manual de Estoque\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeestoque\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n infnfe: {\r\n ide: {\r\n tpnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Operação\",\r\n disabledFunc: () => {\r\n return this.model.infnfe.det.length !== 0;\r\n },\r\n values: [{ value: \"Entrada\" }, { value: \"Saida\", text: \"Saída\" }],\r\n }),\r\n\r\n nnf: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n this.model.infnfe.dest.tipopessoa\r\n );\r\n },\r\n }),\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n qcom: \"0,00\",\r\n estoque: [],\r\n });\r\n },\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"prod.produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n ordem: 1,\r\n width: \"350px\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\"\r\n );\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n width: \"200px\",\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n required: true,\r\n }),\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.infnfe.det.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.infnfe.det.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n required: true,\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n infadic: {\r\n infcpl: new CMInputConfig({ form: this, caption: \"Observação\" }),\r\n },\r\n },\r\n };\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaValidadeLote() {\r\n if (this.getValueObject(this.model, \"infnfe.ide.tpnf\") == \"Entrada\")\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n else return false;\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n }\r\n}\r\n","export * from \"./nfe-importacao-marketplace-edit.component\";\r\nexport * from \"./nfe-importacao-marketplace-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\nimport { MarketplaceBrowseComponent } from \"../marketplace\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeImportacaoMarketplaceEditComponent,\r\n PessoaBrowseComponent,\r\n PreVendaBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-importacao-marketplace-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class NFeImportacaoMarketplaceBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeimportacaomarketplace\";\r\n this.buttonsExtra = 2;\r\n this.formEditComponent = NFeImportacaoMarketplaceEditComponent;\r\n this.columns = [\r\n {\r\n field: \"nnf\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"pessoa_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"pessoa.id\",\r\n filterValue: \"pessoa.codigo\",\r\n fieldBottom: \"pessoa.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Cliente\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"marketplace_nome\",\r\n caption: \"Marketplace\",\r\n filterField: \"marketplace.id\",\r\n filterValue: \"marketplace.codigo\",\r\n fieldBottom: \"marketplace.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n MarketplaceBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"chaveacesso\",\r\n caption: \"Número no Marketplace\",\r\n filter: true,\r\n },\r\n {\r\n field: \"prevenda_numero\",\r\n caption: \"Pré-Venda\",\r\n filterField: \"prevenda.id\",\r\n filterValue: \"prevenda.numero\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PreVendaBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Importação de Marketplace\";\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n this.importar();\r\n } else if (index === 1) {\r\n this.gerarPreVenda();\r\n }\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"Importar\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarPreVenda\");\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) {\r\n r = \"cloud_download\";\r\n } else if (index === 1) {\r\n r = \"account_balance\";\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) {\r\n r = \"Importar\";\r\n } else if (index === 1) {\r\n r = \"Gerar Pré-Venda\";\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraPosicao(index: number) {\r\n let r: string = super.buttonsExtraPosicao(index);\r\n if (index === 0) {\r\n r = \"grid\";\r\n }\r\n return r;\r\n }\r\n\r\n importar() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfeimportacaomarketplace/Importar/FuncaoExtra\",\r\n JSON.stringify({}),\r\n (ret) => {\r\n if (ret[\"result\"]) {\r\n CMFormGlobaisComponent.showMessage(\r\n \"Importação em andamento\",\r\n ret[\"result\"]\r\n );\r\n } else console.log(ret);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"importar\", error);\r\n }\r\n );\r\n }\r\n\r\n gerarPreVenda() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfeimportacaomarketplace/gerarPreVenda/FuncaoExtra\",\r\n JSON.stringify({ id: this.grid.fieldByName(\"id\") }),\r\n (ret) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (ret[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(ret[\"msg\"]);\r\n this.refresh();\r\n } else {\r\n CMFormGlobaisComponent.toastErro(ret[\"msg\"]);\r\n }\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"importar\", error);\r\n }\r\n );\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n MunicipioBrowseComponent,\r\n PessoaBrowseComponent,\r\n ProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-importacao-marketplace-edit\",\r\n templateUrl: \"nfe-importacao-marketplace-edit.component.html\",\r\n})\r\nexport class NFeImportacaoMarketplaceEditComponent extends CMFormEditComponent {\r\n getTitle() {\r\n let r: string = \"Importação de Marketplace\";\r\n let tmp: string = this.fieldByName(\"infnfe.chaveacesso\");\r\n if (tmp !== \"0\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfeimportacaomarketplace\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.podeeditar !== \"Sim\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n marketplace: new CMInputConfig({\r\n form: this,\r\n caption: \"Marketplace\",\r\n disabled: true,\r\n }),\r\n infnfe: {\r\n chaveacesso: new CMInputConfig({\r\n form: this,\r\n caption: \"Número no Marketplace\",\r\n disabled: true,\r\n }),\r\n ide: {\r\n nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"#\",\r\n disabled: true,\r\n }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n disabled: true,\r\n }),\r\n enderecoentrega: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n disabled: true,\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n disabled: true,\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n disabled: true,\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n disabled: true,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n disabled: true,\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.infnfe.dest.enderecoentrega.estado,\r\n sender,\r\n this.model.infnfe.dest.enderecoentrega,\r\n \"ibge\"\r\n );\r\n },\r\n required: true,\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n extraColumns: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n ordem: 2,\r\n width: \"350px\",\r\n disabledFunc: (row) => {\r\n return !this.produtoUsaGrade(row);\r\n },\r\n getValue: (row) => {\r\n let r = \"\";\r\n if (row && row.estoque && row.estoque.length > 0) {\r\n const item = row.estoque[0];\r\n if (item.grade) {\r\n r = item.grade.descricao;\r\n }\r\n }\r\n return r;\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n let itemEstoque = {};\r\n const current = this.modelConfig.infnfe.det.current;\r\n if (current && current.estoque) {\r\n if (current.estoque.length == 0) {\r\n current.estoque.push({});\r\n }\r\n itemEstoque = current.estoque[0];\r\n }\r\n this.modelConfig.infnfe.det.current.prod.produto.id;\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n itemEstoque,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return (\r\n this.paramEmpresa.usaGrade1 || this.paramEmpresa.usaGrade2\r\n );\r\n },\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"350px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\"\r\n );\r\n },\r\n }),\r\n cprod: new CMInputConfig({\r\n form: this,\r\n caption: \"SKU\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n disabled: true,\r\n }),\r\n xprod: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição SKU\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 4,\r\n }),\r\n disabled: true,\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 5,\r\n }),\r\n disabled: true,\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 6,\r\n }),\r\n disabled: true,\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 7,\r\n }),\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n }),\r\n total: {\r\n icmstot: {\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Frete\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de Desconto\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n infadic: {\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n };\r\n }\r\n\r\n produtoUsaGrade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","export * from './nfe-recebimento-acoes.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtcmVjZWJpbWVudG8tYWNvZXMvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcbmZlLXJlY2ViaW1lbnRvLWFjb2VzXFxuZmUtcmVjZWJpbWVudG8tYWNvZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLXJlY2ViaW1lbnRvLWFjb2VzL25mZS1yZWNlYmltZW50by1hY29lcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLXJlY2ViaW1lbnRvLWFjb2VzL25mZS1yZWNlYmltZW50by1hY29lcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbn0iLCIuY21mb3JtLWlubmVyIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeRecebimentoBrowseComponent,\r\n ProdutoBrowseComponent,\r\n ProdutoEditComponent,\r\n} from \"./../index\";\r\n@Component({\r\n selector: \"nfe-recebimento-acoes\",\r\n templateUrl: \"nfe-recebimento-acoes.component.html\",\r\n styleUrls: [\"nfe-recebimento-acoes.component.scss\"],\r\n})\r\nexport class NFeRecebimentoAcoesComponent extends CMFormComponent {\r\n _owner: NFeRecebimentoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n dados = {\r\n produtosnaoencontrados: [],\r\n atualizafornecedor: \"Sim\",\r\n atualizaprecocompra: \"Não\",\r\n };\r\n\r\n config = {\r\n produtosnaoencontrados: new CMGridEditConfig(),\r\n atualizafornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Atualiza dados do Fornecedor\",\r\n }),\r\n atualizaprecocompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Atualiza preço de compra e custo dos produtos\",\r\n }),\r\n };\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.getDireitos(\"produto\", undefined, undefined, (data) => {\r\n this.podeCadastrarProduto = data[\"Cadastrar\"] === \"true\";\r\n });\r\n this.config.produtosnaoencontrados = new CMGridEditConfig({\r\n form: this,\r\n caption: \"Produtos não cadastrados\",\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Novo\",\r\n icone: \"add\",\r\n visible: (row) => {\r\n return this.podeCadastrarProduto;\r\n },\r\n onClick: (row) => {\r\n if (this.podeCadastrarProduto) {\r\n if (row.novo == undefined) {\r\n CMFormGlobaisComponent.showMessageAviso(\r\n \"Produto já cadastrado anteriormente\"\r\n );\r\n } else {\r\n this.produtoNovoData = row.novo;\r\n this.produtoNovoComponent = ProdutoEditComponent;\r\n CMFormModalComponent.open(\"formAcoesNFeRecebimentoNovoProduto\");\r\n }\r\n }\r\n },\r\n }),\r\n ],\r\n fields: {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código no Fornecedor\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"200px\",\r\n }),\r\n readonly: true,\r\n }),\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n readonly: true,\r\n }),\r\n ean: new CMInputConfig({\r\n form: this,\r\n caption: \"EAN\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"200px\",\r\n }),\r\n readonly: true,\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Seu Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"250px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.config.produtosnaoencontrados.current,\r\n \"Todos\"\r\n );\r\n },\r\n }),\r\n taxaconversao: new CMInputConfig({\r\n form: this,\r\n caption: \"Taxa Conversão\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"120px\",\r\n }),\r\n }),\r\n },\r\n });\r\n }\r\n\r\n nomeFornecedor() {\r\n if (this.dados.produtosnaoencontrados.length > 0)\r\n return this.dados.produtosnaoencontrados[0].pessoa_nome;\r\n else return \"\";\r\n }\r\n\r\n processaUploadServer(keyserver, fileName, sender: any) {\r\n let values = {\r\n keyserver: keyserver,\r\n filename: fileName,\r\n novosprodutosfornecedor: this.dados.produtosnaoencontrados,\r\n atualizafornecedor: this.dados.atualizafornecedor,\r\n atualizaprecocompra: this.dados.atualizaprecocompra,\r\n };\r\n this.postSubscribe(\r\n \"/api/nferecebimento/ImportNFeRecebimento/FuncaoExtra\",\r\n JSON.stringify(values),\r\n (ret) => {\r\n this.dados.produtosnaoencontrados = [];\r\n if (ret[\"result\"] !== \"ok\") {\r\n let msg = \"

    Erro ao enviar arquivo. Tente novamente.

    \";\r\n if (ret[\"erros\"]) {\r\n ret[\"erros\"].forEach((erro) => {\r\n msg += \"

    \" + erro + \"

    \";\r\n });\r\n }\r\n if (ret[\"produtosnaoencontrados\"]) {\r\n msg +=\r\n \"

    Existem produtos não vinculados a este fornecedor. Vincule e tente novamente.

    \";\r\n this.dados.produtosnaoencontrados = ret[\"produtosnaoencontrados\"];\r\n }\r\n CMFormGlobaisComponent.showMessageAviso(\r\n '
    ' + msg\r\n ) + \"
    \";\r\n } else {\r\n this.owner.add(undefined, (model) => {\r\n Object.assign(model, ret[\"nfe\"]);\r\n });\r\n this.close(\"formAcoesNFeRecebimento\");\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"processaUploadServer\", error);\r\n }\r\n );\r\n }\r\n\r\n onCompleteUploadFile(sender: any) {\r\n sender.form.processaUploadServer(\r\n sender.keyserver,\r\n sender.file.name,\r\n sender\r\n );\r\n }\r\n\r\n onChangeUploadFile(sender: any) {\r\n sender.form.produtosnaoencontrados = [];\r\n }\r\n\r\n onStartUploadFile(sender: any) {\r\n CMFormGlobaisComponent.showSpinner();\r\n }\r\n\r\n onErrorUploadFile(sender: any) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n public produtoNovoComponent: any = undefined;\r\n public produtoNovoData: any = undefined;\r\n public produtoNovoInstance: ProdutoEditComponent = undefined;\r\n public produtoNovoComponentCreatedCallback(component: Component) {\r\n let produtoNovo: any = component;\r\n produtoNovo.owner.produtoNovoInstance = produtoNovo;\r\n Object.assign(produtoNovo.model, produtoNovo.owner.produtoNovoData);\r\n }\r\n closeNovoProduto(formName) {\r\n this.produtoNovoData = undefined;\r\n this.produtoNovoComponent = undefined;\r\n this.produtoNovoInstance = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n saveNovoProduto(formName) {\r\n if (this.produtoNovoInstance.valid()) {\r\n this.produtoNovoInstance.procAfterSave = (model) => {\r\n this.config.produtosnaoencontrados.current.produto = {\r\n id: model.id,\r\n codigo: model.codigo,\r\n descr: model.descr,\r\n };\r\n this.config.produtosnaoencontrados.current.novo = undefined;\r\n this.closeNovoProduto(formName);\r\n };\r\n this.produtoNovoInstance.save(undefined);\r\n }\r\n }\r\n}\r\n","export * from \"./nfe-recebimento-alterar-data-duplicata.component\";\r\n","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtcmVjZWJpbWVudG8tYWx0ZXJhci1kYXRhLWR1cGxpY2F0YS9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxuZmUtcmVjZWJpbWVudG8tYWx0ZXJhci1kYXRhLWR1cGxpY2F0YVxcbmZlLXJlY2ViaW1lbnRvLWFsdGVyYXItZGF0YS1kdXBsaWNhdGEuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLXJlY2ViaW1lbnRvLWFsdGVyYXItZGF0YS1kdXBsaWNhdGEvbmZlLXJlY2ViaW1lbnRvLWFsdGVyYXItZGF0YS1kdXBsaWNhdGEuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL25mZS1yZWNlYmltZW50by1hbHRlcmFyLWRhdGEtZHVwbGljYXRhL25mZS1yZWNlYmltZW50by1hbHRlcmFyLWRhdGEtZHVwbGljYXRhLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeRecebimentoBrowseComponent,\r\n ProdutoBrowseComponent,\r\n ProdutoEditComponent,\r\n} from \"./../index\";\r\n@Component({\r\n selector: \"nfe-recebimento-alterar-data-duplicata\",\r\n templateUrl: \"nfe-recebimento-alterar-data-duplicata.component.html\",\r\n styleUrls: [\"nfe-recebimento-alterar-data-duplicata.component.scss\"],\r\n})\r\nexport class NFeRecebimentoAlterarDataDuplicataComponent extends CMFormComponent {\r\n _owner: NFeRecebimentoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n config = {\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n fields: {\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n };\r\n\r\n // podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.buscaDados();\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n duplicatas = [];\r\n buscaDados() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/NFeRecebimento/AlteraVencimentoDuplicata/FuncaoExtra\",\r\n JSON.stringify({\r\n buscar: \"Sim\",\r\n id: this.owner.idFormNFeRecebimentoAlterarDataDuplicata,\r\n }),\r\n (ret) => {\r\n if (ret[\"result\"] == \"ok\") {\r\n this.duplicatas = ret[\"duplicatas\"];\r\n } else {\r\n CMFormGlobaisComponent.showMessageAviso(ret[\"msg\"]);\r\n this.close(\"formNFeRecebimentoAlterarDataDuplicata\");\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n salvarDados() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/NFeRecebimento/AlteraVencimentoDuplicata/FuncaoExtra\",\r\n JSON.stringify({\r\n salvar: \"Sim\",\r\n id: this.owner.idFormNFeRecebimentoAlterarDataDuplicata,\r\n duplicatas: this.duplicatas,\r\n }),\r\n (ret) => {\r\n if (ret[\"result\"] == \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(ret[\"msg\"]);\r\n this.close(\"formNFeRecebimentoAlterarDataDuplicata\");\r\n } else {\r\n CMFormGlobaisComponent.showMessageAviso(ret[\"msg\"]);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n}\r\n","export * from './nfe-recebimento-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtcmVjZWJpbWVudG8tcmVsYXRvcmlvcy9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxuZmUtcmVjZWJpbWVudG8tcmVsYXRvcmlvc1xcbmZlLXJlY2ViaW1lbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLXJlY2ViaW1lbnRvLXJlbGF0b3Jpb3MvbmZlLXJlY2ViaW1lbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL25mZS1yZWNlYmltZW50by1yZWxhdG9yaW9zL25mZS1yZWNlYmltZW50by1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n NFeBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"nfe-recebimento-relatorios\",\r\n templateUrl: \"nfe-recebimento-relatorios.component.html\",\r\n styleUrls: [\"nfe-recebimento-relatorios.component.scss\"],\r\n})\r\nexport class NFeRecebimentoRelatoriosComponent extends CMFormComponent {\r\n _owner: NFeBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n static isLista = false;\r\n\r\n static addRelatorioCustomizado(item: any){\r\n NFeRecebimentoRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return NFeRecebimentoRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n\r\n dados = {\r\n tiporelatorio: \"NFeRecebimentoEtiquetaPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"NFeRecebimentoEtiquetaPadrao\", text: \"Etiqueta Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"NFeRecebimentoEtiquetaPadrao\"){\r\n\r\n if (!NFeRecebimentoRelatoriosComponent.isLista){\r\n this.showRelat(\r\n \"/ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n idnferecebimento: this.owner.fieldByName(\"id\"),\r\n nnf: this.owner.fieldByName(\"nnf\"),\r\n },\r\n \"NFeRecebimento\"\r\n );\r\n }\r\n else{\r\n let pessoa;\r\n let produto;\r\n if (this.owner.valuesFilters.hasOwnProperty(\"pessoa\")){\r\n pessoa = this.owner.valuesFilters.pessoa.id;\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n if (this.owner.valuesFilters.hasOwnProperty(\"produto\")){\r\n produto = this.owner.valuesFilters.produto.id;\r\n }\r\n else {\r\n produto = 0;\r\n }\r\n\r\n this.showRelat(\r\n \"/ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n idnferecebimento: this.owner.fieldByName(\"id\"),\r\n nnf: this.owner.valuesFilters.nnf,\r\n listaetiqueta: 1,\r\n dhemi: this.owner.valuesFilters.dhemi,\r\n nnf_nferecebimento: this.owner.valuesFilters.nnf_nferecebimento,\r\n pessoa,\r\n produto,\r\n serie: this.owner.valuesFilters.serie\r\n },\r\n \"NFeRecebimento\"\r\n );\r\n }\r\n\r\n }\r\n else{\r\n\r\n if (!NFeRecebimentoRelatoriosComponent.isLista){\r\n let data = { \r\n idnferecebimento: this.owner.fieldByName(\"id\"),\r\n nnf: this.owner.fieldByName(\"nnf\"),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoNFeEtiquetaCustomizada\",\r\n data,\r\n \"nferecebimento\"\r\n );\r\n }\r\n else {\r\n console.log('relatorio etiqueta customizada lista')\r\n let pessoa;\r\n let produto;\r\n if (this.owner.valuesFilters.hasOwnProperty(\"pessoa\")){\r\n pessoa = this.owner.valuesFilters.pessoa.id;\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n if (this.owner.valuesFilters.hasOwnProperty(\"produto\")){\r\n produto = this.owner.valuesFilters.produto.id;\r\n }\r\n else {\r\n produto = 0;\r\n }\r\n\r\n this.showRelat(\r\n \"/ImpressaoNFeEtiquetaCustomizada\",\r\n {\r\n idnferecebimento: this.owner.fieldByName(\"id\"),\r\n nnf: this.owner.valuesFilters.nnf,\r\n listaetiqueta: 1,\r\n dhemi: this.owner.valuesFilters.dhemi,\r\n nnf_nferecebimento: this.owner.valuesFilters.nnf_nferecebimento,\r\n pessoa,\r\n produto,\r\n serie: this.owner.valuesFilters.serie,\r\n idrelatorio: this.dados.tiporelatorio\r\n },\r\n \"nferecebimento\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, NFeRecebimentoRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './nfe-recebimento-edit.component';\r\nexport * from './nfe-recebimento-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeRecebimentoEditComponent,\r\n PessoaBrowseComponent,\r\n NFeRecebimentoAcoesComponent,\r\n NFeRecebimentoAlterarDataDuplicataComponent,\r\n ProdutoBrowseComponent,\r\n NFeRecebimentoRelatoriosComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-recebimento-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class NFeRecebimentoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nferecebimento\";\r\n this.buttonsExtra = 4;\r\n this.formEditComponent = NFeRecebimentoEditComponent;\r\n this.columns = [\r\n {\r\n field: \"nnf\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"serie\",\r\n caption: \"Série\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"nnf_nferecebimento\",\r\n caption: \"Número\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"pessoa_nome\",\r\n caption: \"Fornecedor\",\r\n filterField: \"pessoa.id\",\r\n filterValue: \"pessoa.codigo\",\r\n fieldBottom: \"pessoa.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Fornecedor\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"produto_descr\",\r\n caption: \"Produto\",\r\n filterField: \"produto.id\",\r\n filterValue: \"produto.codigo\",\r\n fieldBottom: \"produto.descr\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.valuesFilters, \"Todos\");\r\n },\r\n }),\r\n },\r\n ];\r\n if (NFeRecebimentoRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(NFeRecebimentoRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/nferecebimento/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'EtiquetaNFeRecebimento'){\r\n NFeRecebimentoRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n \r\n openFormRelatoriosNFeRecebimento() {\r\n this.beforeComponent = NFeRecebimentoRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosNFeRecebimento\");\r\n }, 100);\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n this.openFormAcoesNFeRecebimento(this.grid.fieldByName(\"id\"));\r\n } else if (index === 1) {\r\n if (NFeRecebimentoRelatoriosComponent.getRelatorioCustomizados().length <= 1 ){\r\n this.showRelat(\r\n \"/ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n idnferecebimento: this.fieldByName(\"id\"),\r\n nnf: this.fieldByName(\"nnf\"),\r\n },\r\n \"nferecebimento\"\r\n );\r\n }\r\n else{\r\n NFeRecebimentoRelatoriosComponent.isLista = false;\r\n this.openFormRelatoriosNFeRecebimento();\r\n }\r\n } else if (index === 2) {\r\n this.openFormNFeRecebimentoAlterarDataDuplicata(\r\n this.grid.fieldByName(\"id\")\r\n );\r\n } else if (index === 3) {\r\n let pessoa;\r\n let produto;\r\n console.log(this.valuesFilters);\r\n if (this.valuesFilters.hasOwnProperty(\"pessoa\")){\r\n pessoa = this.valuesFilters.pessoa.id;\r\n console.log('tilro ', pessoa);\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n if (this.valuesFilters.hasOwnProperty(\"produto\")){\r\n produto = this.valuesFilters.produto.id;\r\n console.log('filtro ',this.valuesFilters.produto.id);\r\n }\r\n else {\r\n produto = 0;\r\n }\r\n \r\n if (NFeRecebimentoRelatoriosComponent.getRelatorioCustomizados().length <= 1 ){\r\n this.showRelat(\r\n \"/ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n idnferecebimento: this.fieldByName(\"id\"),\r\n nnf: this.valuesFilters.nnf,\r\n listaetiqueta: 1,\r\n dhemi: this.valuesFilters.dhemi,\r\n nnf_nferecebimento: this.valuesFilters.nnf_nferecebimento,\r\n pessoa,\r\n produto,\r\n serie: this.valuesFilters.serie\r\n },\r\n \"nferecebimento\"\r\n );\r\n } else {\r\n NFeRecebimentoRelatoriosComponent.isLista = true;\r\n this.openFormRelatoriosNFeRecebimento();\r\n }\r\n }\r\n }\r\n\r\n idFormAcoesNFeRecebimento: number = 0;\r\n openFormAcoesNFeRecebimento(id) {\r\n this.idFormAcoesNFeRecebimento = id;\r\n this.beforeComponent = NFeRecebimentoAcoesComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formAcoesNFeRecebimento\");\r\n }, 100);\r\n }\r\n\r\n idFormNFeRecebimentoAlterarDataDuplicata: number = 0;\r\n openFormNFeRecebimentoAlterarDataDuplicata(id) {\r\n this.idFormNFeRecebimentoAlterarDataDuplicata = id;\r\n this.beforeComponent = NFeRecebimentoAlterarDataDuplicataComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formNFeRecebimentoAlterarDataDuplicata\");\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImportNFeRecebimento\");\r\n } else if ((index === 1) || (index === 3)) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImprimeEtiquetas\");\r\n } else if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(\r\n index,\r\n \"AlteraVencimentoDuplicata\"\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"cloud_upload\";\r\n else if (index === 1) r = \"loyalty\";\r\n else if (index === 2) r = \"event\";\r\n else if (index === 3) r = \"print\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Importar XML\";\r\n else if (index === 1) r = \"Imprimir etiquetas\";\r\n else if (index === 2) r = \"Alterar data de vencimento duplicata\";\r\n else if (index === 3) r = \"Imprimir etiquetas por lista\";\r\n return r;\r\n }\r\n\r\n buttonsExtraPosicao(index: number) {\r\n let r: string = super.buttonsExtraPosicao(index);\r\n if (index === 0 || index === 3) r = \"grid\";\r\n return r;\r\n }\r\n\r\n getTitle() {\r\n return \"NF-e de Recebimento\";\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"nferecebimento\",\r\n \"Pesquisa de NF-e de Recebimento\",\r\n [\r\n { field: \"nnf\", caption: \"#\" },\r\n { field: \"pessoa_nome\", caption: \"Fornecedor\", filter: true },\r\n { field: \"dhemi\", caption: \"Data\", filter: true, mask: \"99/99/9999\" },\r\n ],\r\n target,\r\n targetProp,\r\n \"infnfe.ide.nnf\",\r\n onAfterSelect\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n PessoaBrowseComponent,\r\n TransportadoraBrowseComponent,\r\n ProdutoBrowseComponent,\r\n CFOPBrowseComponent,\r\n PadraoDeOperacaoEditComponent,\r\n ContaBancariaBrowseComponent,\r\n ContaContabilBrowseComponent,\r\n} from \"./../index\";\r\nimport { CMValidator } from \"./../../@cmcore/validator\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"nfe-recebimento-edit\",\r\n templateUrl: \"nfe-recebimento-edit.component.html\",\r\n})\r\nexport class NFeRecebimentoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_infnfe_ide_nnf_nferecebimento\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"NF-e de Recebimento\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"infnfe.dest.pessoa.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nferecebimento\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.podeeditar !== \"Sim\";\r\n if (this.model.infnfe.cobrpagar.contacontabil === undefined){\r\n this.setContaContabilFornecedores();\r\n }\r\n \r\n }\r\n\r\n setContaContabilFornecedores() {\r\n this.model.infnfe.cobrpagar.contacontabil = Object.assign({}, this.currentUserStorage.contacontabilfornecedores);\r\n console.log(\"this.model.infnf: \", this.currentUserStorage);\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n impostocalculado: new CMInputConfig({\r\n form: this,\r\n caption: \"Soma valores automaticamente\",\r\n }),\r\n infnfe: {\r\n ide: {\r\n nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"#\",\r\n disabled: true,\r\n required: true,\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n required: true,\r\n }),\r\n nnf_nferecebimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n dataType: \"integer\",\r\n required: true,\r\n }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Emitente\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n \"Fornecedor\"\r\n );\r\n },\r\n }),\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n prod: {\r\n qcom: \"1,00\",\r\n vuncom: \"0,00\",\r\n vprod: \"0,00\",\r\n vdesc: \"0,00\",\r\n pdesc: \"0,00\",\r\n vtotal: \"0,00\",\r\n },\r\n estoque: [],\r\n });\r\n },\r\n customValidItem: (item) => {\r\n return this.validEstoque(item);\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"prod.produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n onExit: () => {\r\n console.log(this.modelConfig.infnfe.det.current);\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"300px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Todos\",\r\n undefined,\r\n () => {\r\n if(this.currentProdutoUsaGrade()){\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"0,00\";\r\n\r\n let grades = this.modelConfig.infnfe.det.current.prod.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.infnfe.det.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"qcom\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"1,00\";\r\n };\r\n }\r\n );\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n required: true,\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 4,\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n required: true,\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 5,\r\n }),\r\n required: true,\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n novopreco1: new CMInputConfig({\r\n form: this,\r\n caption: \"Novo Preço \" + FuncsGlobais.paramEmpresa.nomePreco1,\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 6,\r\n }),\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcTotalItem(\"v\");\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcTotalItem(\"p\");\r\n },\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemDespesa(\"vfrete\");\r\n },\r\n onExit: () => {\r\n this.calcTotalDespesa(\"vfrete\");\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemDespesa(\"vseg\");\r\n },\r\n onExit: () => {\r\n this.calcTotalDespesa(\"vseg\");\r\n },\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemDespesa(\"voutro\");\r\n },\r\n onExit: () => {\r\n this.calcTotalDespesa(\"voutro\");\r\n },\r\n }),\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n mask: \"9.999\",\r\n customvalidators: [\r\n new CMValidator(() => {\r\n return this.validCFOPAtivo();\r\n }),\r\n ],\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"cfop\",\r\n this.model.infnfe.ide.tpnf,\r\n this.model.infnfe.ide.finnfe\r\n );\r\n },\r\n }),\r\n indtot: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Item entra no valor total da NF-e\",\r\n values: [\r\n { value: \"NaoCompoeValorTotal\", text: \"Não\" },\r\n { value: \"CompoeValorTotal\", text: \"Sim\" },\r\n ],\r\n }),\r\n },\r\n imposto: {\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto,\r\n \"vtottrib\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto,\r\n \"vtottrib\"\r\n );\r\n },\r\n }),\r\n ipi: {\r\n clenq: new CMInputConfig({\r\n form: this,\r\n caption: \"Código de Enquadramento Legal do IPI\",\r\n }),\r\n cnpjprod: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ do produtor da mercadoria.\",\r\n }),\r\n cselo: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ do produtor da mercadoria.\",\r\n }),\r\n qselo: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade de Selos de Controle.\",\r\n dataType: \"double(2)\"\r\n }),\r\n cenq: new CMInputConfig({\r\n form: this,\r\n caption: \"Código de Enquadramento Legal do IPI\",\r\n dataType: \"integer\"\r\n }),\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\"\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da Base de Cálculo\",\r\n dataType: \"double(2)\"\r\n }),\r\n pipi: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota do IPI\",\r\n dataType: \"double(2)\"\r\n }),\r\n qunid: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade total na unidade padrão para tributação\",\r\n dataType: \"double(2)\"\r\n }),\r\n vunid: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor por Unidade Tributável\",\r\n dataType: \"double(2)\"\r\n }),\r\n vipi: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do IPI \",\r\n dataType: \"double(2)\"\r\n }),\r\n },\r\n icms: {\r\n csosn: new CMInputConfig({\r\n form: this,\r\n caption: \"CSOSN\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CSOSN,\r\n }),\r\n modbc: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Modalidade de determinação da BC do ICMS (CSOSN 900)\",\r\n dataType: \"integer\",\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.icms,\r\n \"vbc\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.icms,\r\n \"vbc\"\r\n );\r\n },\r\n }),\r\n picms: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.icms,\r\n \"vicms\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.icms,\r\n \"vicms\"\r\n );\r\n },\r\n }),\r\n pcredsn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Alíquota aplicável de cálculo do crédito (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n }),\r\n vcredicmssn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n }),\r\n predbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n icmsst: {\r\n modbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade de determinação da BC do ICMS ST\",\r\n dataType: \"integer\",\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.icmsst,\r\n \"vbcst\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.icmsst,\r\n \"vbcst\"\r\n );\r\n },\r\n }),\r\n predbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC do ICMS ST\",\r\n dataType: \"double(2)\",\r\n }),\r\n pmvast: new CMInputConfig({\r\n form: this,\r\n caption: \"MVA\",\r\n dataType: \"double(2)\",\r\n }),\r\n picmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n }),\r\n vicmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.icmsst,\r\n \"vicmsst\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.icmsst,\r\n \"vicmsst\"\r\n );\r\n },\r\n }),\r\n vbcstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Base Cálculo (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n }),\r\n vicmsstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor ICMS (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n pis: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n }),\r\n ppis: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.pis,\r\n \"vpis\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.pis,\r\n \"vpis\"\r\n );\r\n },\r\n }),\r\n },\r\n cofins: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n }),\r\n pcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterItemImp(\r\n this.modelConfig.infnfe.det.current.imposto.cofins,\r\n \"vcofins\"\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalImp(\r\n this.modelConfig.infnfe.det.current.imposto.cofins,\r\n \"vcofins\"\r\n );\r\n },\r\n }),\r\n },\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLoteOnSelect(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n icmstot: {\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vprod: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n required: true,\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"v\");\r\n },\r\n onExit: () => {\r\n this.calcDescTotal(\"v\");\r\n },\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"p\");\r\n },\r\n onExit: () => {\r\n this.calcDescTotal(\"p\");\r\n },\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS ST\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS ST\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n },\r\n },\r\n transp: {\r\n modfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade do frete\",\r\n values: [\r\n { value: \"PorContaDoEmitente\", text: \"Por conta do emitente\" },\r\n {\r\n value: \"PorContaDoDestinatario\",\r\n text: \"Por conta do destinatário/remetente\",\r\n },\r\n { value: \"PorContaDeTerceiros\", text: \"Por conta de terceiros\" },\r\n { value: \"SemFrete\", text: \"Sem frete\" },\r\n ],\r\n }),\r\n transportadora: new CMInputConfig({\r\n form: this,\r\n caption: \"Transportadora\",\r\n pesqFunc: (sender) => {\r\n TransportadoraBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.transp\r\n );\r\n },\r\n }),\r\n placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Placa\",\r\n maxlength: 7,\r\n }),\r\n uf_placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n rntc: new CMInputConfig({\r\n form: this,\r\n caption: \"RNTC / ANTT\",\r\n maxlength: 20,\r\n }),\r\n vol: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n qvol: \"0\",\r\n pesol: \"0,000\",\r\n pesob: \"0,000\",\r\n });\r\n },\r\n fields: {\r\n qvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"integer\",\r\n }),\r\n esp: new CMInputConfig({\r\n form: this,\r\n caption: \"Espécie\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n marca: new CMInputConfig({\r\n form: this,\r\n caption: \"Marca\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n nvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Numeração\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n pesol: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Líquido (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n pesob: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Bruto (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n },\r\n }),\r\n },\r\n\r\n cobrpagar: {\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n this.calcValorLiquidoDuplicatas();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor líquido\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.somaValoresAutomaticamente;\r\n },\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.model.infnfe.cobrpagar, \"contabancaria\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.model.infnfe.cobrpagar, \"contacontabil\");\r\n console.log('thismodel: ', this.model);\r\n },\r\n }),\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n requiredFunc: () => {\r\n return this.model.infnfe.tipopagamento !== \"AVista\";\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n nduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Número da Duplicata\",\r\n maxlength: 60,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da duplicata\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n }),\r\n },\r\n\r\n infadic: {\r\n infadfisco: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações adicionais de interesse do fisco\",\r\n }),\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações Complementares de interesse do Contribuinte\",\r\n }),\r\n },\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Duplicatas\" },\r\n ],\r\n }),\r\n chaveacesso: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n }),\r\n },\r\n };\r\n }\r\n\r\n validEstoque(item: any) {\r\n let r: string = \"\";\r\n console.log('item ', item);\r\n console.log('item.qcom ', item.prod.qcom);\r\n\r\n if (this.valueToFloat(item.prod.qcom, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let itemsEstoque = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.qcom);\r\n }\r\n });\r\n itemsEstoque.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem();\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n if (this.model.infnfe.tipopagamento !== \"AVista\") {\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.infnfe.ide.dhemi);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de emissão\";\r\n }\r\n return r;\r\n }\r\n\r\n validCFOPAtivo() {\r\n let r: string = \"\";\r\n let item = this.modelConfig.infnfe.det.current;\r\n if (item && item.prod && item.prod.cfop && item.prod.cfop.ativo !== \"Sim\") {\r\n r = \"CFOP Inativo. Utilize a pesquisa para verificar os CFOPs ativos.\";\r\n }\r\n return r;\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaValidadeLote() {\r\n if (this.getValueObject(this.model, \"infnfe.ide.tpnf\") == \"Entrada\")\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n else return false;\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n get somaValoresAutomaticamente() {\r\n return this.model.impostocalculado === \"Sim\";\r\n }\r\n\r\n //***********Calculos dos produtos e totais ***********/\r\n\r\n calcTotalItem(tipo = undefined) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let item = this.modelConfig.infnfe.det.current.prod;\r\n let vdescOld = item.vdesc;\r\n let vdesc = this.calc_vDescItem(item);\r\n if (tipo === \"v\") vdescOld = vdesc;\r\n if (item.vdesc !== vdesc) {\r\n if (tipo === \"v\") item.pdesc = this.calc_pDescItem(item);\r\n else item.vdesc = vdesc;\r\n }\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n if (tipo == undefined)\r\n this.add_vProd(this.valueToFloat(item.vtotal, 0), vtotal);\r\n vtotal = vtotal - this.valueToFloat(item.vdesc, 0);\r\n this.add_vNF(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n this.add_vDescTotal(\r\n this.valueToFloat(vdescOld, 0),\r\n this.valueToFloat(item.vdesc, 0)\r\n );\r\n }\r\n\r\n calc_vDescItem(item) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = (vtotal * this.valueToFloat(item.pdesc, 0)) / 100;\r\n return this.floatToValue(vdesc);\r\n }\r\n\r\n calc_pDescItem(item) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = this.valueToFloat(item.vdesc, 0);\r\n let pdesc = (vdesc / vtotal) * 100;\r\n return this.floatToValue(pdesc);\r\n }\r\n\r\n add_vProd(oldValue: number, newValue: number) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vprod = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vNF(oldValue: number, newValue: number) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vnf = this.floatToValue(vtotal);\r\n this.calcValorLiquidoDuplicatas();\r\n }\r\n\r\n calc_pDescTotal() {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vprod = this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0);\r\n let vdesc = this.valueToFloat(this.model.infnfe.total.icmstot.vdesc, 0);\r\n let pdesc = (vdesc / vprod) * 100;\r\n return this.floatToValue(pdesc);\r\n }\r\n\r\n add_vDescTotal(oldValue: number, newValue: number) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vdesc, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vdesc = this.floatToValue(vtotal);\r\n this.model.infnfe.total.icmstot.pdesc = this.calc_pDescTotal();\r\n }\r\n\r\n calcValorLiquidoDuplicatas() {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vliquido =\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0) -\r\n this.valueToFloat(this.model.infnfe.cobrpagar.vdesconto, 0);\r\n this.model.infnfe.cobrpagar.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n onEnterDescTotal(tipo) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot[\"old_\" + tipo + \"desc\"] = icmstot[tipo + \"desc\"];\r\n }\r\n\r\n calcDescTotal(tipo) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n let desc1 = \"vdesc\";\r\n let desc2 = \"pdesc\";\r\n if (tipo === \"p\") {\r\n desc1 = \"pdesc\";\r\n desc2 = \"vdesc\";\r\n }\r\n\r\n let vtotalprodutos = this.valueToFloat(icmstot.vprod, 0);\r\n let vdesconto = this.valueToFloat(icmstot.vdesc, 0);\r\n if (tipo === \"p\") {\r\n icmstot.vdesc = this.arredondar(\r\n (vtotalprodutos * this.valueToFloat(icmstot.pdesc, 0)) / 100\r\n );\r\n vdesconto = this.valueToFloat(icmstot.vdesc, 0);\r\n } else if (tipo === \"v\") {\r\n icmstot.pdesc = this.arredondar((vdesconto / vtotalprodutos) * 100);\r\n }\r\n icmstot.vnf = this.arredondar(vtotalprodutos - vdesconto);\r\n }\r\n\r\n onEnterItemDespesa(campo: string) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let prod = this.modelConfig.infnfe.det.current.prod;\r\n prod[\"old_\" + campo] = prod[campo];\r\n }\r\n\r\n calcTotalDespesa(campo: string) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n this.calcTotalImp(this.modelConfig.infnfe.det.current.prod, campo);\r\n }\r\n\r\n onEnterItemImp(item, campo: string) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n item[\"old_\" + campo] = item[campo];\r\n }\r\n\r\n calcTotalImp(item, campo: string) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n this.add_vTotalImp(\r\n campo,\r\n this.valueToFloat(item[\"old_\" + campo], 0),\r\n this.valueToFloat(item[campo], 0)\r\n );\r\n }\r\n\r\n add_vTotalImp(campo: string, oldValue: number, newValue: number) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n if (campo === \"vicmsst\") campo = \"vst\";\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n let vtotal = this.valueToFloat(icmstot[campo], 0);\r\n vtotal += newValue - oldValue;\r\n icmstot[campo] = this.floatToValue(vtotal);\r\n }\r\n\r\n onRemoveItem(item) {\r\n if (!this.somaValoresAutomaticamente) return null;\r\n let vtotal =\r\n this.valueToFloat(item.prod.qcom, 0) *\r\n this.valueToFloat(item.prod.vuncom, 0);\r\n this.add_vProd(this.valueToFloat(vtotal, 0), 0);\r\n this.add_vNF(this.valueToFloat(item.prod.vtotal, 0), 0);\r\n this.add_vDescTotal(this.valueToFloat(item.prod.vdesc, 0), 0);\r\n\r\n this.add_vTotalImp(\"vfrete\", this.valueToFloat(item.prod.vfrete, 0), 0);\r\n this.add_vTotalImp(\"vseg\", this.valueToFloat(item.prod.vseg, 0), 0);\r\n this.add_vTotalImp(\"voutro\", this.valueToFloat(item.prod.voutro, 0), 0);\r\n this.add_vTotalImp(\"vbc\", this.valueToFloat(item.imposto.icms.vbc, 0), 0);\r\n this.add_vTotalImp(\r\n \"vicms\",\r\n this.valueToFloat(item.imposto.icms.vicms, 0),\r\n 0\r\n );\r\n this.add_vTotalImp(\r\n \"vbcst\",\r\n this.valueToFloat(item.imposto.icmsst.vbcst, 0),\r\n 0\r\n );\r\n this.add_vTotalImp(\r\n \"vicmsst\",\r\n this.valueToFloat(item.imposto.icmsst.vicmsst, 0),\r\n 0\r\n );\r\n this.add_vTotalImp(\"vpis\", this.valueToFloat(item.imposto.pis.vpis, 0), 0);\r\n this.add_vTotalImp(\r\n \"vcofins\",\r\n this.valueToFloat(item.imposto.cofins.vcofins, 0),\r\n 0\r\n );\r\n this.add_vTotalImp(\r\n \"vtottrib\",\r\n this.valueToFloat(item.imposto.vtottrib, 0),\r\n 0\r\n );\r\n }\r\n}\r\n","export * from './nfe-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmUtcmVsYXRvcmlvcy9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxuZmUtcmVsYXRvcmlvc1xcbmZlLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlLXJlbGF0b3Jpb3MvbmZlLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL25mZS1yZWxhdG9yaW9zL25mZS1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n NFeBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"nfe-relatorios\",\r\n templateUrl: \"nfe-relatorios.component.html\",\r\n styleUrls: [\"nfe-relatorios.component.scss\"],\r\n})\r\nexport class NFeRelatoriosComponent extends CMFormComponent {\r\n _owner: NFeBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n NFeRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return NFeRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"NFePadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"NFePadrao\", text: \"NFe Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"NFePadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"nfe\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoNFeCustomizado\",\r\n data,\r\n \"nfe\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, NFeRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from \"./nfe-troca-produto-edit.component\";\r\nexport * from \"./nfe-troca-produto-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeTrocaProdutoEditComponent,\r\n PessoaBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-troca-produto-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class NFeTrocaProdutoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfetrocaproduto\";\r\n this.showPrintButton = true;\r\n this.formEditComponent = NFeTrocaProdutoEditComponent;\r\n this.columns = [\r\n {\r\n field: \"nnf\",\r\n caption: \"#\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"dhemi\",\r\n caption: \"Data\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"pessoa_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"pessoa.id\",\r\n filterValue: \"pessoa.codigo\",\r\n fieldBottom: \"pessoa.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Cliente\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"vendedor_nome\",\r\n caption: \"Vendedor\",\r\n filterField: \"vendedor.id\",\r\n filterValue: \"vendedor.codigo\",\r\n fieldBottom: \"vendedor.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.valuesFilters,\r\n \"Vendedor\",\r\n \"vendedor\"\r\n );\r\n },\r\n }),\r\n },\r\n {\r\n field: \"cupomdesconto\",\r\n caption: \"Cupom de desconto\", \r\n }\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Troca de Produtos\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n NFeBrowseComponent,\r\n PessoaBrowseComponent,\r\n PreVendaBrowseComponent,\r\n ProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"nfe-troca-produto-edit\",\r\n templateUrl: \"nfe-troca-produto-edit.component.html\",\r\n})\r\nexport class NFeTrocaProdutoEditComponent extends CMFormEditComponent {\r\n\r\n \r\n /*public filter: any = {};\r\n private innerFilterConfig = {};\r\n public get filterConfig() {\r\n return this.innerFilterConfig;\r\n }\r\n public set filterConfig(value: any) {\r\n this.innerFilterConfig = value;\r\n this.filter = {};\r\n this.generateEmptyModel(value, this.filter);\r\n }*/\r\n \r\n\r\n getFirstComponentName() {\r\n return \"model_infnfe_dest_pessoa\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Troca Produto\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"infnfe.dest.pessoa.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfetrocaproduto\";\r\n //this.setFilterConfig();\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.status !== \"Autorizado\";\r\n }\r\n\r\n getCupomDesconto() {\r\n let t = \"\";\r\n if (this.model.cuponsdatoca && this.model.cuponsdatoca.length > 0) {\r\n t = \"Cupom de desconto: \"+this.model.cuponsdatoca[0].codigo;\r\n }\r\n return t;\r\n }\r\n\r\n \r\n /*setFilterConfig() {\r\n this.filterConfig = {\r\n filtro: {\r\n origem: new CMInputConfig({form: this,\r\n caption: 'Origem',\r\n values: [{'value': 'Pré-Venda'}, {'value': 'NF-e'}, {'value': 'Todos'}]\r\n }),\r\n },\r\n }\r\n }*/\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n \r\n\r\n prevenda: new CMInputConfig({form: this,\r\n caption: 'Pré-Venda',\r\n /*disabledFunc: () => {\r\n return this.filter.origem !== 'Pré-Venda';\r\n },*/\r\n pesqFunc: sender => {\r\n PreVendaBrowseComponent.pesquisaPreVendaTroca(sender, this.model, \"Pré Venda\", \"prevenda\");\r\n }\r\n }),\r\n infnfe: {\r\n ide: {\r\n nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"#\",\r\n disabled: true,\r\n required: true,\r\n }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n },\r\n dest: {\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n \"Cliente\"\r\n );\r\n },\r\n }),\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n prod: {\r\n qcom: \"1,00\",\r\n vuncom: \"0,00\",\r\n vprod: \"0,00\",\r\n vtotal: \"0,00\",\r\n },\r\n estoque: [],\r\n });\r\n },\r\n customValidItem: (item) => {\r\n return this.validEstoque(item);\r\n },\r\n\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) =>\r\n this.getValueObject(row, \"prod.produto.descr\"),\r\n }),\r\n }),\r\n },\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"350px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n if (produto.precos.length > 0)\r\n this.modelConfig.infnfe.det.current.prod.vuncom =\r\n produto.precos[0].vuncom;\r\n if(this.currentProdutoUsaGrade()){\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"0,00\";\r\n\r\n let grades = this.modelConfig.infnfe.det.current.prod.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.infnfe.det.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"qcom\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"1,00\";\r\n };\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n }\r\n );\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 3,\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 4,\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n },\r\n required: true,\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n ordem: 5,\r\n }),\r\n required: true,\r\n disabled: true,\r\n }),\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.infnfe.det.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.infnfe.det.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n icmstot: {\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n },\r\n infadic: {\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model.infnfe);\r\n },\r\n }),\r\n },\r\n \r\n };\r\n }\r\n \r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n \r\n validEstoque(item: any) {\r\n let r: string = \"\";\r\n console.log('item ', item);\r\n console.log('item.qcom ', item.prod.qcom);\r\n\r\n if (this.valueToFloat(item.prod.qcom, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item) {\r\n let itemsEstoque = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.qcom);\r\n }\r\n });\r\n itemsEstoque.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n //***********Calculos dos produtos e totais ***********/\r\n\r\n calcTotalItem(item) {\r\n //let item = this.modelConfig.infnfe.det.current.prod;\r\n console.log(item.vtotal);\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n this.add_vProd(this.valueToFloat(item.vtotal, 0), vtotal);\r\n vtotal = vtotal - this.valueToFloat(item.vdesc, 0);\r\n this.add_vNF(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vProd(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0);\r\n console.log(\"oldValue, \", oldValue, \" new Value, \", newValue);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vprod = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vNF(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.icmstot.vnf = this.floatToValue(vtotal);\r\n }\r\n\r\n onRemoveItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.prod.qcom, 0) *\r\n this.valueToFloat(item.prod.vuncom, 0);\r\n this.add_vProd(this.valueToFloat(vtotal, 0), 0);\r\n this.add_vNF(this.valueToFloat(item.prod.vtotal, 0), 0);\r\n }\r\n\r\n \r\n loadProdutos() {\r\n console.log(this.model);\r\n this.add_vProd(this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0), 0);\r\n this.add_vNF(this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0), 0);\r\n\r\n let det = [];\r\n let estoque = [];\r\n let prod;\r\n let prodcalc;\r\n this.model.prevenda.itens.forEach ( (item) => {\r\n // ~ Quando o item não tiver estoque, deixar a variável estoque vazia mesmo\r\n if (item.produto.usagrade1 === \"Sim\" || item.produto.usagrade2 === \"Sim\") {\r\n item.estoque.forEach( (itemEstoque) => {\r\n estoque.push({\r\n \"grade\": itemEstoque.grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": itemEstoque.numerolote,\r\n \"qcom\": itemEstoque.quantidade,\r\n })\r\n })\r\n }\r\n console.log(item);\r\n prod = {\r\n \"produto\": item.produto,\r\n \"qcom\": item.quantidade,\r\n \"vprod\": \"0,00\",\r\n \"vuncom\": item.vunitario,\r\n \"vtotal\": item.vtotal,\r\n }\r\n prodcalc = {\r\n \"produto\": item.produto,\r\n \"qcom\": item.quantidade,\r\n \"vuncom\": item.vunitario,\r\n }\r\n det.push({\r\n estoque,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n prod\r\n });\r\n this.calcTotalItem(prodcalc);\r\n });\r\n\r\n this.model.infnfe.det = det;\r\n console.log(prod);\r\n console.log(this.model);\r\n /*this.model.infnfe.det = {\r\n \"prod\": {\r\n \"qcom\": \"1,00\",\r\n \"vuncom\": \"0,00\",\r\n \"vprod\": \"0,00\",\r\n \"vtotal\": \"0,00\"\r\n },\r\n \"estoque\": [],\r\n \"id\": -1853\r\n }*/\r\n }\r\n\r\n debugA(){\r\n console.log(this.model);\r\n }\r\n\r\n}\r\n","export * from './nfe-edit.component';\r\nexport * from './nfe-browse.component';","// tslint:disable\r\nimport {Injector, Component} from '@angular/core';\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent\r\n} from './../../@cmcore/component';\r\nimport {\r\n NFeEditComponent,\r\n NFeAcoesComponent,\r\n ClienteBrowseComponent,\r\n VendedorBrowseComponent,\r\n FormaPagamentoBrowseComponent,\r\n NFeRelatoriosComponent\r\n} from './../index';\r\n\r\n@Component({\r\n selector: 'nfe-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class NFeBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'nfe';\r\n this.formEditComponent = NFeEditComponent;\r\n this.buttonsExtra = 2;\r\n this.columns = [\r\n {\r\n field: 'nnf',\r\n caption: '#',\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {\r\n field: 'dhemi',\r\n caption: 'Data',\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n })\r\n },\r\n {\r\n field: 'pessoa_nome',\r\n caption: 'Cliente',\r\n filterField: 'cliente.id',\r\n filterValue: 'cliente.codigo',\r\n fieldBottom: 'cliente.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n },\r\n {field: 'statusstr', caption: 'Status'},\r\n {\r\n field: 'vendedor_nome',\r\n caption: 'Vendedor',\r\n filterField: 'vendedor.id',\r\n filterValue: 'vendedor.codigo',\r\n fieldBottom: 'vendedor.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n },\r\n {\r\n field: 'formapag_descricao',\r\n caption: 'Forma de Pagamento',\r\n filterField: 'formapagamento.id',\r\n fieldBottom: 'formapagamento.descricao',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n }\r\n })\r\n }\r\n ];\r\n if (NFeRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(NFeRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (NFeRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosNFe();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/nfe/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'NFe'){\r\n NFeRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosNFe() {\r\n this.beforeComponent = NFeRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosNFe\");\r\n }, 100);\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n if (this.grid.fieldByName('impostocalculado') === 'Sim')\r\n this.openFormAcoesNFe(this.grid.fieldByName('id'));\r\n else\r\n CMFormGlobaisComponent.showMessageAviso(\r\n 'Calcule os impostos da NF-e antes de abrir o gerenciamento'\r\n );\r\n } \r\n else if (index === 1) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()), origem: 'NF-e' };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImprimirBoleto/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n idFormAcoesNFe: number = 0;\r\n openFormAcoesNFe(id) {\r\n this.idFormAcoesNFe = id;\r\n this.beforeComponent = NFeAcoesComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open('formAcoesNFe');\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, 'GetDadosAcoesNFe');\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImprimirBoleto\");\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0 || index === 1) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = '';\r\n if (index === 0) r = 'build';\r\n if (index === 1) r = 'view_column';\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = '';\r\n if (index === 0) r = 'Gerenciamento';\r\n if (index === 1) r = 'Imprimir Boleto';\r\n return r;\r\n }\r\n\r\n getTitle() {\r\n return 'Nota Fiscal Eletrônica';\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n idCliente?: number,\r\n tipoPagamento?: string\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'nfe',\r\n 'Pesquisa de NF-e',\r\n [\r\n {field: 'nnf', caption: '#'},\r\n {field: 'pessoa_nome', caption: 'Cliente', filter: true},\r\n {field: 'dhemi', caption: 'Data', filter: true, mask: '99/99/9999'}\r\n ],\r\n target,\r\n targetProp,\r\n 'infnfe.ide.nnf',\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n {\r\n idcliente: idCliente,\r\n tipopagamento: tipoPagamento,\r\n status: 'Autorizado'\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector, ViewChild } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMPanelConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n PessoaBrowseComponent,\r\n TransportadoraBrowseComponent,\r\n ProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n FormaPagamentoBrowseComponent,\r\n NFeBrowseComponent,\r\n CFOPBrowseComponent,\r\n PadraoDeOperacaoEditComponent,\r\n MunicipioBrowseComponent,\r\n CupomDescontoBrowseComponent,\r\n} from \"./../index\";\r\nimport { CMValidatorCNPJCPF, CMValidator } from \"./../../@cmcore/validator\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"nfe-edit\",\r\n templateUrl: \"nfe-edit.component.html\",\r\n})\r\nexport class NFeEditComponent extends CMFormEditComponent {\r\n valuesTipoPagamento = [];\r\n\r\n configPesqLocalEntrega: CMPanelConfigMore;\r\n\r\n setValuesTipoPagamento() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ];\r\n } else {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n { value: \"RecebimentoFuturo\", text: \"Recebimento Futuro\" },\r\n ];\r\n }\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_infnfe_dest_pessoa\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Nota Fiscal Eletrônica\";\r\n let tmp: string = this.fieldByName(\"infnfe.ide.nnf\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"infnfe.dest.pessoa.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"nfe\";\r\n this.setValuesTipoPagamento();\r\n this.setModelConfig();\r\n PessoaBrowseComponent.setValidProcSolicitaPermissaoVendaContaVencida(this, () => {\r\n return this.model.infnfe.tipopagamento === 'AVista'\r\n });\r\n this.configPesqLocalEntrega = new CMPanelConfigMore({\r\n onClick: () => this.onActionpesqLocalEntrega(),\r\n });\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = this.model.infnfe.podeeditar !== \"Sim\";\r\n this.setCFOPNovosItens();\r\n }\r\n\r\n setCFOPNovosItens() {\r\n if (this.model.infnfe.ide.finnfe == 'Devolucao') {\r\n this.model.cfopnovositenscfop = Object.assign({}, this.currentUserStorage.cfoppadraodevolucao);\r\n }\r\n else {\r\n this.model.cfopnovositenscfop = Object.assign({}, this.currentUserStorage.cfoppadrao);\r\n }\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n cfopnovositenscfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP novos itens\",\r\n mask: \"9.999\",\r\n customvalidators: [\r\n new CMValidator(() => {\r\n return this.validCFOPAtivo();\r\n }),\r\n ],\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"cfopnovositenscfop\",\r\n this.model.infnfe.ide.tpnf,\r\n this.model.infnfe.ide.finnfe\r\n );\r\n },\r\n }),\r\n infnfe: {\r\n ide: {\r\n tpnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Operação\",\r\n values: [{ value: \"Entrada\" }, { value: \"Saida\", text: \"Saída\" }],\r\n }),\r\n\r\n finnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"Finalidade de emissão da NF-e\",\r\n values: [\r\n { value: \"Normal\" },\r\n { value: \"Complementar\" },\r\n { value: \"Ajuste\" },\r\n { value: \"Devolucao\", text: \"Devolução\" },\r\n ],\r\n onChange: () => {\r\n this.setCFOPNovosItens();\r\n }\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.valueToInteger(this.model.id, 0) > 0;\r\n },\r\n required: true,\r\n }),\r\n nnf: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n dhemi: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n natop: new CMInputConfig({\r\n form: this,\r\n caption: \"Natureza da Operação\",\r\n maxlength: 60,\r\n }),\r\n nfref: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n caption: \"Documentos Fiscais referenciados\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n refnf_cuf: 35,\r\n refnf_dtemissao: this.date,\r\n refnf_mod: \"01\",\r\n refnf_serie: 0,\r\n refnfp_cuf: 35,\r\n refnfp_dtemissao: this.date,\r\n refnfp_mod: \"04\",\r\n refnfp_serie: 0,\r\n refecf_mod: \"2D\",\r\n tipo: \"NFe\",\r\n });\r\n },\r\n extraColumns: {\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n getValue: (row) => {\r\n return this.getInfoDocumentosFiscaisReferenciados(row);\r\n },\r\n }),\r\n }),\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n defaultInAdd: true,\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Documento\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"250px\",\r\n readOnly: true,\r\n }),\r\n values: [\r\n {\r\n value: \"CTe\",\r\n text: \"Conhecimento de Transporte Eletrônico\",\r\n },\r\n { value: \"ECF\", text: \"Cupom Fiscal\" },\r\n { value: \"NFe\", text: \"Nota Fiscal Eletrônica\" },\r\n { value: \"NF\", text: \"Nota Fiscal Modelo 1/1A\" },\r\n { value: \"NFP\", text: \"Nota Fiscal Produtor Rural\" },\r\n ],\r\n }),\r\n refnfe: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n maxlength: 44,\r\n }),\r\n refnf_cuf: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"12\", text: \"AC\" },\r\n { value: \"27\", text: \"AL\" },\r\n { value: \"16\", text: \"AP\" },\r\n { value: \"13\", text: \"AM\" },\r\n { value: \"29\", text: \"BA\" },\r\n { value: \"23\", text: \"CE\" },\r\n { value: \"53\", text: \"DF\" },\r\n { value: \"32\", text: \"ES\" },\r\n { value: \"52\", text: \"GO\" },\r\n { value: \"21\", text: \"MA\" },\r\n { value: \"51\", text: \"MT\" },\r\n { value: \"50\", text: \"MS\" },\r\n { value: \"31\", text: \"MG\" },\r\n { value: \"41\", text: \"PR\" },\r\n { value: \"25\", text: \"PB\" },\r\n { value: \"15\", text: \"PA\" },\r\n { value: \"26\", text: \"PE\" },\r\n { value: \"22\", text: \"PI\" },\r\n { value: \"33\", text: \"RJ\" },\r\n { value: \"24\", text: \"RN\" },\r\n { value: \"43\", text: \"RS\" },\r\n { value: \"11\", text: \"RO\" },\r\n { value: \"14\", text: \"RR\" },\r\n { value: \"42\", text: \"SC\" },\r\n { value: \"28\", text: \"SE\" },\r\n { value: \"35\", text: \"SP\" },\r\n { value: \"17\", text: \"TO\" },\r\n ],\r\n }),\r\n refnf_dtemissao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Emissão\",\r\n mask: \"99/99/9999\",\r\n }),\r\n refnf_cnpj: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ do Emitente\",\r\n mask: \"99.999.999/9999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n refnf_mod: new CMInputConfig({\r\n form: this,\r\n caption: \"Modelo\",\r\n maxlength: 2,\r\n }),\r\n refnf_serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Serie\",\r\n dataType: \"integer\",\r\n }),\r\n refnf_nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n dataType: \"integer\",\r\n }),\r\n refnfp_cuf: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"12\", text: \"AC\" },\r\n { value: \"27\", text: \"AL\" },\r\n { value: \"16\", text: \"AP\" },\r\n { value: \"13\", text: \"AM\" },\r\n { value: \"29\", text: \"BA\" },\r\n { value: \"23\", text: \"CE\" },\r\n { value: \"53\", text: \"DF\" },\r\n { value: \"32\", text: \"ES\" },\r\n { value: \"52\", text: \"GO\" },\r\n { value: \"21\", text: \"MA\" },\r\n { value: \"51\", text: \"MT\" },\r\n { value: \"50\", text: \"MS\" },\r\n { value: \"31\", text: \"MG\" },\r\n { value: \"41\", text: \"PR\" },\r\n { value: \"25\", text: \"PB\" },\r\n { value: \"15\", text: \"PA\" },\r\n { value: \"26\", text: \"PE\" },\r\n { value: \"22\", text: \"PI\" },\r\n { value: \"33\", text: \"RJ\" },\r\n { value: \"24\", text: \"RN\" },\r\n { value: \"43\", text: \"RS\" },\r\n { value: \"11\", text: \"RO\" },\r\n { value: \"14\", text: \"RR\" },\r\n { value: \"42\", text: \"SC\" },\r\n { value: \"28\", text: \"SE\" },\r\n { value: \"35\", text: \"SP\" },\r\n { value: \"17\", text: \"TO\" },\r\n ],\r\n }),\r\n refnfp_dtemissao: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Emissão\",\r\n mask: \"99/99/9999\",\r\n }),\r\n refnfp_cnpj: new CMInputConfig({\r\n form: this,\r\n caption: \"CNPJ do Emitente\",\r\n mask: \"99.999.999/9999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n refnfp_cpf: new CMInputConfig({\r\n form: this,\r\n caption: \"CPF do Emitente\",\r\n mask: \"999.999.999-99\",\r\n customvalidators: [new CMValidatorCNPJCPF()],\r\n }),\r\n refnfp_ie: new CMInputConfig({\r\n form: this,\r\n caption: \"IE do Emitente\",\r\n maxlength: 18,\r\n }),\r\n refnfp_mod: new CMInputConfig({\r\n form: this,\r\n caption: \"Modelo\",\r\n maxlength: 2,\r\n }),\r\n refnfp_serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n }),\r\n refnfp_nnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n dataType: \"integer\",\r\n }),\r\n refcte: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n maxlength: 44,\r\n }),\r\n refecf_mod: new CMInputConfig({\r\n form: this,\r\n caption: \"Modelo\",\r\n maxlength: 2,\r\n }),\r\n refecf_necf: new CMInputConfig({\r\n form: this,\r\n caption: \"Número do Caixa\",\r\n dataType: \"integer\",\r\n }),\r\n refecf_ncoo: new CMInputConfig({\r\n form: this,\r\n caption: \"Número do Cupom\",\r\n dataType: \"integer\",\r\n }),\r\n },\r\n }),\r\n },\r\n dest: {\r\n tipopessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Destinatário\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n onEnter: () => {\r\n this.onEnterTipoPessoa();\r\n },\r\n onExit: () => {\r\n this.onExitTipoPessoa();\r\n },\r\n values: [\r\n { value: \"Cliente\" },\r\n { value: \"Fornecedor\" },\r\n { value: \"Empresa\" },\r\n ],\r\n }),\r\n pessoa: new CMInputConfig({\r\n form: this,\r\n caption: \"Destinatário\",\r\n required: true,\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados ||\r\n this.model.infnfe.dest.tipopessoa === \"Empresa\"\r\n );\r\n },\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.dest,\r\n this.model.infnfe.dest.tipopessoa\r\n );\r\n },\r\n }),\r\n usaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n }),\r\n armazenaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n caption: \"Salva endereço de entrega como:\",\r\n }),\r\n identificacaoenderecoentrega: new CMInputConfig({\r\n form: this,\r\n maxlength: 30,\r\n requiredFunc: () =>\r\n this.model.infnfe.dest.armazenaenderecoentrega == \"Sim\",\r\n }),\r\n enderecoentrega: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.infnfe.dest.enderecoentrega.estado,\r\n sender,\r\n this.model.infnfe.dest.enderecoentrega,\r\n \"ibge\"\r\n );\r\n },\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n },\r\n },\r\n det: new CMGridEditConfig({\r\n form: this,\r\n objName: \"det\",\r\n caption: \"Produtos\",\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n prod: {\r\n qcom: \"1,00\",\r\n vuncom: \"0,00\",\r\n vprod: \"0,00\",\r\n vdesc: \"0,00\",\r\n pdesc: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n cfop: this.getCFOPPadrao(),\r\n },\r\n estoque: [],\r\n });\r\n },\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n prod: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.modelConfig.infnfe.det.current.prod.vuncom = ProdutoBrowseComponent.get_vUniCon(\r\n produto\r\n );\r\n if(this.currentProdutoUsaGrade()){\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"0,00\";\r\n\r\n let grades = this.modelConfig.infnfe.det.current.prod.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.infnfe.det.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"qcom\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.infnfe.det.current.prod.qcom = \"1,00\";\r\n };\r\n this.calcTotalItem();\r\n this.setInfoFiscalProduto(\r\n this.modelConfig.infnfe.det.current,\r\n \"produto\"\r\n );\r\n }\r\n );\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n }),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (\r\n this.mostraDetalhesQuantidade(\r\n this.modelConfig.infnfe.det.current\r\n )\r\n )\r\n this.modelConfig.infnfe.det.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n showButtonFunc: (show, row) =>\r\n this.mostraDetalhesQuantidade(row),\r\n required: true,\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n hintButton: \"Preço\",\r\n iconButton: \"attach_money\",\r\n dropdownValues: (row) => this.dropdownValuesVUnCom(row),\r\n required: true,\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 7,\r\n }),\r\n disabled: true,\r\n required: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 4,\r\n }),\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 6,\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"prod.tipodesconto\") ===\r\n \"Percentual\",\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem(\"v\");\r\n },\r\n visibleFunc: () => {\r\n return this.impostosCalculados || this.isDescontoItem();\r\n },\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados &&\r\n !this.isAlteraImpostosManualmente()\r\n );\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 5,\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"prod.tipodesconto\") === \"Valor\",\r\n }),\r\n onExit: () => {\r\n this.calcTotalItem(\"p\");\r\n },\r\n visibleFunc: () => {\r\n return this.impostosCalculados || this.isDescontoItem();\r\n },\r\n disabledFunc: () => {\r\n return (\r\n this.impostosCalculados &&\r\n !this.isAlteraImpostosManualmente()\r\n );\r\n },\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n mask: \"9.999\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 8,\r\n tipo: \"input-pesquisa\",\r\n width: \"130px\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"prod.cfop.descricao\");\r\n },\r\n }),\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n customvalidators: [\r\n new CMValidator(() => {\r\n return this.validCFOPAtivo();\r\n }),\r\n ],\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.infnfe.det.current.prod,\r\n \"cfop\",\r\n this.model.infnfe.ide.tpnf,\r\n this.model.infnfe.ide.finnfe,\r\n (cfop) => {\r\n this.setInfoFiscalProduto(\r\n this.modelConfig.infnfe.det.current,\r\n \"cfop\"\r\n );\r\n }\r\n );\r\n },\r\n }),\r\n indtot: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do Item entra no valor total da NF-e\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n values: [\r\n { value: \"NaoCompoeValorTotal\", text: \"Não\" },\r\n { value: \"CompoeValorTotal\", text: \"Sim\" },\r\n ],\r\n }),\r\n },\r\n imposto: {\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n icms: {\r\n csosn: new CMInputConfig({\r\n form: this,\r\n caption: \"CSOSN\",\r\n dataType: \"integer\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 9,\r\n width: \"6em\",\r\n }),\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n values: PadraoDeOperacaoEditComponent.CSOSN,\r\n }),\r\n modbc: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Modalidade de determinação da BC do ICMS (CSOSN 900)\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n picms: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pcredsn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Alíquota aplicável de cálculo do crédito (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vcredicmssn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n predbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC (CSOSN 900)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n icmsst: {\r\n modbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade de determinação da BC do ICMS ST\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n predbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Percentual da Redução de BC do ICMS ST\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pmvast: new CMInputConfig({\r\n form: this,\r\n caption: \"MVA\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n picmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vbcstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Base Cálculo (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vicmsstret: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor ICMS (CSOSN 500)\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n pis: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n ppis: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n cofins: {\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de Cálculo\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n pcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Alíquota\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n },\r\n },\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.infnfe.det.fields.estoque.current,\r\n this.modelConfig.infnfe.det.current.prod.produto.id,\r\n this.modelConfig.infnfe.det.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.infnfe.det.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.infnfe.det.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n qcom: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n required: true,\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n total: {\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n required: true,\r\n }),\r\n icmstot: {\r\n vbc: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vprod: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n required: true,\r\n }),\r\n vdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n let r = this.isDescontoItem();\r\n if (!r) r = this.model.infnfe.tipodesconto === \"Percentual\";\r\n return r;\r\n },\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"v\");\r\n },\r\n onExit: () => {\r\n this.onExitDescTotal(\"v\");\r\n },\r\n }),\r\n pdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n let r = this.isDescontoItem();\r\n if (!r) r = this.model.infnfe.tipodesconto === \"Valor\";\r\n return r;\r\n },\r\n onEnter: () => {\r\n this.onEnterDescTotal(\"p\");\r\n },\r\n onExit: () => {\r\n this.onExitDescTotal(\"p\");\r\n },\r\n }),\r\n vicms: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vbcst: new CMInputConfig({\r\n form: this,\r\n caption: \"Base de cálculo do ICMS ST\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vst: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do ICMS ST\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do frete\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vseg: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do seguro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vpis: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do PIS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n vcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da COFINS\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n voutro: new CMInputConfig({\r\n form: this,\r\n caption: \"Outras despesas acessórias\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n vnf: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n }),\r\n vtottrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor dos tributos aproximados\",\r\n disabledFunc: () => {\r\n return !this.isAlteraImpostosManualmente();\r\n },\r\n dataType: \"double(2)\",\r\n }),\r\n },\r\n },\r\n transp: {\r\n modfrete: new CMInputConfig({\r\n form: this,\r\n caption: \"Modalidade do frete\",\r\n values: [\r\n { value: \"PorContaDoEmitente\", text: \"Por conta do emitente\" },\r\n {\r\n value: \"PorContaDoDestinatario\",\r\n text: \"Por conta do destinatário/remetente\",\r\n },\r\n { value: \"PorContaDeTerceiros\", text: \"Por conta de terceiros\" },\r\n { value: \"SemFrete\", text: \"Sem frete\" },\r\n ],\r\n }),\r\n transportadora: new CMInputConfig({\r\n form: this,\r\n caption: \"Transportadora\",\r\n pesqFunc: (sender) => {\r\n TransportadoraBrowseComponent.pesquisa(\r\n sender,\r\n this.model.infnfe.transp\r\n );\r\n },\r\n }),\r\n placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Placa\",\r\n maxlength: 7,\r\n }),\r\n uf_placa: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n rntc: new CMInputConfig({\r\n form: this,\r\n caption: \"RNTC / ANTT\",\r\n maxlength: 20,\r\n }),\r\n vol: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n qvol: \"0\",\r\n pesol: \"0,000\",\r\n pesob: \"0,000\",\r\n });\r\n },\r\n fields: {\r\n qvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"integer\",\r\n }),\r\n esp: new CMInputConfig({\r\n form: this,\r\n caption: \"Espécie\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n marca: new CMInputConfig({\r\n form: this,\r\n caption: \"Marca\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n nvol: new CMInputConfig({\r\n form: this,\r\n caption: \"Numeração\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n maxlength: 60,\r\n }),\r\n pesol: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Líquido (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n pesob: new CMInputConfig({\r\n form: this,\r\n caption: \"Peso Bruto (em kg)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n dataType: \"double(3)\",\r\n }),\r\n },\r\n }),\r\n },\r\n pag: {\r\n cupomdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Cupom de Desconto\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n CupomDescontoBrowseComponent.pesquisa(\r\n \"Não\",\r\n sender,\r\n this.model.infnfe.pag,\r\n undefined,\r\n (cupom) => {\r\n let msg;\r\n msg = this.cupomValido(cupom);\r\n if (this.trimValue(msg) === \"\") {\r\n this.model.infnfe.pag.vutilizadocupom = cupom.valor;\r\n this.model.infnfe.cobr.vdesconto = cupom.valor;\r\n this.calcValorLiquidoDuplicatas();\r\n } else {\r\n this.model.infnfe.pag.cupomdesconto = \"\";\r\n CMFormGlobaisComponent.showMessageError(msg);\r\n }\r\n }\r\n );\r\n },\r\n onExit: () => {\r\n this.onExitCupomDesconto();\r\n },\r\n }),\r\n vutilizadocupom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do cupom\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n cobr: {\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return (\r\n this.valueToInteger(\r\n this.getValueObject(\r\n this.model.model_infnfe,\r\n \"pag.cupomdesconto.id\"\r\n ),\r\n 0\r\n ) > 0\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorLiquidoDuplicatas();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor líquido\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n requiredFunc: () => {\r\n //return this.model.infnfe.tipopagamento === \"FormaPagamento\";\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor da duplicata\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.recalcularValorParcelas(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"alteradomanualmente\") !== \"Sim\",\r\n }),\r\n requiredFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n }),\r\n alteradomanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar\",\r\n dataType: \"boolean\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"60px\",\r\n }),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n requiredFunc: () => {\r\n return this.model.infnfe.tipopagamento === \"FormaPagamento\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.infnfe.cobr.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data da Baixa\",\r\n visibleFunc: () => {\r\n return this.model.infnfe.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo\",\r\n visibleFunc: () => {\r\n return this.model.infnfe.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n }),\r\n },\r\n\r\n infadic: {\r\n infadfisco: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações adicionais de interesse do fisco\",\r\n }),\r\n infcpl: new CMInputConfig({\r\n form: this,\r\n caption: \"Informações Complementares de interesse do Contribuinte\",\r\n }),\r\n },\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model.infnfe);\r\n },\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: this.valuesTipoPagamento,\r\n }),\r\n alteraimpostosmanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar valores manualmente\",\r\n onExit: () => {\r\n if (!this.isAlteraImpostosManualmente()) {\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot.vdesc = \"0,00\";\r\n this.calcularImpostos(false);\r\n }\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n onSetValue: (oldValue, newValue) => {\r\n if (this.trimValue(oldValue) !== \"\" && oldValue !== newValue)\r\n this.gerarDuplicatas();\r\n },\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n chaveacesso: new CMInputConfig({\r\n form: this,\r\n caption: \"Chave de acesso\",\r\n disabled: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n }),\r\n descontoaplicato: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto será aplicado\",\r\n disabledFunc: () => {\r\n return this.impostosCalculados;\r\n },\r\n onExit: () => {\r\n this.zeraDesconto();\r\n },\r\n values: [\r\n { value: \"NosItens\", text: \"Nos itens\" },\r\n { value: \"NoTotal\", text: \"No total\" },\r\n ],\r\n }),\r\n },\r\n };\r\n }\r\n\r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usavalidadelote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n validEstoque(item: any) {\r\n let r: string = \"\";\r\n console.log('item ', item);\r\n console.log('item.qcom ', item.prod.qcom);\r\n\r\n if (this.valueToFloat(item.prod.qcom, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let itemsEstoque = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.qcom);\r\n }\r\n });\r\n itemsEstoque.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.infnfe.det.current.prod);\r\n }\r\n\r\n onEnterDescTotal(tipo) {\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot[\"old_\" + tipo + \"desc\"] = icmstot[tipo + \"desc\"];\r\n }\r\n\r\n onExitDescTotal(tipo) {\r\n if (!this.isAlteraImpostosManualmente()) {\r\n let desc1 = \"vdesc\";\r\n let desc2 = \"pdesc\";\r\n if (tipo === \"p\") {\r\n desc1 = \"pdesc\";\r\n desc2 = \"vdesc\";\r\n }\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n if (icmstot[\"old_\" + desc1] !== icmstot[desc1]) {\r\n icmstot[desc2] = \"0,00\";\r\n this.calcularImpostos(false, () => {\r\n let icmstot2 = this.model.infnfe.total.icmstot;\r\n icmstot2[\"old_\" + desc2] = icmstot2[desc2];\r\n });\r\n }\r\n }\r\n }\r\n\r\n isAlteraImpostosManualmente() {\r\n return this.model.infnfe.alteraimpostosmanualmente === \"Sim\";\r\n }\r\n\r\n isDescontoItem() {\r\n return this.model.infnfe.descontoaplicato === \"NosItens\";\r\n }\r\n\r\n getColumnDescontoItem(atual, inc) {\r\n if (this.isDescontoItem()) inc = 0;\r\n return atual + inc;\r\n }\r\n\r\n onRemoveItem(item) {\r\n this.add_vTotal(this.valueToFloat(item.prod.vtotal, 0), 0);\r\n }\r\n\r\n calc_vDescItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = (vtotal * this.valueToFloat(item.pdesc, 0)) / 100;\r\n return this.floatToValue(vdesc);\r\n }\r\n\r\n calc_pDescItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n let vdesc = this.valueToFloat(item.vdesc, 0);\r\n let pdesc = (vdesc / vtotal) * 100;\r\n return this.floatToValue(pdesc);\r\n }\r\n\r\n calcTotalItem(tipo = undefined) {\r\n this.calcTotalItem2(this.modelConfig.infnfe.det.current.prod, tipo);\r\n }\r\n\r\n calcTotalItem2(item, tipo) {\r\n let vdesc = this.calc_vDescItem(item);\r\n if (item.vdesc !== vdesc) {\r\n if (tipo === \"v\") item.pdesc = this.calc_pDescItem(item);\r\n else item.vdesc = vdesc;\r\n }\r\n let vtotal =\r\n this.valueToFloat(item.qcom, 0) * this.valueToFloat(item.vuncom, 0);\r\n vtotal = vtotal - this.valueToFloat(item.vdesc, 0);\r\n this.add_vTotal(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.infnfe.det.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.qcom);\r\n });\r\n item.prod.qcom = this.floatToValue(qtotal);\r\n this.calcTotalItem2(item.prod, undefined);\r\n }\r\n\r\n add_vTotal(oldValue: number, newValue: number) {\r\n let vtotal = this.valueToFloat(this.model.infnfe.total.vtotal, 0);\r\n vtotal += newValue - oldValue;\r\n this.model.infnfe.total.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n console.log(item);\r\n if (this.valueToFloat(item.prod.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n if (this.impostosCalculados) {\r\n if (this.model.infnfe.tipopagamento === \"FormaPagamento\") {\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.infnfe.ide.dhemi);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de emissão\";\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n onExitCupomDesconto() {\r\n if (\r\n this.valueToInteger(\r\n this.getValueObject(this.model.infnfe, \"pag.cupomdesconto.id\"),\r\n 0\r\n ) <= 0\r\n ) {\r\n this.model.infnfe.cobr.vdesconto = 0;\r\n this.model.infnfe.pag.vutilizadocupom = 0;\r\n this.calcValorLiquidoDuplicatas();\r\n }\r\n }\r\n\r\n calcValorLiquidoDuplicatas() {\r\n let vliquido =\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0) -\r\n this.valueToFloat(this.model.infnfe.cobr.vdesconto, 0);\r\n this.model.infnfe.cobr.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n valid() {\r\n let r = true;\r\n if (this.impostosCalculados || this.calculandoImpostos) r = super.valid();\r\n return r;\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (!this.calculandoImpostos) {\r\n if (r === \"\") {\r\n if (\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vprod, 0) <=\r\n this.valueToFloat(this.model.infnfe.total.icmstot.vdesc, 0)\r\n )\r\n r = \"Valor de desconto deve ser menor que o valor dos produtos\";\r\n }\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.infnfe.total.icmstot.vnf, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.infnfe.cobr.vliquido, 0) < 0)\r\n r = \"Valor total Líquido deve ser maior ou igual a zero\";\r\n }\r\n if (r === \"\" && this.model.infnfe.tipopagamento === \"FormaPagamento\") {\r\n let duplicatas = this.model.infnfe.cobr.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.infnfe.cobr.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n afterSave() {\r\n super.afterSave();\r\n if (this.impostosCalculados && this.formBrowse) {\r\n let form: NFeBrowseComponent = this.formBrowse;\r\n form.openFormAcoesNFe(this.model.id);\r\n }\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas = this.valueToInteger(this.model.infnfe.qtdeparcelas, 0);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.infnfe.cobr.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.infnfe.ide.dhemi);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.infnfe.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.infnfe.cobr.duplicatas.unSelect();\r\n this.model.infnfe.cobr.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n\r\n recalcularValorParcelas() {\r\n let valorFixo = 0;\r\n let numeroParcelas = 0;\r\n let primeiraDuplicataAutomatica = undefined;\r\n this.model.infnfe.cobr.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente == \"Sim\")\r\n valorFixo += this.valueToFloat(duplicata.valor);\r\n else {\r\n if (primeiraDuplicataAutomatica == undefined)\r\n primeiraDuplicataAutomatica = duplicata;\r\n numeroParcelas += 1;\r\n }\r\n });\r\n if (numeroParcelas > 0) {\r\n let vliquido =\r\n this.valueToFloat(this.model.infnfe.cobr.vliquido, 0) - valorFixo;\r\n if (vliquido > 0) {\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n this.model.infnfe.cobr.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente !== \"Sim\")\r\n duplicata.valor = this.floatToValue(valorParcela);\r\n });\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(primeiraDuplicataAutomatica.valor);\r\n valor += dif;\r\n primeiraDuplicataAutomatica.valor = this.floatToValue(valor);\r\n }\r\n }\r\n }\r\n }\r\n\r\n isHomologacao() {\r\n let r: boolean = true;\r\n if (this.model && this.model.infnfe && this.model.infnfe.ide)\r\n r = this.model.infnfe.ide.tpamb === \"Homologacao\";\r\n return r;\r\n }\r\n\r\n get impostosCalculados() {\r\n return this.model.impostocalculado === \"Sim\";\r\n }\r\n\r\n set impostosCalculados(value: boolean) {\r\n if (value) this.model.impostocalculado = \"Sim\";\r\n else this.model.impostocalculado = \"Não\";\r\n }\r\n\r\n calculandoImpostos: boolean = false;\r\n calcularImpostos(nextPage: boolean, afterCalcula = undefined) {\r\n this.calculandoImpostos = true;\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/nfe/CalculaImposto\",\r\n JSON.stringify(this.model),\r\n (result) => {\r\n this.unSelectItens(this.modelConfig);\r\n this.model = result;\r\n this.impostosCalculados = true;\r\n if (afterCalcula) afterCalcula();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n this.calculandoImpostos = false;\r\n }\r\n\r\n liberarCalculoImposto() {\r\n this.impostosCalculados = false;\r\n let icmstot = this.model.infnfe.total.icmstot;\r\n icmstot.vdesc = \"0,00\";\r\n this.model.infnfe.alteraimpostosmanualmente = \"Não\";\r\n }\r\n\r\n zeraDesconto() {\r\n if (this.isDescontoItem()) {\r\n this.model.vdesc = \"0,00\";\r\n this.model.pdesc = \"0,00\";\r\n } else {\r\n this.model.infnfe.det.forEach((item) => {\r\n item.vdesc = \"0,00\";\r\n item.pdesc = \"0,00\";\r\n this.calcTotalItem2(item, undefined);\r\n });\r\n }\r\n }\r\n\r\n getCFOPPadrao() {\r\n return this.model.cfopnovositenscfop;\r\n }\r\n\r\n temPessoa() {\r\n return this.valueToInteger(this.fieldByName(\"infnfe.dest.pessoa.id\")) > 0;\r\n }\r\n\r\n getInfoFiscal(item) {\r\n if (item.prod.cfop && item.prod.produto) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Produto/GetInfoFiscal\",\r\n JSON.stringify({\r\n id: item.prod.produto.id,\r\n cfop: item.prod.cfop.codigo,\r\n idpessoa: this.fieldByName(\"infnfe.dest.pessoa.id\"),\r\n }),\r\n (result) => {\r\n item.imposto.icms.csosn = result[\"icms_csosn\"];\r\n item.imposto.pis.cst = result[\"pis_cst\"];\r\n item.imposto.cofins.cst = result[\"cofins_cst\"];\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n getCFOPPessoa(item) {\r\n if (item.prod.cfop && item.prod.produto) {\r\n item.prod.produto.fiscal.padraodeoperacao\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Cliente/GetInfoFiscal\",\r\n JSON.stringify({\r\n idproduto: item.prod.produto.id,\r\n cfop: item.prod.cfop.codigo,\r\n idpessoa: this.fieldByName(\"infnfe.dest.pessoa.id\"),\r\n }),\r\n (result) => {\r\n if (result[\"cfop\"]) item.prod.cfop = result[\"cfop\"];\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.getInfoFiscal(item);\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n setInfoFiscalProduto(item, campoOgirem) {\r\n if (campoOgirem !== \"cfop\") {\r\n this.getCFOPPessoa(item);\r\n } else {\r\n this.getInfoFiscal(item);\r\n }\r\n }\r\n\r\n \r\n recarregaInformacoesFiscaisProduto() {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"ATENÇÃO\",\r\n \"Este procedimento irá recarregar as informações de CFOP, CSOSN, \" +\r\n \"CST PIS e CST COFINS de acordo com o cadastro do produto e destinatário.\" +\r\n \"Deseja continuar?\",\r\n () => {\r\n this.model.infnfe.det.forEach((item) => {\r\n item.prod.cfop = this.getCFOPPadrao();\r\n this.setInfoFiscalProduto(item, \"\");\r\n });\r\n }\r\n );\r\n }\r\n\r\n getVisibleCobranca() {\r\n let r: boolean = this.impostosCalculados || this.disabledAll;\r\n if (r) r = this.model.infnfe.ide.tpnf === \"Saida\";\r\n if (r) r = this.model.infnfe.ide.finnfe === \"Normal\";\r\n return r;\r\n }\r\n\r\n getVisibleDocumentosFiscaisReferenciados() {\r\n let r: boolean = this.impostosCalculados || this.disabledAll;\r\n if (r) r = this.model.infnfe.ide.finnfe !== \"Normal\";\r\n return r;\r\n }\r\n\r\n getInfoDocumentosFiscaisReferenciados(row) {\r\n let r: string = \"\";\r\n if (row.tipo === \"CTe\") r = row.refcte;\r\n else if (row.tipo === \"NFP\")\r\n r = \"Série: \" + row.refnfp_serie + \" / Núm.: \" + row.refnfp_nnf;\r\n else if (row.tipo === \"NF\")\r\n r = \"Série: \" + row.refnf_serie + \" / Núm.: \" + row.refnf_nnf;\r\n else if (row.tipo === \"NFe\") r = row.refnfe;\r\n else if (row.tipo === \"ECF\")\r\n r = \"ECF: \" + row.refecf_necf + \" / CCO: \" + row.refecf_ncoo;\r\n return r;\r\n }\r\n\r\n onExitTipoPessoa() {\r\n if (\r\n this.model.infnfe.dest.tipopessoa !==\r\n this.model.infnfe.dest.old_tipopessoa\r\n )\r\n this.model.infnfe.dest.pessoa = {};\r\n if (this.model.infnfe.dest.tipopessoa === \"Empresa\") {\r\n this.model.infnfe.dest.pessoa = {\r\n id: this.currentUserStorage[\"Empresa.Id\"],\r\n codigo: this.currentUserStorage[\"Empresa.Codigo\"],\r\n nome: this.currentUserStorage[\"Empresa.Nome\"],\r\n };\r\n }\r\n }\r\n\r\n onEnterTipoPessoa() {\r\n this.model.infnfe.dest.old_tipopessoa = this.model.infnfe.dest.tipopessoa;\r\n }\r\n\r\n validCFOPAtivo() {\r\n let r: string = \"\";\r\n let item = this.modelConfig.infnfe.det.current;\r\n if (item && item.prod && item.prod.cfop && item.prod.cfop.ativo !== \"Sim\") {\r\n r = \"CFOP Inativo. Utilize a pesquisa para verificar os CFOPs ativos.\";\r\n }\r\n return r;\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.prod && row.prod.produto) {\r\n r =\r\n row.prod.produto.usagrade1 === \"Sim\" ||\r\n row.prod.produto.usagrade2 === \"Sim\" ||\r\n row.prod.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n dropdownValuesVUnCom(row) {\r\n let r = [];\r\n if (row && row.prod && row.prod.produto)\r\n r = ProdutoBrowseComponent.dropdownValuesVUnCom(row.produto);\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.infnfe.det.current,\r\n \"prod.produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n usaEnderecoEntrega() {\r\n return this.model.infnfe.dest.usaenderecoentrega == \"Sim\";\r\n }\r\n\r\n onActionpesqLocalEntrega() {\r\n const idPessoa = this.valueToInteger(\r\n this.fieldByName(\"infnfe.dest.pessoa.id\")\r\n );\r\n if (idPessoa > 0) {\r\n PessoaBrowseComponent.pesquisaEnderecoEntrega(idPessoa, (row) => {\r\n this.model.infnfe.dest.usaenderecoentrega = \"Sim\";\r\n this.model.infnfe.dest.enderecoentrega.logradouro = row.logradouro;\r\n this.model.infnfe.dest.enderecoentrega.numero = row.numero;\r\n this.model.infnfe.dest.enderecoentrega.bairro = row.bairro;\r\n this.model.infnfe.dest.enderecoentrega.complemento = row.complemento;\r\n this.model.infnfe.dest.enderecoentrega.estado = row.estado;\r\n if (this.valueToInteger(row.ibge_id) > 0) {\r\n this.model.infnfe.dest.enderecoentrega.ibge = {\r\n id: row.ibge_id,\r\n estado: row.ibge_estado,\r\n codigouf: row.ibge_codigouf,\r\n municipio: row.ibge_municipio,\r\n codigomunicipio: row.ibge_codigomunicipio,\r\n };\r\n } else this.model.infnfe.dest.enderecoentrega.ibge = {};\r\n this.model.infnfe.dest.enderecoentrega.cep = row.cep;\r\n this.model.infnfe.dest.identificacaoenderecoentrega = row.identificacao;\r\n this.model.infnfe.dest.armazenaenderecoentrega = \"Sim\";\r\n });\r\n }\r\n }\r\n\r\n cupomValido(cupom) {\r\n let r: string = \"\";\r\n if (cupom) {\r\n if (cupom.datavalidade > 0 && cupom.datavalidade <= this.date)\r\n r = \"Cupom de Desconto vencido\";\r\n if (r && cupom.valor === 0)\r\n r = \"Cupom de Desconto inválido ou já utilizado\";\r\n return r;\r\n }\r\n }\r\n}\r\n","export * from './nfeinutilizacao-acoes.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9uZmVpbnV0aWxpemFjYW8tYWNvZXMvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xcbmZlaW51dGlsaXphY2FvLWFjb2VzXFxuZmVpbnV0aWxpemFjYW8tYWNvZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvbmZlaW51dGlsaXphY2FvLWFjb2VzL25mZWludXRpbGl6YWNhby1hY29lcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvbmZlaW51dGlsaXphY2FvLWFjb2VzL25mZWludXRpbGl6YWNhby1hY29lcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbn0iLCIuY21mb3JtLWlubmVyIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormComponent } from './../../@cmcore/component/cmform/cmform.component';\r\n\r\nimport { CMInputConfig, CMValidatorEmail, CMFormGlobaisComponent,\r\n CMFormModalComponent\r\n } from './../../@cmcore/component';\r\nimport { NFeInutilizacaoBrowseComponent,\r\n } from './../index';\r\n@Component({\r\n selector: 'nfeinutilizacao-acoes',\r\n templateUrl: 'nfeinutilizacao-acoes.component.html',\r\n styleUrls: ['nfeinutilizacao-acoes.component.scss']\r\n})\r\nexport class NFeInutilizacaoAcoesComponent extends CMFormComponent {\r\n\r\n _owner: NFeInutilizacaoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n if (this.owner) {\r\n this.loadDadosNFeInutilizacao();\r\n }\r\n }\r\n\r\n configNFeInutilizacao: any = {\r\n email: {\r\n para: new CMInputConfig({form: this,\r\n caption: 'Para',\r\n required: true,\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n cc: new CMInputConfig({form: this,\r\n caption: 'CC',\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n assunto: new CMInputConfig({form: this,\r\n caption: 'Assunto',\r\n required: true,\r\n }),\r\n mensagem: new CMInputConfig({form: this,\r\n caption: 'Mensagem',\r\n required: true,\r\n }),\r\n }\r\n };\r\n\r\n modelNFeInutilizacao: any = {\r\n\t\temail: {\r\n\t\t\tpara: '',\r\n\t\t\tcc: '',\r\n\t\t\tassunto: '',\r\n\t\t\tmensagem: '',\r\n\t\t}\r\n\t};\r\n loadDadosNFeInutilizacao() {\r\n this.getObjectData('nfeinutilizacao',\r\n [{'field': 'id', 'value': this.owner.idFormAcoesNFeInutilizacao}],\r\n object => {\r\n\t\t\t\tthis.modelNFeInutilizacao = object;\r\n });\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n\t}\r\n\r\n\ttransmitir() {\r\n let ok: boolean = true;\r\n if (this.trimValue(this.modelNFeInutilizacao.xjust).length < 15) {\r\n ok = false;\r\n CMFormGlobaisComponent.toastErro('Justificativa deve ter pelo menos 15 caracteres');\r\n }\r\n if (ok) {\r\n if (this.modelNFeInutilizacao.cstat !== '102') {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe('/api/NFeInutilizacao/Transmitir',\r\n JSON.stringify({id: this.modelNFeInutilizacao.id}),\r\n (result) => {\r\n this.processaRetorno('Retorno da Inutilização', result);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n });\r\n }\r\n }\r\n\t}\r\n\r\n titleEmail: string = '';\r\n openEmail() {\r\n this.titleEmail = '';\r\n\t\tthis.titleEmail = 'e-Mail do XML da inutilização';\r\n CMFormModalComponent.open('formAcoesNFeInutilizacaoEmail');\r\n }\r\n\r\n enviarEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe('/api/NFeInutilizacao/EnviarEmail',\r\n JSON.stringify({\r\n id: this.modelNFeInutilizacao.id,\r\n para: this.modelNFeInutilizacao.email.para,\r\n cc: this.modelNFeInutilizacao.email.cc,\r\n assunto: this.modelNFeInutilizacao.email.assunto,\r\n mensagem: this.modelNFeInutilizacao.email.mensagem,\r\n }),\r\n (result) => {\r\n this.processaRetorno(this.titleEmail, result, 'formAcoesNFeInutilizacaoEmail');\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n });\r\n }\r\n\r\n close(formName) {\r\n if (this.owner)\r\n this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n retorno: any = {\r\n title: '',\r\n result: '',\r\n tipo: '',\r\n msg: '',\r\n cstat: '',\r\n xml: '',\r\n xml_conferencia: '',\r\n result_str: '',\r\n json: '',\r\n }\r\n\r\n setRetorno(title, retorno) {\r\n this.retorno.title = title;\r\n this.retorno.result = this.trimValue(retorno.result);\r\n this.retorno.tipo = this.trimValue(retorno.tipo);\r\n this.retorno.msg = this.trimValue(retorno.msg);\r\n this.retorno.cstat = this.trimValue(retorno.cstat);\r\n this.retorno.xml = this.trimValue(retorno.xml);\r\n this.retorno.xml_conferencia = this.trimValue(retorno.xml_conferencia);\r\n this.retorno.result_str = this.trimValue(retorno.result_str);\r\n\r\n delete retorno.result;\r\n delete retorno.tipo;\r\n delete retorno.msg;\r\n delete retorno.cstat;\r\n delete retorno.xml;\r\n delete retorno.xml_conferencia;\r\n delete retorno.result_str;\r\n\r\n this.retorno.json = retorno;\r\n }\r\n\r\n processaRetorno(title, retorno, closeFormOK = undefined) {\r\n this.setRetorno(title, retorno);\r\n if (this.retorno.result === 'True') {\r\n this.loadDadosNFeInutilizacao();\r\n CMFormGlobaisComponent.toastSucesso(this.retorno.result_str);\r\n if (closeFormOK)\r\n this.close(closeFormOK);\r\n }\r\n else {\r\n if (this.retorno.tipo !== 'str') {\r\n let myNode = document.getElementById(\"div_json\");\r\n while (myNode.firstChild)\r\n myNode.removeChild(myNode.firstChild);\r\n let ui = this.tree(this.retorno.json);\r\n ui.className = 'tree';\r\n myNode.appendChild(ui);\r\n }\r\n CMFormModalComponent.open('formAcoesNFeInutilizacaoRetorno');\r\n }\r\n }\r\n\r\n tree(data) {\r\n let r: HTMLElement = undefined;\r\n let ul = document.createElement('ul');\r\n for (var i in data) {\r\n let li = document.createElement('li');\r\n ul.appendChild(li);\r\n var t = document.createTextNode(i);\r\n li.appendChild(t);\r\n if (data[i] instanceof Object)\r\n li.appendChild(this.tree(data[i]));\r\n else {\r\n let textNode = document.createTextNode(' - '+data[i]);\r\n li.appendChild(textNode);\r\n }\r\n }\r\n r = ul;\r\n return r;\r\n\t}\r\n\r\n\tclickEmail() {\r\n\t\tthis.openEmail();\r\n\t}\r\n\r\n}","export * from './nfeinutilizacao-edit.component';\r\nexport * from './nfeinutilizacao-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMInputConfig,\r\n CMFormModalComponent } from './../../@cmcore/component';\r\nimport { NFeInutilizacaoEditComponent,\r\n NFeInutilizacaoAcoesComponent\r\n } from './../index';\r\n\r\n@Component({\r\n selector: 'nfeinutilizacao-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class NFeInutilizacaoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'NFeInutilizacao';\r\n this.buttonsExtra = 1;\r\n this.fixedFooterFormEdit = false;\r\n this.showPrintButton = true;\r\n this.formEditComponent = NFeInutilizacaoEditComponent;\r\n this.columns = [{field: 'ano', caption: 'Ano',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n maxlength: 4,\r\n })\r\n },\r\n {field: 'serie', caption: 'Série',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n })\r\n },\r\n {field: 'nnfini', caption: 'Nota Inicial',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n })\r\n },\r\n {field: 'nnffin', caption: 'Nota Final',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n })\r\n }\r\n ];\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n this.openFormAcoesNFeInutilizacao(this.grid.fieldByName('id'));\r\n }\r\n }\r\n\r\n idFormAcoesNFeInutilizacao: number = 0;\r\n openFormAcoesNFeInutilizacao(id) {\r\n this.idFormAcoesNFeInutilizacao = id;\r\n this.beforeComponent = NFeInutilizacaoAcoesComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open('formAcoesNFeInutilizacao');\r\n }, 100);\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = false;\r\n if (index === 0)\r\n r = this.selectedItem();\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'build';\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = '';\r\n if (index === 0)\r\n r = 'Gerenciamento';\r\n return r;\r\n }\r\n\r\n getTitle() {\r\n return 'NF-e Inutilização';\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'nfeinutilizacao-edit',\r\n templateUrl: 'nfeinutilizacao-edit.component.html',\r\n})\r\nexport class NFeInutilizacaoEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_ano';\r\n }\r\n\r\n getTitle() {\r\n return 'NF-e Inutilização';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'NFeInutilizacao';\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n ano: new CMInputConfig({form: this,\r\n caption: 'Ano',\r\n dataType: 'integer',\r\n maxlength: 4,\r\n required: true}),\r\n serie: new CMInputConfig({form: this,\r\n caption: 'Série',\r\n dataType: 'integer',\r\n required: true}),\r\n nnfini: new CMInputConfig({form: this,\r\n caption: 'Nota Inicial',\r\n dataType: 'integer',\r\n maxlength: 4,\r\n required: true}),\r\n nnffin: new CMInputConfig({form: this,\r\n caption: 'Nota Final',\r\n dataType: 'integer',\r\n maxlength: 4,\r\n required: true}),\r\n xjust: new CMInputConfig({form: this,\r\n caption: 'Justificativa',\r\n required: true}),\r\n };\r\n\t}\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll)\r\n this.disabledAll = (this.model.podeeditar !== 'Sim');\r\n }\r\n\r\n isHomologacao() {\r\n let r: boolean = true;\r\n if (this.model)\r\n r = (this.model.tpamb === 'Homologacao');\r\n return r;\r\n }\r\n\r\n}","export * from './orcamento-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9vcmNhbWVudG8tcmVsYXRvcmlvcy9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxvcmNhbWVudG8tcmVsYXRvcmlvc1xcb3JjYW1lbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3Mvb3JjYW1lbnRvLXJlbGF0b3Jpb3Mvb3JjYW1lbnRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL29yY2FtZW50by1yZWxhdG9yaW9zL29yY2FtZW50by1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n OrcamentoBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"orcamento-relatorios\",\r\n templateUrl: \"orcamento-relatorios.component.html\",\r\n styleUrls: [\"orcamento-relatorios.component.scss\"],\r\n})\r\nexport class OrcamentoRelatoriosComponent extends CMFormComponent {\r\n _owner: OrcamentoBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n OrcamentoRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return OrcamentoRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"OrcamentoPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"OrcamentoPadrao\", text: \"Orçamento Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"OrcamentoPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"orcamento\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoOrcamentoCustomizado\",\r\n data,\r\n \"orcamento\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, OrcamentoRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './orcamento-browse.component';\r\nexport * from './orcamento-edit.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { OrcamentoEditComponent } from \"./orcamento-edit.component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { VendedorBrowseComponent } from \"./../vendedor/vendedor-browse.component\";\r\nimport { OrcamentoRelatoriosComponent } from \"../orcamento-relatorios/orcamento-relatorios.component\";\r\nimport { FormaPagamentoBrowseComponent } from \"./../formapagamento/formapagamento-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"orcamento-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class OrcamentoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"orcamento\";\r\n this.formEditComponent = OrcamentoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.buttonsExtra = 2;\r\n this.showPrintButton = true;\r\n this.showEmailButton = true;\r\n this.columns = [\r\n {\r\n field: \"numero\",\r\n caption: \"#\",\r\n width: 100,\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"data\",\r\n caption: \"Data\",\r\n width: 130,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"vendedor_nome\",\r\n caption: \"Vendedor\",\r\n width: 250,\r\n filterField: \"vendedor.id\",\r\n filterValue: \"vendedor.codigo\",\r\n fieldBottom: \"vendedor.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"formapag_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n ];\r\n if (OrcamentoRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(OrcamentoRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (OrcamentoRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosOrcamento();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/orcamento/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'Orcamento'){\r\n OrcamentoRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosOrcamento() {\r\n this.beforeComponent = OrcamentoRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosOrcamento\");\r\n }, 100);\r\n }\r\n getTitle() {\r\n return \"Orçamento\";\r\n }\r\n\r\n getDataPrint(data) {\r\n data.numero = this.grid.fieldByName(\"numero\");\r\n return data;\r\n }\r\n \r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarPreVenda\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(\r\n index,\r\n \"ImpressaoOrcamentoReduzida\"\r\n );\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0 || index === 1) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"shopping_cart\";\r\n else if (index === 1) r = \"receipt\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Gerar Pré-Venda\";\r\n else if (index === 1) r = \"Imprimir Reduzido\";\r\n \r\n return r;\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n let msg: string = \"

    Confirma geração de Pré-Venda?

    \";\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Pré-Venda\",\r\n msg,\r\n () => {\r\n this.gerarPreVenda();\r\n }\r\n );\r\n } else if (index === 1) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoOrcamentoReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n }\r\n\r\n gerarPreVenda() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/orcamento/GerarPreVenda/FuncaoExtra\",\r\n JSON.stringify({\r\n id: this.grid.fieldByName(\"id\"),\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n let prevenda = result[\"prevenda\"];\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Gerado Pré-Venda \" + prevenda\r\n );\r\n this.refresh();\r\n } else CMFormGlobaisComponent.showMessageAviso(result[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMPanelConfigMore,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { VendedorBrowseComponent } from \"./../vendedor/vendedor-browse.component\";\r\nimport { ProdutoBrowseComponent } from \"./../produto/produto-browse.component\";\r\nimport { FormaPagamentoBrowseComponent } from \"./../formapagamento/formapagamento-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { MunicipioBrowseComponent } from \"../municipio\";\r\nimport { PessoaBrowseComponent } from \"../pessoa\";\r\n\r\n@Component({\r\n selector: \"orcamento-edit\",\r\n templateUrl: \"orcamento-edit.component.html\",\r\n})\r\nexport class OrcamentoEditComponent extends CMFormEditComponent {\r\n valuesTipoPagamento = [];\r\n\r\n configPesqLocalEntrega: CMPanelConfigMore;\r\n\r\n setValuesTipoPagamento() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ];\r\n } else {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n { value: \"RecebimentoFuturo\", text: \"Recebimento Futuro\" },\r\n ];\r\n }\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_cliente\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Orçamento\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"cliente.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"orcamento\";\r\n this.setValuesTipoPagamento();\r\n this.setModelConfig();\r\n PessoaBrowseComponent.setValidProcSolicitaPermissaoVendaContaVencida(\r\n this,\r\n () => {\r\n return this.model.tipopagamento === \"AVista\";\r\n }\r\n );\r\n\r\n this.configPesqLocalEntrega = new CMPanelConfigMore({\r\n onClick: () => this.onActionpesqLocalEntrega(),\r\n });\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n datavalidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Validade (dias)\",\r\n required: true,\r\n }),\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.model);\r\n },\r\n }),\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model);\r\n },\r\n }),\r\n observacao: new CMInputConfig({ form: this, caption: \"Observação\" }),\r\n vdespesasadicionais: new CMInputConfig({\r\n form: this,\r\n caption: \"Despesas Adicionais\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n console.log(this.model);\r\n let tipodesconto = \"v\";\r\n if (this.model.tipodesconto == \"Percentual\") {\r\n tipodesconto = \"p\";\r\n }\r\n this.calcTotalVenda(tipodesconto);\r\n },\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n vtotalprodutos: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.isDescontoPercentual(this.model),\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalVenda(\"v\");\r\n },\r\n }),\r\n pdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => !this.isDescontoPercentual(this.model),\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalVenda(\"p\");\r\n },\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: this.valuesTipoPagamento,\r\n }),\r\n descontoaplicato: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto será aplicado\",\r\n onExit: () => {\r\n this.zeraDesconto();\r\n },\r\n values: [\r\n { value: \"NosItens\", text: \"Nos itens\" },\r\n { value: \"NoTotal\", text: \"No total\" },\r\n ],\r\n }),\r\n itens: new CMGridEditConfig({\r\n form: this,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n quantidade: \"1,00\",\r\n vunitario: \"0,00\",\r\n vtotal: \"0,00\",\r\n pdesconto: \"0,00\",\r\n vdesconto: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n estoque: [],\r\n });\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.itens.current,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.modelConfig.itens.current.vunitario =\r\n ProdutoBrowseComponent.get_vUniCon(produto);\r\n if(this.currentProdutoUsaGrade()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n\r\n let grades = this.modelConfig.itens.current.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.itens.current.quantidade = \"1,00\";\r\n };\r\n this.calcTotalItem();\r\n }\r\n );\r\n },\r\n }),\r\n especificacoes: new CMInputConfig({\r\n form: this,\r\n caption: \"Especificações\",\r\n gridConfig: new CMGridEditConfigColumn()\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.modelConfig.itens.current))\r\n this.modelConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n }),\r\n vunitario: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n hintButton: \"Preço\",\r\n iconButton: \"attach_money\",\r\n //dropdownValues: (row) => this.dropdownValuesVUnCom(row),\r\n required: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.isDescontoPercentual(row),\r\n }),\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalItem(\"v\");\r\n },\r\n }),\r\n pdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => !this.isDescontoPercentual(row),\r\n }),\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalItem(\"p\");\r\n },\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id,\r\n this.modelConfig.itens.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.itens.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.itens.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"datavalidadelote\");\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n usaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n }),\r\n armazenaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n caption: \"Salva endereço de entrega como:\",\r\n }),\r\n identificacaoenderecoentrega: new CMInputConfig({\r\n form: this,\r\n maxlength: 30,\r\n requiredFunc: () => this.model.armazenaenderecoentrega == \"Sim\",\r\n }),\r\n enderecoentrega: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.enderecoentrega.estado,\r\n sender,\r\n this.model.enderecoentrega,\r\n \"ibge\"\r\n );\r\n },\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n },\r\n };\r\n }\r\n\r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usavalidadelote\"\r\n ) === \"Sim\")\r\n }\r\n\r\n onRemoveItemEstoque(item: any) {\r\n let itemsEstoque = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.quantidade);\r\n }\r\n });\r\n itemsEstoque.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.itens.current);\r\n }\r\n\r\n isDescontoItem() {\r\n return this.model.descontoaplicato === \"NosItens\";\r\n }\r\n\r\n isDescontoPercentual(row) {\r\n let r = false;\r\n if (row) r = row.tipodesconto === \"Percentual\";\r\n return r;\r\n }\r\n\r\n getColumnDescontoTotal(atual, inc) {\r\n if (!this.isDescontoItem()) inc = 0;\r\n return atual + inc;\r\n }\r\n\r\n onRemoveItem(item) {\r\n this.add_vTotalProdutos(this.valueToFloat(item.vtotal, 0), 0);\r\n }\r\n\r\n calcTotalItem(tipo = undefined) {\r\n this.calcTotalItem2(this.modelConfig.itens.current, tipo);\r\n }\r\n\r\n calc_vDescontoItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n let vdesconto = (vtotal * this.valueToFloat(item.pdesconto, 0)) / 100;\r\n return this.floatToValue(vdesconto);\r\n }\r\n\r\n calc_pDescontoItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n let vdesconto = this.valueToFloat(item.vdesconto, 0);\r\n let pdesconto = (vdesconto / vtotal) * 100;\r\n return this.floatToValue(pdesconto);\r\n }\r\n\r\n calcTotalItem2(item, tipo) {\r\n let vdesconto = this.calc_vDescontoItem(item);\r\n if (item.vdesconto !== vdesconto) {\r\n if (tipo === \"v\") item.pdesconto = this.calc_pDescontoItem(item);\r\n else item.vdesconto = vdesconto;\r\n }\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n vtotal = vtotal - this.valueToFloat(item.vdesconto, 0);\r\n this.add_vTotalProdutos(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vTotalProdutos(oldValue: number, newValue: number) {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n vtotalprodutos += newValue - oldValue;\r\n this.model.vtotalprodutos = this.floatToValue(vtotalprodutos);\r\n this.calcTotalVenda();\r\n }\r\n\r\n calc_vDescontoTotal() {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n let vdesconto =\r\n (vtotalprodutos * this.valueToFloat(this.model.pdesconto, 0)) / 100;\r\n return this.floatToValue(vdesconto);\r\n }\r\n\r\n calc_pDescontoTotal() {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n let vdesconto = this.valueToFloat(this.model.vdesconto, 0);\r\n let pdesconto = (vdesconto / vtotalprodutos) * 100;\r\n return this.floatToValue(pdesconto);\r\n }\r\n\r\n calcTotalVenda(tipo = undefined) {\r\n let vdesconto = this.calc_vDescontoTotal();\r\n if (this.model.vdesconto !== vdesconto) {\r\n if (tipo === \"v\") this.model.pdesconto = this.calc_pDescontoTotal();\r\n else this.model.vdesconto = vdesconto;\r\n }\r\n let vtotal =\r\n this.valueToFloat(this.model.vtotalprodutos, 0) -\r\n this.valueToFloat(this.model.vdesconto, 0) +\r\n this.valueToFloat(this.model.vdespesasadicionais, 0);\r\n this.model.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.valueToFloat(item.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n if (this.valueToFloat(item.quantidade, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n console.log('here');\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n }\r\n return r;\r\n }\r\n\r\n zeraDesconto() {\r\n if (this.isDescontoItem()) {\r\n this.model.vdesconto = \"0,00\";\r\n this.model.pdesconto = \"0,00\";\r\n this.calcTotalVenda();\r\n } else {\r\n this.model.itens.forEach((item) => {\r\n item.vdesconto = \"0,00\";\r\n item.pdesconto = \"0,00\";\r\n this.calcTotalItem2(item, undefined);\r\n });\r\n }\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r =\r\n row.produto.usagrade1 === \"Sim\" ||\r\n row.produto.usagrade2 === \"Sim\" ||\r\n row.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(this.modelConfig.itens.current, \"produto.usalote\") ===\r\n \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n usaEnderecoEntrega() {\r\n return this.model.usaenderecoentrega == \"Sim\";\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem2(item, undefined);\r\n }\r\n\r\n /*\r\n dropdownValuesVUnCom(row) {\r\n let r = [];\r\n if (row && row.produto)\r\n r = ProdutoBrowseComponent.dropdownValuesVUnCom(row.produto);\r\n return r;\r\n }*/\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n onActionpesqLocalEntrega() {\r\n const idCliente = this.valueToInteger(this.fieldByName(\"cliente.id\"));\r\n if (idCliente > 0) {\r\n PessoaBrowseComponent.pesquisaEnderecoEntrega(idCliente, (row) => {\r\n this.model.usaenderecoentrega = \"Sim\";\r\n this.model.enderecoentrega.logradouro = row.logradouro;\r\n this.model.enderecoentrega.numero = row.numero;\r\n this.model.enderecoentrega.bairro = row.bairro;\r\n this.model.enderecoentrega.complemento = row.complemento;\r\n this.model.enderecoentrega.estado = row.estado;\r\n if (this.valueToInteger(row.ibge_id) > 0) {\r\n this.model.enderecoentrega.ibge = {\r\n id: row.ibge_id,\r\n estado: row.ibge_estado,\r\n codigouf: row.ibge_codigouf,\r\n municipio: row.ibge_municipio,\r\n codigomunicipio: row.ibge_codigomunicipio,\r\n };\r\n } else this.model.enderecoentrega.ibge = {};\r\n this.model.enderecoentrega.cep = row.cep;\r\n this.model.identificacaoenderecoentrega = row.identificacao;\r\n this.model.armazenaenderecoentrega = \"Sim\";\r\n });\r\n }\r\n }\r\n\r\n formAddProd = {\r\n opened: false,\r\n modelConfig: {\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.formAddProd.model,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.formAddProd.model.grade = { id: \"0\", descricao: \"\" };\r\n this.formAddProd.model.numerolote = \"\";\r\n }\r\n );\r\n },\r\n }),\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.formAddProd.model,\r\n this.formAddProd.model.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.formAddProd.usaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n disabledFunc: (row) => {\r\n if (this.formAddProd.usaGrade()) {\r\n return this.formAddProd.model.grade.id === \"\";\r\n } else {\r\n return false;\r\n }\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.formAddProd.model,\r\n this.formAddProd.model.produto.id,\r\n this.formAddProd.model.grade.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.formAddProd.usaLote();\r\n },\r\n }),\r\n },\r\n model: {\r\n quantidade: \"1,00\",\r\n produto: {\r\n id: \"0\",\r\n codigo: \"\",\r\n descr: \"\"\r\n },\r\n grade: {\r\n id: \"0\",\r\n descricao: \"\"\r\n },\r\n numerolote: \"\",\r\n },\r\n\r\n show: () => {\r\n CMFormModalComponent.open(\"formAddProduto\", () => {\r\n this.formAddProd.modelConfig.produto.focus();\r\n });\r\n this.formAddProd.opened = true;\r\n },\r\n\r\n close: () => {\r\n CMFormModalComponent.close(\"formAddProduto\");\r\n this.formAddProd.opened = false;\r\n },\r\n\r\n valid: () => {\r\n if (this.valueToFloat(this.formAddProd.model.quantidade) <= 0) {\r\n this.formAddProd.modelConfig.quantidade.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informada\", \"Quantidade\");\r\n return false;\r\n }\r\n if (this.valueToFloat(this.getValueObject(this.formAddProd.model, 'produto.id'), 0) <= 0) {\r\n this.formAddProd.modelConfig.produto.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informado\", \"Produto\");\r\n return false;\r\n }\r\n if (this.formAddProd.usaGrade()) {\r\n if (this.valueToFloat(this.getValueObject(this.formAddProd.model, 'grade.id'), 0) <= 0) {\r\n this.formAddProd.modelConfig.grade.onClick();\r\n return false;\r\n }\r\n }\r\n if (this.formAddProd.usaLote()) {\r\n if (this.trimValue(this.formAddProd.model.numerolote) == \"\") {\r\n this.formAddProd.modelConfig.numerolote.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informada\", \"Lote\");\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n\r\n add: () => {\r\n if (this.formAddProd.valid() == true) {\r\n let estoque = [];\r\n if (this.formAddProd.usaGrade() || this.formAddProd.usaLote()) {\r\n estoque = [\r\n {\r\n id: CMGridEditConfig.newId(),\r\n grade: this.formAddProd.model.grade,\r\n numerolote: this.formAddProd.model.numerolote,\r\n quantidade: this.formAddProd.model.quantidade,\r\n },\r\n ];\r\n }\r\n let item: any = {\r\n id: CMGridEditConfig.newId(),\r\n produto: this.formAddProd.model.produto,\r\n quantidade: this.formAddProd.model.quantidade,\r\n vunitario: ProdutoBrowseComponent.get_vUniCon(\r\n this.formAddProd.model.produto\r\n ),\r\n vtotal: \"0,00\",\r\n pdesconto: \"0,00\",\r\n vdesconto: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n estoque: estoque,\r\n };\r\n this.model.itens.unshift(item);\r\n this.modelConfig.itens.selectFirst(false);\r\n this.calcTotalItem();\r\n this.formAddProd.model.quantidade = \"1,00\";\r\n this.formAddProd.model.produto = { id: \"0\", codigo: \"\", descr: \"\"};\r\n this.formAddProd.model.grade = { id: \"0\", descricao: \"\" };\r\n this.formAddProd.model.numerolote = \"1,00\";\r\n this.formAddProd.modelConfig.produto.focus();\r\n }\r\n },\r\n\r\n usaGrade: () => {\r\n let b = false;\r\n if (\r\n this.formAddProd &&\r\n this.formAddProd.model &&\r\n this.formAddProd.model.produto\r\n ) {\r\n let produto: any = this.formAddProd.model.produto;\r\n b = produto.usagrade1 === \"Sim\" || produto.usagrade2 === \"Sim\";\r\n }\r\n return b;\r\n },\r\n\r\n usaLote: () => {\r\n let b = false;\r\n if (\r\n this.formAddProd &&\r\n this.formAddProd.model &&\r\n this.formAddProd.model.produto\r\n ) {\r\n let produto: any = this.formAddProd.model.produto;\r\n b = produto.usalote === \"Sim\";\r\n }\r\n return b;\r\n },\r\n };\r\n\r\n protected getKeyDownCodes() {\r\n let r = super.getKeyDownCodes();\r\n r.push(13);\r\n return r;\r\n }\r\n\r\n waitCloseGlobalSpinner() {\r\n if ($(\"#globalSpinner\").css(\"display\") !== \"none\") {\r\n setTimeout(() => {\r\n this.waitCloseGlobalSpinner();\r\n }, 200);\r\n } else {\r\n this.formAddProd.add();\r\n }\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {\r\n super.onKeydown(keyCode, event);\r\n switch (keyCode) {\r\n case 13: // enter\r\n if (this.formAddProd.opened) {\r\n $(\":text\").blur();\r\n setTimeout(() => {\r\n this.waitCloseGlobalSpinner();\r\n }, 200);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","export * from './ordem-compra-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9vcmRlbS1jb21wcmEtcmVsYXRvcmlvcy9DOlxcU291cmNlQ29kZVxcQmVzc2FuaUNSVFxcYmVzc2FuaVxcQWNpcmNuZXRcXEFuZ3VsYXI4L3NyY1xcYXBwXFxfX3JlY3Vyc29zXFxvcmRlbS1jb21wcmEtcmVsYXRvcmlvc1xcb3JkZW0tY29tcHJhLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3Mvb3JkZW0tY29tcHJhLXJlbGF0b3Jpb3Mvb3JkZW0tY29tcHJhLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9fX3JlY3Vyc29zL29yZGVtLWNvbXByYS1yZWxhdG9yaW9zL29yZGVtLWNvbXByYS1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn0iXX0= */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n OrdemCompraBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"ordem-compra-relatorios\",\r\n templateUrl: \"ordem-compra-relatorios.component.html\",\r\n styleUrls: [\"ordem-compra-relatorios.component.scss\"],\r\n})\r\nexport class OrdemCompraRelatoriosComponent extends CMFormComponent {\r\n _owner: OrdemCompraBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n OrdemCompraRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return OrdemCompraRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"OrdemCompraPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"OrdemCompraPadrao\", text: \"Ordem de Compra Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"OrdemCompraPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"ordemcompra\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoOrdemCompraCustomizado\",\r\n data,\r\n \"ordemcompra\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, OrdemCompraRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './ordem-compra-edit.component';\r\nexport * from './ordem-compra-browse.component';","// tslint:disable\r\nimport {Injector, Component} from '@angular/core';\r\n\r\nimport {CMFormBrowse2Component, CMFormModalComponent, CMFormPesquisaComponent, CMInputConfig} from './../../@cmcore/component';\r\nimport {OrdemCompraEditComponent} from './ordem-compra-edit.component';\r\nimport {PessoaBrowseComponent} from './../pessoa/pessoa-browse.component';\r\nimport { OrdemCompraRelatoriosComponent } from \"../ordem-compra-relatorios/ordem-compra-relatorios.component\";\r\n\r\n@Component({\r\n selector: 'ordem-compra-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class OrdemCompraBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'OrdemCompra';\r\n this.formEditComponent = OrdemCompraEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.showPrintButton = true;\r\n this.showEmailButton = true;\r\n this.columns = [\r\n {\r\n field: 'numero',\r\n caption: '#',\r\n width: 100,\r\n filter: new CMInputConfig({\r\n dataType: 'integer'\r\n })\r\n },\r\n {\r\n field: 'data',\r\n caption: 'Data',\r\n width: 130,\r\n filter: new CMInputConfig({\r\n mask: '99/99/9999'\r\n })\r\n },\r\n {\r\n field: 'fornecedor_nome',\r\n caption: 'Fornecedor',\r\n filterField: 'fornecedor.id',\r\n filterValue: 'fornecedor.codigo',\r\n fieldBottom: 'fornecedor.nome',\r\n filter: new CMInputConfig({\r\n dataType: 'integer',\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(sender, this.valuesFilters, 'Fornecedor');\r\n }\r\n })\r\n },\r\n {\r\n field: 'status',\r\n caption: 'Status',\r\n filter: new CMInputConfig({\r\n values: [{value: ''}, {value: 'Aberta'}, {value: 'Recebida'}, {value: 'Cancelada'}]\r\n })\r\n }\r\n ];\r\n if (OrdemCompraRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(OrdemCompraRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (OrdemCompraRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosOrdemCompra();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n \r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/ordemcompra/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'OrdemCompra'){\r\n OrdemCompraRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n \r\n openFormRelatoriosOrdemCompra() {\r\n this.beforeComponent = OrdemCompraRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosOrdemCompra\");\r\n }, 100);\r\n }\r\n\r\n getTitle() {\r\n return 'Ordem de Compra';\r\n }\r\n\r\n getDataPrint(data) {\r\n data.numero = this.grid.fieldByName('numero');\r\n return data;\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp?: string, onAfterSelect?: Function) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'OrdemCompra',\r\n 'Pesquisa de Ordem de Compra',\r\n [\r\n {field: 'numero', caption: '#'},\r\n {field: 'fornecedor_nome', caption: 'Fornecedor', filter: true},\r\n {field: 'data', caption: 'Data', filter: true, mask: '99/99/9999'}\r\n ],\r\n target,\r\n targetProp,\r\n 'numero',\r\n onAfterSelect\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport { PessoaBrowseComponent } from \"./../pessoa/pessoa-browse.component\";\r\nimport { ProdutoBrowseComponent } from \"./../produto/produto-browse.component\";\r\n\r\n@Component({\r\n selector: \"ordem-compra-edit\",\r\n templateUrl: \"ordem-compra-edit.component.html\",\r\n})\r\nexport class OrdemCompraEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_fornecedor\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Ordem de Compra\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"fornecedor.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"OrdemCompra\";\r\n this.setModelConfig();\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"Fornecedor\",\r\n \"fornecedor\"\r\n );\r\n },\r\n }),\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n values: [\r\n { value: \"Aberta\" },\r\n { value: \"Recebida\" },\r\n { value: \"Cancelada\" },\r\n ],\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n valortotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n itens: new CMGridEditConfig({\r\n form: this,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n quantidade: \"1,00\",\r\n valorunitario: \"0,00\",\r\n valortotal: \"0,00\",\r\n estoque: [],\r\n });\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.itens.current,\r\n \"Ativos\",\r\n undefined,\r\n () => {\r\n if(this.currentProdutoUsaGrade()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n\r\n let grades = this.modelConfig.itens.current.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n }\r\n else{\r\n this.modelConfig.itens.current.quantidade = \"1,00\";\r\n };\r\n }\r\n );\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.modelConfig.itens.current))\r\n this.modelConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n }),\r\n valorunitario: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n required: true,\r\n }),\r\n valortotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n onRemoveItemEstoque(item: any) {\r\n let itemsEstoque = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.quantidade);\r\n }\r\n });\r\n itemsEstoque.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem();\r\n }\r\n\r\n onRemoveItem(item) {\r\n this.add_ValorTotal(this.valueToFloat(item.valortotal, 0), 0);\r\n }\r\n\r\n calcTotalItem() {\r\n this.calcTotalItem2(this.modelConfig.itens.current);\r\n }\r\n\r\n calcTotalItem2(item) {\r\n let valortotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.valorunitario, 0);\r\n this.add_ValorTotal(this.valueToFloat(item.valortotal, 0), valortotal);\r\n item.valortotal = this.floatToValue(valortotal);\r\n }\r\n\r\n add_ValorTotal(oldValue: number, newValue: number) {\r\n let valortotal = this.valueToFloat(this.model.valortotal, 0);\r\n valortotal += newValue - oldValue;\r\n this.model.valortotal = this.floatToValue(valortotal);\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.valueToFloat(item.valortotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n if (this.valueToFloat(item.quantidade, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.valortotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n }\r\n return r;\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r = row.produto.usagrade1 === \"Sim\" || row.produto.usagrade2 === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n let item = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem2(item);\r\n }\r\n}\r\n","export * from './padraodeoperacao-edit.component';\r\nexport * from './padraodeoperacao-browse.component';","// tslint:disable\r\n\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { PadraoDeOperacaoEditComponent } from \"./padraodeoperacao-edit.component\";\r\n\r\n@Component({\r\n selector: \"padraodeoperacao-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class PadraoDeOperacaoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"padraodeoperacao\";\r\n this.formEditComponent = PadraoDeOperacaoEditComponent;\r\n this.columns = [\r\n { field: \"codigo\", caption: \"#\", width: \"100\" },\r\n { field: \"nome\", caption: \"Nome\", filter: true },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Padrão de Operação\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"padraodeoperacao\",\r\n \"Pesquisa de Padrão de Operação\",\r\n [\r\n { field: \"codigo\", caption: \"#\", width: \"100\" },\r\n { field: \"nome\", caption: \"Nome\", filter: true },\r\n ],\r\n target,\r\n undefined,\r\n \"codigo\"\r\n );\r\n }\r\n }\r\n \r\n static pesquisa2(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"padraodeoperacao\",\r\n \"Pesquisa de Padrão de Operação\",\r\n [\r\n { field: \"codigo\", caption: \"#\", width: \"100\" },\r\n { field: \"nome\", caption: \"Nome\", filter: true },\r\n ],\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport {\r\n CFOPBrowseComponent,\r\n GrupoDeOperacaoBrowseComponent,\r\n} from \"./../index\";\r\n\r\n@Component({\r\n selector: \"padraodeoperacao-edit\",\r\n templateUrl: \"padraodeoperacao-edit.component.html\",\r\n})\r\nexport class PadraoDeOperacaoEditComponent extends CMFormEditComponent {\r\n static CST_ICMS = [\r\n { value: \"0\", text: \"00\" },\r\n { value: \"10\" },\r\n { value: \"20\" },\r\n { value: \"30\" },\r\n { value: \"40\" },\r\n { value: \"41\" },\r\n { value: \"50\" },\r\n { value: \"51\" },\r\n { value: \"60\" },\r\n { value: \"70\" },\r\n { value: \"90\" },\r\n ];\r\n\r\n static CST_PIS_COFINS = [\r\n { value: \"0\", text: \"00\" },\r\n { value: \"1\", text: \"01\" },\r\n { value: \"2\", text: \"02\" },\r\n { value: \"3\", text: \"03\" },\r\n { value: \"4\", text: \"04\" },\r\n { value: \"5\", text: \"05\" },\r\n { value: \"6\", text: \"06\" },\r\n { value: \"7\", text: \"07\" },\r\n { value: \"8\", text: \"08\" },\r\n { value: \"9\", text: \"09\" },\r\n { value: \"49\" },\r\n { value: \"50\" },\r\n { value: \"51\" },\r\n { value: \"52\" },\r\n { value: \"53\" },\r\n { value: \"54\" },\r\n { value: \"55\" },\r\n { value: \"56\" },\r\n { value: \"60\" },\r\n { value: \"61\" },\r\n { value: \"62\" },\r\n { value: \"63\" },\r\n { value: \"64\" },\r\n { value: \"65\" },\r\n { value: \"66\" },\r\n { value: \"67\" },\r\n { value: \"70\" },\r\n { value: \"71\" },\r\n { value: \"72\" },\r\n { value: \"73\" },\r\n { value: \"74\" },\r\n { value: \"75\" },\r\n { value: \"98\" },\r\n { value: \"99\" },\r\n ];\r\n static CSOSN = [\r\n { value: \"101\" },\r\n { value: \"102\" },\r\n { value: \"103\" },\r\n { value: \"201\" },\r\n { value: \"202\" },\r\n { value: \"203\" },\r\n { value: \"300\" },\r\n { value: \"400\" },\r\n { value: \"500\" },\r\n { value: \"900\" },\r\n ];\r\n\r\n getFirstComponentName() {\r\n return \"model_nome\";\r\n }\r\n\r\n getTitle() {\r\n return \"Padrão de Operação\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"padraodeoperacao\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome\",\r\n maxlength: 200,\r\n required: true,\r\n }),\r\n grupos: new CMGridEditConfig({\r\n form: this,\r\n required: true,\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n fields: {\r\n grupooperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n required: true,\r\n upper: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grupooperacao.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"grupooperacao.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n GrupoDeOperacaoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grupos.current,\r\n \"grupooperacao\"\r\n );\r\n },\r\n }),\r\n operacoes: new CMGridEditConfig({\r\n form: this,\r\n captionFunc: (row) =>\r\n \"Operações do grupo - \" +\r\n this.getValueObject(\r\n this.modelConfig.grupos.current,\r\n \"grupooperacao.codigo\"\r\n ),\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n cst: \"0\",\r\n cstpis: \"99\",\r\n cstcofins: \"99\",\r\n iva: \"0,00\",\r\n reducao: \"0,00\",\r\n aliqicmsst: \"0,00\",\r\n estado: \"\",\r\n });\r\n },\r\n required: true,\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n cfop: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP\",\r\n mask: \"9.999\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n tipo: \"input-pesquisa\",\r\n width: \"300px\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"cfop.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"cfop.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grupos.fields.operacoes.current,\r\n \"cfop\"\r\n );\r\n },\r\n }),\r\n cst: new CMInputConfig({\r\n form: this,\r\n caption: \"CST\",\r\n dataType: \"integer\",\r\n disabled: true,\r\n values: PadraoDeOperacaoEditComponent.CST_ICMS,\r\n }),\r\n csosn: new CMInputConfig({\r\n form: this,\r\n caption: \"CSOSN\",\r\n dataType: \"integer\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 3,\r\n }),\r\n values: PadraoDeOperacaoEditComponent.CSOSN,\r\n }),\r\n cstpis: new CMInputConfig({\r\n form: this,\r\n caption: \"CST PIS\",\r\n dataType: \"integer\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 4,\r\n }),\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n cstcofins: new CMInputConfig({\r\n form: this,\r\n caption: \"CST COFINS\",\r\n dataType: \"integer\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 5,\r\n }),\r\n values: PadraoDeOperacaoEditComponent.CST_PIS_COFINS,\r\n }),\r\n iva: new CMInputConfig({\r\n form: this,\r\n caption: \"IVA\",\r\n dataType: \"double(2)\",\r\n }),\r\n reducao: new CMInputConfig({\r\n form: this,\r\n caption: \"Redução ICMS ST\",\r\n dataType: \"double(2)\",\r\n }),\r\n aliqicmsst: new CMInputConfig({\r\n form: this,\r\n caption: \"Aliq. ICMS ST\",\r\n dataType: \"double(2)\",\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n }),\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n obssimples: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação simples\",\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n\r\n validItem(item: any) {\r\n\r\n let r: String = \"\";\r\n\r\n let hash = {};\r\n item.operacoes.forEach(function(item) {\r\n if (hash[item]) {\r\n r = \"Já existe um cadastro de estado para esse mesmo grupo de operação\";\r\n }\r\n hash[item] = true;\r\n });\r\n return r;\r\n\r\n }\r\n\r\n showInfo() {\r\n let msg = '
    ';\r\n msg += \"

    CSOSN

    \";\r\n msg += \"

    \";\r\n msg += \"101- Tributada pelo Simples Nacional com permissão de crédito.
    \";\r\n msg +=\r\n \"CALCULAR crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária.
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg += \"102- Tributada pelo Simples Nacional sem permissão de crédito.
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária.
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg +=\r\n \"103 – Isenção do ICMS no Simples Nacional para faixa de receita bruta.
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg +=\r\n \"201- Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por Substituição Tributária
    \";\r\n msg +=\r\n \"CALCULAR crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"DEVE TER Substituição Tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg +=\r\n \"202- Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por Substituição Tributária
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"DEVE TER Substituição Tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg +=\r\n \"203- Isenção do ICMS nos Simples Nacional para faixa de receita bruta e com cobrança do ICMS por Substituição Tributária
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"DEVE TER Substituição Tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg += \"300 – Imune.
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg += \"400 – Não tributada pelo Simples Nacional
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg +=\r\n \"500 – ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"NÃO permite substituição tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"

    \";\r\n msg += \"900 - Outros
    \";\r\n msg +=\r\n \"NÃO calcular crédito de icms na observação de acordo com aliquota no Parâmetro.
    \";\r\n msg += \"PODE TER Substituição Tributária
    \";\r\n msg += \"

    \";\r\n\r\n msg += \"
    \";\r\n\r\n CMFormGlobaisComponent.showMessage(\"Informações\", msg);\r\n }\r\n}\r\n","export * from './pessoa-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { SolicitaSenhaSupervisor } from \"../solicita-senha-supervisor\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormGlobaisComponent,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"pessoa-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class PessoaBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"pessoa\";\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\" },\r\n {\r\n field: \"$tipopessoa\",\r\n caption: \"Tipo\",\r\n filter: true,\r\n value: tipo,\r\n visible: false,\r\n filterVisible: false,\r\n },\r\n {\r\n field: \"nome\",\r\n caption: \"Nome\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"fantasia\",\r\n caption: \"Fantasia\",\r\n filter: new CMInputConfig({\r\n maxlength: 100,\r\n }),\r\n },\r\n {\r\n field: \"cpf\",\r\n caption: \"CPF\",\r\n filter: true,\r\n mask: \"999.999.999-99\",\r\n },\r\n {\r\n field: \"cnpj\",\r\n caption: \"CNPJ\",\r\n filter: true,\r\n mask: \"99.999.999/9999-99\",\r\n },\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"pessoa\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n\r\n \r\n static pesquisaContador(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"codigo\", caption: \"#\" },\r\n {\r\n field: \"$tipopessoa\",\r\n caption: \"Tipo\",\r\n filter: true,\r\n visible: false,\r\n filterVisible: false,\r\n },\r\n {\r\n field: \"nome\",\r\n caption: \"Nome\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"fantasia\",\r\n caption: \"Fantasia\",\r\n filter: new CMInputConfig({\r\n maxlength: 100,\r\n }),\r\n },\r\n {\r\n field: \"cpf\",\r\n caption: \"CPF\",\r\n filter: true,\r\n mask: \"999.999.999-99\",\r\n },\r\n {\r\n field: \"cnpj\",\r\n caption: \"CNPJ\",\r\n filter: true,\r\n mask: \"99.999.999/9999-99\",\r\n },\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"pessoa\",\r\n \"Pesquisa de Contador\",\r\n columns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n\r\n static pesquisaEnderecoEntrega(idPessoa, onAfterSelect: Function) {\r\n CMFormPesquisaComponent.defaultPesquisaSelect(\r\n \"pessoa\",\r\n \"Pesquisa de Endereço de Entrega\",\r\n [\r\n { field: \"id\", caption: \"#\", visible: false },\r\n {\r\n field: \"identificacao\",\r\n caption: \"Identificação\",\r\n filter: true,\r\n width: \"140px\",\r\n },\r\n {\r\n field: \"endereco\",\r\n caption: \"Endereço\",\r\n },\r\n ],\r\n onAfterSelect,\r\n undefined,\r\n { pesqenderecoentrega: \"Sim\", idpessoa: idPessoa },\r\n 100\r\n );\r\n }\r\n\r\n static setValidProcSolicitaPermissaoVendaContaVencida(_this, getAvista) {\r\n if (FuncsGlobais.paramEmpresa.solicitaPermissaoVendaContaVencida) {\r\n _this.validProc = (procSave) => {\r\n if (!getAvista()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n _this.postSubscribe(\r\n \"/api/pessoa/TemContaVencida\",\r\n JSON.stringify({\r\n idpessoa: _this.fieldByName('cliente.id')\r\n }),\r\n (result) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (result) {\r\n if (result['ok'] == false) {\r\n procSave();\r\n }\r\n else {\r\n if (_this.isRecurso(109)) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n 'AVISO', \r\n '

    Cliente com contas em atraso deseja continuar?

    ', \r\n () => {\r\n procSave();\r\n });\r\n }\r\n else {\r\n CMFormGlobaisComponent.showConfirmation(\r\n 'AVISO', \r\n '

    Cliente com contas em atraso deseja continuar?

    ', \r\n () => {\r\n procSave();\r\n },\r\n SolicitaSenhaSupervisor);\r\n }\r\n }\r\n }\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n else {\r\n procSave();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export * from './prevenda-gerar-saida-estoque.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n\\n.formGerarSaidaEstoque {\\n overflow-y: unset;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9wcmV2ZW5kYS1nZXJhci1zYWlkYS1lc3RvcXVlL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXHByZXZlbmRhLWdlcmFyLXNhaWRhLWVzdG9xdWVcXHByZXZlbmRhLWdlcmFyLXNhaWRhLWVzdG9xdWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvcHJldmVuZGEtZ2VyYXItc2FpZGEtZXN0b3F1ZS9wcmV2ZW5kYS1nZXJhci1zYWlkYS1lc3RvcXVlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKOztBREVBO0VBQ0ksaUJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvcHJldmVuZGEtZ2VyYXItc2FpZGEtZXN0b3F1ZS9wcmV2ZW5kYS1nZXJhci1zYWlkYS1lc3RvcXVlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNtZm9ybS1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxufVxyXG5cclxuLmZvcm1HZXJhclNhaWRhRXN0b3F1ZSB7XHJcbiAgICBvdmVyZmxvdy15OiB1bnNldDtcclxufSIsIi5jbWZvcm0taW5uZXIge1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuLmZvcm1HZXJhclNhaWRhRXN0b3F1ZSB7XG4gIG92ZXJmbG93LXk6IHVuc2V0O1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMINPUT_CONTROL_VALUE_ACCESSOR,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n PreVendaBrowseComponent, ProdutoBrowseComponent,\r\n} from \"../index\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n@Component({\r\n selector: \"prevenda-gerar-saida-estoque\",\r\n templateUrl: \"prevenda-gerar-saida-estoque.component.html\",\r\n styleUrls: [\"prevenda-gerar-saida-estoque.component.scss\"],\r\n})\r\nexport class PreVendaGerarSaidaEstoqueComponent extends CMFormComponent {\r\n \r\n public filter: any = {};\r\n private innerFilterConfig = {};\r\n public get filterConfig() {\r\n return this.innerFilterConfig;\r\n }\r\n public set filterConfig(value: any) {\r\n this.innerFilterConfig = value;\r\n this.filter = {};\r\n this.generateEmptyModel(value, this.filter);\r\n }\r\n \r\n valid() {\r\n return super.valid(this.filterConfig, this.filter);\r\n\t}\r\n\r\n _owner: PreVendaBrowseComponent = undefined;\r\n \r\n setFilterConfig(){\r\n this.filterConfig = {\r\n \r\n historico: new CMGridEditConfig({\r\n caption: \"Histórico de Saídas Anteriores\",\r\n form: PreVendaGerarSaidaEstoqueComponent,\r\n onRemoveItem: (item) => {\r\n this.postDeleteSaidaEstoque(item);\r\n console.log(this._owner.grid.fieldByName(this.owner.fieldNameId()));\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n disabled: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.filterConfig.historico.current)){\r\n\r\n this.postSubscribe(\r\n '/api/saidaestoque/GetSaidasEstoqueDetalhe',\r\n JSON.stringify({\r\n idprevenda: this._owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idproduto: this.filterConfig.historico.current.produto.id,\r\n datasaida: this.filterConfig.historico.current.datasaida\r\n }),\r\n (result: any) => {\r\n this.filterConfig.historico.current.estoque = result;\r\n \r\n console.log('this.dados.historico: ', this.dados.historico);\r\n console.log('result: ', result);\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('GetSaidasEstoque', error);\r\n }\r\n )\r\n\r\n this.filterConfig.historico.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n }\r\n setTimeout(() => {\r\n document.querySelector(\"[id^='extra_grid_']\").parentNode.lastChild.remove();\r\n }, 1500)\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n }),\r\n datasaida: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Data da Saída\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n disabled: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.filterConfig.historico.fields.estoque.current,\r\n this.filterConfig.historico.current.produto.id,\r\n this.filterConfig.historico.fields.estoque.current.grade.id\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabledFunc: () => {\r\n return this.date !== this.filterConfig.historico.current.datasaida;\r\n },\r\n /*\r\n onKeyPress: (row) => {\r\n console.log('changed: ');\r\n let item = this.filterConfig.itens.current;\r\n\r\n item.estoquesaida.forEach((est) => {\r\n est.quantidade = 0;\r\n });\r\n item.quantidadesaida = 0;\r\n },*/\r\n }),\r\n },\r\n }),\r\n }\r\n }),\r\n itens: new CMGridEditConfig({\r\n caption: \"Saldo de Produto à Entregar\",\r\n form: PreVendaGerarSaidaEstoqueComponent,\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n disabled: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.filterConfig.itens.current))\r\n this.filterConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n setTimeout(() => {\r\n document.querySelector(\"[id^='extra_grid_']\").parentNode.lastChild.remove();\r\n }, 1500)\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n }),\r\n quantidadeentregue: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade Entregue\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.filterConfig.itens.current)){\r\n this.filterConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 2,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n setTimeout(() => {\r\n document.querySelector(\"[id^='extra_grid_']\").parentNode.lastChild.remove();\r\n }, 1500)\r\n }\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n }),\r\n /*\r\n datasaida: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Data da Saída\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),*/\r\n quantidadesaida: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade Saída\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.filterConfig.itens.current)){\r\n this.filterConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 1,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n setTimeout(() => {\r\n document.querySelector(\"[id^='extra_grid_']\").parentNode.lastChild.remove();\r\n }, 1500)\r\n }\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n onExit: () => {\r\n if (!this.currentProdutoUsaGrade() && !this.currentProdutoUsaLote()) {\r\n this.filterConfig.itens.current.estoquesaida[0].quantidade = this.filterConfig.itens.current.quantidadesaida;\r\n }\r\n }\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n disabled: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.filterConfig.itens.fields.estoque.current,\r\n this.filterConfig.itens.current.produto.id,\r\n this.filterConfig.itens.fields.estoque.current.grade.id\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n estoquesaida: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n disabled: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.filterConfig.itens.fields.estoquesaida.current,\r\n this.filterConfig.itens.current.produto.id,\r\n this.filterConfig.itens.fields.estoquesaida.current.grade.id\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n disabled: false,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n estoqueentregue: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onGetValue: () => {\r\n console.log(\"onGetValue\");\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n }\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.filterConfig.itens.fields.estoqueentregue.current,\r\n this.filterConfig.itens.current.produto.id,\r\n this.filterConfig.itens.fields.estoqueentregue.current.grade.id\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidadeentregue: new CMInputConfig({\r\n form: this,\r\n disabled: true,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n /*\r\n onKeyPress: (row) => {\r\n console.log('changed: ');\r\n let item = this.filterConfig.itens.current;\r\n\r\n item.estoquesaida.forEach((est) => {\r\n est.quantidade = 0;\r\n });\r\n item.quantidadesaida = 0;\r\n },\r\n disabledFunc: () => {\r\n return this.filterConfig.itens.current.datasaida !== this.filterConfig.historico.current.datasaida;\r\n }*/\r\n }),\r\n },\r\n }),\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n postDeleteSaidaEstoque(item: any) {\r\n console.log(\"item a ser excluído: \", item);\r\n \r\n //let itemsaidaX = this.dados.produtos.find(itemprevenda => itemprevenda.id === itemsaida.id);\r\n //itemsaidaX = null;\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/saidaestoque/DeleteSaidaEstoque\",\r\n JSON.stringify({\r\n idprevenda: this._owner.grid.fieldByName(this.owner.fieldNameId()),\r\n data: item.datasaida,\r\n idproduto: item.produto.id\r\n }),\r\n (res) => {\r\n if (res[\"result\"] == \"ok\") {\r\n\r\n let itemsaida = this.dados.produtos.find(itemprevenda => itemprevenda.id === item.id);\r\n \r\n let qtdtemp = itemsaida.quantidadeentregue;\r\n \r\n itemsaida.quantidadeentregue = itemsaida.quantidadesaida;\r\n itemsaida.quantidadesaida = qtdtemp;\r\n \r\n let estoquetemp = itemsaida.estoqueentregue;\r\n \r\n itemsaida.estoqueentregue = itemsaida.estoquesaida;\r\n itemsaida.estoquesaida = estoquetemp;\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"postDeleteAnotacao\", error);\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n );\r\n }\r\n \r\n\r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.filterConfig.itens.current,\r\n \"produto.usavalidadelote\"\r\n ) === \"Sim\")\r\n }\r\n\r\n dados = {\r\n produtos: [],\r\n historico: [],\r\n };\r\n \r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(this.filterConfig.itens.current, \"produto.usalote\") ===\r\n \"Sim\"\r\n );\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n\r\n let item = this.filterConfig.itens.current;\r\n \r\n let qtotal = 0;\r\n\r\n item.estoquesaida.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidadesaida = this.floatToValue(qtotal);\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.filterConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.filterConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r =\r\n row.produto.usagrade1 === \"Sim\" ||\r\n row.produto.usagrade2 === \"Sim\" ||\r\n row.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n set owner(value) {\r\n this._owner = value;\r\n if (this._owner !== undefined) {\r\n\r\n this.getObjectData('prevenda',\r\n [\r\n {'field': 'empresa', 'value': this.paramEmpresa.idEmpresa},\r\n {'field': 'id', 'value': this._owner.grid.fieldByName(this.owner.fieldNameId())},\r\n ],\r\n object => {\r\n \r\n console.log('Object: ', object);\r\n\r\n object.itens.forEach((item) => {\r\n item.datasaida = CMFormComponent.date();\r\n item.estoquesaida = $.extend( true, [], item.estoque );\r\n item.estoqueentregue = item.estoque;\r\n\r\n let qtotal = 0;\r\n item.estoquesaida.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidadeentregue);\r\n //console.log('est.quantidadesaida: ', est.quantidade);\r\n est.quantidade = this.floatToValue(this.valueToFloat(est.quantidade) - this.valueToFloat(est.quantidadeentregue));\r\n });\r\n\r\n item.quantidadesaida = this.floatToValue(this.valueToFloat(item.quantidade)-this.valueToFloat(qtotal));\r\n //console.log('item.quantidadesaida: ', this.valueToFloat(item.quantidade)-this.valueToFloat(qtotal));\r\n \r\n item.quantidadeentregue = this.floatToValue(qtotal);\r\n\r\n });\r\n\r\n\t\t\t\tthis.dados.produtos = object.itens;\r\n //this.dados.historico = object.itens;\r\n\r\n console.log('dadosprodutos: ', this.dados.produtos);\r\n\r\n });\r\n\r\n this.postSubscribe(\r\n '/api/saidaestoque/GetSaidasEstoque',\r\n JSON.stringify({idprevenda: this.valueToInteger(this._owner.grid.fieldByName(this.owner.fieldNameId()))}),\r\n (result: any) => {\r\n this.dados.historico = result;\r\n\r\n console.log('this.dados.historico: ', this.dados.historico);\r\n console.log('result: ', result);\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('GetSaidasEstoque', error);\r\n }\r\n )\r\n\r\n }\r\n }\r\n \r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n\r\n this.setFilterConfig();\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n\r\n\r\n produtoUsaGrade(item) {\r\n return (\r\n this.getValueObject(\r\n item,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n item,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n produtoUsaLote(item) {\r\n return (\r\n this.getValueObject(\r\n item,\r\n \"produto.usalote\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n gerarSaidaEstoque() {\r\n \r\n let prevendaitemestoque = [];\r\n let itemscomerro = [];\r\n let estoquebaixado = true;\r\n let idprevenda = 0;\r\n\r\n console.log('post dados.produtos: ', this.dados.produtos);\r\n\r\n this.dados.produtos.forEach((item) => {\r\n\r\n CMFormGlobaisComponent.showSpinner();\r\n for (let i=0; i < item.estoquesaida.length; i++) {\r\n\r\n console.log('item.estoquesaida[i]: ', item.estoquesaida[i]);\r\n console.log('item.quantidaderestante: ', this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue));\r\n\r\n if (estoquebaixado && (this.valueToFloat(item.estoquesaida[i].quantidade) \r\n !== this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue))){\r\n estoquebaixado = false;\r\n }\r\n\r\n item.estoquesaida[i].datasaida = item.datasaida;\r\n\r\n if ((this.valueToFloat(item.estoquesaida[i].quantidade) > 0 ) && !this.produtoUsaGrade(item) && !this.produtoUsaLote(item)) {\r\n item.estoquesaida[i].quantidade = item.quantidadesaida;\r\n prevendaitemestoque.push(item.estoquesaida[i]);\r\n }\r\n else if ((this.valueToFloat(item.estoquesaida[i].quantidade) > 0 ) && this.produtoUsaGrade(item) ){\r\n prevendaitemestoque.push(item.estoquesaida[i]);\r\n }\r\n else if ((this.valueToFloat(item.estoquesaida[i].quantidade) > 0 ) && this.produtoUsaLote(item) && !this.produtoUsaGrade(item) ){\r\n prevendaitemestoque.push(item.estoquesaida[i]);\r\n }\r\n }\r\n\r\n console.log('estoquebaixado: ', estoquebaixado);\r\n\r\n idprevenda = this.valueToInteger(this._owner.grid.fieldByName(this.owner.fieldNameId()));\r\n\r\n if (this.produtoUsaGrade(item)){\r\n\r\n for (let i=0; i < item.estoque.length-1; i++) {\r\n\r\n console.log('item.estoque: ', this.valueToFloat(item.estoque[i].quantidade));\r\n console.log('item.estoquesaida: ', this.valueToFloat(item.estoquesaida[i].quantidade));\r\n \r\n if (this.valueToFloat(item.estoquesaida[i].quantidade) > this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue)){\r\n\r\n if (item.produto.usagrade1 === 'Sim' && item.produto.usagrade2 === 'Não'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: item.estoque[i].grade.grade1.codigo,\r\n grade2: '',\r\n numerolote: '',\r\n msgerro: 'A quantidade de saída do produto excede a quantidade restante à ser entregue.
    Quantidade Restante: '+\r\n this.floatToValue(this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue))+'
    '+\r\n 'Quantidade informada: '+item.estoquesaida[i].quantidade\r\n });\r\n }\r\n else if (item.produto.usagrade1 === 'Não' && item.produto.usagrade2 === 'Sim'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: '',\r\n grade2: item.estoque[i].grade.grade2.codigo,\r\n numerolote: '' ,\r\n msgerro: 'A quantidade de saída do produto excede a quantidade restante à ser entregue.
    Quantidade Restante: '+\r\n this.floatToValue(this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue))+'
    '+\r\n 'Quantidade informada: '+item.estoquesaida[i].quantidade\r\n });\r\n }\r\n else if (item.produto.usagrade1 === 'Sim' && item.produto.usagrade2 === 'Sim'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: item.estoque[i].grade.grade1.codigo,\r\n grade2: item.estoque[i].grade.grade2.codigo,\r\n numerolote: '' ,\r\n msgerro: 'A quantidade de saída do produto excede a quantidade restante à ser entregue.
    Quantidade Restante: '+\r\n this.floatToValue(this.valueToFloat(item.estoque[i].quantidade) - this.valueToFloat(item.estoque[i].quantidadeentregue))+'
    '+\r\n 'Quantidade informada: '+item.estoquesaida[i].quantidade\r\n });\r\n }\r\n\r\n }\r\n else if (this.valueToFloat(item.estoquesaida[i].quantidade) > this.valueToFloat(item.estoque[i].quantidade)) {\r\n\r\n console.log('item: ', item);\r\n\r\n if (item.produto.usagrade1 === 'Sim' && item.produto.usagrade2 === 'Não'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo),\r\n descricao: item.produto.descr,\r\n grade1: item.estoque[i].grade.grade1.codigo,\r\n grade2: '',\r\n numerolote: '',\r\n msgerro: 'A quantidade de saída de produto excede a quantidade do produto da pré-venda.'\r\n });\r\n }\r\n else if (item.produto.usagrade1 === 'Não' && item.produto.usagrade2 === 'Sim'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: '',\r\n grade2: item.estoque[i].grade.grade2.codigo,\r\n numerolote: '' ,\r\n msgerro: 'A quantidade de saída de produto excede a quantidade do produto da pré-venda.'\r\n });\r\n }\r\n else if (item.produto.usagrade1 === 'Sim' && item.produto.usagrade2 === 'Sim'){\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: item.estoque[i].grade.grade1.codigo,\r\n grade2: item.estoque[i].grade.grade2.codigo,\r\n numerolote: '' ,\r\n msgerro: 'A quantidade de saída de produto excede a quantidade do produto da pré-venda.'\r\n });\r\n }\r\n\r\n }\r\n }\r\n \r\n\r\n }\r\n else{\r\n\r\n let qtotal = 0;\r\n item.estoquesaida.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidadeentregue);\r\n });\r\n\r\n //console.log('item: ', item);\r\n //console.log('item.quantidadesaida: ', item.quantidadesaida);\r\n //console.log('this.valueToFloat(item.quantidade)-q: ', this.valueToFloat(item.quantidade)-qtotal);\r\n //console.log('qtotal: ', qtotal);\r\n \r\n if (!this.produtoUsaLote(item) && this.valueToFloat(item.quantidadesaida) > this.valueToFloat(item.quantidade)-this.valueToFloat(qtotal)) {\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: '',\r\n grade2: '',\r\n numerolote: '',\r\n msgerro: 'A quantidade de saída do produto excede a quantidade restante à ser entregue.'\r\n });\r\n }\r\n else if (!this.produtoUsaLote(item) && this.valueToFloat(item.quantidadesaida) > this.valueToFloat(item.quantidade)){\r\n\r\n console.log(\"item.quantidadesaida: \", item.quantidadesaida);\r\n console.log(\"item.quantidade: \", item.quantidade);\r\n\r\n itemscomerro.push(\r\n {\r\n codigo: this.trimValue(item.produto.codigo), \r\n descricao: item.produto.descr,\r\n grade1: '',\r\n grade2: '',\r\n numerolote: '',\r\n msgerro: 'A quantidade de saída do produto excede a quantidade do produto da pré-venda.'\r\n });\r\n }\r\n }\r\n\r\n /*\r\n item.estoquesaida.forEach((itemestoque) => {\r\n itemestoque.datasaida = item.datasaida;\r\n\r\n if (item.produto.usagrade1 === \"Não\" && item.produto.usagrade2 === \"Não\") {\r\n itemestoque.quantidade = item.quantidadesaida;\r\n prevendaitemestoque.push(itemestoque);\r\n }\r\n else if ((this.valueToFloat(itemestoque.quantidade) > 0 ) && !(item.produto.usagrade1 === \"Não\" && item.produto.usagrade2 === \"Não\") ){\r\n prevendaitemestoque.push(itemestoque);\r\n }\r\n })*/\r\n \r\n CMFormGlobaisComponent.hideSpinner();\r\n })\r\n\r\n console.log('prevendaitemestoque: ', prevendaitemestoque);\r\n\r\n \r\n console.log('itemscomerro: ', itemscomerro);\r\n\r\n \r\n if (prevendaitemestoque.length <= 0){\r\n \r\n CMFormGlobaisComponent.showMessageAviso(' A quantidade de saída deve ser maior que 0. ');\r\n }\r\n else if (itemscomerro.length > 0){\r\n\r\n let html = \"
    \";\r\n itemscomerro.forEach((item) => {\r\n html += `

    \r\n Codigo: ${item.codigo}
    \r\n Produto: ${item.descricao}
    `;\r\n \r\n if (item.grade1 !== \"\" && item.grade2 === \"\"){\r\n html += `\r\n Grade: ${item.grade1}
    \r\n `\r\n }\r\n if (item.grade2 !== \"\" && item.grade1 === \"\"){\r\n html += `\r\n Grade: ${item.grade2}
    \r\n `\r\n }\r\n if (item.grade2 !== \"\" && item.grade1 !== \"\"){\r\n html += `\r\n Grade: ${item.grade1} / ${item.grade2}
    \r\n `\r\n }\r\n\r\n html += `Erro: ${item.msgerro}

    \r\n

    \r\n `;\r\n });\r\n html += \"
    \";\r\n CMFormGlobaisComponent.showMessageHtml(html, \"Erro ao gerar a saída de estoque de um ou mais itens\");\r\n }\r\n else{\r\n CMFormGlobaisComponent.showSpinner();\r\n \r\n this.postSubscribe(\"/api/prevenda/GerarSaidaEstoque/FuncaoExtra\",\r\n JSON.stringify({idprevenda, estoquebaixado, prevendaitemestoque}),(ret) => {\r\n let produtos = [];\r\n if (ret[\"data\"]) produtos = ret[\"data\"];\r\n //this.filter.dados.produtos = produtos;\r\n this.close('formGerarSaidaEstoque')\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastSucesso(\"Saída gerada com sucesso.\");\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('gerarSaidaEstoque', error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","export * from './prevenda-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9wcmV2ZW5kYS1yZWxhdG9yaW9zL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXHByZXZlbmRhLXJlbGF0b3Jpb3NcXHByZXZlbmRhLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvcHJldmVuZGEtcmVsYXRvcmlvcy9wcmV2ZW5kYS1yZWxhdG9yaW9zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9wcmV2ZW5kYS1yZWxhdG9yaW9zL3ByZXZlbmRhLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIG1heC13aWR0aDogODAlO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n PreVendaBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"prevenda-relatorios\",\r\n templateUrl: \"prevenda-relatorios.component.html\",\r\n styleUrls: [\"prevenda-relatorios.component.scss\"],\r\n})\r\nexport class PreVendaRelatoriosComponent extends CMFormComponent {\r\n _owner: PreVendaBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n\r\n static addRelatorioCustomizado(item: any){\r\n PreVendaRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return PreVendaRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n teste = 0;\r\n\r\n dados = {\r\n tiporelatorio: \"PreVendaPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"PreVendaPadrao\", text: \"Pré-Venda Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"PreVendaPadrao\"){\r\n let data = { id: this.owner.grid.fieldByName(this.owner.fieldNameId()) };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/Print\",\r\n data,\r\n \"prevenda\"\r\n );\r\n }\r\n else{\r\n let data = { \r\n id: this.owner.grid.fieldByName(this.owner.fieldNameId()),\r\n idrelatorio: this.dados.tiporelatorio\r\n };\r\n console.log(data);\r\n data = this.owner.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoPreVendaCustomizado\",\r\n data,\r\n \"prevenda\"\r\n );\r\n \r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, PreVendaRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './prevenda-edit.component';\r\nexport * from './prevenda-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { PreVendaEditComponent } from \"./prevenda-edit.component\";\r\nimport { PreVendaRelatoriosComponent } from \"../prevenda-relatorios/prevenda-relatorios.component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { VendedorBrowseComponent } from \"./../vendedor/vendedor-browse.component\";\r\nimport { FormaPagamentoBrowseComponent } from \"./../formapagamento/formapagamento-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { PreVendaGerarSaidaEstoqueComponent } from \"../prevenda-gerar-saida-estoque/prevenda-gerar-saida-estoque.component\";\r\n\r\n@Component({\r\n selector: \"prevenda-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class PreVendaBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"prevenda\";\r\n this.formEditComponent = PreVendaEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.buttonsExtra = 5;\r\n this.showPrintButton = true;\r\n this.columns = [\r\n {\r\n field: \"numero\",\r\n caption: \"#\",\r\n width: 100,\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n }),\r\n },\r\n {\r\n field: \"data\",\r\n caption: \"Data\",\r\n width: 130,\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filterField: \"cliente.id\",\r\n filterValue: \"cliente.codigo\",\r\n fieldBottom: \"cliente.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"vendedor_nome\",\r\n caption: \"Vendedor\",\r\n width: 250,\r\n filterField: \"vendedor.id\",\r\n filterValue: \"vendedor.codigo\",\r\n fieldBottom: \"vendedor.nome\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"formapag_descricao\",\r\n caption: \"Forma de Pagamento\",\r\n width: 250,\r\n filterField: \"formapagamento.id\",\r\n fieldBottom: \"formapagamento.descricao\",\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n { field: \"nnf\", caption: \"Nota Fiscal\", width: 200 },\r\n {\r\n field: \"numero_marketplace\",\r\n caption: \"Número no Marketplace\",\r\n filter: FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n visible: false,\r\n },\r\n ];\r\n\r\n if (PreVendaRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log(PreVendaRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n \r\n _print() {\r\n console.log('method override')\r\n if (this.diretoImprimir) this.print();\r\n }\r\n \r\n print() {\r\n console.log('method overriden');\r\n if (PreVendaRelatoriosComponent.getRelatorioCustomizados().length > 0){\r\n this.openFormRelatoriosPreVenda();\r\n }\r\n else{\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\"Print\", data, this.controllerName);\r\n }\r\n }\r\n\r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/prevenda/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'SegundaVia' || element['tipo'] === 'PreVenda'){\r\n PreVendaRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n\r\n }\r\n\r\n getTitle() {\r\n return \"Pré-Venda\";\r\n }\r\n \r\n openFormRelatoriosPreVenda() {\r\n this.beforeComponent = PreVendaRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosPreVenda\");\r\n }, 100);\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarNFe\");\r\n } else if (index === 1) {\r\n this.getDireitosMenuBrowseButtonsExtra(\r\n index,\r\n \"ImpressaoPreVendaReduzida\"\r\n );\r\n } else if (index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarNFCe\");\r\n } else if (index === 3) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImprimirBoleto\");\r\n }\r\n else if (index === 4) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"ImprimirCarne\");\r\n }\r\n else if (index === 5) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarSaidaEstoque\");\r\n }\r\n else if (index === 6) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"GerarSaidaEstoque\");\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0 || index === 1|| index === 2 || index === 3 || index === 4 || index === 5 || index === 6) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"account_balance\";\r\n else if (index === 1) r = \"receipt\";\r\n else if (index === 2) r = \"qr_code_2\";\r\n else if (index === 3) r = \"view_column\";\r\n else if (index === 4) r = \"calendar_today\";\r\n else if (index === 5) r = \"inventory\";\r\n else if (index === 6) r = \"assignment_turned_in\";\r\n \r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Gerar nota fiscal\";\r\n else if (index === 1) r = \"Imprimir Reduzido\";\r\n else if (index === 2) r = \"Gerar NFC-e\";\r\n else if (index === 3) r = \"Imprimir boleto\";\r\n else if (index === 4) r = \"Imprimir carnê\";\r\n else if (index === 5) r = \"Saída de Estoque\";\r\n else if (index === 6) r = \"Gerar Saída Total do Estoque\";\r\n \r\n return r;\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n let msg: string = \"

    Confirma geração da Nota Fiscal Eletrônica?

    \";\r\n if (this.grid.fieldByName(\"nnf\") !== \"\")\r\n msg +=\r\n '

    Já existe uma nota fiscal vinculada a essa Pré-Venda a mesma será sobrescrita

    ';\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Nota Fiscal Eletrônica\",\r\n msg,\r\n () => {\r\n this.gerarNFe('NFe');\r\n }\r\n );\r\n } else if (index === 1) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImpressaoPreVendaReduzida/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n else if (index === 2) {\r\n let msg: string = \"

    Confirma geração da Nota Fiscal de Consumidor Eletrônica?

    \";\r\n if (this.grid.fieldByName(\"nnf\") !== \"\")\r\n msg +=\r\n '

    Já existe uma nota fiscal vinculada a essa Pré-Venda a mesma será sobrescrita

    ';\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Nota Fiscal de ConsumidorEletrônica\",\r\n msg,\r\n () => {\r\n this.gerarNFe('NFCe');\r\n }\r\n );\r\n }\r\n else if (index === 3) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()), origem: 'Pré-Venda' };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImprimirBoleto/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n else if (index === 4) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()), origem: 'Pré-Venda' };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"/ImprimirCarne/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n }\r\n else if (index === 5) {\r\n this.openFormGerarSaidaEstoque();\r\n }\r\n else if (index === 6) {\r\n \r\n this.getObjectData('prevenda',\r\n [\r\n {'field': 'empresa', 'value': this.paramEmpresa.idEmpresa},\r\n {'field': 'id', 'value': this.grid.fieldByName(this.fieldNameId())},\r\n ],\r\n\r\n object => {\r\n\r\n let prevendaitemestoque = [];\r\n let baixado = (object.estoquebaixado === 'Sim');\r\n let idprevenda = 0;\r\n\r\n console.log('Object: ', object);\r\n\r\n object.itens.forEach((item) => {\r\n item.datasaida = this.date;\r\n item.estoquesaida = $.extend( true, [], item.estoque );\r\n\r\n let qtotal = 0;\r\n item.estoquesaida.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidadeentregue);\r\n console.log('est.quantidadesaida: ', est.quantidade);\r\n est.quantidade = this.floatToValue(this.valueToFloat(est.quantidade) - this.valueToFloat(est.quantidadeentregue));\r\n });\r\n\r\n item.quantidadesaida = this.floatToValue(this.valueToFloat(item.quantidade)-this.valueToFloat(qtotal));\r\n //console.log('item.quantidadesaida: ', this.valueToFloat(item.quantidade)-this.valueToFloat(qtotal));\r\n\r\n });\r\n\r\n console.log('baixado: ', baixado);\r\n\r\n \r\n if (!baixado) {\r\n CMFormGlobaisComponent.showConfirmation(\r\n \"Saída de Estoque\",\r\n 'Deseja realizar a saída total do estoque dos itens da Pré-Venda?',\r\n () => {\r\n\r\n idprevenda = this.valueToInteger(this.grid.fieldByName(this.fieldNameId()));\r\n\r\n object.itens.forEach((item) => {\r\n item.estoquesaida.forEach((itemestoque) => {\r\n itemestoque.datasaida = item.datasaida;\r\n \r\n if (item.produto.usagrade1 === \"Não\" && item.produto.usagrade2 === \"Não\") {\r\n itemestoque.quantidade = item.quantidadesaida;\r\n prevendaitemestoque.push(itemestoque);\r\n }\r\n else if ((this.valueToFloat(itemestoque.quantidade) > 0 ) && !(item.produto.usagrade1 === \"Não\" && item.produto.usagrade2 === \"Não\") ){\r\n prevendaitemestoque.push(itemestoque);\r\n }\r\n \r\n })\r\n })\r\n \r\n CMFormGlobaisComponent.showSpinner();\r\n \r\n this.postSubscribe(\"/api/prevenda/GerarSaidaEstoque/FuncaoExtra\",\r\n JSON.stringify({idprevenda, estoquebaixado: true, prevendaitemestoque}),(ret) => {\r\n let produtos = [];\r\n if (ret[\"data\"]) produtos = ret[\"data\"];\r\n //this.filter.dados.produtos = produtos;\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastSucesso(\"Saída gerada com sucesso.\");\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('gerarSaidaEstoque', error);\r\n }\r\n );\r\n }\r\n );\r\n }\r\n else {\r\n CMFormGlobaisComponent.showMessageAviso(\"Todos os itens da Pré-Venda já foram baixados.\");\r\n }\r\n //this.dados.produtos = object.itens;\r\n\r\n //console.log('dadosprodutos: ', this.dados.produtos);\r\n\r\n });\r\n\r\n }\r\n }\r\n \r\n openFormGerarSaidaEstoque() {\r\n this.beforeComponent = PreVendaGerarSaidaEstoqueComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formGerarSaidaEstoque\");\r\n }, 100);\r\n }\r\n\r\n gerarNFe(tipo) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/prevenda/GerarNFe/FuncaoExtra\",\r\n JSON.stringify({\r\n id: this.grid.fieldByName(\"id\"),\r\n doc: tipo,\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n let nnf = result[\"nnf\"];\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Gerado Nota Fiscal Eletrônica \" + nnf\r\n );\r\n this.refresh();\r\n } else CMFormGlobaisComponent.showMessageAviso(result[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n getDataPrint(data) {\r\n data.numero = this.grid.fieldByName(\"numero\");\r\n return data;\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n idCliente?: number,\r\n tipoPagamento?: string\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"prevenda\",\r\n \"Pesquisa de Pré-Venda\",\r\n [\r\n { field: \"numero\", caption: \"#\" },\r\n { field: \"cliente_nome\", caption: \"Cliente\", filter: true },\r\n { field: \"data\", caption: \"Data\", filter: true, mask: \"99/99/9999\" },\r\n ],\r\n target,\r\n targetProp,\r\n \"numero\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n {\r\n idcliente: idCliente,\r\n tipopagamento: tipoPagamento,\r\n }\r\n );\r\n }\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n static pesquisaPreVendaTroca(\r\n sender: any,\r\n target: any,\r\n tipo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function,\r\n extraFilters?: Object,\r\n extraColumns?: Array\r\n ) {\r\n if (target) {\r\n let columns = [\r\n { field: \"numero\", caption: \"#\", filter: true},\r\n {\r\n field: \"cliente_nome\",\r\n caption: \"Cliente\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n { field: \"data\", caption: \"Data\", filter: true, mask: \"99/99/9999\"}\r\n ];\r\n if (extraColumns) {\r\n extraColumns.forEach((column) => {\r\n columns.push(column);\r\n });\r\n }\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"prevenda\",\r\n \"Pesquisa de \" + tipo,\r\n columns,\r\n target,\r\n targetProp,\r\n \"numero\",\r\n onAfterSelect,\r\n undefined,\r\n undefined,\r\n extraFilters\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n CMPanelConfigMore,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"./../cliente/cliente-browse.component\";\r\nimport { VendedorBrowseComponent } from \"./../vendedor/vendedor-browse.component\";\r\nimport { ProdutoBrowseComponent } from \"./../produto/produto-browse.component\";\r\nimport { FormaPagamentoBrowseComponent } from \"./../formapagamento/formapagamento-browse.component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { MunicipioBrowseComponent } from \"../municipio\";\r\nimport { PessoaBrowseComponent } from \"../pessoa\";\r\nimport { CupomDescontoBrowseComponent } from \"../cupom-desconto\";\r\nimport { SolicitaSenhaSupervisor } from \"../solicita-senha-supervisor\";\r\n\r\n@Component({\r\n selector: \"prevenda-edit\",\r\n templateUrl: \"prevenda-edit.component.html\",\r\n})\r\nexport class PreVendaEditComponent extends CMFormEditComponent {\r\n valuesTipoPagamento = [];\r\n\r\n configPesqLocalEntrega: CMPanelConfigMore;\r\n\r\n setValuesTipoPagamento() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ];\r\n } else {\r\n this.valuesTipoPagamento = [\r\n { value: \"AVista\", text: \"a Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n { value: \"RecebimentoFuturo\", text: \"Recebimento Futuro\" },\r\n ];\r\n }\r\n }\r\n\r\n getFirstComponentName() {\r\n return \"model_cliente\";\r\n }\r\n\r\n getTitle() {\r\n let r: string = \"Pré-Venda\";\r\n let tmp: string = this.fieldByName(\"numero\");\r\n if (tmp !== \"0\") r += \" - #\" + tmp;\r\n tmp = this.fieldByName(\"cliente.nome\");\r\n if (tmp !== \"\") r += \" - \" + tmp;\r\n return r;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"prevenda\";\r\n this.setValuesTipoPagamento();\r\n this.setModelConfig();\r\n PessoaBrowseComponent.setValidProcSolicitaPermissaoVendaContaVencida(\r\n this,\r\n () => {\r\n return this.model.tipopagamento === \"AVista\";\r\n }\r\n );\r\n\r\n this.configPesqLocalEntrega = new CMPanelConfigMore({\r\n onClick: () => this.onActionpesqLocalEntrega(),\r\n });\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (!this.disabledAll) this.disabledAll = this.model.podeeditar !== \"Sim\";\r\n let dataprimeirovencimento = this.valueToDate(this.date);\r\n dataprimeirovencimento.setMonth(dataprimeirovencimento.getMonth() + 1);\r\n this.model.cobranca.dataprimeirovencimento = this.dateToValue(\r\n dataprimeirovencimento\r\n );\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n numero: new CMInputConfig({ form: this, caption: \"#\", disabled: true }),\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data emissão\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n }),\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.model);\r\n\r\n //CMFormGlobaisComponent.showSpinner();\r\n\r\n let id = this.modelConfig.cliente.components[0].innerValue;\r\n if (id > 0){\r\n\r\n this.postSubscribe(\r\n \"/api/prevenda/getcuponsbycliente\",\r\n JSON.stringify({id: this.modelConfig.cliente.components[0].innerValue}), \r\n (ret: any) => {\r\n \r\n if (ret.temCupom === 'Sim'){\r\n document.getElementById('temCupom').style.display = \"block\";\r\n }\r\n if (ret.temCupom === 'Não'){\r\n document.getElementById('temCupom').style.display = \"none\";\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('getcuponsbycliente', error);\r\n });\r\n\r\n //document.getElementById('temCupom').style.display = \"block\";\r\n }\r\n },\r\n onKeyPress: (row) => {\r\n console.log(this.modelConfig);\r\n this.postSubscribe(\r\n '/api/prevenda/GetPesquisaCliente',\r\n JSON.stringify({clientenome: this.model}), \r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('GetPesquisaCliente', error);\r\n }\r\n )\r\n\r\n }\r\n }),\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.model);\r\n },\r\n }),\r\n observacao: new CMInputConfig({ form: this, caption: \"Observação\" }),\r\n vdespesasadicionais: new CMInputConfig({\r\n form: this,\r\n caption: \"Despesas Adicionais\",\r\n dataType: \"double(2)\",\r\n onExit: () => {\r\n let tipodesconto = \"v\";\r\n if (this.model.tipodesconto == \"Percentual\") {\r\n tipodesconto = \"p\";\r\n }\r\n this.calcTotalVenda(tipodesconto);\r\n },\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n qtdeparcelas: new CMInputConfig({\r\n form: this,\r\n onSetValue: (oldValue, newValue) => {\r\n if (this.trimValue(oldValue) !== \"\" && oldValue !== newValue)\r\n this.gerarDuplicatas();\r\n },\r\n caption: \"Condição de pagamento\",\r\n values: FormaPagamentoBrowseComponent.valuesQtdeParcelas(),\r\n }),\r\n vtotalprodutos: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total dos produtos\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.isDescontoPercentual(this.model),\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalVenda(\"v\");\r\n },\r\n }),\r\n pdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => !this.isDescontoPercentual(this.model),\r\n visibleFunc: () => {\r\n return !this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalVenda(\"p\");\r\n },\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Pagamento\",\r\n values: this.valuesTipoPagamento,\r\n }),\r\n descontoaplicato: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto será aplicado\",\r\n onExit: () => {\r\n this.zeraDesconto();\r\n },\r\n values: [\r\n { value: \"NosItens\", text: \"Nos itens\" },\r\n { value: \"NoTotal\", text: \"No total\" },\r\n ],\r\n }),\r\n itens: new CMGridEditConfig({\r\n form: this,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n quantidade: \"1,00\",\r\n vunitario: \"0,00\",\r\n vtotal: \"0,00\",\r\n pdesconto: \"0,00\",\r\n vdesconto: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n estoque: [],\r\n });\r\n },\r\n onRemoveItem: (item) => {\r\n this.onRemoveItem(item);\r\n },\r\n customValidItem: (item) => {\r\n return this.validItem(item);\r\n },\r\n fields: {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"produto.descr\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.itens.current,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.modelConfig.itens.current.vunitario =\r\n ProdutoBrowseComponent.get_vUniCon(produto);\r\n \r\n if (this.modelConfig.itens.current.estoque.length > 0) {\r\n this.modelConfig.itens.current.estoque = [];\r\n }\r\n \r\n if(this.currentProdutoUsaGrade()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n\r\n let grades = this.modelConfig.itens.current.produto.grades;\r\n\r\n grades.forEach((grade) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"datavalidadelote\": \"\",\r\n \"grade\": grade,\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": \"\",\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n }\r\n else if (this.currentProdutoUsaLote()){\r\n console.log(this.modelConfig.itens.current);\r\n this.modelConfig.itens.current.quantidade = \"0,00\";\r\n \r\n let filtro = {\r\n origem: \"pesquisa\",\r\n page: -1,\r\n limit: -1,\r\n filter: {\r\n empresa: this.modelConfig.itens.current.produto.empresa.id,\r\n produto: this.modelConfig.itens.current.produto.id\r\n },\r\n };\r\n \r\n this.postSubscribe(\r\n \"/api/produtoestoque/getbrowseobjects\",\r\n JSON.stringify(filtro), \r\n (ret) => {\r\n let lotes = [];\r\n if (ret[\"data\"]) lotes = ret[\"data\"];\r\n\r\n lotes.forEach((lote) => {\r\n this.modelConfig.itens.current.estoque.push({\r\n \"datavalidadelote\": lote.datavalidadelote,\r\n \"grade\": \"\",\r\n \"id\": CMInputConfig.getRandomInt(1, 9999) * -1,\r\n \"numerolote\": lote.numerolote,\r\n \"quantidade\": \"0,00\"\r\n })\r\n });\r\n\r\n if (lotes.length === 0){\r\n CMFormGlobaisComponent.toastErro(\r\n \"Nenhum lote encontrado.\"\r\n );\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadProdutos', error);\r\n });\r\n }\r\n else{\r\n this.modelConfig.itens.current.quantidade = \"1,00\";\r\n };\r\n this.calcTotalItem();\r\n }\r\n );\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n hintButton: \"Editar\",\r\n iconButton: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n showButtonClear: false,\r\n pesqOnlyFunc: (row) => this.mostraDetalhesQuantidade(row),\r\n pesqFunc: (sender) => {\r\n if (this.mostraDetalhesQuantidade(this.modelConfig.itens.current))\r\n this.modelConfig.itens.extraClick(\r\n new CMGridEditConfigMore({\r\n index: 0,\r\n title: \"Detalhes da Quantidade\",\r\n })\r\n );\r\n },\r\n showButtonFunc: (show, row) => this.mostraDetalhesQuantidade(row),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n }),\r\n vunitario: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor unitário\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItem();\r\n },\r\n hintButton: \"Preço\",\r\n iconButton: \"attach_money\",\r\n dropdownValues: (row) => this.dropdownValuesVUnCom(row),\r\n required: true,\r\n }),\r\n tipodesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de desconto\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n values: [{ value: \"Percentual\" }, { value: \"Valor\" }],\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n }),\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.isDescontoPercentual(row),\r\n }),\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalItem(\"v\");\r\n },\r\n }),\r\n pdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"% de desconto\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => !this.isDescontoPercentual(row),\r\n }),\r\n visibleFunc: () => {\r\n return this.isDescontoItem();\r\n },\r\n onExit: () => {\r\n this.calcTotalItem(\"p\");\r\n },\r\n }),\r\n vtotal: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor total\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n estoque: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onRemoveItem: (item) => {\r\n this.onRemoveItemEstoque(item);\r\n },\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n disabledFunc: (row) => {\r\n if (this.currentProdutoUsaGrade())\r\n return this.getValueObject(row, \"grade.id\") === \"\";\r\n else return false;\r\n },\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"numerolote\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.modelConfig.itens.fields.estoque.current,\r\n this.modelConfig.itens.current.produto.id,\r\n this.modelConfig.itens.fields.estoque.current.grade.id,\r\n undefined,\r\n (lote) => {\r\n this.modelConfig.itens.fields.estoque.current.numerolote = lote.numerolote;\r\n this.modelConfig.itens.fields.estoque.current.datavalidadelote = lote.datavalidadelote;\r\n }\r\n );\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaLote();\r\n },\r\n }),\r\n datavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Validade Lote\",\r\n mask: \"99/99/9999\",\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"datavalidadelote\");\r\n },\r\n requiredFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n visibleFunc: () => {\r\n return this.currentProdutoUsaValidadeLote();\r\n },\r\n }),\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n onExit: () => {\r\n this.calcTotalItemEstoque();\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n\r\n pag: {\r\n cupomdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Cupom de Desconto\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n CupomDescontoBrowseComponent.pesquisa(\r\n \"Não\",\r\n sender,\r\n this.model.pag,\r\n undefined,\r\n (cupom) => {\r\n let msg;\r\n msg = this.cupomValido(cupom);\r\n if (this.trimValue(msg) === \"\") {\r\n this.model.pag.vutilizadocupom = cupom.valor;\r\n this.model.cobranca.vdesconto = cupom.valor;\r\n this.calcValorLiquido();\r\n } else {\r\n this.model.pag.cupomdesconto = \"\";\r\n CMFormGlobaisComponent.showMessageError(msg);\r\n }\r\n }\r\n );\r\n },\r\n onExit: () => {\r\n this.onExitCupomDesconto();\r\n },\r\n }),\r\n vutilizadocupom: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor do cupom\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n },\r\n cobranca: {\r\n vdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Desconto financeiro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n return (\r\n this.valueToInteger(\r\n this.getValueObject(this.model, \"pag.cupomdesconto.id\"),\r\n 0\r\n ) > 0\r\n );\r\n },\r\n onExit: () => {\r\n this.calcValorLiquido();\r\n },\r\n }),\r\n vliquido: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor líquido\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n dataprimeirovencimento: new CMInputConfig({\r\n form: this,\r\n caption: \"Data primeiro vencimento para nova geração\",\r\n mask: \"99/99/9999\",\r\n iconButton: \"refresh\",\r\n hintButton: \"Gerar duplicatas\",\r\n execPesqOnlyOnExit: false,\r\n showButtonFunc: () => !this.disabledAll,\r\n pesqFunc: () => {\r\n this.gerarDuplicatas();\r\n },\r\n }),\r\n duplicatas: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Duplicatas\",\r\n customValidItem: (item) => {\r\n return this.validDuplicata(item);\r\n },\r\n requiredFunc: () => {\r\n return this.model.tipopagamento === \"FormaPagamento\";\r\n },\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Mais detalhes\",\r\n icone: () => {\r\n if (this.disabledAll) return \"visibility\";\r\n else return \"edit\";\r\n },\r\n }),\r\n ],\r\n fields: {\r\n dvenc: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de vencimento\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n valor: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n onExit: () => this.recalcularValorParcelas(),\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) =>\r\n this.getValueObject(row, \"alteradomanualmente\") !== \"Sim\",\r\n }),\r\n required: true,\r\n }),\r\n alteradomanualmente: new CMInputConfig({\r\n form: this,\r\n caption: \"Alterar\",\r\n dataType: \"boolean\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"60px\",\r\n }),\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de pagamento\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"select\",\r\n onGetValue: (row) =>\r\n this.getValueObject(row, \"formapagamento.id\"),\r\n onSetValue: (row, value) => {\r\n this.modelConfig.cobranca.duplicatas.fields.formapagamento.setValueInObject(\r\n row,\r\n \"formapagamento\",\r\n value\r\n );\r\n },\r\n }),\r\n values: FormaPagamentoBrowseComponent.valuesSelect(this.http),\r\n valuesObject: FormaPagamentoBrowseComponent.valuesObjectSelect(),\r\n }),\r\n databaixa: new CMInputConfig({\r\n form: this,\r\n caption: \"Data da Baixa\",\r\n visibleFunc: () => {\r\n return this.model.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n vsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo\",\r\n visibleFunc: () => {\r\n return this.model.podeeditar !== \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn(),\r\n disabled: true,\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n },\r\n }),\r\n },\r\n usaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n }),\r\n armazenaenderecoentrega: new CMInputConfig({\r\n form: this,\r\n caption: \"Salva endereço de entrega como:\",\r\n }),\r\n identificacaoenderecoentrega: new CMInputConfig({\r\n form: this,\r\n maxlength: 30,\r\n requiredFunc: () => this.model.armazenaenderecoentrega == \"Sim\",\r\n }),\r\n enderecoentrega: {\r\n logradouro: new CMInputConfig({\r\n form: this,\r\n caption: \"Logradouro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n numero: new CMInputConfig({\r\n form: this,\r\n caption: \"Número\",\r\n maxlength: 10,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n bairro: new CMInputConfig({\r\n form: this,\r\n caption: \"Bairro\",\r\n maxlength: 60,\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n complemento: new CMInputConfig({\r\n form: this,\r\n caption: \"Complemento\",\r\n maxlength: 60,\r\n }),\r\n estado: new CMInputConfig({\r\n form: this,\r\n caption: \"Estado\",\r\n values: [\r\n { value: \"AC\" },\r\n { value: \"AL\" },\r\n { value: \"AP\" },\r\n { value: \"AM\" },\r\n { value: \"BA\" },\r\n { value: \"CE\" },\r\n { value: \"DF\" },\r\n { value: \"ES\" },\r\n { value: \"GO\" },\r\n { value: \"MA\" },\r\n { value: \"MT\" },\r\n { value: \"MS\" },\r\n { value: \"MG\" },\r\n { value: \"PR\" },\r\n { value: \"PB\" },\r\n { value: \"PA\" },\r\n { value: \"PE\" },\r\n { value: \"PI\" },\r\n { value: \"RJ\" },\r\n { value: \"RN\" },\r\n { value: \"RS\" },\r\n { value: \"RO\" },\r\n { value: \"RR\" },\r\n { value: \"SC\" },\r\n { value: \"SE\" },\r\n { value: \"SP\" },\r\n { value: \"TO\" },\r\n ],\r\n }),\r\n ibge: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Município no IBGE\",\r\n pesqFunc: (sender) => {\r\n MunicipioBrowseComponent.pesquisa(\r\n this.model.enderecoentrega.estado,\r\n sender,\r\n this.model.enderecoentrega,\r\n \"ibge\"\r\n );\r\n },\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n cep: new CMInputConfig({\r\n form: this,\r\n caption: \"CEP\",\r\n mask: \"99999-999\",\r\n requiredFunc: () => this.usaEnderecoEntrega(),\r\n }),\r\n },\r\n };\r\n }\r\n \r\n currentProdutoUsaValidadeLote() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usavalidadelote\"\r\n ) === \"Sim\")\r\n }\r\n\r\n onRemoveItemEstoque(item) {\r\n let itemsEstoque = this.modelConfig.itens.current;\r\n let qtotal = 0;\r\n \r\n itemsEstoque.estoque.forEach((est) => {\r\n if (item !== est){\r\n qtotal += this.valueToFloat(est.quantidade);\r\n }\r\n });\r\n itemsEstoque.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem(this.modelConfig.itens.current);\r\n }\r\n\r\n isDescontoItem() {\r\n return this.model.descontoaplicato === \"NosItens\";\r\n }\r\n\r\n isDescontoPercentual(row) {\r\n let r = false;\r\n if (row) r = row.tipodesconto === \"Percentual\";\r\n return r;\r\n }\r\n\r\n getColumnDescontoTotal(atual, inc) {\r\n if (!this.isDescontoItem()) inc = 0;\r\n return atual + inc;\r\n }\r\n\r\n onRemoveItem(item) {\r\n this.add_vTotalProdutos(this.valueToFloat(item.vtotal, 0), 0);\r\n console.log('this.model.itens ', this.model.itens);\r\n }\r\n\r\n calcTotalItem(tipo = undefined) {\r\n this.calcTotalItem2(this.modelConfig.itens.current, tipo);\r\n }\r\n\r\n calc_vDescontoItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n let vdesconto = (vtotal * this.valueToFloat(item.pdesconto, 0)) / 100;\r\n return this.floatToValue(vdesconto);\r\n }\r\n\r\n calc_pDescontoItem(item) {\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n let vdesconto = this.valueToFloat(item.vdesconto, 0);\r\n let pdesconto = (vdesconto / vtotal) * 100;\r\n return this.floatToValue(pdesconto);\r\n }\r\n\r\n calcTotalItem2(item, tipo) {\r\n let vdesconto = this.calc_vDescontoItem(item);\r\n if (item.vdesconto !== vdesconto) {\r\n if (tipo === \"v\") item.pdesconto = this.calc_pDescontoItem(item);\r\n else item.vdesconto = vdesconto;\r\n }\r\n let vtotal =\r\n this.valueToFloat(item.quantidade, 0) *\r\n this.valueToFloat(item.vunitario, 0);\r\n vtotal = vtotal - this.valueToFloat(item.vdesconto, 0);\r\n this.add_vTotalProdutos(this.valueToFloat(item.vtotal, 0), vtotal);\r\n item.vtotal = this.floatToValue(vtotal);\r\n }\r\n\r\n add_vTotalProdutos(oldValue: number, newValue: number) {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n vtotalprodutos += newValue - oldValue;\r\n this.model.vtotalprodutos = this.floatToValue(vtotalprodutos);\r\n this.calcTotalVenda();\r\n }\r\n\r\n calc_vDescontoTotal() {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n let vdesconto =\r\n (vtotalprodutos * this.valueToFloat(this.model.pdesconto, 0)) / 100;\r\n return this.floatToValue(vdesconto);\r\n }\r\n\r\n calc_pDescontoTotal() {\r\n let vtotalprodutos = this.valueToFloat(this.model.vtotalprodutos, 0);\r\n let vdesconto = this.valueToFloat(this.model.vdesconto, 0);\r\n let pdesconto = (vdesconto / vtotalprodutos) * 100;\r\n return this.floatToValue(pdesconto);\r\n }\r\n\r\n calcTotalVenda(tipo = undefined) {\r\n let vdesconto = this.calc_vDescontoTotal();\r\n if (this.model.vdesconto !== vdesconto) {\r\n if (tipo === \"v\") this.model.pdesconto = this.calc_pDescontoTotal();\r\n else this.model.vdesconto = vdesconto;\r\n }\r\n let vtotal =\r\n this.valueToFloat(this.model.vtotalprodutos, 0) -\r\n this.valueToFloat(this.model.vdesconto, 0) +\r\n this.valueToFloat(this.model.vdespesasadicionais, 0);\r\n this.model.vtotal = this.floatToValue(vtotal);\r\n this.calcValorLiquido();\r\n }\r\n\r\n onExitCupomDesconto() {\r\n if (\r\n this.valueToInteger(\r\n this.getValueObject(this.model, \"pag.cupomdesconto.id\"),\r\n 0\r\n ) <= 0\r\n ) {\r\n this.model.cobranca.vdesconto = 0;\r\n this.model.pag.vutilizadocupom = 0;\r\n this.calcValorLiquido();\r\n }\r\n }\r\n\r\n calcValorLiquido() {\r\n let vliquido =\r\n this.valueToFloat(this.model.vtotal, 0) -\r\n this.valueToFloat(this.model.cobranca.vdesconto, 0);\r\n this.model.cobranca.vliquido = this.floatToValue(vliquido);\r\n }\r\n\r\n validItem(item: any) {\r\n let r: string = \"\";\r\n if (this.valueToFloat(item.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n if (this.valueToFloat(item.quantidade, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n return r;\r\n }\r\n\r\n validDuplicata(duplicata: any) {\r\n let r: string = \"\";\r\n let dvenc = this.valueToDate(duplicata.dvenc);\r\n let data = this.valueToDate(this.model.data);\r\n if (dvenc < data)\r\n r = \"Data de vencimento deve ser maior que a data de emissão\";\r\n return r;\r\n }\r\n\r\n customValid() {\r\n let r = super.customValid();\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.vtotal, 0) <= 0)\r\n r = \"Valor total deve ser maior que zero\";\r\n }\r\n if (r === \"\") {\r\n if (this.valueToFloat(this.model.cobranca.vliquido, 0) < 0)\r\n r = \"Valor líquido deve ser maior ou igual a zero\";\r\n }\r\n if (r === \"\" && this.model.tipopagamento === \"FormaPagamento\") {\r\n let duplicatas = this.model.cobranca.duplicatas;\r\n let vTotalDup: number = 0;\r\n for (let i = 0; i < duplicatas.length; i++)\r\n vTotalDup += this.valueToFloat(duplicatas[i].valor);\r\n let vliquido = this.valueToFloat(this.model.cobranca.vliquido, 0);\r\n if (this.arredondar(vliquido) !== this.arredondar(vTotalDup))\r\n r = \"Valor líquido difere do valor total das duplicatas\";\r\n }\r\n return r;\r\n }\r\n\r\n gerarDuplicatas() {\r\n CMFormGlobaisComponent.showSpinner();\r\n let duplicatas = [];\r\n let numeroParcelas = this.valueToInteger(this.model.qtdeparcelas, 0);\r\n if (numeroParcelas > 0) {\r\n let vliquido = this.valueToFloat(this.model.cobranca.vliquido, 0);\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n let dvenc = this.valueToDate(this.model.cobranca.dataprimeirovencimento);\r\n dvenc.setMonth(dvenc.getMonth() - 1);\r\n for (let i = 0; i < numeroParcelas; i++) {\r\n dvenc.setMonth(dvenc.getMonth() + 1);\r\n duplicatas.push({\r\n id: CMGridEditConfig.newId(),\r\n dvenc: this.dateToValue(dvenc),\r\n valor: this.floatToValue(valorParcela),\r\n formapagamento: this.model.formapagamento,\r\n });\r\n }\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(duplicatas[0].valor);\r\n valor += dif;\r\n duplicatas[0].valor = this.floatToValue(valor);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.modelConfig.cobranca.duplicatas.unSelect();\r\n this.model.cobranca.duplicatas = duplicatas;\r\n CMFormGlobaisComponent.hideSpinner();\r\n }, 500);\r\n }\r\n\r\n recalcularValorParcelas() {\r\n let valorFixo = 0;\r\n let numeroParcelas = 0;\r\n let primeiraDuplicataAutomatica = undefined;\r\n this.model.cobranca.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente == \"Sim\")\r\n valorFixo += this.valueToFloat(duplicata.valor);\r\n else {\r\n if (primeiraDuplicataAutomatica == undefined)\r\n primeiraDuplicataAutomatica = duplicata;\r\n numeroParcelas += 1;\r\n }\r\n });\r\n if (numeroParcelas > 0) {\r\n let vliquido =\r\n this.valueToFloat(this.model.cobranca.vliquido, 0) - valorFixo;\r\n if (vliquido > 0) {\r\n let valorParcela = this.valueToFloat(\r\n this.arredondar(vliquido / numeroParcelas)\r\n );\r\n this.model.cobranca.duplicatas.forEach((duplicata) => {\r\n if (duplicata.alteradomanualmente !== \"Sim\")\r\n duplicata.valor = this.floatToValue(valorParcela);\r\n });\r\n let dif = this.valueToFloat(\r\n this.arredondar(vliquido - valorParcela * numeroParcelas)\r\n );\r\n if (dif !== 0) {\r\n let valor = this.valueToFloat(primeiraDuplicataAutomatica.valor);\r\n valor += dif;\r\n primeiraDuplicataAutomatica.valor = this.floatToValue(valor);\r\n }\r\n }\r\n }\r\n }\r\n\r\n zeraDesconto() {\r\n if (this.isDescontoItem()) {\r\n this.model.vdesconto = \"0,00\";\r\n this.model.pdesconto = \"0,00\";\r\n this.calcTotalVenda();\r\n } else {\r\n this.model.itens.forEach((item) => {\r\n item.vdesconto = \"0,00\";\r\n item.pdesconto = \"0,00\";\r\n this.calcTotalItem2(item, undefined);\r\n });\r\n }\r\n }\r\n\r\n mostraDetalhesQuantidade(row) {\r\n let r = false;\r\n if (row && row.produto) {\r\n r =\r\n row.produto.usagrade1 === \"Sim\" ||\r\n row.produto.usagrade2 === \"Sim\" ||\r\n row.produto.usalote === \"Sim\";\r\n }\r\n return r;\r\n }\r\n\r\n currentProdutoUsaLote() {\r\n return (\r\n this.getValueObject(this.modelConfig.itens.current, \"produto.usalote\") ===\r\n \"Sim\"\r\n );\r\n }\r\n\r\n currentProdutoUsaGrade() {\r\n return (\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade1\"\r\n ) === \"Sim\" ||\r\n this.getValueObject(\r\n this.modelConfig.itens.current,\r\n \"produto.usagrade2\"\r\n ) === \"Sim\"\r\n );\r\n }\r\n\r\n usaEnderecoEntrega() {\r\n return this.model.usaenderecoentrega == \"Sim\";\r\n }\r\n\r\n calcTotalItemEstoque() {\r\n\r\n let item = this.modelConfig.itens.current;\r\n \r\n let qtotal = 0;\r\n\r\n item.estoque.forEach((est) => {\r\n qtotal += this.valueToFloat(est.quantidade);\r\n });\r\n item.quantidade = this.floatToValue(qtotal);\r\n this.calcTotalItem2(item, undefined);\r\n }\r\n\r\n dropdownValuesVUnCom(row) {\r\n let r = [];\r\n if (row && row.produto)\r\n r = ProdutoBrowseComponent.dropdownValuesVUnCom(row.produto);\r\n return r;\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n onActionpesqLocalEntrega() {\r\n const idCliente = this.valueToInteger(this.fieldByName(\"cliente.id\"));\r\n if (idCliente > 0) {\r\n PessoaBrowseComponent.pesquisaEnderecoEntrega(idCliente, (row) => {\r\n this.model.usaenderecoentrega = \"Sim\";\r\n this.model.enderecoentrega.logradouro = row.logradouro;\r\n this.model.enderecoentrega.numero = row.numero;\r\n this.model.enderecoentrega.bairro = row.bairro;\r\n this.model.enderecoentrega.complemento = row.complemento;\r\n this.model.enderecoentrega.estado = row.estado;\r\n if (this.valueToInteger(row.ibge_id) > 0) {\r\n this.model.enderecoentrega.ibge = {\r\n id: row.ibge_id,\r\n estado: row.ibge_estado,\r\n codigouf: row.ibge_codigouf,\r\n municipio: row.ibge_municipio,\r\n codigomunicipio: row.ibge_codigomunicipio,\r\n };\r\n } else this.model.enderecoentrega.ibge = {};\r\n this.model.enderecoentrega.cep = row.cep;\r\n this.model.identificacaoenderecoentrega = row.identificacao;\r\n this.model.armazenaenderecoentrega = \"Sim\";\r\n });\r\n }\r\n }\r\n\r\n cupomValido(cupom) {\r\n let r: string = \"\";\r\n if (cupom) {\r\n if (cupom.datavalidade > 0 && cupom.datavalidade <= this.date)\r\n r = \"Cupom de Desconto vencido\";\r\n if (r && cupom.valor === 0)\r\n r = \"Cupom de Desconto inválido ou já utilizado\";\r\n return r;\r\n }\r\n }\r\n\r\n formAddProd = {\r\n opened: false,\r\n modelConfig: {\r\n quantidade: new CMInputConfig({\r\n form: this,\r\n caption: \"Quantidade\",\r\n dataType: \"double(2)\",\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.formAddProd.model,\r\n \"Ativos\",\r\n undefined,\r\n (produto) => {\r\n this.formAddProd.model.grade = { id: \"0\", descricao: \"\" };\r\n this.formAddProd.model.numerolote = \"\";\r\n }\r\n );\r\n },\r\n }),\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.formAddProd.model,\r\n this.formAddProd.model.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.formAddProd.usaGrade();\r\n },\r\n }),\r\n numerolote: new CMInputConfig({\r\n form: this,\r\n caption: \"Número Lote\",\r\n dataType: \"string\",\r\n maxlength: 20,\r\n disabledFunc: (row) => {\r\n if (this.formAddProd.usaGrade()) {\r\n return this.formAddProd.model.grade.id === \"\";\r\n } else {\r\n return false;\r\n }\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaLote(\r\n sender,\r\n this.formAddProd.model,\r\n this.formAddProd.model.produto.id,\r\n this.formAddProd.model.grade.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.formAddProd.usaLote();\r\n },\r\n }),\r\n },\r\n model: {\r\n quantidade: \"1,00\",\r\n produto: {\r\n id: \"0\",\r\n codigo: \"\",\r\n descr: \"\"\r\n },\r\n grade: {\r\n id: \"0\",\r\n descricao: \"\"\r\n },\r\n numerolote: \"\",\r\n },\r\n\r\n show: () => {\r\n CMFormModalComponent.open(\"formAddProduto\", () => {\r\n this.formAddProd.modelConfig.produto.focus();\r\n });\r\n this.formAddProd.opened = true;\r\n },\r\n\r\n close: () => {\r\n CMFormModalComponent.close(\"formAddProduto\");\r\n this.formAddProd.opened = false;\r\n },\r\n\r\n valid: () => {\r\n if (this.valueToFloat(this.formAddProd.model.quantidade) <= 0) {\r\n this.formAddProd.modelConfig.quantidade.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informada\", \"Quantidade\");\r\n return false;\r\n }\r\n if (this.valueToFloat(this.getValueObject(this.formAddProd.model, 'produto.id'), 0) <= 0) {\r\n this.formAddProd.modelConfig.produto.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informado\", \"Produto\");\r\n return false;\r\n }\r\n if (this.formAddProd.usaGrade()) {\r\n if (this.valueToFloat(this.getValueObject(this.formAddProd.model, 'grade.id'), 0) <= 0) {\r\n this.formAddProd.modelConfig.grade.onClick();\r\n return false;\r\n }\r\n }\r\n if (this.formAddProd.usaLote()) {\r\n if (this.trimValue(this.formAddProd.model.numerolote) == \"\") {\r\n this.formAddProd.modelConfig.numerolote.focus();\r\n CMFormGlobaisComponent.toastErro(\"Não informada\", \"Lote\");\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n\r\n add: () => {\r\n if (this.formAddProd.valid() == true) {\r\n let estoque = [];\r\n if (this.formAddProd.usaGrade() || this.formAddProd.usaLote()) {\r\n estoque = [\r\n {\r\n id: CMGridEditConfig.newId(),\r\n grade: this.formAddProd.model.grade,\r\n numerolote: this.formAddProd.model.numerolote,\r\n quantidade: this.formAddProd.model.quantidade,\r\n },\r\n ];\r\n }\r\n let item: any = {\r\n id: CMGridEditConfig.newId(),\r\n produto: this.formAddProd.model.produto,\r\n quantidade: this.formAddProd.model.quantidade,\r\n vunitario: ProdutoBrowseComponent.get_vUniCon(\r\n this.formAddProd.model.produto\r\n ),\r\n vtotal: \"0,00\",\r\n pdesconto: \"0,00\",\r\n vdesconto: \"0,00\",\r\n tipodesconto: \"Percentual\",\r\n estoque: estoque,\r\n };\r\n this.model.itens.unshift(item);\r\n this.modelConfig.itens.selectFirst(false);\r\n this.calcTotalItem();\r\n this.formAddProd.model.quantidade = \"1,00\";\r\n this.formAddProd.model.produto = { id: \"0\", codigo: \"\", descr: \"\"};\r\n this.formAddProd.model.grade = { id: \"0\", descricao: \"\" };\r\n this.formAddProd.model.numerolote = \"1,00\";\r\n this.formAddProd.modelConfig.produto.focus();\r\n }\r\n },\r\n\r\n usaGrade: () => {\r\n let b = false;\r\n if (\r\n this.formAddProd &&\r\n this.formAddProd.model &&\r\n this.formAddProd.model.produto\r\n ) {\r\n let produto: any = this.formAddProd.model.produto;\r\n b = produto.usagrade1 === \"Sim\" || produto.usagrade2 === \"Sim\";\r\n }\r\n return b;\r\n },\r\n\r\n usaLote: () => {\r\n let b = false;\r\n if (\r\n this.formAddProd &&\r\n this.formAddProd.model &&\r\n this.formAddProd.model.produto\r\n ) {\r\n let produto: any = this.formAddProd.model.produto;\r\n b = produto.usalote === \"Sim\";\r\n }\r\n return b;\r\n },\r\n };\r\n\r\n protected getKeyDownCodes() {\r\n let r = super.getKeyDownCodes();\r\n r.push(13);\r\n return r;\r\n }\r\n\r\n waitCloseGlobalSpinner() {\r\n if ($(\"#globalSpinner\").css(\"display\") !== \"none\") {\r\n setTimeout(() => {\r\n this.waitCloseGlobalSpinner();\r\n }, 200);\r\n } else {\r\n this.formAddProd.add();\r\n }\r\n }\r\n\r\n protected onKeydown(keyCode: number, event: KeyboardEvent) {\r\n super.onKeydown(keyCode, event);\r\n switch (keyCode) {\r\n case 13: // enter\r\n if (this.formAddProd.opened) {\r\n $(\":text\").blur();\r\n setTimeout(() => {\r\n this.waitCloseGlobalSpinner();\r\n }, 200);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","export * from './produto-altera-em-lote-component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormExecComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMFormGlobaisComponent,\r\n CMCheckBoxComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { CESTBrowseComponent, EmpresaPrecoBrowseComponent, FornecedorBrowseComponent, \r\n GradeBrowseComponent, \r\n GrupoDeProdutoBrowseComponent, \r\n IBPTBrowseComponent, \r\n PadraoDeOperacaoBrowseComponent, \r\n ProdutoBrowseComponent, \r\n SubGrupoDeProdutoBrowseComponent } from \"..\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { CMInput } from \"src/app/@cmcore/decorator\";\r\nimport { THIS_EXPR } from \"@angular/compiler/src/output/output_ast\";\r\nimport { element } from \"protractor\";\r\n\r\n@Component({\r\n templateUrl: \"produto-altera-em-lote-component.html\",\r\n})\r\nexport class ProdutoAlteraEmLoteComponent extends CMFormExecComponent {\r\n private sub: any;\r\n private controllerName: string = \"\";\r\n title: string = \"\";\r\n titleDestinatario: string = \"\";\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.sub = this.route.params.subscribe((params) => {\r\n this.title = \"Alterar produtos em lote\";\r\n this.controllerName = \"produto\";\r\n this.setfilterConfig();\r\n\r\n this.getObjectData('empresapreco',\r\n [\r\n {'field': 'empresa', 'value': this.paramEmpresa.idEmpresa},\r\n {'field': 'nome', 'value': this.paramEmpresa.nomePreco1},\r\n ],\r\n object => {\r\n\t\t\t\tthis.filter.filtro.tabelaprecos = object;\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n \r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n clearCampos() {\r\n this.filter.filtro.valoralterarstring = \"\";\r\n this.filter.filtro.valoralterarselect = \"\";\r\n this.filter.filtro.valoralterarnumber = \"\";\r\n this.filter.filtro.valoralterarcest = \"\";\r\n this.filter.filtro.valoralterardata = \"\";\r\n this.filter.filtro.valoralterargrupo = \"\";\r\n this.filter.filtro.valoralteraribpt = \"\";\r\n this.filter.filtro.valoralterarorigem = \"\";\r\n this.filter.filtro.valoralterarpadraodeoperacao = \"\";\r\n this.filter.filtro.valoralterarsubgrupo = \"\";\r\n this.filter.filtro.valoralterartabelaprecos = \"\";\r\n }\r\n\r\n setfilterConfig() {\r\n this.filterConfig = {\r\n filtro: {\r\n tabelaprecos: new CMInputConfig({\r\n form: this,\r\n caption: \"Tabela de Preço\",\r\n pesqFunc: (sender) => {\r\n EmpresaPrecoBrowseComponent.pesquisa(sender, this.filter.filtro, 'tabelaprecos');\r\n },\r\n onExit: () => {\r\n console.log(this.filter.filtro);\r\n }\r\n }),\r\n descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição do produto\",\r\n maxlength: 60,\r\n }),\r\n ativo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos ativos\",\r\n }),\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.filter.filtro);\r\n },\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.filter.filtro, \"grupo\");\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter.filtro,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n ibpt: new CMInputConfig({\r\n form: this,\r\n caption: \"IBPT (NCM)\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n IBPTBrowseComponent.pesquisa2(sender, this.filter.filtro, 'ibpt');\r\n },\r\n }),\r\n \r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n \r\n propriedadenova: new CMInputConfig({\r\n form: this,\r\n caption: 'Propriedade:',\r\n values: [\r\n {'value': \"Preço de Compra\", 'tipo': \"number\"},\r\n {'value': \"Preço de Venda\", 'tipo': \"number\"},\r\n {'value': \"Valor da Última Compra\", 'tipo': \"number\"},\r\n {'value': \"Custos Administrativos\", 'tipo': \"number\"},\r\n {'value': \"Comissão\", 'tipo': \"number\"},\r\n {'value': \"Lucro\", 'tipo': \"number\"},\r\n {'value': \"Juros\", 'tipo': \"number\"},\r\n {'value': \"Outros\", 'tipo': \"number\"},\r\n {'value': \"Impostos\", 'tipo': \"number\"},\r\n {'value': \"Padrão de Operação\", 'tipo': \"number\"},\r\n {'value': \"Unidade\", 'tipo': \"string\"},\r\n {'value': \"Data de Cadastro\", 'tipo': \"data\" },\r\n {'value': \"IBPT(NCM)\", 'tipo': \"string\"},\r\n {'value': \"CEST\", 'tipo': \"string\"},\r\n {'value': \"Origem da Mercadoria\", 'tipo': \"number\"},\r\n {'value': \"Grupo\", 'tipo': \"string\"},\r\n {'value': \"Sub-Grupo\", 'tipo': \"string\"},\r\n {'value': \"Fabricante\", 'tipo': \"string\"},\r\n {'value': \"Status\", 'tipo': \"select\"},\r\n ],\r\n onExit: () => {\r\n this.tipoInput();\r\n this.clearCampos();\r\n }\r\n }),\r\n valoralterarselect: new CMInputConfig({\r\n form: this,\r\n caption: 'Status',\r\n values: [{value: 'Ativo'}, {value: 'Inativo'}]\r\n }),\r\n valoralterarstring: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor a Alterar:',\r\n maxlength: 100,\r\n }),\r\n valoralterarnumber: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor a Alterar:',\r\n maxlength: 100,\r\n dataType: \"double(2)\",\r\n }),\r\n /*valoralterint: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor a Alterar:',\r\n maxlength: 100,\r\n dataType: \"integer\"\r\n }), */\r\n valoralterardata: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor a Alterar:',\r\n maxlength: 100,\r\n mask: \"99/99/9999\",}),\r\n valoralterargrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.filter.filtro, \"valoralterargrupo\");\r\n },\r\n }),\r\n valoralterarsubgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter.filtro,\r\n \"valoralterarsubgrupo\"\r\n );\r\n },\r\n }),\r\n valoralteraribpt: new CMInputConfig({\r\n form: this,\r\n caption: \"IBPT (NCM)\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n IBPTBrowseComponent.pesquisa2(sender, this.filter.filtro, 'valoralteraribpt');\r\n },\r\n }),\r\n valoralterarcest: new CMInputConfig({\r\n form: this,\r\n caption: \"CEST\",\r\n upper: true,\r\n pesqFunc: (sender) => {\r\n CESTBrowseComponent.pesquisa2(sender, this.filter.filtro, 'valoralterarcest');\r\n },\r\n }),\r\n valoralterarpadraodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Padrão de Operação\",\r\n pesqFunc: (sender) => {\r\n PadraoDeOperacaoBrowseComponent.pesquisa2(sender, this.filter.filtro, 'valoralterarpadraodeoperacao');\r\n },\r\n }),\r\n valoralterarorigem: new CMInputConfig({\r\n form: this,\r\n caption: \"Origem da Mercadoria\",\r\n dataType: \"integer\",\r\n maxlength: 100,\r\n iconButton: \"help\",\r\n execPesqOnlyOnExit: false,\r\n pesqFunc: (sender) => {\r\n CMFormGlobaisComponent.showMessage(\r\n \"Origem da Mercadoria\",\r\n '
    ' +\r\n \"

    0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8;

    \" +\r\n \"

    1 - Estrangeira - Importação direta, exceto a indicada no código 6;

    \" +\r\n \"

    2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7;

    \" +\r\n \"

    3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%;

    \" +\r\n \"

    4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes;

    \" +\r\n \"

    5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%;

    \" +\r\n \"

    6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural;

    \" +\r\n \"

    7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural.

    \" +\r\n \"

    8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%

    \" +\r\n \"
    \"\r\n );\r\n },\r\n }),\r\n valoralterartabelaprecos: new CMInputConfig({\r\n form: this,\r\n caption: \"Tabela de Preço\",\r\n pesqFunc: (sender) => {\r\n EmpresaPrecoBrowseComponent.pesquisa(sender, this.filter.filtro, 'valoralterartabelaprecos');\r\n }\r\n }),\r\n },\r\n dados: {\r\n produtos: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n stickyNavBar: true,\r\n fields: {\r\n selecionado: new CMInputConfig({\r\n form: this,\r\n value: \"Sim\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"0px\",\r\n deleteFunc: () => {\r\n \r\n }\r\n }),\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: 'Produto',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"500px\",\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'descr');\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, 'codigo');\r\n }\r\n })\r\n }),\r\n precocompra: new CMInputConfig({\r\n form: this,\r\n caption: 'Preço de Compra',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'precocompra');\r\n },\r\n })\r\n }),\r\n precovenda: new CMInputConfig({\r\n form: this,\r\n caption: 'Preço de Venda',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'precovenda');\r\n },\r\n })\r\n }),\r\n valorultimacompra: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor Última Compra',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'vultimacompra');\r\n },\r\n })\r\n }),\r\n custoadm: new CMInputConfig({\r\n form: this,\r\n caption: '% Custos ADM.',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'custoadm');\r\n },\r\n })\r\n }),\r\n comissao: new CMInputConfig({\r\n form: this,\r\n caption: '% Comissão',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'comissao');\r\n },\r\n })\r\n }),\r\n lucro: new CMInputConfig({\r\n form: this,\r\n caption: '% Lucro',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'lucro');\r\n },\r\n })\r\n }),\r\n juros: new CMInputConfig({\r\n form: this,\r\n caption: '% Juros',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'juros');\r\n },\r\n })\r\n }),\r\n outros: new CMInputConfig({\r\n form: this,\r\n caption: '% Outros',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'outros');\r\n },\r\n })\r\n }),\r\n impostos: new CMInputConfig({\r\n form: this,\r\n caption: '% Impostos',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'impostos');\r\n },\r\n })\r\n }),\r\n padraodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption: 'Padrão de Op.',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'padraodeoperacao');\r\n },\r\n })\r\n }),\r\n un: new CMInputConfig({\r\n form: this,\r\n caption: 'Unidade',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'un');\r\n },\r\n })\r\n }),\r\n datacadastro: new CMInputConfig({\r\n form: this,\r\n caption: 'Data de Cadastro',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'cadastro');\r\n },\r\n })\r\n }),\r\n ncm: new CMInputConfig({\r\n form: this,\r\n caption: 'IBPT(NCM)',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'ibpt');\r\n },\r\n })\r\n }),\r\n cest: new CMInputConfig({\r\n form: this,\r\n caption: 'CEST',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: '100px',\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'cest');\r\n },\r\n })\r\n }),\r\n origem: new CMInputConfig({\r\n form: this,\r\n caption: 'Origem',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'origem');\r\n },\r\n })\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: 'Grupo',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'grupo');\r\n },\r\n })\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: 'Sub-Grupo',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'subgrupo');\r\n },\r\n })\r\n }),\r\n fabricante: new CMInputConfig({\r\n form: this,\r\n caption: 'Fabricante',\r\n disabled: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n width: \"150px\",\r\n tipo: 'input-pesquisa',\r\n getValue: (row) => {\r\n return this.getValueObject(row, 'codigofabricante');\r\n },\r\n })\r\n }),\r\n }\r\n })\r\n },\r\n };\r\n this.filter.apenasprodutoscomsaldo = \"Não\";\r\n this.filter.ativo = \"Não\";\r\n this.filter.dados.produtos = [];\r\n }\r\n\r\n valorAlterarVazio() {\r\n let valido = true;\r\n switch(this.filter.filtro.propriedadenova){\r\n case \"Preço de Compra\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Preço de Venda\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Grupo\": {\r\n if (this.filter.filtro.valoralterargrupo.length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Sub-Grupo\": {\r\n if (this.filter.filtro.valoralterarsubgrupo.length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Fabricante\": {\r\n if (this.filter.filtro.valoralterarstring.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Unidade\": {\r\n if (this.filter.filtro.valoralterarstring.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Data de Cadastro\": {\r\n if (this.filter.filtro.valoralterardata.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Valor da Última Compra\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"IBPT(NCM)\": {\r\n if (this.filter.filtro.valoralteraribpt.length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"CEST\": {\r\n if (this.filter.filtro.valoralterarcest.length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Origem da Mercadoria\": {\r\n if (this.filter.filtro.valoralterarorigem.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n case \"Padrão de Operação\": {\r\n if (this.filter.filtro.valoralterarpadraodeoperacao.length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n\r\n case \"Custos Administrativos\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"Comissão\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"Impostos\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"Outros\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"Juros\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n \r\n case \"Lucro\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0 || this.filter.filtro.valoralterartabelaprecos.length === 0 ) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n let shouldSkip = false;\r\n this.filter.dados.produtos.forEach(v => {\r\n if (shouldSkip) {\r\n return;\r\n }\r\n if (v.selecionado === 'Sim') {\r\n shouldSkip = true;\r\n return;\r\n }\r\n console.log('v: ', v.selecionado);\r\n });\r\n \r\n if (!shouldSkip){\r\n valido = false;\r\n }\r\n\r\n return valido;\r\n }\r\n\r\n checkSelect(prod) {\r\n return prod.selecionado === 'Sim';\r\n }\r\n\r\n innerExec() {\r\n super.innerExec();\r\n console.log(this.filter.filtro)\r\n console.log(this.valorAlterarVazio());\r\n if (this.filter.dados.produtos.length === 0 || !this.valorAlterarVazio()){\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastErro(\r\n \"Ao menos um produto deve possuir um valor a alterar\"\r\n );\r\n }\r\n else{\r\n this.alteraProdutos();\r\n }\r\n }\r\n\r\n tipoTabelaPrecos(){\r\n if (\r\n this.filter.filtro.propriedadenova === 'Preço de Venda' ||\r\n this.filter.filtro.propriedadenova === 'Custos Administrativos' ||\r\n this.filter.filtro.propriedadenova === 'Comissão' ||\r\n this.filter.filtro.propriedadenova === 'Impostos' ||\r\n this.filter.filtro.propriedadenova === 'Outros' ||\r\n this.filter.filtro.propriedadenova === 'Juros' ||\r\n this.filter.filtro.propriedadenova === 'Lucro' ){\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n\r\n tipoInput(){\r\n\r\n if (\r\n this.filter.filtro.propriedadenova === 'Saldo' ||\r\n this.filter.filtro.propriedadenova === 'Preço de Venda' ||\r\n this.filter.filtro.propriedadenova === 'Preço de Compra' ||\r\n this.filter.filtro.propriedadenova === 'Valor da Última Compra' ||\r\n this.filter.filtro.propriedadenova === 'Custos Administrativos' ||\r\n this.filter.filtro.propriedadenova === 'Comissão' ||\r\n this.filter.filtro.propriedadenova === 'Impostos' ||\r\n this.filter.filtro.propriedadenova === 'Outros' ||\r\n this.filter.filtro.propriedadenova === 'Juros' ||\r\n this.filter.filtro.propriedadenova === 'Lucro' ){\r\n return \"number\" \r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Padrão de Operação') {\r\n return \"padraodeoperacao\"\r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Origem da Mercadoria'){\r\n return \"origem\"\r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Fabricante' ||\r\n this.filter.filtro.propriedadenova === 'Unidade' ){\r\n return \"string\" \r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Status'){\r\n return \"select\"\r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'IBPT(NCM)' ){\r\n return \"ibpt\"\r\n };\r\n if (this.filter.filtro.propriedadenova === 'CEST' ){\r\n return \"cest\"\r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Grupo'){\r\n return \"grupo\"\r\n };\r\n if (this.filter.filtro.propriedadenova === 'Sub-Grupo'){\r\n return \"subgrupo\"\r\n };\r\n\r\n if (this.filter.filtro.propriedadenova === 'Data de Cadastro'){\r\n return \"data\" \r\n };\r\n\r\n }\r\n\r\n tipoInputPromo(){\r\n\r\n if (this.filter.filtro.promocao === 'Valor'){\r\n return \"number\" \r\n };\r\n if (this.filter.filtro.promocao === 'Nome'){\r\n return \"string\" \r\n };\r\n\r\n if (this.filter.filtro.promocao === 'Data Inicial' ||\r\n this.filter.filtro.promocao === 'Data Final'\r\n ){\r\n return \"data\" \r\n };\r\n \r\n if (this.filter.filtro.promocao === 'Origem'){\r\n return \"origem\" \r\n };\r\n\r\n }\r\n\r\n alteraProdutos(){\r\n let produtos = [];\r\n this.filter.dados.produtos.forEach((produto) => {\r\n \r\n if (produto.selecionado === 'Sim'){\r\n switch(this.filter.filtro.propriedadenova){\r\n case \"Saldo\": {\r\n produtos.push({\r\n id: produto.id,\r\n saldo: this.filter.filtro.valoralterar\r\n });\r\n\r\n break;\r\n }\r\n case \"Preço de Compra\": {\r\n produtos.push({\r\n id: produto.id,\r\n precocompra: this.filter.filtro.valoralterarnumber\r\n });\r\n break;\r\n }\r\n case \"Preço de Venda\": {\r\n produtos.push({\r\n id: produto.id,\r\n precovenda: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n case \"Grupo\": {\r\n produtos.push({\r\n id: produto.id,\r\n grupo: this.filter.filtro.valoralterargrupo.id\r\n });\r\n break;\r\n }\r\n case \"Sub-Grupo\": {\r\n produtos.push({\r\n id: produto.id,\r\n subgrupo: this.filter.filtro.valoralterarsubgrupo.id\r\n });\r\n break;\r\n }\r\n case \"Fabricante\": {\r\n produtos.push({\r\n id: produto.id,\r\n fabricante: this.filter.filtro.valoralterarstring\r\n });\r\n break;\r\n }\r\n case \"Unidade\": {\r\n produtos.push({\r\n id: produto.id,\r\n unidade: this.filter.filtro.valoralterarstring\r\n });\r\n break;\r\n }\r\n case \"Data de Cadastro\": {\r\n produtos.push({\r\n id: produto.id,\r\n datacadastro: this.filter.filtro.valoralterardata\r\n });\r\n break;\r\n }\r\n case \"Valor da Última Compra\": {\r\n produtos.push({\r\n id: produto.id,\r\n valorultimacompra: this.filter.filtro.valoralterarnumber\r\n });\r\n break;\r\n }\r\n \r\n case \"IBPT(NCM)\": {\r\n produtos.push({\r\n id: produto.id,\r\n ncm: this.filter.filtro.valoralteraribpt.id\r\n });\r\n break;\r\n }\r\n case \"CEST\": {\r\n produtos.push({\r\n id: produto.id,\r\n cest: this.filter.filtro.valoralterarcest.id\r\n });\r\n break;\r\n }\r\n case \"Origem da Mercadoria\": {\r\n produtos.push({\r\n id: produto.id,\r\n origem: this.filter.filtro.valoralterarorigem\r\n })\r\n break;\r\n }\r\n case \"Padrão de Operação\": {\r\n produtos.push({\r\n id: produto.id,\r\n padraodeoperacao: this.filter.filtro.valoralterarpadraodeoperacao.id\r\n });\r\n break;\r\n }\r\n case \"Status\": {\r\n produtos.push({\r\n id: produto.id,\r\n ativo: this.filter.filtro.valoralterarselect\r\n })\r\n }\r\n\r\n case \"Custos Administrativos\": {\r\n produtos.push({\r\n id: produto.id,\r\n custosadm: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n \r\n case \"Comissão\": {\r\n produtos.push({\r\n id: produto.id,\r\n comissao: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n \r\n case \"Impostos\": {\r\n produtos.push({\r\n id: produto.id,\r\n impostos: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n \r\n case \"Outros\": {\r\n produtos.push({\r\n id: produto.id,\r\n outros: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n \r\n case \"Juros\": {\r\n produtos.push({\r\n id: produto.id,\r\n juros: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n \r\n case \"Lucro\": {\r\n produtos.push({\r\n id: produto.id,\r\n lucro: this.filter.filtro.valoralterarnumber,\r\n tabelaprecos: this.filter.filtro.valoralterartabelaprecos.id\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n })\r\n\r\n console.log(produtos);\r\n \r\n this.postSubscribe(\"/api/\" + this.controllerName + \"/AlteraEmLotesProdutos/FuncaoExtra\", \r\n JSON.stringify(produtos),(ret) => {\r\n let produtos = [];\r\n if (ret[\"data\"]) produtos = ret[\"data\"];\r\n this.filter.dados.produtos = produtos;\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.toastSucesso(\"Produtos alterados com sucesso.\");\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadProdutos', error);\r\n }\r\n );\r\n \r\n\r\n console.log(produtos);\r\n\r\n }\r\n\r\n\r\n copiaProdutoFiscal() {\r\n return (\r\n this.paramEmpresa.usaCopiaProduto && this.paramEmpresa.copiaProdutoFiscal\r\n );\r\n }\r\n\r\n\r\n loadProdutos() {\r\n\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n \r\n let filtro = {\r\n origem: \"pesquisa\",\r\n page: -1,\r\n limit: -1,\r\n filter: this.filter.filtro,\r\n };\r\n console.log('filtro ', filtro);\r\n\r\n this.postSubscribe(\r\n \"/api/produto/getbrowseobjects\",\r\n JSON.stringify(filtro), \r\n (ret) => {\r\n let produtos = [];\r\n if (ret[\"data\"]) produtos = ret[\"data\"];\r\n this.filter.dados.produtos = produtos;\r\n if (produtos.length === 0){\r\n CMFormGlobaisComponent.toastErro(\r\n \"Nenhum produto encontrado.\"\r\n );\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('loadProdutos', error);\r\n });\r\n }\r\n }\r\n \r\n}\r\n","export * from \"./produto-detalhes-saldo.component\";\r\n","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvLWRldGFsaGVzLXNhbGRvL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXHByb2R1dG8tZGV0YWxoZXMtc2FsZG9cXHByb2R1dG8tZGV0YWxoZXMtc2FsZG8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvcHJvZHV0by1kZXRhbGhlcy1zYWxkby9wcm9kdXRvLWRldGFsaGVzLXNhbGRvLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvLWRldGFsaGVzLXNhbGRvL3Byb2R1dG8tZGV0YWxoZXMtc2FsZG8uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY21mb3JtLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG59IiwiLmNtZm9ybS1pbm5lciB7XG4gIG1heC13aWR0aDogODAlO1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"./../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"./../../@cmcore/component\";\r\nimport { ProdutoBrowseComponent } from \"./../index\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n@Component({\r\n selector: \"produto-detalhes-saldo\",\r\n templateUrl: \"produto-detalhes-saldo.component.html\",\r\n styleUrls: [\"produto-detalhes-saldo.component.scss\"],\r\n})\r\nexport class ProdutoDetalhesSaldoComponent extends CMFormComponent {\r\n _owner: ProdutoBrowseComponent = undefined;\r\n get owner() {\r\n return this._owner;\r\n }\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n dados = {\r\n usagrade1: \"Não\",\r\n usagrade2: \"Não\",\r\n saldos: [],\r\n };\r\n\r\n config = {\r\n saldos: new CMGridEditConfig(),\r\n };\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.setConfig();\r\n setTimeout(() => {\r\n this.getSaldos();\r\n }, 10);\r\n }\r\n\r\n setConfig() {\r\n this.config.saldos = new CMGridEditConfig({\r\n form: this,\r\n caption: \"Saldos\",\r\n moreActions: [\r\n new CMGridEditConfigMore({\r\n hint: \"Detalhes consignação\",\r\n icone: \"visibility\",\r\n onClick: (row) => this.detalhesConsignacao(row),\r\n visible: (row) => this.valueToFloat(row.saldoconsignacao) > 0,\r\n }),\r\n ],\r\n fields: {\r\n grade1: new CMInputConfig({\r\n form: this,\r\n caption: FuncsGlobais.paramEmpresa.nomeGrade1,\r\n visibleFunc: () => this.dados.usagrade1 == \"Sim\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readOnly: true,\r\n }),\r\n }),\r\n grade2: new CMInputConfig({\r\n form: this,\r\n caption: FuncsGlobais.paramEmpresa.nomeGrade2,\r\n visibleFunc: () => this.dados.usagrade2 == \"Sim\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readOnly: true,\r\n }),\r\n }),\r\n saldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readOnly: true,\r\n }),\r\n }),\r\n saldoconsignacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Saldo em Consignação\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readOnly: true,\r\n }),\r\n }),\r\n },\r\n });\r\n }\r\n\r\n descricaoProduto() {\r\n let r =\r\n this.owner.fieldByName(\"codigo\") +\r\n \" - \" +\r\n this.owner.fieldByName(\"descr\");\r\n return r;\r\n }\r\n\r\n detalhesConsignacao(row) {\r\n console.log('Row: ', row);\r\n let html = \"
    \";\r\n row.detalhesconsignacao.forEach((item) => {\r\n html += `

    \r\n Consignação: ${item.nnf}\r\n Quantidade: ${item.qtde}\r\n Cliente: ${item.nomecliente}\r\n

    \r\n `;\r\n });\r\n html += \"
    \";\r\n CMFormGlobaisComponent.showMessageHtml(html, \"Detalhes da Consignação\");\r\n }\r\n\r\n getSaldos() {\r\n let values = {\r\n id: this.owner.fieldByName(\"id\"),\r\n };\r\n this.postSubscribe(\r\n \"/api/produto/GetSaldo\",\r\n JSON.stringify(values),\r\n (ret) => {\r\n this.dados.saldos = [];\r\n if (ret[\"result\"] === \"ok\") {\r\n Object.assign(this.dados, ret);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"getSaldos\", error);\r\n }\r\n );\r\n }\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from \"./produto-marketplace-edit.component\";\r\nexport * from \"./produto-marketplace-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { ProdutoMarketplaceEditComponent } from \"./produto-marketplace-edit.component\";\r\n\r\n@Component({\r\n selector: \"produto-marketplace-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class ProdutoMarketplaceBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"ProdutoMarketplace\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = ProdutoMarketplaceEditComponent;\r\n this.columns = [\r\n {\r\n field: \"codigo\",\r\n caption: \"Código\",\r\n width: \"200\",\r\n filter: new CMInputConfig({\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n }),\r\n },\r\n { field: \"descr\", caption: \"Descrição\" },\r\n {\r\n field: \"sku\",\r\n caption: \"SKU\",\r\n filterVisible: true,\r\n filter: true,\r\n visible: false,\r\n },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Marketplace -> Produto\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { MarketplaceBrowseComponent } from \"../marketplace\";\r\nimport { ProdutoBrowseComponent } from \"../produto\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"produto-marketplace-edit\",\r\n templateUrl: \"produto-marketplace-edit.component.html\",\r\n})\r\nexport class ProdutoMarketplaceEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_produto\";\r\n }\r\n\r\n getTitle() {\r\n return \"Marketplace -> Produto\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"ProdutoMarketplace\";\r\n this.modelConfig = {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n disabledFunc: () => {\r\n return this.model.grades.length !== 0;\r\n },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.model, \"Ativos\");\r\n },\r\n }),\r\n grades: new CMGridEditConfig({\r\n form: this,\r\n required: true,\r\n caption: \"SKUs\",\r\n fields: {\r\n grade: new CMInputConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n required: true,\r\n pesqOnly: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade.descricao\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisaGrade(\r\n sender,\r\n this.modelConfig.grades.current,\r\n this.model.produto.id\r\n );\r\n },\r\n visibleFunc: () => {\r\n return this.produtoUsaGrade();\r\n },\r\n }),\r\n sku: new CMInputConfig({\r\n form: this,\r\n caption: \"SKU\",\r\n maxlength: 60,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n required: true,\r\n }),\r\n marketplaces: new CMGridEditConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Marketplaces\",\r\n fields: {\r\n marketplace: new CMInputConfig({\r\n form: this,\r\n caption: \"Marketplace\",\r\n required: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"marketplace.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"marketplace.nome\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n MarketplaceBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grades.fields.marketplaces.current\r\n );\r\n },\r\n }),\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n\r\n produtoUsaGrade() {\r\n return (\r\n this.getValueObject(this.model, \"produto.usagrade1\") === \"Sim\" ||\r\n this.getValueObject(this.model, \"produto.usagrade2\") === \"Sim\"\r\n );\r\n }\r\n}\r\n","export * from './produto-relatorios.component';","export default \".cmform-inner {\\n max-width: 80%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvLXJlbGF0b3Jpb3MvQzpcXFNvdXJjZUNvZGVcXEJlc3NhbmlDUlRcXGJlc3NhbmlcXEFjaXJjbmV0XFxBbmd1bGFyOC9zcmNcXGFwcFxcX19yZWN1cnNvc1xccHJvZHV0by1yZWxhdG9yaW9zXFxwcm9kdXRvLXJlbGF0b3Jpb3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3MvcHJvZHV0by1yZWxhdG9yaW9zL3Byb2R1dG8tcmVsYXRvcmlvcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL19fcmVjdXJzb3MvcHJvZHV0by1yZWxhdG9yaW9zL3Byb2R1dG8tcmVsYXRvcmlvcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jbWZvcm0taW5uZXIge1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbn0iLCIuY21mb3JtLWlubmVyIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\n\r\nimport {\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n CMGridEditConfig,\r\n CMInputConfig,\r\n CMGridEditConfigColumn,\r\n CMGridEditConfigMore,\r\n} from \"../../@cmcore/component\";\r\nimport {\r\n NFeBrowseComponent,\r\n} from \"../index\";\r\n@Component({\r\n selector: \"produto-relatorios\",\r\n templateUrl: \"produto-relatorios.component.html\",\r\n styleUrls: [\"produto-relatorios.component.scss\"],\r\n})\r\nexport class ProdutoRelatoriosComponent extends CMFormComponent {\r\n _owner: NFeBrowseComponent = undefined;\r\n\r\n get owner() {\r\n return this._owner;\r\n }\r\n\r\n private static relatoriosCustomizados: any = [];\r\n static isLista = false;\r\n\r\n static addRelatorioCustomizado(item: any){\r\n ProdutoRelatoriosComponent.relatoriosCustomizados.push(item);\r\n }\r\n\r\n static getRelatorioCustomizados(){\r\n return ProdutoRelatoriosComponent.relatoriosCustomizados;\r\n }\r\n\r\n\r\n dados = {\r\n tiporelatorio: \"ProdutoEtiquetaPadrao\",\r\n };\r\n\r\n config = {\r\n tiporelatorio: new CMInputConfig({\r\n form: this,\r\n values: [\r\n {value: \"ProdutoEtiquetaPadrao\", text: \"Etiqueta Padrão\"},\r\n ],\r\n }),\r\n };\r\n\r\n Imprimir(){\r\n \r\n if (this.dados.tiporelatorio === \"ProdutoEtiquetaPadrao\"){\r\n\r\n if (!ProdutoRelatoriosComponent.isLista){\r\n\r\n }\r\n else{\r\n\r\n let pessoa;\r\n //console.log(this.owner.valuesFilters);\r\n \r\n if (this.owner.valuesFilters.hasOwnProperty(\"fornecedor\")){\r\n pessoa = this.owner.valuesFilters.fornecedor.id;\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n \r\n this.showRelat(\r\n \"ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n listaetiqueta: 2,\r\n pessoa,\r\n codigoproduto: this.owner.valuesFilters.codigo,\r\n codigofabricante: this.owner.valuesFilters.codigofabricante,\r\n descricao: this.owner.valuesFilters.descr,\r\n ean: this.owner.valuesFilters.ean\r\n },\r\n \"produto\"\r\n );\r\n }\r\n\r\n }\r\n else{\r\n\r\n if (!ProdutoRelatoriosComponent.isLista){\r\n \r\n }\r\n else {\r\n let pessoa;\r\n //console.log(this.owner.valuesFilters);\r\n \r\n if (this.owner.valuesFilters.hasOwnProperty(\"fornecedor\")){\r\n pessoa = this.owner.valuesFilters.fornecedor.id;\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n \r\n this.showRelat(\r\n \"ImpressaoProdutoEtiquetaCustomizada/FuncaoExtra\",\r\n {\r\n listaetiqueta: 2,\r\n pessoa,\r\n codigoproduto: this.owner.valuesFilters.codigo,\r\n codigofabricante: this.owner.valuesFilters.codigofabricante,\r\n descricao: this.owner.valuesFilters.descr,\r\n ean: this.owner.valuesFilters.ean,\r\n idrelatorio: this.dados.tiporelatorio,\r\n },\r\n \"produto\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n podeCadastrarProduto: boolean = false;\r\n set owner(value) {\r\n this._owner = value;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n console.log('construtor');\r\n this.config.tiporelatorio.values.push.apply(this.config.tiporelatorio.values, ProdutoRelatoriosComponent.relatoriosCustomizados)\r\n }\r\n\r\n\r\n close(formName) {\r\n if (this.owner) this.owner.beforeComponent = undefined;\r\n CMFormModalComponent.close(formName);\r\n }\r\n}\r\n","export * from './produto-edit.component';\r\nexport * from './produto-browse.component';","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\nimport { CMFormComponent } from \"../../@cmcore/component/cmform/cmform.component\";\r\nimport { FornecedorBrowseComponent } from \"../fornecedor\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { ProdutoDetalhesSaldoComponent } from \"../produto-detalhes-saldo\";\r\nimport { ProdutoRelatoriosComponent } from \"../produto-relatorios\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n CMInputConfig,\r\n CMInputComponent,\r\n CMFormModalComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { ProdutoEditComponent } from \"./produto-edit.component\";\r\n\r\n@Component({\r\n selector: \"produto-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class ProdutoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"produto\";\r\n this.fixedFooterFormEdit = false;\r\n this.showPrintButton = true;\r\n this.buttonsExtra = 3;\r\n this.formEditComponent = ProdutoEditComponent;\r\n this.columns = [\r\n {\r\n field: \"codigo\",\r\n caption: \"Código\",\r\n filter: new CMInputConfig({\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n }),\r\n },\r\n {\r\n field: \"descr\",\r\n caption: \"Descrição\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"ean\",\r\n caption: \"EAN\",\r\n filter: new CMInputConfig({\r\n maxlength: 14,\r\n }),\r\n },\r\n {\r\n field: \"codigofabricante\",\r\n caption: \"Código do Fabricante\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n {\r\n field: \"saldo\",\r\n caption: \"Saldo\",\r\n icon:\r\n FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel1\"\r\n ? undefined\r\n : \"list\",\r\n iconHint: \"Detalhes do Saldo\",\r\n textAlign: \"right\",\r\n iconClick: (item, column) => this.detalhesSaldo(item, column),\r\n },\r\n {\r\n field: \"fornecedor\",\r\n caption: \"Fornecedor\",\r\n filterField: \"fornecedor.id\",\r\n filterValue: \"fornecedor.codigo\",\r\n fieldBottom: \"fornecedor.nome\",\r\n visible: false,\r\n filter: new CMInputConfig({\r\n dataType: \"integer\",\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.valuesFilters);\r\n },\r\n }),\r\n },\r\n {\r\n field: \"ativo\",\r\n caption: \"Status\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Ativos\" },\r\n { value: \"Inativos\" },\r\n { value: \"Todos\" },\r\n ],\r\n }),\r\n value: \"Ativos\",\r\n },\r\n ];\r\n if (ProdutoRelatoriosComponent.getRelatorioCustomizados().length === 0){\r\n this.getRelatoriosCustomizados();\r\n }\r\n console.log('Relatrios: ', ProdutoRelatoriosComponent.getRelatorioCustomizados());\r\n }\r\n\r\n getRelatoriosCustomizados(){\r\n this.postSubscribeT>(\r\n \"/api/produto/GetRelatoriosCustomizados\",\r\n JSON.stringify({}),\r\n (result) => {\r\n result.forEach(element => {\r\n if (element['tipo'] === 'EtiquetaProduto'){\r\n ProdutoRelatoriosComponent.addRelatorioCustomizado({value: element['id'], text: element['descricao']});\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n getTitle() {\r\n return \"Produto\";\r\n }\r\n\r\n loadDireitoButtonExtra(index: number) {\r\n if (index === 0) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"PrintPadraoOperacao\");\r\n } else if (index === 1 || index === 2) {\r\n this.getDireitosMenuBrowseButtonsExtra(index, \"PrintListagemProdutos\");\r\n }\r\n }\r\n\r\n buttonsExtraVisible(index: number) {\r\n let r: boolean = super.buttonsExtraVisible(index);\r\n if (r) {\r\n let isCurrent: boolean = false;\r\n if (this.grid) {\r\n isCurrent = this.grid.isCurrent;\r\n }\r\n if (index === 0 || index === 1) r = isCurrent;\r\n }\r\n return r;\r\n }\r\n\r\n buttonsExtraIcon(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"poll\";\r\n else if (index === 1) r = \"shopping_basket\";\r\n else if (index === 2) r = \"print\";\r\n return r;\r\n }\r\n\r\n buttonsExtraHint(index: number) {\r\n let r: string = \"\";\r\n if (index === 0) r = \"Imprime Padrão de Operação\";\r\n else if (index === 1) r = \"Imprime Listagem de Produto\";\r\n else if (index === 2) r = \"Imprime Etiquetas com base em lista de produtos por filtro\";\r\n return r;\r\n }\r\n \r\n buttonsExtraPosicao(index: number) {\r\n let r: string = super.buttonsExtraPosicao(index);\r\n if (index === 2) r = \"grid\";\r\n return r;\r\n }\r\n\r\n buttonsExtraClick(index: number) {\r\n if (index === 0) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"PrintPadraoOperacao/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n } else if (index === 1) {\r\n let data = { id: this.grid.fieldByName(this.fieldNameId()) };\r\n data = this.getDataPrint(data);\r\n this.showRelat(\r\n \"PrintListagemProdutos/FuncaoExtra\",\r\n data,\r\n this.controllerName\r\n );\r\n } else if (index === 2) {\r\n\r\n let pessoa;\r\n //console.log(this.owner.valuesFilters);\r\n\r\n if (this.valuesFilters.hasOwnProperty(\"fornecedor\")){\r\n pessoa = this.valuesFilters.fornecedor.id;\r\n console.log('tilro ', pessoa);\r\n }\r\n else {\r\n pessoa = 0;\r\n }\r\n \r\n if (ProdutoRelatoriosComponent.getRelatorioCustomizados().length <= 1 ){\r\n this.showRelat(\r\n \"ImprimeEtiquetas/FuncaoExtra\",\r\n {\r\n listaetiqueta: 2,\r\n pessoa,\r\n codigoproduto: this.valuesFilters.codigo,\r\n codigofabricante: this.valuesFilters.codigofabricante,\r\n descricao: this.valuesFilters.descr,\r\n ean: this.valuesFilters.ean\r\n },\r\n \"produto\"\r\n );\r\n } else {\r\n ProdutoRelatoriosComponent.isLista = true;\r\n this.openFormRelatoriosNFeRecebimento();\r\n }\r\n \r\n /*\r\n this.beforeComponent = ProdutoAcoesComponent;\r\n\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formAcoesProdutoImprimirEtiquetas\");\r\n }, 100);*/\r\n }\r\n }\r\n\r\n \r\n openFormRelatoriosNFeRecebimento() {\r\n this.beforeComponent = ProdutoRelatoriosComponent;\r\n setTimeout(() => {\r\n CMFormModalComponent.open(\"formRelatoriosProduto\");\r\n }, 100);\r\n }\r\n\r\n detalhesSaldo(item, column) {\r\n this.beforeComponent = ProdutoDetalhesSaldoComponent;\r\n CMFormModalComponent.open(\"formDetalhesSaldo\");\r\n }\r\n\r\n static dropdownValuesVUnCom(produto) {\r\n let r = [];\r\n if (produto && produto.precos) {\r\n produto.precos.forEach((preco) => {\r\n if (CMInputConfig.valueToFloat(preco.vuncom) > 0) {\r\n r.push({\r\n text: preco.empresapreco.nome + \": \" + preco.vuncom,\r\n value: preco.vuncom,\r\n });\r\n }\r\n });\r\n }\r\n if (produto && produto.precospromocao) {\r\n produto.precospromocao.forEach((preco) => {\r\n if (CMInputConfig.valueToFloat(preco.vuncom) > 0) {\r\n if (\r\n this.valueToDate(preco.datainicio) <=\r\n this.valueToDate(CMFormComponent.date()) &&\r\n this.valueToDate(preco.datatermino) >=\r\n this.valueToDate(CMFormComponent.date())\r\n ) {\r\n r.push({\r\n text: preco.nome + \": \" + preco.vuncom,\r\n value: preco.vuncom,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n return r;\r\n }\r\n\r\n static get_vUniCon(produto) {\r\n let r = \"0,00\";\r\n if (produto) {\r\n if (produto.precos) {\r\n if (produto.precos.length > 0) r = produto.precos[0].vuncom;\r\n }\r\n if (produto.precospromocao) {\r\n for (let index = 0; index < produto.precospromocao.length; index++) {\r\n const preco = produto.precospromocao[index];\r\n if (\r\n this.valueToDate(preco.datainicio) <=\r\n this.valueToDate(CMFormComponent.date()) &&\r\n this.valueToDate(preco.datatermino) >=\r\n this.valueToDate(CMFormComponent.date())\r\n ) {\r\n r = preco.vuncom;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n ativo: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"produto\",\r\n \"Pesquisa de Produtos\",\r\n [\r\n {\r\n field: \"codigo\",\r\n caption: \"Código\",\r\n filter: new CMInputConfig({\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n }),\r\n },\r\n { field: \"descr\", caption: \"Descrição\", filter: true },\r\n {\r\n field: \"ean\",\r\n caption: \"EAN\",\r\n filter: new CMInputConfig({\r\n maxlength: 14,\r\n }),\r\n },\r\n {\r\n field: \"codigofabricante\",\r\n caption: \"Código do Fabricante\",\r\n filter: new CMInputConfig({\r\n maxlength: 60,\r\n }),\r\n },\r\n { field: \"saldo\", caption: \"Saldo\" },\r\n { field: \"observacao\", caption: \"Observação\" },\r\n {\r\n field: \"ativo\",\r\n caption: \"Status\",\r\n dataType: \"select\",\r\n filter: new CMInputConfig({\r\n values: [\r\n { value: \"Ativos\" },\r\n { value: \"Inativos\" },\r\n { value: \"Todos\" },\r\n ],\r\n }),\r\n value: ativo,\r\n },\r\n ],\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n onAfterSelect,\r\n false,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n [\"CodigoFabricante\", \"EAN\"]\r\n );\r\n }\r\n }\r\n\r\n static pesquisaGrade(\r\n sender: any,\r\n target: any,\r\n produto: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (targetProp == undefined) targetProp = \"grade\";\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"produtograde\",\r\n \"Pesquisa de Grade\",\r\n [\r\n {\r\n field: \"$idproduto\",\r\n caption: \"Produto\",\r\n filter: true,\r\n filterVisible: false,\r\n visible: false,\r\n value: produto,\r\n },\r\n { field: \"descricao\", caption: \"Grade\", filter: true },\r\n { field: \"saldo\", caption: \"Saldo\" },\r\n ],\r\n target,\r\n targetProp,\r\n undefined,\r\n onAfterSelect\r\n );\r\n }\r\n }\r\n\r\n \r\n static pesquisaLoteOnSelect(\r\n sender: any,\r\n target: any,\r\n produto: string,\r\n grade: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (targetProp == undefined) targetProp = \"numerolote\";\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisaOnSelect(\r\n sender,\r\n \"ProdutoEstoque\",\r\n \"Pesquisa de Lote\",\r\n [\r\n {\r\n field: \"$idproduto\",\r\n caption: \"Produto\",\r\n filter: true,\r\n filterVisible: false,\r\n visible: false,\r\n value: produto,\r\n },\r\n {\r\n field: \"$idgrade\",\r\n caption: \"Grade\",\r\n filter: true,\r\n filterVisible: false,\r\n visible: false,\r\n value: grade,\r\n },\r\n { field: \"numerolote\", caption: \"Número do Lote\", filter: true },\r\n { field: \"datavalidadelote\", caption: \"Data de Validade\" },\r\n { field: \"saldo\", caption: \"Saldo\" },\r\n ],\r\n target,\r\n targetProp,\r\n \"numerolote\",\r\n onAfterSelect,\r\n false,\r\n undefined,\r\n undefined,\r\n (row, targetObj, targetProp, field, onAfterSelect, fieldInteger) => {\r\n if (sender === undefined) {\r\n targetObj[targetProp] = row[field];\r\n } else {\r\n let input: CMInputComponent = sender;\r\n targetObj[targetProp] = input.value;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n \r\n static pesquisaLote(\r\n sender: any,\r\n target: any,\r\n produto: string,\r\n grade: string,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (targetProp == undefined) targetProp = \"numerolote\";\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"ProdutoEstoque\",\r\n \"Pesquisa de Lote\",\r\n [\r\n {\r\n field: \"$idproduto\",\r\n caption: \"Produto\",\r\n filter: true,\r\n filterVisible: false,\r\n visible: false,\r\n value: produto,\r\n },\r\n {\r\n field: \"$idgrade\",\r\n caption: \"Grade\",\r\n filter: true,\r\n filterVisible: false,\r\n visible: false,\r\n value: grade,\r\n },\r\n { field: \"numerolote\", caption: \"Número do Lote\", filter: true },\r\n { field: \"datavalidadelote\", caption: \"Data de Validade\" },\r\n { field: \"saldo\", caption: \"Saldo\" },\r\n ],\r\n target,\r\n targetProp,\r\n undefined,\r\n onAfterSelect\r\n );\r\n }\r\n }\r\n}\r\n","export default \".operacao-preco {\\n float: left;\\n margin-top: 30px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXHByb2R1dG9cXHByb2R1dG8tZWRpdC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvL3Byb2R1dG8tZWRpdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy9wcm9kdXRvL3Byb2R1dG8tZWRpdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5vcGVyYWNhby1wcmVjbyB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxufSIsIi5vcGVyYWNhby1wcmVjbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufSJdfQ== */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMListCheckBoxConfig,\r\n CMGridComponent,\r\n} from \"./../../@cmcore/component\";\r\n\r\nimport {\r\n PadraoDeOperacaoBrowseComponent,\r\n CESTBrowseComponent,\r\n GradeBrowseComponent,\r\n IBPTBrowseComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n ProdutoBrowseComponent,\r\n} from \"./../index\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\nimport { PessoaBrowseComponent } from \"../pessoa\";\r\n\r\n@Component({\r\n selector: \"produto-edit\",\r\n templateUrl: \"produto-edit.component.html\",\r\n styleUrls: [\"produto-edit.component.scss\"],\r\n})\r\nexport class ProdutoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_codigo\";\r\n }\r\n\r\n getTitle() {\r\n return \"Produto - \" + this.fieldByName(\"descr\");\r\n }\r\n\r\n podeVisualizarInformacoesFornecedores: boolean = false;\r\n podeVisualizarFormacaoPrecoVenda: boolean = false;\r\n adicionouNovaGrade: boolean = false;\r\n\r\n\r\n gradestamanhos = [];\r\n gradescores = [];\r\n gradesconfig = [];\r\n\r\n configGrades = {\r\n adicionanovotamanho: new CMInputConfig({\r\n form: this,\r\n caption: \"Adicionar novo tamanho\",\r\n maxlength: 60,\r\n addFunc: () => {\r\n if ((this.dadosGrades.adicionanovotamanho !== \"\") && !(this.gradeExiste(this.dadosGrades.adicionanovotamanho))) {\r\n this.saveNovaGrade(GradeBrowseComponent, this.dadosGrades.adicionanovotamanho, \"1\");\r\n this.dadosGrades.adicionanovotamanho = \"\";\r\n }\r\n },\r\n }),\r\n adicionanovacor: new CMInputConfig({\r\n form: this,\r\n caption: \"Adicionar nova cor\",\r\n maxlength: 60,\r\n addFunc: () => {\r\n if ((this.dadosGrades.adicionanovacor !== \"\") && !(this.gradeExiste(this.dadosGrades.adicionanovacor))) {\r\n this.saveNovaGrade(GradeBrowseComponent, this.dadosGrades.adicionanovacor, \"2\");\r\n this.dadosGrades.adicionanovacor = \"\";\r\n }\r\n },\r\n }),\r\n }\r\n\r\n dadosGrades = {\r\n adicionanovotamanho: \"\",\r\n adicionanovacor: \"\"\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"produto\";\r\n this.setModelConfig();\r\n this.getDireitos(\r\n this.controllerName,\r\n \"Extra\",\r\n \"PodeVisualizarInformacoesFornecedores\",\r\n (data) => {\r\n this.podeVisualizarInformacoesFornecedores =\r\n data[\"Executar\"] === \"true\";\r\n }\r\n );\r\n this.getDireitos(\r\n this.controllerName,\r\n \"Extra\",\r\n \"PodeVisualizarFormacaoPrecoVenda\",\r\n (data) => {\r\n this.podeVisualizarFormacaoPrecoVenda = data[\"Executar\"] === \"true\";\r\n }\r\n );\r\n if(GradeBrowseComponent.getGrades().length === 0) {\r\n GradeBrowseComponent.carregaGrades(this.http, \"1\", (dados) => {\r\n dados.forEach(element => {\r\n if((element['indice'] === \"1\") && (element['codigo'] !== \"GRA1_ND\")){\r\n this.gradestamanhos.push(element);\r\n }else if((element['indice'] === \"2\") && (element['codigo'] !== \"GRA2_ND\")){\r\n this.gradescores.push(element);\r\n }\r\n });\r\n console.log('gradestamanhos: ', this.gradestamanhos);\r\n console.log('gradescores: ', this.gradescores);\r\n });\r\n this.adicionouNovaGrade = false;\r\n }\r\n else {\r\n console.log(GradeBrowseComponent.getGrades());\r\n GradeBrowseComponent.getGrades().forEach(element => {\r\n if(element['indice'] === \"1\"){\r\n this.gradestamanhos.push(element);\r\n }\r\n if(element['indice'] === \"2\"){\r\n this.gradescores.push(element);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n required: true,\r\n disabledFunc: () =>\r\n this.usaCopiaProduto() || this.codigoProdutoSequencial(),\r\n }),\r\n codigofabricante: new CMInputConfig({\r\n form: this,\r\n caption: \"Código do Fabricante\",\r\n maxlength: 60,\r\n disabledFunc: () => this.usaCopiaProduto(),\r\n }),\r\n ean: new CMInputConfig({\r\n form: this,\r\n caption: \"EAN\",\r\n maxlength: 14,\r\n disabledFunc: () => this.usaCopiaProduto(),\r\n }),\r\n descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n maxlength: 60,\r\n required: true,\r\n disabledFunc: () => this.usaCopiaProduto(),\r\n }),\r\n un: new CMInputConfig({\r\n form: this,\r\n caption: \"Un. Medida\",\r\n maxlength: 6,\r\n required: true,\r\n disabledFunc: () => this.usaCopiaProduto(),\r\n }),\r\n cadastro: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de cadastro\",\r\n mask: \"99/99/9999\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n dataultimacompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Última Compra\",\r\n mask: \"99/99/9999\",\r\n }),\r\n vultimacompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor Última Compra\",\r\n dataType: \"boolean(2)\",\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n maxlength: 40,\r\n }),\r\n ativo: new CMInputConfig({\r\n form: this,\r\n caption: \"Ativo\",\r\n maxlength: 40,\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.model, \"grupo\");\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n precocompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço de custo na entrada\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpAll();\r\n },\r\n }),\r\n precocompra2: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço de custo na entrada\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n atualizaprecocompra: new CMInputConfig({\r\n form: this,\r\n caption: \"Atualiza preço de compra e custo ao salvar NFe de entrada\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n }),\r\n precos: new CMGridEditConfig({\r\n fields: {\r\n empresapreco: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n getValue: (row) => this.getValueObject(row, \"empresapreco.nome\"),\r\n }),\r\n }),\r\n precovendacalculado: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço de Venda Calculado\",\r\n dataType: \"double(2)\",\r\n disabled: true,\r\n }),\r\n comissao: new CMInputConfig({\r\n form: this,\r\n caption: \"% Comissão\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n custoadm: new CMInputConfig({\r\n form: this,\r\n caption: \"% Custos Administrativos\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n lucro: new CMInputConfig({\r\n form: this,\r\n caption: \"% Lucro\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n juros: new CMInputConfig({\r\n form: this,\r\n caption: \"% Juros\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n outros: new CMInputConfig({\r\n form: this,\r\n caption: \"% Outros\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n impostos: new CMInputConfig({\r\n form: this,\r\n caption: \"% Impostos\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onExit: () => {\r\n this.calculaMarkUpCurrent();\r\n },\r\n }),\r\n markup: new CMInputConfig({\r\n form: this,\r\n caption: \"MarkUp Calculado\",\r\n dataType: \"double(4)\",\r\n disabled: true,\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço de venda\",\r\n dataType: \"double(2)\",\r\n disabledFunc: () => {\r\n if (this.copiaProdutoPreco()) return true;\r\n else if (this.atualiza_vUnCom(this.modelConfig.precos.current))\r\n return true;\r\n else return false;\r\n },\r\n }),\r\n atuvuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Ao alterar o custo:\",\r\n values: [\r\n { value: \"Sim\", text: \"Altera Margem\" },\r\n { value: \"Não\", text: \"Altera Preço de Venda\" },\r\n ],\r\n disabledFunc: () => this.copiaProdutoPreco(),\r\n onChange: () => {\r\n this.calculaPrecoVendaCurrent();\r\n },\r\n }),\r\n },\r\n }),\r\n fiscal: {\r\n padraodeoperacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Padrão de Operação\",\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n PadraoDeOperacaoBrowseComponent.pesquisa(sender, this.model.fiscal);\r\n },\r\n }),\r\n ibpt: new CMInputConfig({\r\n form: this,\r\n caption: \"IBPT (NCM)\",\r\n required: true,\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n IBPTBrowseComponent.pesquisa(sender, this.model.fiscal);\r\n },\r\n }),\r\n cest: new CMInputConfig({\r\n form: this,\r\n caption: \"CEST\",\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n let ncm: string = \"\";\r\n if (this.model.fiscal && this.model.fiscal.ibpt)\r\n ncm = this.model.fiscal.ibpt.codigo;\r\n CESTBrowseComponent.pesquisa(sender, this.model.fiscal, ncm);\r\n },\r\n }),\r\n origem: new CMInputConfig({\r\n form: this,\r\n caption: \"Origem da Mercadoria\",\r\n dataType: \"integer\",\r\n iconButton: \"help\",\r\n execPesqOnlyOnExit: false,\r\n disabledFunc: () => this.copiaProdutoFiscal(),\r\n pesqFunc: (sender) => {\r\n CMFormGlobaisComponent.showMessage(\r\n \"Origem da Mercadoria\",\r\n '
    ' +\r\n \"

    0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8;

    \" +\r\n \"

    1 - Estrangeira - Importação direta, exceto a indicada no código 6;

    \" +\r\n \"

    2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7;

    \" +\r\n \"

    3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%;

    \" +\r\n \"

    4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes;

    \" +\r\n \"

    5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%;

    \" +\r\n \"

    6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural;

    \" +\r\n \"

    7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural.

    \" +\r\n \"

    8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%

    \" +\r\n \"
    \"\r\n );\r\n },\r\n }),\r\n },\r\n gradestamanhos: new CMListCheckBoxConfig({\r\n form: this,\r\n listFunc: () => {\r\n return this.gradestamanhos;\r\n },\r\n propValue: \"codigo\",\r\n columns: 1,\r\n striping: true,\r\n required: false,\r\n onGetValue: (nodeItem, nodeValue) => {\r\n return [];\r\n },\r\n onUnSelect: (item) => {\r\n let indexOfObject = this.gradesconfig.findIndex(object =>{\r\n return object.id === item.id;\r\n });\r\n if (indexOfObject > -1) this.gradesconfig.splice(indexOfObject, 1);\r\n },\r\n onSelect: (item) => {\r\n this.gradesconfig.push({\r\n id: item.id,\r\n codigo: item.codigo,\r\n indice: item.indice,\r\n });\r\n },\r\n \r\n }),\r\n gradescores: new CMListCheckBoxConfig({\r\n form: this,\r\n listFunc: () => {\r\n return this.gradescores;\r\n },\r\n propValue: \"codigo\",\r\n columns: 1,\r\n striping: true,\r\n required: false,\r\n onGetValue: (nodeItem, nodeValue) => {\r\n return [];\r\n },\r\n onUnSelect: (item) => {\r\n let indexOfObject = this.gradesconfig.findIndex(object =>{\r\n return object.id === item.id;\r\n });\r\n if (indexOfObject > -1) this.gradesconfig.splice(indexOfObject, 1);\r\n },\r\n onSelect: (item) => {\r\n this.gradesconfig.push(item);\r\n },\r\n }),\r\n usagrade1: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla \" + this.paramEmpresa.nomeGrade1,\r\n disabledFunc: () => this.usouGrade(1) || this.copiaProdutoGrade(),\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaGrade1;\r\n },\r\n onExit: () => {\r\n console.log(this.model);\r\n }\r\n }),\r\n usagrade2: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla \" + this.paramEmpresa.nomeGrade2,\r\n disabledFunc: () => this.usouGrade(2) || this.copiaProdutoGrade(),\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaGrade2;\r\n },\r\n onExit: () => {\r\n console.log(this.model);\r\n }\r\n }),\r\n usalote: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla lote\",\r\n disabledFunc: () => this.model.usoulote == \"Sim\",\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaLote;\r\n },\r\n }),\r\n usavalidadelote: new CMInputConfig({\r\n form: this,\r\n caption: \"Controla validade do lote\",\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaLote && this.model.usalote == \"Sim\";\r\n },\r\n }),\r\n grades: new CMGridEditConfig({\r\n form: this,\r\n caption: \"Grade\",\r\n requiredFunc: () => this.usaGrade(),\r\n disabledFunc: () => this.copiaProdutoGrade(),\r\n onAllowRemoveItemCallback: (callback, current) =>\r\n this.onAllowRemoveGrade(callback, current),\r\n fields: {\r\n selecionado: new CMInputConfig({\r\n form: this,\r\n value: \"Sim\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"checkbox\",\r\n width: \"0px\",\r\n deleteFunc: () => {\r\n\r\n }\r\n }),\r\n }),\r\n grade1: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: this.paramEmpresa.nomeGrade1,\r\n upper: true,\r\n visibleFunc: () => {\r\n return this.model.usagrade1 == \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade1.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) =>\r\n GradeBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grades.grid.current,\r\n \"1\"\r\n ),\r\n }),\r\n grade2: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: this.paramEmpresa.nomeGrade2,\r\n upper: true,\r\n visibleFunc: () => {\r\n return this.model.usagrade2 == \"Sim\";\r\n },\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"grade2.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) =>\r\n GradeBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.grades.grid.current,\r\n \"2\"\r\n ),\r\n }),\r\n },\r\n }),\r\n fornecedores: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n taxaconversao: \"1,00\",\r\n });\r\n },\r\n disabledFunc: () => this.copiaProdutoFornecedor(),\r\n caption: \"Fornecedores\",\r\n fields: {\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Fornecedor\",\r\n upper: true,\r\n gridConfig: new CMGridEditConfigColumn({\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"fornecedor.codigo\");\r\n },\r\n getBottomLabelColumn: (row) => {\r\n return this.getValueObject(row, \"fornecedor.nome\");\r\n },\r\n }),\r\n pesqFunc: (sender) =>\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.fornecedores.grid.current,\r\n \"Fornecedor\",\r\n \"fornecedor\"\r\n ),\r\n }),\r\n codigonofornecedor: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Código no fornecedor\",\r\n maxlength: 60,\r\n upper: true,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n taxaconversao: new CMInputConfig({\r\n form: this,\r\n caption: \"Taxa Conversão para Unidade\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação da Taxa de Conversão\",\r\n maxlength: 100,\r\n gridConfig: new CMGridEditConfigColumn(),\r\n }),\r\n },\r\n }),\r\n precospromocao: new CMGridEditConfig({\r\n form: this,\r\n required: false,\r\n onNewItem: (model) => {\r\n Object.assign(model, {\r\n vuncom: \"0,00\",\r\n origem: \"Produto\",\r\n });\r\n },\r\n disabledFunc: () => this.copiaProdutoFornecedor(),\r\n caption: \"Preços de Promoção\",\r\n fields: {\r\n nome: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Nome\",\r\n maxlength: 10,\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.podeEditarPrecoPromocao(row),\r\n }),\r\n }),\r\n datainicio: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data de Início\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.podeEditarPrecoPromocao(row),\r\n }),\r\n }),\r\n datatermino: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data de Término\",\r\n mask: \"99/99/9999\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.podeEditarPrecoPromocao(row),\r\n }),\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Valor\",\r\n dataType: \"double(2)\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n disabledFunc: (row) => this.podeEditarPrecoPromocao(row),\r\n }),\r\n }),\r\n origem: new CMInputConfig({\r\n form: this,\r\n caption: \"Origem\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n readOnly: true,\r\n }),\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n gradeExiste(codigo: any) {\r\n let result = false;\r\n this.gradestamanhos.forEach((item) => {\r\n if (item.codigo === codigo) {\r\n result = true; \r\n }\r\n })\r\n this.gradescores.forEach((item) => {\r\n if (item.codigo === codigo){\r\n result = true; \r\n }\r\n })\r\n return result;\r\n }\r\n\r\n saveNovaGrade(formBrowse, codigo, indice) {\r\n\r\n console.log('CODIGO: ',codigo);\r\n\r\n if (codigo !== undefined) {\r\n this.adicionouNovaGrade = true;\r\n let modelgrade;\r\n modelgrade = {\r\n codigo: codigo,\r\n id: CMInputConfig.getRandomInt(1, 9999)*-1,\r\n indice: indice,\r\n visibilidade: \"User\"\r\n }\r\n\r\n CMFormGlobaisComponent.showSpinner();\r\n let dataSend = {};\r\n dataSend[\"_fieldId\"] = this.fieldNameId();\r\n dataSend[this.fieldNameId()] = this.idDataModel;\r\n dataSend[\"modeldata\"] = modelgrade;\r\n this.beforeSaveModelData(formBrowse, dataSend);\r\n console.log('DATASEND-------------- ', dataSend);\r\n this.postSubscribe(\r\n \"/api/grade/saveobject\",\r\n JSON.stringify(dataSend),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n modelgrade[this.fieldNameId()] = result[this.fieldNameId()];\r\n };\r\n if (indice === \"1\") {\r\n this.gradestamanhos.push({\r\n codigo: codigo,\r\n id: result[\"id\"],\r\n indice: indice\r\n })\r\n }\r\n else if (indice === \"2\") {\r\n this.gradescores.push({\r\n codigo: codigo,\r\n id: result[\"id\"],\r\n indice: indice\r\n })\r\n };\r\n GradeBrowseComponent.addGrade({\r\n codigo: codigo,\r\n id: result[\"id\"],\r\n indice: indice\r\n });\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"saveModelData\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n podeEditarPrecoPromocao(row) {\r\n let r = true;\r\n if (row) {\r\n r = row.origem !== \"Produto\";\r\n }\r\n return r;\r\n }\r\n\r\n calculaMarkUpAll() {\r\n this.model.precos.forEach((item) => {\r\n this.calculaMarkUp(item);\r\n });\r\n }\r\n\r\n calculaMarkUpCurrent() {\r\n this.calculaMarkUp(this.modelConfig.precos.current);\r\n }\r\n\r\n calculaMarkUp(item) {\r\n let somaperc: number =\r\n this.valueToFloat(item.comissao, 0) +\r\n this.valueToFloat(item.custoadm, 0) +\r\n this.valueToFloat(item.juros, 0) +\r\n this.valueToFloat(item.outros, 0) +\r\n this.valueToFloat(item.impostos, 0) +\r\n this.valueToFloat(item.lucro, 0);\r\n if (somaperc >= 100) {\r\n somaperc = 99.99;\r\n CMFormGlobaisComponent.toastErro(\r\n \"A soma dos Percentuais para Cálculo do MarkUp não deve menor que 100%\"\r\n );\r\n }\r\n item.markup = this.floatToValue(1 / ((100 - somaperc) / 100), 4);\r\n this.calculaPrecoVenda(item);\r\n }\r\n\r\n calculaPrecoVenda(item) {\r\n let precovendacalculado =\r\n this.valueToFloat(this.model.precocompra, 0) *\r\n this.valueToFloat(item.markup, 0);\r\n item.precovendacalculado = this.floatToValue(precovendacalculado);\r\n if (this.atualiza_vUnCom(item)) {\r\n item.vuncom = item.precovendacalculado;\r\n }\r\n }\r\n\r\n atualiza_vUnCom(item) {\r\n return item.atuvuncom === \"Sim\";\r\n }\r\n\r\n calculaPrecoVendaCurrent() {\r\n this.calculaPrecoVenda(this.modelConfig.precos.current);\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n usaGrade() {\r\n return this.model.usagrade1 == \"Sim\" || this.model.usagrade2 == \"Sim\";\r\n }\r\n\r\n exibeGrades() {\r\n if (this.model.grades.length === 1) {\r\n if ((this.model.grades[0].grade1.codigo === 'GRA1_ND') && (this.model.grades[0].grade2.codigo === 'GRA2_ND')) {\r\n return false;\r\n }\r\n }\r\n return this.model.usagrade1 == \"Sim\" || this.model.usagrade2 == \"Sim\";\r\n }\r\n\r\n mostraGerarTodasGradesDisponiveis() {\r\n //return this.usaGrade() && this.model.id < 0;\r\n return this.usaGrade() && this.model.grades.length <= 1;\r\n }\r\n\r\n gerarTodasGradesDisponiveis() {\r\n CMFormGlobaisComponent.showSpinner();\r\n\r\n console.log(this.model);\r\n\r\n if ((this.model.usagrade1 === 'Sim' && this.model.usagrade2 === 'Não')||(this.model.usagrade1 === 'Não' && this.model.usagrade2 === 'Sim')){\r\n console.log(this.model);\r\n \r\n this.postSubscribe(\r\n \"/api/produto/GerarGradesSelecionadas\",\r\n JSON.stringify(this.gradesconfig),\r\n (result: any) => {\r\n this.model.grades = result.grades;\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n else if (this.model.usagrade1 === 'Sim' && this.model.usagrade2 === 'Sim'){\r\n console.log(this.model);\r\n \r\n this.postSubscribe(\r\n \"/api/produto/GerarCombinacoesDeGrades\",\r\n JSON.stringify(this.gradesconfig),\r\n (result: any) => {\r\n this.model.grades = result.grades;\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n usouGrade(indice) {\r\n let r = this.model.grades.length > 0;\r\n if (r) {\r\n r = false;\r\n for (let i = 0; i < this.model.grades.length; i++) {\r\n const grade = this.model.grades[i][\"grade\" + indice];\r\n if (grade) {\r\n if (grade.visibilidade == \"User\") {\r\n r = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return r;\r\n }\r\n\r\n onAllowRemoveGrade(callback, current) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/\" + this.controllerName + \"/PodeRemoverGrade\",\r\n JSON.stringify({\r\n idproduto: this.model.id,\r\n idgrade: current.id,\r\n }),\r\n (r) => {\r\n if (r[\"result\"] == \"ok\") callback(\"\");\r\n else callback(r[\"msg\"]);\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n usaCopiaProduto() {\r\n return !this.disabledAll && this.paramEmpresa.usaCopiaProduto;\r\n }\r\n\r\n copiaProdutoPreco() {\r\n return (\r\n this.paramEmpresa.usaCopiaProduto && this.paramEmpresa.copiaProdutoPreco\r\n );\r\n }\r\n\r\n copiaProdutoFiscal() {\r\n return (\r\n this.paramEmpresa.usaCopiaProduto && this.paramEmpresa.copiaProdutoFiscal\r\n );\r\n }\r\n\r\n codigoProdutoSequencial() {\r\n return this.paramEmpresa.codigoProdutoSequencial;\r\n }\r\n\r\n copiaProdutoGrade() {\r\n return (\r\n this.paramEmpresa.usaCopiaProduto && this.paramEmpresa.copiaProdutoGrade\r\n );\r\n }\r\n\r\n copiaProdutoFornecedor() {\r\n return (\r\n this.paramEmpresa.usaCopiaProduto &&\r\n this.paramEmpresa.copiaProdutoFornecedor\r\n );\r\n }\r\n\r\n getColumnsPrecos() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") return \"12\";\r\n else return \"9\";\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n\r\n console.log(this.model);\r\n \r\n }\r\n\r\n}\r\n","export * from \"./promocao-edit.component\";\r\nexport * from \"./promocao-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\nimport { PromocaoEditComponent } from \"./promocao-edit.component\";\r\n\r\n@Component({\r\n selector: \"promocao-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class PromocaoBrowseComponent extends CMFormBrowse2Component {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"promocao\";\r\n this.formEditComponent = PromocaoEditComponent;\r\n this.fixedFooterFormEdit = false;\r\n this.columns = [\r\n {\r\n field: \"nome\",\r\n caption: \"Nome\",\r\n filter: new CMInputConfig({\r\n maxlength: 10,\r\n }),\r\n },\r\n {\r\n field: \"datainicio\",\r\n caption: \"Data de Início\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n {\r\n field: \"datatermino\",\r\n caption: \"Data de Término\",\r\n filter: new CMInputConfig({\r\n mask: \"99/99/9999\",\r\n }),\r\n },\r\n { field: \"vuncom\", caption: \"Preço de Venda\" },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Promoção de Produtos\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ProdutoBrowseComponent } from \"../produto\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMGridEditConfig,\r\n CMGridEditConfigColumn,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"promocao-edit\",\r\n templateUrl: \"promocao-edit.component.html\",\r\n})\r\nexport class PromocaoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_nome\";\r\n }\r\n\r\n getTitle() {\r\n return \"Promoção de Produtos\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"promocao\";\r\n this.setModelConfig();\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n nome: new CMInputConfig({\r\n form: this,\r\n caption: \"Nome\",\r\n required: true,\r\n maxlength: 10,\r\n }),\r\n datainicio: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Início\",\r\n required: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n datatermino: new CMInputConfig({\r\n form: this,\r\n caption: \"Data de Término\",\r\n required: true,\r\n mask: \"99/99/9999\",\r\n }),\r\n vuncom: new CMInputConfig({\r\n form: this,\r\n caption: \"Preço de Venda\",\r\n required: true,\r\n dataType: \"double(2)\",\r\n }),\r\n produtos: new CMGridEditConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Produtos\",\r\n fields: {\r\n extraColumns: {\r\n produto_descr: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 2,\r\n getValue: (row) => this.getValueObject(row, \"produto.descr\"),\r\n }),\r\n }),\r\n },\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n required: true,\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n gridConfig: new CMGridEditConfigColumn({\r\n ordem: 1,\r\n width: \"350px\",\r\n tipo: \"input-pesquisa\",\r\n getValue: (row) => {\r\n return this.getValueObject(row, \"produto.codigo\");\r\n },\r\n }),\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.modelConfig.produtos.current,\r\n \"Ativos\"\r\n );\r\n },\r\n }),\r\n },\r\n }),\r\n };\r\n }\r\n}\r\n","// tslint:disable\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { CMCoreModule } from \"./../@cmcore/cmcore.module\";\r\nimport { AppComponent } from \"./../app.component\";\r\nimport { recursos_routing } from \"./recursos.routing\";\r\nimport {\r\n ComboChartComponent,\r\n ComboSeriesVerticalComponent,\r\n} from \"./home/home-dashboard/combo-chart\";\r\nimport { AngularMaterialModule } from \"./../../angular-material.module\";\r\nimport {\r\n MenuPrincipalComponent,\r\n MenuLateralComponent,\r\n FooterPageComponent,\r\n AssociadoEditComponent,\r\n AssociadoBrowseComponent,\r\n SeguimentoEditComponent,\r\n SeguimentoBrowseComponent,\r\n MunicipioEditComponent,\r\n MunicipioBrowseComponent,\r\n ProdutoEditComponent,\r\n ProdutoBrowseComponent,\r\n ClienteEditComponent,\r\n ClienteBrowseComponent,\r\n FormaPagamentoEditComponent,\r\n FormaPagamentoBrowseComponent,\r\n PreVendaEditComponent,\r\n PreVendaBrowseComponent,\r\n RelatEmissaoCarneComponent,\r\n RelatClientesAniversariantesComponent,\r\n RelatContaReceberComponent,\r\n RelatContaPagarComponent,\r\n RelatFluxoCaixaFuturoComponent,\r\n DuplicataReceberBrowseComponent,\r\n DuplicataReceberEditComponent,\r\n DuplicataPagarBrowseComponent,\r\n DuplicataPagarEditComponent,\r\n ContaPagarBrowseComponent,\r\n ContaPagarEditComponent,\r\n IBPTBrowseComponent,\r\n IBPTEditComponent,\r\n HomeComponent,\r\n HomeConsultasComponent,\r\n HomeDashboardComponent,\r\n HomeDestaquesComponent,\r\n Home2Component,\r\n PadraoDeOperacaoBrowseComponent,\r\n PadraoDeOperacaoEditComponent,\r\n CESTBrowseComponent,\r\n CESTEditComponent,\r\n NFeBrowseComponent,\r\n NFeEditComponent,\r\n MinhaContaComponent,\r\n CFOPBrowseComponent,\r\n CFOPEditComponent,\r\n NFeAcoesComponent,\r\n PessoaBrowseComponent,\r\n NFeInutilizacaoBrowseComponent,\r\n NFeInutilizacaoEditComponent,\r\n NFeInutilizacaoAcoesComponent,\r\n CurriculumBrowseComponent,\r\n RelatBoletoComponent,\r\n RelatUsoPlataformaComponent,\r\n RelatUltimoLoginComponent,\r\n GeracaoArquivoCNABComponent,\r\n ImportacoesCNABComponent,\r\n RelatPosicaoEstoqueComponent,\r\n AjusteSaldoComponent,\r\n EmpresaAssociadoEditComponent,\r\n EmpresaAssociadoBrowseComponent,\r\n GradeEditComponent,\r\n GradeBrowseComponent,\r\n NFeEstoqueEditComponent,\r\n NFeEstoqueBrowseComponent,\r\n NecessidadeCompraBrowseComponent,\r\n NecessidadeCompraEditComponent,\r\n OrdemCompraEditComponent,\r\n OrdemCompraBrowseComponent,\r\n CotacaoBrowseComponent,\r\n CotacaoEditComponent,\r\n CotacaoAcessoFornecedorComponent,\r\n CotacaoAnaliseComponent,\r\n NFeRecebimentoBrowseComponent,\r\n NFeRecebimentoEditComponent,\r\n LoteContaReceberBrowseComponent,\r\n LoteContaReceberEditComponent,\r\n CobrancaBaixaEmLoteComponent,\r\n CotacaoEmailComponent,\r\n NFeRecebimentoAcoesComponent,\r\n ConfigGeralBrowseComponent,\r\n ConfigGeralEditComponent,\r\n CaixaSATBrowseComponent,\r\n CaixaSATEditComponent,\r\n CFeBrowseComponent,\r\n CFeEditComponent,\r\n RelatVendasPorDiaComponent,\r\n RelatProdutosSemVendaComponent,\r\n RelatListagemProdutosComponent,\r\n RelatRankingProdutosComponent,\r\n GrupoDeOperacaoBrowseComponent,\r\n GrupoDeOperacaoEditComponent,\r\n RelatVendasDetalhadoComponent,\r\n FechamentoCaixaBrowseComponent,\r\n FechamentoCaixaEditComponent,\r\n NFeConsignacaoBrowseComponent,\r\n NFeConsignacaoEditComponent,\r\n NFeConsignacaoFechamentoComponent,\r\n RelatProdutosConsignacaoComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n GrupoDeProdutoEditComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoEditComponent,\r\n ProdutoDetalhesSaldoComponent,\r\n CupomDescontoBrowseComponent,\r\n CupomDescontoEditComponent,\r\n NFeTrocaProdutoEditComponent,\r\n NFeTrocaProdutoBrowseComponent,\r\n PromocaoBrowseComponent,\r\n PromocaoEditComponent,\r\n RelatorioCustomizadoBrowseComponent,\r\n RelatorioCustomizadoEditComponent,\r\n MarketplaceBrowseComponent,\r\n MarketplaceEditComponent,\r\n ProdutoMarketplaceBrowseComponent,\r\n ProdutoMarketplaceEditComponent,\r\n NFeImportacaoMarketplaceBrowseComponent,\r\n NFeImportacaoMarketplaceEditComponent,\r\n NFeRecebimentoAlterarDataDuplicataComponent,\r\n RelatVendasPorMesComponent,\r\n SolicitaSenhaSupervisor,\r\n NFCeAcoesComponent,\r\n NFCeBrowseComponent,\r\n NFCeEditComponent,\r\n RelatMovimentoDiarioComponent,\r\n\r\n //@Raul\r\n CategoriaContaContabilBrowse,\r\n CategoriaContaContabilEditComponent,\r\n ContaContabilBrowseComponent,\r\n ContaContabilEditComponent,\r\n ProdutoAlteraEmLoteComponent,\r\n EmpresaPrecoBrowseComponent,\r\n EmpresaPrecoEditComponent,\r\n RelatContasContabeisComponent,\r\n OrcamentoEditComponent,\r\n OrcamentoBrowseComponent,\r\n RelatDRELiquidacaoVerticalComponent,\r\n PreVendaRelatoriosComponent,\r\n OrdemCompraRelatoriosComponent,\r\n CupomDescontoRelatoriosComponent,\r\n DuplicataReceberRelatoriosComponent,\r\n NFeConsignacaoRelatoriosComponent,\r\n OrcamentoRelatoriosComponent,\r\n NFeRelatoriosComponent,\r\n NFeRecebimentoRelatoriosComponent,\r\n ProdutoRelatoriosComponent,\r\n ContaBancariaBrowseComponent,\r\n ContaBancariaEditComponent,\r\n RelatMovimentacoesComponent,\r\n PreVendaGerarSaidaEstoqueComponent,\r\n RelatDadosAssinaturasComponent,\r\n LandingPageComponent,\r\n SpedFiscalComponent,\r\n FluxoDeCaixaBrowseComponent,\r\n FluxoDeCaixaEditComponent,\r\n ContaPagarReceberBrowseComponent,\r\n ContaPagarReceberEditComponent,\r\n RelatContaPagarReceberComponent,\r\n WizardConfigComponent,\r\n\r\n} from \"./index\";\r\nimport { LoginComponent } from \"../@cmcore/guard\";\r\n\r\n//AppComponent.title = \"ACIRC.NET\";\r\nAppComponent.title = \"BESSANI.WEB\"; // ALTERAR_BESSWEB\r\nAppComponent.useMenuLateral2 = true;\r\nLoginComponent.useEsqueceuSenha = true;\r\nAppComponent.useMenuPrincipalInRouterOutlet = true;\r\nAppComponent.heightRouterOutlet = \"calc(100% - 64px)\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n RouterModule,\r\n CMCoreModule,\r\n AngularMaterialModule,\r\n recursos_routing,\r\n ],\r\n declarations: [\r\n HomeComponent,\r\n HomeConsultasComponent,\r\n HomeDashboardComponent,\r\n HomeDestaquesComponent,\r\n Home2Component,\r\n MenuPrincipalComponent,\r\n MenuLateralComponent,\r\n FooterPageComponent,\r\n AssociadoBrowseComponent,\r\n AssociadoEditComponent,\r\n SeguimentoEditComponent,\r\n SeguimentoBrowseComponent,\r\n MinhaContaComponent,\r\n MunicipioEditComponent,\r\n MunicipioBrowseComponent,\r\n ProdutoEditComponent,\r\n ProdutoBrowseComponent,\r\n ClienteEditComponent,\r\n ClienteBrowseComponent,\r\n FormaPagamentoEditComponent,\r\n FormaPagamentoBrowseComponent,\r\n PreVendaEditComponent,\r\n PreVendaBrowseComponent,\r\n DuplicataReceberBrowseComponent,\r\n DuplicataReceberEditComponent,\r\n DuplicataPagarBrowseComponent,\r\n DuplicataPagarEditComponent,\r\n ContaPagarBrowseComponent,\r\n ContaPagarEditComponent,\r\n RelatClientesAniversariantesComponent,\r\n RelatContaReceberComponent,\r\n RelatEmissaoCarneComponent,\r\n RelatContaPagarComponent,\r\n RelatFluxoCaixaFuturoComponent,\r\n IBPTBrowseComponent,\r\n IBPTEditComponent,\r\n PadraoDeOperacaoBrowseComponent,\r\n PadraoDeOperacaoEditComponent,\r\n CESTBrowseComponent,\r\n CESTEditComponent,\r\n NFeBrowseComponent,\r\n NFeEditComponent,\r\n NFeAcoesComponent,\r\n CFOPBrowseComponent,\r\n CFOPEditComponent,\r\n PessoaBrowseComponent,\r\n NFeInutilizacaoBrowseComponent,\r\n NFeInutilizacaoEditComponent,\r\n NFeInutilizacaoAcoesComponent,\r\n CurriculumBrowseComponent,\r\n RelatBoletoComponent,\r\n RelatUsoPlataformaComponent,\r\n RelatUltimoLoginComponent,\r\n GeracaoArquivoCNABComponent,\r\n ImportacoesCNABComponent,\r\n NFeEstoqueEditComponent,\r\n NFeEstoqueBrowseComponent,\r\n RelatPosicaoEstoqueComponent,\r\n AjusteSaldoComponent,\r\n EmpresaAssociadoEditComponent,\r\n EmpresaAssociadoBrowseComponent,\r\n GradeEditComponent,\r\n GradeBrowseComponent,\r\n NecessidadeCompraBrowseComponent,\r\n NecessidadeCompraEditComponent,\r\n OrdemCompraBrowseComponent,\r\n OrdemCompraEditComponent,\r\n CotacaoBrowseComponent,\r\n CotacaoEditComponent,\r\n CotacaoAcessoFornecedorComponent,\r\n CotacaoAnaliseComponent,\r\n NFeRecebimentoBrowseComponent,\r\n NFeRecebimentoEditComponent,\r\n LoteContaReceberBrowseComponent,\r\n LoteContaReceberEditComponent,\r\n CobrancaBaixaEmLoteComponent,\r\n CotacaoEmailComponent,\r\n NFeRecebimentoAcoesComponent,\r\n ConfigGeralBrowseComponent,\r\n ConfigGeralEditComponent,\r\n CaixaSATBrowseComponent,\r\n CaixaSATEditComponent,\r\n CFeBrowseComponent,\r\n CFeEditComponent,\r\n RelatVendasPorDiaComponent,\r\n ComboChartComponent,\r\n ComboSeriesVerticalComponent,\r\n RelatProdutosSemVendaComponent,\r\n RelatListagemProdutosComponent,\r\n RelatRankingProdutosComponent,\r\n GrupoDeOperacaoBrowseComponent,\r\n GrupoDeOperacaoEditComponent,\r\n RelatVendasDetalhadoComponent,\r\n FechamentoCaixaBrowseComponent,\r\n FechamentoCaixaEditComponent,\r\n NFeConsignacaoBrowseComponent,\r\n NFeConsignacaoEditComponent,\r\n NFeConsignacaoFechamentoComponent,\r\n RelatProdutosConsignacaoComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n GrupoDeProdutoEditComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoEditComponent,\r\n ProdutoDetalhesSaldoComponent,\r\n CupomDescontoBrowseComponent,\r\n CupomDescontoEditComponent,\r\n NFeTrocaProdutoEditComponent,\r\n NFeTrocaProdutoBrowseComponent,\r\n PromocaoBrowseComponent,\r\n PromocaoEditComponent,\r\n RelatorioCustomizadoBrowseComponent,\r\n RelatorioCustomizadoEditComponent,\r\n MarketplaceBrowseComponent,\r\n MarketplaceEditComponent,\r\n ProdutoMarketplaceBrowseComponent,\r\n ProdutoMarketplaceEditComponent,\r\n NFeImportacaoMarketplaceBrowseComponent,\r\n NFeImportacaoMarketplaceEditComponent,\r\n NFeRecebimentoAlterarDataDuplicataComponent,\r\n RelatVendasPorMesComponent,\r\n SolicitaSenhaSupervisor,\r\n NFCeAcoesComponent,\r\n NFCeBrowseComponent,\r\n NFCeEditComponent,\r\n RelatMovimentoDiarioComponent,\r\n\r\n //@Raul\r\n CategoriaContaContabilBrowse,\r\n CategoriaContaContabilEditComponent,\r\n ContaContabilBrowseComponent,\r\n ContaContabilEditComponent,\r\n ProdutoAlteraEmLoteComponent,\r\n EmpresaPrecoBrowseComponent,\r\n EmpresaPrecoEditComponent,\r\n RelatContasContabeisComponent,\r\n OrcamentoEditComponent,\r\n OrcamentoBrowseComponent,\r\n RelatDRELiquidacaoVerticalComponent,\r\n PreVendaRelatoriosComponent,\r\n OrdemCompraRelatoriosComponent,\r\n CupomDescontoRelatoriosComponent,\r\n DuplicataReceberRelatoriosComponent,\r\n NFeConsignacaoRelatoriosComponent,\r\n OrcamentoRelatoriosComponent,\r\n NFeRelatoriosComponent,\r\n NFeRecebimentoRelatoriosComponent,\r\n ProdutoRelatoriosComponent,\r\n ContaBancariaBrowseComponent,\r\n ContaBancariaEditComponent,\r\n RelatMovimentacoesComponent,\r\n PreVendaGerarSaidaEstoqueComponent,\r\n RelatDadosAssinaturasComponent,\r\n LandingPageComponent,\r\n SpedFiscalComponent,\r\n FluxoDeCaixaBrowseComponent,\r\n FluxoDeCaixaEditComponent,\r\n ContaPagarReceberBrowseComponent,\r\n ContaPagarReceberEditComponent,\r\n RelatContaPagarReceberComponent,\r\n WizardConfigComponent,\r\n ],\r\n entryComponents: [\r\n AssociadoEditComponent,\r\n SeguimentoEditComponent,\r\n GrupoDeOperacaoEditComponent,\r\n MunicipioEditComponent,\r\n ProdutoEditComponent,\r\n ClienteEditComponent,\r\n FormaPagamentoEditComponent,\r\n PreVendaEditComponent,\r\n DuplicataReceberEditComponent,\r\n DuplicataPagarEditComponent,\r\n ContaPagarEditComponent,\r\n IBPTEditComponent,\r\n PadraoDeOperacaoEditComponent,\r\n CESTEditComponent,\r\n NFeEditComponent,\r\n NFeAcoesComponent,\r\n CFOPEditComponent,\r\n NFeInutilizacaoEditComponent,\r\n NFeInutilizacaoAcoesComponent,\r\n NFeEstoqueEditComponent,\r\n EmpresaAssociadoEditComponent,\r\n GradeEditComponent,\r\n NecessidadeCompraEditComponent,\r\n OrdemCompraEditComponent,\r\n CotacaoEditComponent,\r\n CotacaoAnaliseComponent,\r\n NFeRecebimentoEditComponent,\r\n LoteContaReceberEditComponent,\r\n CotacaoEmailComponent,\r\n NFeRecebimentoAcoesComponent,\r\n ConfigGeralEditComponent,\r\n CaixaSATEditComponent,\r\n CFeEditComponent,\r\n FechamentoCaixaEditComponent,\r\n NFeConsignacaoEditComponent,\r\n NFeConsignacaoFechamentoComponent,\r\n GrupoDeProdutoEditComponent,\r\n SubGrupoDeProdutoEditComponent,\r\n ProdutoDetalhesSaldoComponent,\r\n CupomDescontoEditComponent,\r\n NFeTrocaProdutoEditComponent,\r\n PromocaoEditComponent,\r\n RelatorioCustomizadoEditComponent,\r\n MarketplaceBrowseComponent,\r\n MarketplaceEditComponent,\r\n ProdutoMarketplaceEditComponent,\r\n NFeImportacaoMarketplaceEditComponent,\r\n NFeRecebimentoAlterarDataDuplicataComponent,\r\n SolicitaSenhaSupervisor,\r\n NFCeAcoesComponent,\r\n NFCeEditComponent,\r\n \r\n //@Raul\r\n CategoriaContaContabilEditComponent,\r\n ContaContabilEditComponent,\r\n EmpresaAssociadoEditComponent,\r\n OrcamentoEditComponent,\r\n PreVendaRelatoriosComponent,\r\n OrdemCompraRelatoriosComponent,\r\n CupomDescontoRelatoriosComponent,\r\n DuplicataReceberRelatoriosComponent,\r\n NFeConsignacaoRelatoriosComponent,\r\n OrcamentoRelatoriosComponent,\r\n NFeRelatoriosComponent,\r\n NFeRecebimentoRelatoriosComponent,\r\n ProdutoRelatoriosComponent,\r\n ContaBancariaEditComponent,\r\n PreVendaGerarSaidaEstoqueComponent,\r\n FluxoDeCaixaEditComponent,\r\n ContaPagarReceberEditComponent,\r\n WizardConfigComponent,\r\n \r\n ],\r\n providers: [],\r\n exports: [MenuPrincipalComponent, MenuLateralComponent, FooterPageComponent],\r\n})\r\nexport class RecursosModule {}\r\n","// tslint:disable\r\n\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { AuthGuard } from \"./../@cmcore/guard\";\r\nimport {\r\n HomeComponent,\r\n HomeConsultasComponent,\r\n HomeDashboardComponent,\r\n HomeDestaquesComponent,\r\n Home2Component,\r\n AssociadoBrowseComponent,\r\n SeguimentoBrowseComponent,\r\n GrupoDeOperacaoBrowseComponent,\r\n MunicipioBrowseComponent,\r\n ProdutoBrowseComponent,\r\n ClienteBrowseComponent,\r\n FormaPagamentoBrowseComponent,\r\n PreVendaBrowseComponent,\r\n MinhaContaComponent,\r\n RelatClientesAniversariantesComponent,\r\n RelatContaReceberComponent,\r\n RelatEmissaoCarneComponent,\r\n RelatContaPagarComponent,\r\n RelatFluxoCaixaFuturoComponent,\r\n DuplicataReceberBrowseComponent,\r\n DuplicataPagarBrowseComponent,\r\n IBPTBrowseComponent,\r\n PadraoDeOperacaoBrowseComponent,\r\n CESTBrowseComponent,\r\n NFeBrowseComponent,\r\n CFOPBrowseComponent,\r\n ContaPagarBrowseComponent,\r\n NFeInutilizacaoBrowseComponent,\r\n CurriculumBrowseComponent,\r\n RelatBoletoComponent,\r\n RelatUsoPlataformaComponent,\r\n GeracaoArquivoCNABComponent,\r\n ImportacoesCNABComponent,\r\n NFeEstoqueBrowseComponent,\r\n RelatPosicaoEstoqueComponent,\r\n AjusteSaldoComponent,\r\n EmpresaAssociadoBrowseComponent,\r\n GradeBrowseComponent,\r\n NecessidadeCompraBrowseComponent,\r\n OrdemCompraBrowseComponent,\r\n CotacaoBrowseComponent,\r\n CotacaoAcessoFornecedorComponent,\r\n NFeRecebimentoBrowseComponent,\r\n LoteContaReceberBrowseComponent,\r\n CobrancaBaixaEmLoteComponent,\r\n ConfigGeralBrowseComponent,\r\n CaixaSATBrowseComponent,\r\n CFeBrowseComponent,\r\n RelatVendasPorDiaComponent,\r\n RelatProdutosSemVendaComponent,\r\n RelatListagemProdutosComponent,\r\n RelatRankingProdutosComponent,\r\n RelatVendasDetalhadoComponent,\r\n FechamentoCaixaBrowseComponent,\r\n NFeConsignacaoBrowseComponent,\r\n RelatProdutosConsignacaoComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n CupomDescontoBrowseComponent,\r\n NFeTrocaProdutoBrowseComponent,\r\n PromocaoBrowseComponent,\r\n RelatorioCustomizadoBrowseComponent,\r\n MarketplaceBrowseComponent,\r\n ProdutoMarketplaceBrowseComponent,\r\n NFeImportacaoMarketplaceBrowseComponent,\r\n RelatVendasPorMesComponent,\r\n RelatUltimoLoginComponent,\r\n NFCeBrowseComponent,\r\n RelatMovimentoDiarioComponent,\r\n\r\n //@Raul\r\n CategoriaContaContabilBrowse,\r\n ContaContabilBrowseComponent,\r\n ProdutoAlteraEmLoteComponent,\r\n EmpresaPrecoBrowseComponent,\r\n RelatContasContabeisComponent,\r\n OrcamentoBrowseComponent,\r\n RelatDRELiquidacaoVerticalComponent,\r\n ContaBancariaBrowseComponent,\r\n RelatMovimentacoesComponent,\r\n RelatDadosAssinaturasComponent,\r\n LandingPageComponent,\r\n SpedFiscalComponent,\r\n FluxoDeCaixaBrowseComponent,\r\n ContaPagarReceberBrowseComponent,\r\n RelatContaPagarReceberComponent,\r\n WizardConfigComponent,\r\n\r\n} from \"./index\";\r\n\r\nconst recursosRoutes: Routes = [\r\n {\r\n path: \"home\",\r\n component: HomeComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: \"destaques\", component: HomeDestaquesComponent },\r\n { path: \"consultas\", component: HomeConsultasComponent },\r\n { path: \"dashboard\", component: HomeDashboardComponent },\r\n { path: \"**\", redirectTo: \"destaques\" },\r\n ],\r\n },\r\n { path: \"home2\", component: Home2Component, canActivate: [AuthGuard] },\r\n {\r\n path: \"associado\",\r\n component: AssociadoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"config-geral\",\r\n component: ConfigGeralBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"empresa-associado\",\r\n component: EmpresaAssociadoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"seguimento\",\r\n component: SeguimentoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"grupodeproduto\",\r\n component: GrupoDeProdutoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"subgrupodeproduto\",\r\n component: SubGrupoDeProdutoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"grupodeoperacao\",\r\n component: GrupoDeOperacaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"minhaconta/pagarfatura\",\r\n component: MinhaContaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"minhaconta\",\r\n component: MinhaContaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"municipio\",\r\n component: MunicipioBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"produto\",\r\n component: ProdutoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"pessoa/:cpf\",\r\n component: ClienteBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"pessoa\",\r\n component: ClienteBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"formapagamento\",\r\n component: FormaPagamentoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"prevenda\",\r\n component: PreVendaBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"conta-pagar-receber\",\r\n component: ContaPagarReceberBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"fluxodecaixa\",\r\n component: FluxoDeCaixaBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"duplicatareceber\",\r\n component: DuplicataReceberBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"duplicatapagar\",\r\n component: DuplicataPagarBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"contapagar\",\r\n component: ContaPagarBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ibpt\",\r\n component: IBPTBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"padraodeoperacao\",\r\n component: PadraoDeOperacaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cest\",\r\n component: CESTBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"nfe\",\r\n component: NFeBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"entrada-saida-estoque\",\r\n component: NFeEstoqueBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cfop\",\r\n component: CFOPBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"nfeinutilizacao\",\r\n component: NFeInutilizacaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"curriculum\",\r\n component: CurriculumBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"geracaoarquivocnab\",\r\n component: GeracaoArquivoCNABComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ajustesaldo\",\r\n component: AjusteSaldoComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"grade/:indice\",\r\n component: GradeBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"necessidade-compra\",\r\n component: NecessidadeCompraBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"ordem-compra\",\r\n component: OrdemCompraBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cotacao\",\r\n component: CotacaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cotacao-acesso-fornecedor/:chaveacesso\",\r\n component: CotacaoAcessoFornecedorComponent,\r\n },\r\n {\r\n path: \"landing-page\",\r\n component: LandingPageComponent,\r\n },\r\n {\r\n path: \"nfe-recebimento\",\r\n component: NFeRecebimentoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"consignacao\",\r\n component: NFeConsignacaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"trocaproduto\",\r\n component: NFeTrocaProdutoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"lote-conta-receber\",\r\n component: LoteContaReceberBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cobranca-baixa-em-lote/:tipo\",\r\n component: CobrancaBaixaEmLoteComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n\r\n //@Raul\r\n {\r\n path: \"altera-em-lote-produto\",\r\n component: ProdutoAlteraEmLoteComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard]\r\n },\r\n\r\n {\r\n path: \"wizard-config\",\r\n component: WizardConfigComponent,\r\n canActivate: [AuthGuard], \r\n },\r\n \r\n {\r\n path: \"sped-fiscal\",\r\n component: SpedFiscalComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard]\r\n },\r\n\r\n\r\n {\r\n path: \"caixa-sat\",\r\n component: CaixaSATBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n { path: \"cfe\", component: CFeBrowseComponent, canActivate: [AuthGuard] },\r\n {\r\n path: \"fechamento-caixa\",\r\n component: FechamentoCaixaBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"cupomdesconto\",\r\n component: CupomDescontoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n\r\n {\r\n path: \"relatemissaocarne\",\r\n component: RelatEmissaoCarneComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatcontareceber\",\r\n component: RelatContaReceberComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatcontapagarreceber\",\r\n component: RelatContaPagarReceberComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatclientesaniversariantes\",\r\n component: RelatClientesAniversariantesComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatcontapagar\",\r\n component: RelatContaPagarComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatfluxocaixafuturo\",\r\n component: RelatFluxoCaixaFuturoComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatboleto\",\r\n component: RelatBoletoComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatusoplataforma\",\r\n component: RelatUsoPlataformaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatultimologin\",\r\n component: RelatUltimoLoginComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatposicaoestoque\",\r\n component: RelatPosicaoEstoqueComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatvendaspordia\",\r\n component: RelatVendasPorDiaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatvendaspormes\",\r\n component: RelatVendasPorMesComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatvendasdetalhado\",\r\n component: RelatVendasDetalhadoComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatprodutossemvenda\",\r\n component: RelatProdutosSemVendaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatlistagemprodutos\",\r\n component: RelatListagemProdutosComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatrankingprodutos\",\r\n component: RelatRankingProdutosComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatprodutosconsignacao\",\r\n component: RelatProdutosConsignacaoComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"importacoes\",\r\n component: ImportacoesCNABComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"promocao\",\r\n component: PromocaoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatorio-customizado\",\r\n component: RelatorioCustomizadoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"marketplace\",\r\n component: MarketplaceBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"produto-marketplace\",\r\n component: ProdutoMarketplaceBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"importacao-marketplace\",\r\n component: NFeImportacaoMarketplaceBrowseComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"nfce\",\r\n component: NFCeBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatmovimentodiario\",\r\n component: RelatMovimentoDiarioComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n\r\n //@Raul\r\n {\r\n path: \"contabancaria\",\r\n component: ContaBancariaBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"categoriacontacontabil\",\r\n component: CategoriaContaContabilBrowse,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"contacontabil\",\r\n component: ContaContabilBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatcontacontabil\",\r\n component: RelatContasContabeisComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatdreliquidacaovertical\",\r\n component: RelatDRELiquidacaoVerticalComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"relatmovimentacoes\",\r\n component: RelatMovimentacoesComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"empresapreco\",\r\n component: EmpresaPrecoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard]\r\n },\r\n {\r\n path: \"orcamento\",\r\n component: OrcamentoBrowseComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [AuthGuard]\r\n }, \r\n {\r\n path: \"relatdadosassinatura\",\r\n component: RelatDadosAssinaturasComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n \r\n // otherwise redirect to home\r\n { path: \"**\", redirectTo: \"home\" },\r\n];\r\n\r\nexport const routerOptions = {};\r\nexport const recursos_routing = RouterModule.forRoot(recursosRoutes);\r\n","export * from \"./relatorio-customizado-edit.component\";\r\nexport * from \"./relatorio-customizado-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport { CMFormBrowse2Component } from \"./../../@cmcore/component\";\r\nimport { RelatorioCustomizadoEditComponent } from \"./relatorio-customizado-edit.component\";\r\n\r\n@Component({\r\n selector: \"relatorio-customizado-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class RelatorioCustomizadoBrowseComponent extends CMFormBrowse2Component {\r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\" },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"RelatorioCustomizado\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = RelatorioCustomizadoEditComponent;\r\n this.columns = [\r\n { field: \"nomeassociado\", caption: \"Associado\" },\r\n { field: \"nomeempresa\", caption: \"Empresa\" },\r\n { field: \"descricao\", caption: \"Descrição\" },\r\n { field: \"tipo\", caption: \"Relatório\" },\r\n ];\r\n }\r\n\r\n getTitle() {\r\n return \"Relatórios Customizados\";\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { PessoaBrowseComponent } from \"../pessoa\";\r\n\r\nimport {\r\n CMFormEditComponent,\r\n CMFormGlobaisComponent,\r\n CMInputConfig,\r\n} from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"relatorio-customizado-edit\",\r\n templateUrl: \"relatorio-customizado-edit.component.html\",\r\n})\r\nexport class RelatorioCustomizadoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_paraassociado\";\r\n }\r\n\r\n getTitle() {\r\n return \"Relatório Customizado\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"RelatorioCustomizado\";\r\n this.modelConfig = {\r\n paraassociado: new CMInputConfig({\r\n form: this,\r\n caption: \"Associado\",\r\n required: true,\r\n pesqFunc: (sender) => {\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n this.model,\r\n \"Empresa\",\r\n \"paraassociado\",\r\n () => this.getEmpresasAssociado()\r\n );\r\n },\r\n }),\r\n paraempresa_id: new CMInputConfig({\r\n form: this,\r\n caption: \"Empresa\",\r\n required: true,\r\n values: this.empresasAssociado,\r\n onChange: () => {\r\n if (this.model.paraempresa_id) {\r\n this.model.paraempresa = {\r\n id: this.model.paraempresa_id,\r\n };\r\n }\r\n },\r\n }),\r\n tipo: new CMInputConfig({\r\n form: this,\r\n caption: \"Relatório\",\r\n required: true,\r\n values: [\r\n { value: \"EtiquetaNFeRecebimento\", text: \"Etiqueta NFe Recebimento\" },\r\n { value: \"EtiquetaProduto\", text: \"Etiqueta de cadastro de produto\" },\r\n { value: \"SegundaVia\", text: \"Pré-Venda duas vias\" },\r\n { value: \"PreVenda\", text: \"Pré-Venda - Ficha\"},\r\n //{ value: \"PreVendaListagem\", text: \"Pré-Venda - Impressão de Pesquisa\"},\r\n { value: \"OrdemCompra\", text: \"Ordem de Compra - Ficha\"},\r\n //{ value: \"OrdemCompraListagem\", text: \"Ordem de Compra - Impressão de Pesquisa\"},\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\"},\r\n //{ value: \"DuplicataPagar\", text: \"Duplicatas à Pagar - Ficha\"},\r\n //{ value: \"DuplicataPagarListagem\", text: \"Duplicatas à Pagar - Impressão de Pesquisa\"},\r\n { value: \"DuplicataReceber\", text: \"Duplicatas à Receber - Ficha\"},\r\n //{ value: \"DuplicataReceberListagem\", text: \"Duplicatas à Receber - Impressão de Pesquisa\"},\r\n { value: \"Consignacao\", text: \"Consignação - Ficha\"},\r\n //{ value: \"ConsignacaoListagem\", text: \"Consignação - Impressão de Pesquisa\"},\r\n { value: \"Orcamento\", text: \"Orçamento - Ficha\"},\r\n //{ value: \"OrcamentoListagem\", text: \"Orçamento - Impressão de Pesquisa\"},\r\n { value: \"NFe\", text: \"NFe - Ficha\"},\r\n //{ value: \"NFeListagem\", text: \"NFe - Impressão de Pesquisa\"},\r\n ],\r\n }),\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n required: true,\r\n maxlenght: 60,\r\n })\r\n };\r\n }\r\n\r\n afterGetModelData() {\r\n super.afterGetModelData();\r\n if (this.model.paraempresa) {\r\n this.model.paraempresa_id = this.model.paraempresa.id;\r\n this.empresasAssociado.length = 0;\r\n Object.assign(this.empresasAssociado, [\r\n {\r\n value: this.model.paraempresa.id,\r\n text: this.model.paraempresa.nome,\r\n },\r\n ]);\r\n } else {\r\n this.model.novoarquivo = {\r\n showbutton: true,\r\n };\r\n }\r\n this.getEmpresasAssociado();\r\n }\r\n\r\n empresasAssociado = [];\r\n\r\n getEmpresasAssociado() {\r\n if (this.model.paraassociado) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/Importacoes/GetEmpresasAssociado\",\r\n JSON.stringify({ associado: this.model.paraassociado.id }),\r\n (result) => {\r\n if (result instanceof Array) {\r\n this.empresasAssociado.length = 0;\r\n Object.assign(this.empresasAssociado, result);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP(\"getEmpresasAssociado\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n mostraNovoArquivo() {\r\n if (this.model.novoarquivo && this.model.novoarquivo.showbutton)\r\n return true;\r\n else return this.trimValue(this.model.filename) === \"\";\r\n }\r\n\r\n reenviarRelatorio() {\r\n this.model.novoarquivo = {\r\n showbutton: true,\r\n };\r\n }\r\n\r\n getUrlRelat() {\r\n return (\r\n \"/api/\" +\r\n this.controllerName +\r\n \"/GetDBFileGroup/\" +\r\n this.model.id +\r\n \"/\" +\r\n this.model.filename +\r\n \"/_self\"\r\n );\r\n }\r\n\r\n onCompleteUploadFile(sender: any) {\r\n sender.form.model.novoarquivo = {\r\n keyserver: sender.keyserver,\r\n filename: sender.file.name,\r\n showbutton: true,\r\n };\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n\r\n onStartUploadFile(sender: any) {\r\n CMFormGlobaisComponent.showSpinner();\r\n }\r\n\r\n onErrorUploadFile(sender: any) {\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\nimport { PreVendaBrowseComponent } from './../../prevenda/prevenda-browse.component';\r\nimport { NFeBrowseComponent } from './../../nfe/nfe-browse.component';\r\n\r\n@Component({\r\n selector: 'boleto',\r\n templateUrl: 'boleto.component.html'\r\n})\r\nexport class RelatBoletoComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoBoletoCarne';\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999',\r\n\t\t\t\t \t\t\t\t\t\t\t\t\t\t\tdisabledFunc: () => {\r\n\t\t \t\t\t\t\t\t\t\t\t\t\t\t\t\treturn this.filter.origem !== 'Todos';\r\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n }),\r\n datafim: new CMInputConfig({form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999',\r\n\t\t\t\t \t\t\t\t\t\t\t\t\t\t\tdisabledFunc: () => {\r\n\t\t \t\t\t\t\t\t\t\t\t\t\t\t\t\treturn this.filter.origem !== 'Todos';\r\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n }),\r\n\r\n prevenda: new CMInputConfig({form: this,\r\n caption: 'Pré-Venda',\r\n\t\t\t\t \t\t\t\t\t\t\t\t\t\t disabledFunc: () => {\r\n\t\t \t\t\t\t\t\t\t\t\t\t\t\t\t return this.filter.origem !== 'Pré-Venda';\r\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t },\r\n pesqFunc: sender => {\r\n PreVendaBrowseComponent.pesquisa(sender, this.filter);\r\n }\r\n }),\r\n nfe: new CMInputConfig({form: this,\r\n caption: 'NF-e',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabledFunc: () => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn this.filter.origem !== 'NF-e';\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n pesqFunc: sender => {\r\n NFeBrowseComponent.pesquisa(sender, this.filter);\r\n }\r\n }),\r\n origem: new CMInputConfig({form: this,\r\n caption: 'Origem',\r\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t values: [{'value': 'Pré-Venda'}, {'value': 'NF-e'}, {'value': 'Todos'}]\r\n })\r\n }\r\n\t\tthis.filter.origem = 'Pré-Venda';\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n }\r\n\r\n valid() {\r\n\tconsole.log(this.filter);\r\n let r = super.valid();\r\n\t\tif (this.filter.origem === 'Pré-Venda') {\r\n\t\t\tif (r) {\r\n\t\t\t\tr = !this.isEmpty(this.getValueObject(this.filter, 'prevenda.id'));\r\n\t\t\t\tif (!r)\r\n\t\t\t\t\tCMFormGlobaisComponent.toastErro('Pré-Venda não informada');\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (this.filter.origem === 'NF-e') {\r\n\t\t\tif (r) {\r\n\t\t\t\tr = !this.isEmpty(this.getValueObject(this.filter, 'nfe.id'));\r\n\t\t\t\tif (!r)\r\n\t\t\t\t\tCMFormGlobaisComponent.toastErro('NF-e não informada');\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (this.filter.origem === 'Todos') {\r\n\t\t\tif (r) {\r\n\t\t\t\tr = !this.isEmpty(this.filter.dataini);\r\n\t\t\t\tif (!r)\r\n\t\t\t\t\tCMFormGlobaisComponent.toastErro('Data inicial não informada');\r\n\t\t\t}\r\n\t\t\tif (r) {\r\n\t\t\t\tr = !this.isEmpty(this.filter.datafim);\r\n\t\t\t\tif (!r)\r\n\t\t\t\t\tCMFormGlobaisComponent.toastErro('Data final não informada');\r\n\t\t\t}\r\n\t\t}\r\n return r;\r\n }\r\n\r\n}","export * from './boleto.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'clientes-aniversariantes',\r\n templateUrl: 'clientes-aniversariantes.component.html'\r\n})\r\nexport class RelatClientesAniversariantesComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoClientesAniversariantes';\r\n this.filterConfig = {\r\n mes: new CMInputConfig({form: this,\r\n caption: 'Mês',\r\n values: [\r\n {value: '1', text: 'Janeiro'},\r\n {value: '2', text: 'Fevereiro'},\r\n {value: '3', text: 'Março'},\r\n {value: '4', text: 'Abril'},\r\n {value: '5', text: 'Maio'},\r\n {value: '6', text: 'Junho'},\r\n {value: '7', text: 'Julho'},\r\n {value: '8', text: 'Agosto'},\r\n {value: '9', text: 'Setembro'},\r\n {value: '10', text: 'Outubro'},\r\n {value: '11', text: 'Novembro'},\r\n {value: '12', text: 'Dezembro'},\r\n ],\r\n })\r\n }\r\n this.filter.mes = this.mes;\r\n }\r\n\r\n}","export * from './clientes-aniversariantes.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'conta-contabil',\r\n templateUrl: 'conta-contabil.component.html'\r\n})\r\nexport class RelatContasContabeisComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoContaContabil';\r\n this.filterConfig = {\r\n situacao: new CMInputConfig({form: this,\r\n caption: 'Situação',\r\n values: [\r\n {value: 'Sim', text: 'Ativo'},\r\n {value: 'Não', text: 'Inativo'},\r\n {value: 'Todos', text: 'Todos'},\r\n ],\r\n })\r\n }\r\n }\r\n\r\n}","export * from './conta-contabil.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../../conta-bancaria\";\r\nimport { ContaContabilBrowseComponent } from \"../../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../../formapagamento\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"../../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"../../cliente/cliente-browse.component\";\r\n\r\n@Component({\r\n selector: \"conta-pagar-receber\",\r\n templateUrl: \"conta-pagar-receber.component.html\",\r\n})\r\nexport class RelatContaPagarReceberComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoContaPagarReceber\";\r\n this.filterConfig = {\r\n tipoduplicata: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Duplicata\",\r\n values: [\r\n { value: \"Pagamento\", text: \"Pagamento\"},\r\n { value: \"Recebimento\", text: \"Recebimento\"},\r\n { value: \"Todas\"},\r\n ]\r\n }),\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de Pagamento\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n somentecontasemaberto: new CMInputConfig({\r\n form: this,\r\n caption: \"Somente contas em aberto\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n }),\r\n demonstrarpagamentosavista: new CMInputConfig({\r\n form: this,\r\n caption: \"Demonstra pagamentos a vista\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento !== 'Todos';\r\n },\r\n }),\r\n mostraendereco: new CMInputConfig({\r\n form: this,\r\n caption: \"Demonstra endereço do cliente\",\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Recebimento\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"AVista\", text: \"A Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ],\r\n }),\r\n tipodata: new CMInputConfig({\r\n form: this,\r\n caption: \"Pesquisar por\",\r\n values: [\r\n { value: \"Vencimento\", text: \"Vencimento\" },\r\n { value: \"Liquidacao\", text: \"Liquidação\" },\r\n { value: \"VencimentoAberto\", text: \"Vencimento - Liquidação Aberta\" },\r\n { value: \"Emissao\", text: \"Emissão\" },\r\n { value: \"VencimentoRecebimentoAberto\", text: \"Vencimento - Recebimento Aberto\" },\r\n //{ value: \"BomPara\", text: \"Bom Para\" },\r\n { value: \"EmissaoAberto\", text: \"Emissão - Liquidação Aberta\" },\r\n ],\r\n }),\r\n entsai: new CMInputConfig({\r\n form: this,\r\n caption: \"Entrada/Saída\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"Entrada\", text: \"Recebimentos\" },\r\n { value: \"Saida\", text: \"Pagamentos\" },\r\n ],\r\n }),\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.filter, \"Categoria de Conta Contábil\");\r\n },\r\n }),\r\n outroscampos: new CMInputConfig({\r\n form: this,\r\n caption: \"Outros Campos\",\r\n values: [\r\n { value: \"\", text: \"\" },\r\n { value: \"NrDuplicata\", text: \"Número da Duplicata\" },\r\n { value: \"NrVenda\", text: \"Número da Venda\" },\r\n { value: \"NrCompra\", text: \"Número da Compra\" },\r\n { value: \"NrNFe\", text: \"Número da NFe\" },\r\n { value: \"ValorLancamento\", text: \"Valor do Lançamento\" },\r\n { value: \"ValorBruto\", text: \"Valor Bruto\" },\r\n ],\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n outroscamposdescstring: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n maxlenght: 100,\r\n }),\r\n outroscamposdescnumber: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor',\r\n maxlength: 100,\r\n dataType: \"double(2)\",\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.filter, \"Conta Bancária\");\r\n },\r\n }),\r\n tipodre: new CMInputConfig({\r\n form: this,\r\n caption: 'Tipo de Conta - DRE',\r\n values: [\r\n {value: \"\", text: \"\"},\r\n {value: \"ReceitaRecorrente\", text: \"Receita Recorrente\"},\r\n {value: \"ReceitaFinanceira\", text: \"Receita Financeira\"},\r\n {value: \"ReceitaComProdutos\", text: \"Receita Com Produtos\"},\r\n {value: \"NaoAplicavel\", text: \"Não aplicável\"},\r\n ],\r\n }),\r\n };\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n this.filter.somentecontasemaberto = \"Sim\";\r\n this.filter.demonstrarpagamentosavista = \"Não\";\r\n this.filter.mostraendereco = \"Não\";\r\n this.filter.tipopagamento = \"Todos\";\r\n this.filter.tipodata = \"Vencimento\";\r\n this.filter.entsai = \"Todos\";\r\n this.filter.tipoduplicata = \"Todas\";\r\n \r\n }\r\n \r\n limparFiltros(){\r\n this.filter.dataini = \"\";\r\n this.filter.datafim = \"\";\r\n this.filter.tipopagamento = \"\";\r\n this.filter.tipodata = \"\";\r\n this.filter.entsai = \"\";\r\n this.filter.tipodre = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.outroscampos = \"\";\r\n this.filter.outroscamposdescnumber = \"\";\r\n this.filter.outroscamposdescstring = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.observacao = \"\";\r\n this.filter.contacontabil = \"\";\r\n this.filter.formapagamento = \"\";\r\n this.filter.cliente = \"\";\r\n }\r\n \r\n tipoInput(){\r\n if (\r\n this.filter.outroscampos === 'ValorLancamento' ||\r\n this.filter.outroscampos === 'ValorBruto' ){\r\n return \"number\" \r\n }\r\n else {\r\n return \"string\"\r\n }\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './conta-pagar-receber.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\nimport { FormaPagamentoBrowseComponent } from '../../formapagamento';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\nimport { FornecedorBrowseComponent } from './../../fornecedor/fornecedor-browse.component';\r\n\r\n@Component({\r\n selector: 'conta-pagar',\r\n templateUrl: 'conta-pagar.component.html'\r\n})\r\nexport class RelatContaPagarComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoContaPagar';\r\n this.filterConfig = {\r\n destinatario: new CMInputConfig({form: this,\r\n caption: 'Fornecedor',\r\n pesqFunc: sender => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.filter, 'destinatario');\r\n }\r\n }),\r\n dataini: new CMInputConfig({form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999'\r\n }),\r\n datafim: new CMInputConfig({form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999'\r\n }),\r\n somentecontasemaberto: new CMInputConfig({form: this,\r\n caption: 'Somente contas em aberto',\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n }\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de Pagamento\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Recebimento\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"AVista\", text: \"A Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ],\r\n }),\r\n }\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n this.filter.somentecontasemaberto = 'Sim';\r\n this.filter.tipopagamento = \"Todos\";\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data inicial não informada');\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data final não informada');\r\n }\r\n return r;\r\n }\r\n\r\n}","export * from './conta-pagar.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../../conta-bancaria\";\r\nimport { ContaContabilBrowseComponent } from \"../../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../../formapagamento\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"./../../cliente/cliente-browse.component\";\r\n\r\n@Component({\r\n selector: \"conta-receber\",\r\n templateUrl: \"conta-receber.component.html\",\r\n})\r\nexport class RelatContaReceberComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoContaReceber\";\r\n this.filterConfig = {\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de Pagamento\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n somentecontasemaberto: new CMInputConfig({\r\n form: this,\r\n caption: \"Somente contas em aberto\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n }),\r\n demonstrarpagamentosavista: new CMInputConfig({\r\n form: this,\r\n caption: \"Demonstra pagamentos a vista\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento !== 'Todos';\r\n },\r\n }),\r\n mostraendereco: new CMInputConfig({\r\n form: this,\r\n caption: \"Demonstra endereço do cliente\",\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Recebimento\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"AVista\", text: \"A Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ],\r\n }),\r\n tipodata: new CMInputConfig({\r\n form: this,\r\n caption: \"Pesquisar por\",\r\n values: [\r\n { value: \"Vencimento\", text: \"Vencimento\" },\r\n { value: \"Liquidacao\", text: \"Liquidação\" },\r\n { value: \"VencimentoAberto\", text: \"Vencimento - Liquidação Aberta\" },\r\n { value: \"Emissao\", text: \"Emissão\" },\r\n { value: \"VencimentoRecebimentoAberto\", text: \"Vencimento - Recebimento Aberto\" },\r\n //{ value: \"BomPara\", text: \"Bom Para\" },\r\n { value: \"EmissaoAberto\", text: \"Emissão - Liquidação Aberta\" },\r\n ],\r\n }),\r\n entsai: new CMInputConfig({\r\n form: this,\r\n caption: \"Entrada/Saída\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"Entrada\", text: \"Recebimentos\" },\r\n { value: \"Saida\", text: \"Pagamentos\" },\r\n ],\r\n }),\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.filter, \"Categoria de Conta Contábil\");\r\n },\r\n }),\r\n outroscampos: new CMInputConfig({\r\n form: this,\r\n caption: \"Outros Campos\",\r\n values: [\r\n { value: \"\", text: \"\" },\r\n { value: \"NrDuplicata\", text: \"Número da Duplicata\" },\r\n { value: \"NrVenda\", text: \"Número da Venda\" },\r\n { value: \"NrCompra\", text: \"Número da Compra\" },\r\n { value: \"NrNFe\", text: \"Número da NFe\" },\r\n { value: \"ValorLancamento\", text: \"Valor do Lançamento\" },\r\n { value: \"ValorBruto\", text: \"Valor Bruto\" },\r\n ],\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n outroscamposdescstring: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n maxlenght: 100,\r\n }),\r\n outroscamposdescnumber: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor',\r\n maxlength: 100,\r\n dataType: \"double(2)\",\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.filter, \"Conta Bancária\");\r\n },\r\n }),\r\n tipodre: new CMInputConfig({\r\n form: this,\r\n caption: 'Tipo de Conta - DRE',\r\n values: [\r\n {value: \"\", text: \"\"},\r\n {value: \"ReceitaRecorrente\", text: \"Receita Recorrente\"},\r\n {value: \"ReceitaFinanceira\", text: \"Receita Financeira\"},\r\n {value: \"ReceitaComProdutos\", text: \"Receita Com Produtos\"},\r\n {value: \"NaoAplicavel\", text: \"Não aplicável\"},\r\n ],\r\n }),\r\n };\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n this.filter.somentecontasemaberto = \"Sim\";\r\n this.filter.demonstrarpagamentosavista = \"Não\";\r\n this.filter.mostraendereco = \"Não\";\r\n this.filter.tipopagamento = \"Todos\";\r\n this.filter.tipodata = \"Vencimento\";\r\n this.filter.entsai = \"Todos\";\r\n \r\n }\r\n \r\n limparFiltros(){\r\n this.filter.dataini = \"\";\r\n this.filter.datafim = \"\";\r\n this.filter.tipopagamento = \"\";\r\n this.filter.tipodata = \"\";\r\n this.filter.entsai = \"\";\r\n this.filter.tipodre = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.outroscampos = \"\";\r\n this.filter.outroscamposdescnumber = \"\";\r\n this.filter.outroscamposdescstring = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.observacao = \"\";\r\n this.filter.contacontabil = \"\";\r\n this.filter.formapagamento = \"\";\r\n this.filter.cliente = \"\";\r\n }\r\n \r\n tipoInput(){\r\n if (\r\n this.filter.outroscampos === 'ValorLancamento' ||\r\n this.filter.outroscampos === 'ValorBruto' ){\r\n return \"number\" \r\n }\r\n else {\r\n return \"string\"\r\n }\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './conta-receber.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'dados-assinaturas',\r\n templateUrl: 'dados-assinaturas.component.html'\r\n})\r\nexport class RelatDadosAssinaturasComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoDadosAssinatura';\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999'\r\n }),\r\n datafim: new CMInputConfig({form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999'\r\n }),\r\n }\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data inicial não informada');\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data final não informada');\r\n }\r\n return r;\r\n }\r\n\r\n}","export * from './dados-assinaturas.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormGlobaisComponent, CMFormRelatComponent, CMInputConfig\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'dre-liquidacao-vertical',\r\n templateUrl: 'dre-liquidacao-vertical.component.html'\r\n})\r\nexport class RelatDRELiquidacaoVerticalComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoDRELiquidacaoVertical';\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n };\r\n this.filter.dataini = CMFormRelatComponent.firstDate();\r\n this.filter.datafim = CMFormRelatComponent.lastDate();\r\n }\r\n\r\n /*\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }*/\r\n\r\n}","export * from './dre-liquidacao-vertical.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { PreVendaBrowseComponent } from \"./../../prevenda/prevenda-browse.component\";\r\nimport { NFeBrowseComponent } from \"./../../nfe/nfe-browse.component\";\r\nimport { CFeBrowseComponent, LoteContaReceberBrowseComponent, NFCeBrowseComponent } from \"../..\";\r\nimport { FuncsGlobais } from \"../../funcs.globais\";\r\nimport { CupomDescontoBrowseComponent } from \"../../cupom-desconto\";\r\n\r\n@Component({\r\n selector: \"emissao-carne\",\r\n templateUrl: \"emissao-carne.component.html\",\r\n})\r\nexport class RelatEmissaoCarneComponent extends CMFormRelatComponent {\r\n valuesOrigem = [];\r\n setValuesOrigem() {\r\n if (this.paramEmpresa.modoOperacao === \"Nivel1\") {\r\n this.valuesOrigem = [\r\n { value: \"Pré-Venda\" },\r\n { value: \"CF-e\" },\r\n { value: \"NF-e\" },\r\n ];\r\n } else {\r\n this.valuesOrigem = [\r\n { value: \"Pré-Venda\" },\r\n { value: \"CF-e\" },\r\n { value: \"NF-e\" },\r\n { value: \"NFC-e\" },\r\n { value: \"Lote\" },\r\n { value: \"CupomDesconto\", text: \"Cupom de Desconto\" },\r\n ];\r\n }\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoCarne\";\r\n this.setValuesOrigem();\r\n this.filterConfig = {\r\n prevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Pré-Venda\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"Pré-Venda\";\r\n },\r\n pesqFunc: (sender) => {\r\n PreVendaBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n nfe: new CMInputConfig({\r\n form: this,\r\n caption: \"NF-e\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"NF-e\";\r\n },\r\n pesqFunc: (sender) => {\r\n NFeBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n nfce: new CMInputConfig({\r\n form: this,\r\n caption: \"NFC-e\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"NFC-e\";\r\n },\r\n pesqFunc: (sender) => {\r\n NFCeBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n lote: new CMInputConfig({\r\n form: this,\r\n caption: \"Lote\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"Lote\";\r\n },\r\n pesqFunc: (sender) => {\r\n LoteContaReceberBrowseComponent.pesquisa(sender, this.filter, \"lote\");\r\n },\r\n }),\r\n cupomdesconto: new CMInputConfig({\r\n form: this,\r\n caption: \"Cupom de Desconto\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"CupomDesconto\";\r\n },\r\n pesqFunc: (sender) => {\r\n CupomDescontoBrowseComponent.pesquisa(\r\n \"Não\",\r\n sender,\r\n this.filter,\r\n \"cupomdesconto\"\r\n );\r\n },\r\n }),\r\n cfe: new CMInputConfig({\r\n form: this,\r\n caption: \"CF-e\",\r\n visibleFunc: () => {\r\n return this.filter.origem === \"CF-e\";\r\n },\r\n pesqFunc: (sender) => {\r\n CFeBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n origem: new CMInputConfig({\r\n form: this,\r\n caption: \"Origem\",\r\n values: this.valuesOrigem,\r\n }),\r\n reduzido: new CMInputConfig({\r\n form: this,\r\n caption: \"Impressão Reduzida\",\r\n dataType: \"boolean\",\r\n }),\r\n np: new CMInputConfig({\r\n form: this,\r\n caption: \"Emite Nota Promissória\",\r\n dataType: \"boolean\",\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n }),\r\n };\r\n this.filter.origem = \"Pré-Venda\";\r\n this.filter.reduzido = \"Não\";\r\n this.filter.np = \"Não\";\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (this.filter.origem === \"Pré-Venda\") {\r\n if (r) {\r\n r = !this.isEmpty(this.getValueObject(this.filter, \"prevenda.id\"));\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Pré-Venda não informada\");\r\n }\r\n } else if (this.filter.origem === \"NF-e\") {\r\n if (r) {\r\n r = !this.isEmpty(this.getValueObject(this.filter, \"nfe.id\"));\r\n if (!r) CMFormGlobaisComponent.toastErro(\"NF-e não informada\");\r\n }\r\n }else if (this.filter.origem === \"NFC-e\") {\r\n if (r) {\r\n r = !this.isEmpty(this.getValueObject(this.filter, \"nfe.id\"));\r\n if (!r) CMFormGlobaisComponent.toastErro(\"NFC-e não informada\");\r\n }\r\n } else if (this.filter.origem === \"CF-e\") {\r\n if (r) {\r\n r = !this.isEmpty(this.getValueObject(this.filter, \"cfe.id\"));\r\n if (!r) CMFormGlobaisComponent.toastErro(\"CF-e não informado\");\r\n }\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './emissao-carne.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'fluxo-caixa-futuro',\r\n templateUrl: 'fluxo-caixa-futuro.component.html'\r\n})\r\nexport class RelatFluxoCaixaFuturoComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoFluxoCaixaFuturo';\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999'\r\n }),\r\n datafim: new CMInputConfig({form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999'\r\n }),\r\n saldoinicial: new CMInputConfig({form: this,\r\n caption: 'Valor',\r\n dataType: 'double(2)'\r\n }),\r\n incluimovimentosdia: new CMInputConfig({form: this,\r\n caption: 'Inclui no saldo inicial contas recebidas ou pagas no dia'\r\n })\r\n }\r\n this.filter.dataini = CMFormRelatComponent.incDate(1);\r\n this.filter.datafim = this.lastDate();\r\n this.filter.saldoinicial = '0,00';\r\n this.filter.incluimovimentosdia = 'Não';\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data inicial não informada');\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data final não informada');\r\n }\r\n return r;\r\n }\r\n\r\n}","export * from './fluxo-caixa-futuro.component';","export * from \"./emissao-carne\";\r\nexport * from \"./conta-receber\";\r\nexport * from \"./clientes-aniversariantes\";\r\nexport * from \"./conta-pagar\";\r\nexport * from \"./fluxo-caixa-futuro\";\r\nexport * from \"./boleto\";\r\nexport * from \"./uso-plataforma\";\r\nexport * from \"./posicao-estoque\";\r\nexport * from \"./vendas-por-dia\";\r\nexport * from \"./produtos-sem-venda\";\r\nexport * from \"./listagem-produtos\";\r\nexport * from \"./ranking-produtos\";\r\nexport * from \"./vendas-detalhado\";\r\nexport * from \"./produtos-consignacao\";\r\nexport * from \"./vendas-por-mes\";\r\nexport * from \"./ultimo-login\";\r\nexport * from \"./movimento-diario\";\r\nexport * from \"./movimentacoes\";\r\nexport * from \"./dados-assinaturas\";\r\n","export * from \"./listagem-produtos.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n} from \"./../../../@cmcore/component\";\r\nimport { FuncsGlobais } from \"../../funcs.globais\";\r\nimport {\r\n GradeBrowseComponent,\r\n PessoaBrowseComponent,\r\n FornecedorBrowseComponent,\r\n ProdutoBrowseComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n} from \"../..\";\r\n\r\n@Component({\r\n selector: \"listagem-produtos\",\r\n templateUrl: \"listagem-produtos.component.html\",\r\n})\r\nexport class RelatListagemProdutosComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoListagemProdutos\";\r\n this.filterConfig = {\r\n apenasprodutoscomsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos com saldo\",\r\n }),\r\n ativo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos ativos\",\r\n }),\r\n ordem: new CMInputConfig({\r\n form: this,\r\n caption: \"Ordenar por: \",\r\n values: [{value: 'A-Z'}, {value: 'Z-A'}, {value: 'Codigo'}]\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.filter, \"Ativos\");\r\n },\r\n }),\r\n descricaoproduto: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição do produto\",\r\n maxlength: 60,\r\n }),\r\n fornecedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Fornecedor\",\r\n pesqFunc: (sender) => {\r\n FornecedorBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n grade1: new CMInputConfig({\r\n form: this,\r\n pesqOnly: true,\r\n caption: this.paramEmpresa.nomeGrade1,\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaGrade1;\r\n },\r\n pesqFunc: (sender) =>\r\n GradeBrowseComponent.pesquisa(sender, this.filter, \"1\"),\r\n }),\r\n grade2: new CMInputConfig({\r\n form: this,\r\n pesqOnly: true,\r\n caption: this.paramEmpresa.nomeGrade2,\r\n visibleFunc: () => {\r\n return this.paramEmpresa.usaGrade2;\r\n },\r\n pesqFunc: (sender) =>\r\n GradeBrowseComponent.pesquisa(sender, this.filter, \"2\"),\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.filter, \"grupo\");\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n };\r\n this.filter.apenasprodutoscomsaldo = \"Não\";\r\n this.filter.ativo = \"Sim\";\r\n this.filter.ordem = \"A-Z\";\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","export * from './movimentacoes.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { ContaBancariaBrowseComponent } from \"../../conta-bancaria\";\r\nimport { ContaContabilBrowseComponent } from \"../../conta-contabil\";\r\nimport { FormaPagamentoBrowseComponent } from \"../../formapagamento\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { ClienteBrowseComponent } from \"./../../cliente/cliente-browse.component\";\r\n\r\n@Component({\r\n selector: \"movimentacoes\",\r\n templateUrl: \"movimentacoes.component.html\",\r\n})\r\nexport class RelatMovimentacoesComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoMovimentacoes\";\r\n this.filterConfig = {\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de Pagamento\",\r\n disabledFunc: () => {\r\n return this.filter.tipopagamento == 'AVista';\r\n },\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n tipopagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Recebimento\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"AVista\", text: \"A Vista\" },\r\n { value: \"FormaPagamento\", text: \"Por forma de pagamento\" },\r\n ],\r\n }),\r\n tipodata: new CMInputConfig({\r\n form: this,\r\n caption: \"Pesquisar por\",\r\n values: [\r\n { value: \"Vencimento\", text: \"Vencimento\" },\r\n { value: \"Liquidacao\", text: \"Liquidação\" },\r\n { value: \"VencimentoAberto\", text: \"Vencimento - Liquidação Aberta\" },\r\n { value: \"Emissao\", text: \"Emissão\" },\r\n { value: \"VencimentoRecebimentoAberto\", text: \"Vencimento - Recebimento Aberto\" },\r\n //{ value: \"BomPara\", text: \"Bom Para\" },\r\n { value: \"EmissaoAberto\", text: \"Emissão - Liquidação Aberta\" },\r\n ],\r\n }),\r\n entsai: new CMInputConfig({\r\n form: this,\r\n caption: \"Entrada/Saída\",\r\n values: [\r\n { value: \"Todos\", text: \"Todos\" },\r\n { value: \"Entrada\", text: \"Recebimentos\" },\r\n { value: \"Saida\", text: \"Pagamentos\" },\r\n ],\r\n }),\r\n contacontabil: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Contabil\",\r\n pesqFunc: (sender) => {\r\n ContaContabilBrowseComponent.pesquisa(sender, this.filter, \"Categoria de Conta Contábil\");\r\n },\r\n }),\r\n outroscampos: new CMInputConfig({\r\n form: this,\r\n caption: \"Outros Campos\",\r\n values: [\r\n { value: \"\", text: \"\" },\r\n { value: \"NrDuplicata\", text: \"Número da Duplicata\" },\r\n { value: \"NrVenda\", text: \"Número da Venda\" },\r\n { value: \"NrCompra\", text: \"Número da Compra\" },\r\n { value: \"NrNFe\", text: \"Número da NFe\" },\r\n { value: \"ValorLancamento\", text: \"Valor do Lançamento\" },\r\n { value: \"ValorBruto\", text: \"Valor Bruto\" },\r\n ],\r\n }),\r\n observacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação\",\r\n }),\r\n outroscamposdescstring: new CMInputConfig({\r\n form: this,\r\n caption: \"Valor\",\r\n maxlenght: 100,\r\n }),\r\n outroscamposdescnumber: new CMInputConfig({\r\n form: this,\r\n caption: 'Valor',\r\n maxlength: 100,\r\n dataType: \"double(2)\",\r\n }),\r\n contabancaria: new CMInputConfig({\r\n form: this,\r\n caption: \"Conta Bancária\",\r\n pesqFunc: (sender) => {\r\n ContaBancariaBrowseComponent.pesquisa(sender, this.filter, \"Conta Bancária\");\r\n },\r\n }),\r\n tipodre: new CMInputConfig({\r\n form: this,\r\n caption: 'Tipo de Conta - DRE',\r\n values: [\r\n {value: \"\", text: \"\"},\r\n {value: \"DespesaFixa\", text: \"Despesa Fixa\"},\r\n {value: \"CustoVariavel\", text: \"Custo Variável\"},\r\n {value: \"ReceitaRecorrente\", text: \"Receita Recorrente\"},\r\n {value: \"ReceitaFinanceira\", text: \"Receita Financeira\"},\r\n {value: \"ReceitaComProdutos\", text: \"Receita Com Produtos\"},\r\n {value: \"ImpostoDeRenda\", text: \"Imposto de Renda\"},\r\n {value: \"DespesaFinanceira\", text: \"Despesas Financeiras\"},\r\n {value: \"Investimento\", text: \"Investimento\"},\r\n {value: \"CustoMercadoriaAdquirida\", text: \"Custo de Mercadoria Adquirida\"},\r\n {value: \"NaoAplicavel\", text: \"Não aplicável\"},\r\n ],\r\n }),\r\n };\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n this.filter.tipopagamento = \"Todos\";\r\n this.filter.tipodata = \"Vencimento\";\r\n this.filter.entsai = \"Todos\";\r\n }\r\n\r\n limparFiltros(){\r\n this.filter.dataini = \"\";\r\n this.filter.datafim = \"\";\r\n this.filter.tipopagamento = \"\";\r\n this.filter.tipodata = \"\";\r\n this.filter.entsai = \"\";\r\n this.filter.tipodre = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.outroscampos = \"\";\r\n this.filter.outroscamposdescnumber = \"\";\r\n this.filter.outroscamposdescstring = \"\";\r\n this.filter.contabancaria = \"\";\r\n this.filter.observacao = \"\";\r\n this.filter.contacontabil = \"\";\r\n this.filter.formapagamento = \"\";\r\n this.filter.cliente = \"\";\r\n }\r\n\r\n tipoInput(){\r\n if (\r\n this.filter.outroscampos === 'ValorLancamento' ||\r\n this.filter.outroscampos === 'ValorBruto' ){\r\n return \"number\" \r\n }\r\n else {\r\n return \"string\"\r\n }\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from \"./movimento-diario.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\n\r\n\r\n@Component({\r\n selector: \"movimento-diario\",\r\n templateUrl: \"movimento-diario.component.html\",\r\n})\r\nexport class RelatMovimentoDiarioComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoMovimentoDiario\";\r\n this.filterConfig = {\r\n data: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n };\r\n this.filter.data = CMFormRelatComponent.date();\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.data);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './posicao-estoque.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n} from \"./../../../@cmcore/component\";\r\nimport {\r\n GrupoDeProdutoBrowseComponent,\r\n ProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n} from \"../..\";\r\nimport { FuncsGlobais } from \"../../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"posicao-estoque\",\r\n templateUrl: \"posicao-estoque.component.html\",\r\n})\r\nexport class RelatPosicaoEstoqueComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoPosicaoEstoque\";\r\n this.filterConfig = {\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.filter, \"Todos\");\r\n },\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.filter, \"grupo\");\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n apenasprodutoscomsaldo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos com saldo\",\r\n }),\r\n ativo: new CMInputConfig({\r\n form: this,\r\n caption: \"Apenas produtos ativos\",\r\n }),\r\n };\r\n this.filter.apenasprodutoscomsaldo = \"Não\";\r\n this.filter.ativo = \"Sim\";\r\n }\r\n}\r\n","export * from \"./produtos-consignacao.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { VendedorBrowseComponent } from \"../../vendedor\";\r\nimport { ClienteBrowseComponent } from \"../../cliente\";\r\n\r\n@Component({\r\n selector: \"produtos-consignacao\",\r\n templateUrl: \"produtos-consignacao.component.html\",\r\n})\r\nexport class RelatProdutosConsignacaoComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoProdutosConsignacao\";\r\n this.filterConfig = {\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n };\r\n this.filter.dataini = CMFormRelatComponent.firstDate();\r\n this.filter.datafim = CMFormRelatComponent.lastDate();\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from \"./produtos-sem-venda.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig\r\n} from \"./../../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"produtos-sem-venda\",\r\n templateUrl: \"produtos-sem-venda.component.html\"\r\n})\r\nexport class RelatProdutosSemVendaComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoProdutosSemVenda\";\r\n this.filterConfig = {\r\n diassemvenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Dias sem Venda\",\r\n required: true,\r\n dataType: \"integer\"\r\n }),\r\n consideraprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Considere Pré-Venda em aberto\"\r\n })\r\n };\r\n this.filter.consideraprevenda = \"Não\";\r\n this.filter.diassemvenda = \"30\";\r\n }\r\n}\r\n","export * from \"./ranking-produtos.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n} from \"./../../../@cmcore/component\";\r\nimport { FuncsGlobais } from \"../../funcs.globais\";\r\nimport {\r\n GradeBrowseComponent,\r\n GrupoDeProdutoBrowseComponent,\r\n SubGrupoDeProdutoBrowseComponent,\r\n VendedorBrowseComponent,\r\n} from \"../..\";\r\n\r\n@Component({\r\n selector: \"ranking-produtos\",\r\n templateUrl: \"ranking-produtos.component.html\",\r\n})\r\nexport class RelatRankingProdutosComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoRankingProdutos\";\r\n this.filterConfig = {\r\n consideraprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Considera Pré-Venda em aberto\",\r\n }),\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n tipoquebra1: new CMInputConfig({\r\n form: this,\r\n caption: \"Quebra\",\r\n values: [{ value: \"Geral\" }, { value: \"Vendedor\" }],\r\n }),\r\n ordem1: new CMInputConfig({\r\n form: this,\r\n caption: \"Ordenar por\",\r\n values: [\r\n { text: \"Preço Médio Venda\", value: \"PrecoMedioVenda\" },\r\n { text: \"Quantidade Vendida\", value: \"QtdeVendida\" },\r\n { text: \"Valor Total Lucro\", value: \"ValorTotalLucro\" },\r\n { text: \"% Margem Lucro\", value: \"PercMargemLucro\" },\r\n { text: \"% MCU\", value: \"MCU\" },\r\n ],\r\n }),\r\n ordem1ascdesc: new CMInputConfig({\r\n form: this,\r\n caption: \"Ordenação\",\r\n values: [\r\n { text: \"Crescente\", value: \"asc\" },\r\n { text: \"Decrescente\", value: \"desc\" },\r\n ],\r\n }),\r\n grupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n GrupoDeProdutoBrowseComponent.pesquisa(sender, this.filter, \"grupo\");\r\n },\r\n }),\r\n subgrupo: new CMInputConfig({\r\n form: this,\r\n caption: \"Sub-Grupo\",\r\n upper: true,\r\n visibleFunc: () => FuncsGlobais.paramEmpresa.modoOperacao === \"Nivel2\",\r\n pesqFunc: (sender) => {\r\n SubGrupoDeProdutoBrowseComponent.pesquisa(\r\n sender,\r\n this.filter,\r\n \"subgrupo\"\r\n );\r\n },\r\n }),\r\n };\r\n this.filter.dataini = this.decDate(30);\r\n this.filter.datafim = this.date;\r\n this.filter.tipoquebra1 = \"Geral\";\r\n this.filter.ordem1 = \"QtdeVendida\";\r\n this.filter.ordem1ascdesc = \"desc\";\r\n this.filter.consideraprevenda = \"Não\";\r\n }\r\n\r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n}\r\n","export * from './ultimo-login.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\nimport { AssociadoBrowseComponent } from '../../associado';\r\n\r\n@Component({\r\n selector: 'ultimo-login',\r\n templateUrl: 'ultimo-login.component.html'\r\n})\r\nexport class RelatUltimoLoginComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoUltimoLogin';\r\n this.filterConfig = {\r\n diassemacesso: new CMInputConfig({\r\n form: this,\r\n caption: 'Dias para considerar inativo',\r\n dataType: 'integer'\r\n }),\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n values: [\r\n { value: \"Ativo\", text: \"Ativo\" },\r\n { value: \"Inativo\", text: \"Inativo\" },\r\n { value: \"Todos\", text: \"Todos\" },\r\n ],\r\n }),\r\n associado: new CMInputConfig({\r\n form: this,\r\n caption: \"Associado\",\r\n pesqFunc: (sender) => {\r\n AssociadoBrowseComponent.pesquisa(sender, this.filter, \"Associado\");\r\n },\r\n }),\r\n }\r\n this.filter.diassemacesso = '30';\r\n this.filter.status = 'Todos';\r\n }\r\n\r\n}","export * from './uso-plataforma.component';","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormRelatComponent, CMInputConfig,\r\n CMFormGlobaisComponent\r\n } from './../../../@cmcore/component';\r\nimport { AssociadoBrowseComponent } from '../../associado';\r\n\r\n@Component({\r\n selector: 'uso-plataforma',\r\n templateUrl: 'uso-plataforma.component.html'\r\n})\r\nexport class RelatUsoPlataformaComponent extends CMFormRelatComponent {\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = 'ImpressaoUsoPlataforma';\r\n this.filterConfig = {\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: 'Data Inicial',\r\n mask: '99/99/9999'\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: 'Data Final',\r\n mask: '99/99/9999'\r\n }),\r\n\r\n status: new CMInputConfig({\r\n form: this,\r\n caption: \"Status\",\r\n values: [\r\n { value: \"Ativo\", text: \"Ativo\" },\r\n { value: \"Inativo\", text: \"Inativo\" },\r\n { value: \"Todos\", text: \"Todos\" },\r\n ],\r\n }),\r\n associado: new CMInputConfig({\r\n form: this,\r\n caption: \"Associado\",\r\n pesqFunc: (sender) => {\r\n AssociadoBrowseComponent.pesquisa(sender, this.filter, \"Associado\");\r\n },\r\n }),\r\n tipodocumento: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Documento\",\r\n values: [\r\n { value: \"ApenasSAT\", text: \"Apenas SAT\" },\r\n { value: \"ApenasNFe\", text: \"Apenas NFe\" },\r\n { value: \"ApenasPreVenda\", text: \"Apenas Pré Venda\" },\r\n { value: \"Todos\", text: \"Todos\" },\r\n ],\r\n }),\r\n }\r\n this.filter.dataini = this.firstDate();\r\n this.filter.datafim = this.lastDate();\r\n this.filter.status = 'Todos';\r\n this.filter.tipodocumento = 'Todos';\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data inicial não informada');\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro('Data final não informada');\r\n }\r\n return r;\r\n }\r\n\r\n}","export * from \"./vendas-detalhado.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { VendedorBrowseComponent } from \"../../vendedor\";\r\nimport {\r\n ClienteBrowseComponent,\r\n FormaPagamentoBrowseComponent,\r\n ProdutoBrowseComponent,\r\n} from \"../..\";\r\n\r\n@Component({\r\n selector: \"vendas-detalhado\",\r\n templateUrl: \"vendas-detalhado.component.html\",\r\n})\r\nexport class RelatVendasDetalhadoComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoVendasDetalhado\";\r\n this.filterConfig = {\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n cliente: new CMInputConfig({\r\n form: this,\r\n caption: \"Cliente\",\r\n pesqFunc: (sender) => {\r\n ClienteBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n formapagamento: new CMInputConfig({\r\n form: this,\r\n caption: \"Forma de Pagamento\",\r\n pesqFunc: (sender) => {\r\n FormaPagamentoBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n produto: new CMInputConfig({\r\n form: this,\r\n caption: \"Produto\",\r\n maxlength: 30,\r\n padInfo: { size: 30 },\r\n pesqFunc: (sender) => {\r\n ProdutoBrowseComponent.pesquisa(sender, this.filter, \"Ativos\");\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n consideraprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Considera Pré-Venda em aberto\",\r\n }),\r\n detalhaitens: new CMInputConfig({\r\n form: this,\r\n caption: \"Demostra os itens\",\r\n }),\r\n detalhagrades: new CMInputConfig({\r\n form: this,\r\n caption: \"Demostra as grades\",\r\n onExit: () => {\r\n if (this.filter.detalhagrades === 'Sim'){\r\n this.filter.detalhaitens = 'Sim';\r\n }\r\n }\r\n }),\r\n };\r\n this.filter.dataini = CMFormRelatComponent.firstDate();\r\n this.filter.datafim = CMFormRelatComponent.lastDate();\r\n this.filter.tipoquebra1 = \"Geral\";\r\n this.filter.consideraprevenda = \"Não\";\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from \"./vendas-por-dia.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { VendedorBrowseComponent } from \"../../vendedor\";\r\n\r\n@Component({\r\n selector: \"vendas-por-dia\",\r\n templateUrl: \"vendas-por-dia.component.html\",\r\n})\r\nexport class RelatVendasPorDiaComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoVendasPorDia\";\r\n this.filterConfig = {\r\n vendedor: new CMInputConfig({\r\n form: this,\r\n caption: \"Vendedor\",\r\n pesqFunc: (sender) => {\r\n VendedorBrowseComponent.pesquisa(sender, this.filter);\r\n },\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n tipoquebra1: new CMInputConfig({\r\n form: this,\r\n caption: \"Quebra\",\r\n values: [{ value: \"Geral\" }, { value: \"Vendedor\" }],\r\n }),\r\n consideraprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Considera Pré-Venda em aberto\",\r\n }),\r\n };\r\n this.filter.dataini = CMFormRelatComponent.firstDate();\r\n this.filter.datafim = CMFormRelatComponent.lastDate();\r\n this.filter.tipoquebra1 = \"Geral\";\r\n this.filter.consideraprevenda = \"Não\";\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.dataini);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data inicial não informada\");\r\n }\r\n if (r) {\r\n r = !this.isEmpty(this.filter.datafim);\r\n if (!r) CMFormGlobaisComponent.toastErro(\"Data final não informada\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from \"./vendas-por-mes.component\";\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormRelatComponent,\r\n CMInputConfig,\r\n CMFormGlobaisComponent,\r\n} from \"./../../../@cmcore/component\";\r\nimport { VendedorBrowseComponent } from \"../../vendedor\";\r\n\r\n@Component({\r\n selector: \"vendas-por-mes\",\r\n templateUrl: \"vendas-por-mes.component.html\",\r\n})\r\nexport class RelatVendasPorMesComponent extends CMFormRelatComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.relatName = \"ImpressaoVendasPorMes\";\r\n this.filterConfig = {\r\n anoref: new CMInputConfig({\r\n form: this,\r\n caption: \"Ano de referência\",\r\n dataType: \"integer\",\r\n }),\r\n consideraprevenda: new CMInputConfig({\r\n form: this,\r\n caption: \"Considera Pré-Venda em aberto\",\r\n }),\r\n };\r\n this.filter.anoref = this.integerToValue(new Date().getFullYear());\r\n this.filter.consideraprevenda = \"Não\";\r\n }\r\n\r\n valid() {\r\n let r = super.valid();\r\n if (r) {\r\n r = !this.isEmpty(this.filter.anoref);\r\n if (!r)\r\n CMFormGlobaisComponent.toastErro(\"Ano de referência não informado\");\r\n }\r\n return r;\r\n }\r\n}\r\n","export * from './seguimento-edit.component';\r\nexport * from './seguimento-browse.component';","// tslint:disable\r\nimport { Injector, Component } from '@angular/core';\r\n\r\nimport { CMFormBrowse2Component, CMFormPesquisaComponent } from './../../@cmcore/component';\r\nimport { SeguimentoEditComponent } from './seguimento-edit.component';\r\n\r\n@Component({\r\n selector: 'seguimento-browse',\r\n templateUrl: './../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html',\r\n styleUrls: ['./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss']\r\n})\r\nexport class SeguimentoBrowseComponent extends CMFormBrowse2Component {\r\n\r\n static defaultColumns = [{field: 'codigo', caption: '#', width: '100'},\r\n {field: 'descricao', caption: 'Descrição', filter: true}];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'seguimento';\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = SeguimentoEditComponent;\r\n this.columns = SeguimentoBrowseComponent.defaultColumns;\r\n }\r\n\r\n getTitle() {\r\n return 'Seguimento';\r\n }\r\n\r\n static pesquisaSeguimento(sender: any, target: any) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n 'seguimento',\r\n 'Pesquisa de Seguimento',\r\n SeguimentoBrowseComponent.defaultColumns,\r\n target,\r\n undefined,\r\n 'codigo',\r\n );\r\n }\r\n }\r\n\r\n}","// tslint:disable\r\nimport { Component, Injector } from '@angular/core';\r\n\r\nimport { CMFormEditComponent, CMInputConfig\r\n } from './../../@cmcore/component';\r\n\r\n@Component({\r\n selector: 'seguimento-edit',\r\n templateUrl: 'seguimento-edit.component.html',\r\n})\r\nexport class SeguimentoEditComponent extends CMFormEditComponent {\r\n\r\n getFirstComponentName() {\r\n return 'model_descricao';\r\n }\r\n\r\n getTitle() {\r\n return 'Seguimento';\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = 'seguimento';\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({form: this,\r\n caption: '#',\r\n disabled: true}),\r\n descricao: new CMInputConfig({form: this,\r\n caption: 'Descrição',\r\n required: true,\r\n maxlength: 60}),\r\n };\r\n }\r\n\r\n}","export * from './solicita-senha-supervisor.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { CMFormGlobaisComponent, CMInputConfig } from \"src/app/@cmcore/component\";\r\nimport { CMFormComponent } from \"src/app/@cmcore/component/cmform/cmform.component\";\r\n\r\n@Component({\r\n selector: \"solicita-senha-supervisor\",\r\n templateUrl: \"solicita-senha-supervisor.component.html\",\r\n})\r\nexport class SolicitaSenhaSupervisor extends CMFormComponent {\r\n modelConfig = {\r\n login: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n required: true,\r\n maxlength: 50,\r\n }),\r\n senha: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n required: true,\r\n maxlength: 15,\r\n criptografado: true,\r\n }),\r\n };\r\n\r\n model = {\r\n login: \"\",\r\n senha: \"\",\r\n };\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n validate(callYes) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/cliente/LiberaVendaContaVencida\",\r\n JSON.stringify(this.model),\r\n (res) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n if (res[\"ret\"] == \"ok\") {\r\n callYes(); \r\n } else {\r\n CMFormGlobaisComponent.showMessageAviso('

    Usuário não possui a permissão para liberação.

    ');\r\n }\r\n },\r\n (error) => {\r\n this.showMessageErrorHTTP(\"LiberaVendaContaVencida\", error);\r\n CMFormGlobaisComponent.hideSpinner();\r\n }\r\n ); \r\n }\r\n}\r\n","export * from './sped-fiscal.component';","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport {\r\n CMInputConfig,\r\n CMFormExecComponent,\r\n CMFormGlobaisComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n templateUrl: \"sped-fiscal.component.html\",\r\n})\r\nexport class SpedFiscalComponent extends CMFormExecComponent {\r\n private sub: any;\r\n title: string = \"\";\r\n titleDestinatario: string = \"\";\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.sub = this.route.params.subscribe((params) => {\r\n this.title = \"Geração do Arquivo Sped Fiscal\";\r\n this.setfilterConfig();\r\n });\r\n }\r\n\r\n \r\n get paramEmpresa() {\r\n return FuncsGlobais.paramEmpresa;\r\n }\r\n\r\n clearCampos() {\r\n this.filter.filtro.valoralterarstring = \"\";\r\n }\r\n\r\n setfilterConfig() {\r\n this.filterConfig = {\r\n filtro: {\r\n\r\n versao: new CMInputConfig({\r\n form: this,\r\n caption: 'Versão:',\r\n values: [\r\n {'value': \"001\"},\r\n {'value': \"002\"},\r\n {'value': \"003\"},\r\n {'value': \"004\"},\r\n {'value': \"005\"},\r\n {'value': \"006\"},\r\n {'value': \"007\"},\r\n {'value': \"008\"},\r\n {'value': \"009\"},\r\n {'value': \"010\"},\r\n {'value': \"011\"},\r\n {'value': \"012\"},\r\n {'value': \"013\"},\r\n {'value': \"014\"},\r\n {'value': \"015\"},\r\n {'value': \"016\"},\r\n {'value': \"017\"},\r\n {'value': \"018\"},\r\n {'value': \"019\"},\r\n {'value': \"020\"},\r\n {'value': \"021\"},\r\n {'value': \"022\"},\r\n {'value': \"023\"},\r\n {'value': \"024\"},\r\n {'value': \"025\"},\r\n {'value': \"026\"},\r\n {'value': \"027\"},\r\n {'value': \"028\"},\r\n ],\r\n }),\r\n dataini: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data Inicial\",\r\n mask: \"99/99/9999\",\r\n }),\r\n datafim: new CMInputConfig({\r\n form: this,\r\n required: true,\r\n caption: \"Data Final\",\r\n mask: \"99/99/9999\",\r\n }),\r\n\r\n /*\r\n indicadoratividade: new CMInputConfig({\r\n form: this,\r\n visible: false,\r\n caption: 'Indicador de atividade:',\r\n values: [\r\n {'value': \"0\", 'text': \"Outros\"},\r\n {'value': \"1\", 'text': \"Industrial ou Equiparado\"},\r\n ],\r\n }),*/\r\n\r\n gerarbloco0: new CMInputConfig({\r\n form: this,\r\n caption: \"Gerar Bloco 0 - Abertura, Identificação e Referências\"\r\n }),\r\n gerarbloco1: new CMInputConfig({\r\n form: this,\r\n caption: \"Gerar Bloco 1 - Outras Informações\"\r\n }),\r\n gerarregistro0400: new CMInputConfig({\r\n form: this,\r\n caption: \"Gerar Registro 0400\"\r\n }),\r\n gerarblococ: new CMInputConfig({\r\n form: this,\r\n caption: \"Gerar Bloco C\"\r\n }),\r\n\r\n /*\r\n gerarregistroc170: new CMInputConfig({\r\n form: this,\r\n visible: false,\r\n caption: \"Gerar Registro C170 - Itens da NF-e\"\r\n }),*/\r\n gerarblocoe: new CMInputConfig({\r\n form: this,\r\n caption: \"Gerar Bloco E\"\r\n }),\r\n e116: new CMInputConfig({\r\n form: this,\r\n caption: 'E116',\r\n maxlength: 100,\r\n }),\r\n e250: new CMInputConfig({\r\n form: this,\r\n caption: 'E250',\r\n maxlength: 100,\r\n }),\r\n },\r\n };\r\n this.filter.filtro.versao = \"016\";\r\n this.filter.filtro.indicadoratividade = \"0\";\r\n }\r\n\r\n valorAlterarVazio() {\r\n let valido = true;\r\n switch(this.filter.filtro.propriedadenova){\r\n case \"Preço de Compra\": {\r\n if (this.filter.filtro.valoralterarnumber.trim().length === 0) {\r\n valido = false;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return valido;\r\n }\r\n\r\n innerExec() {\r\n super.innerExec();\r\n\t\tthis.geraArquivoSped();\r\n }\r\n\r\n\r\n geraArquivoSped() {\r\n\t\tlet filter = this.filter.filtro;\r\n CMFormGlobaisComponent.showSpinner();\r\n let date = new Date;\r\n let dia = date.getDate();\r\n let diaformatado;\r\n let mes = date.getMonth()+1;\r\n let mesformatado;\r\n \r\n if (dia < 10) {\r\n diaformatado = \"0\" + dia;\r\n }\r\n else{\r\n diaformatado = dia;\r\n }\r\n\r\n if (mes === 10){\r\n mesformatado = \"O\";\r\n }\r\n else if (mes === 11){\r\n mesformatado = \"N\";\r\n }\r\n else if (mes === 12){\r\n mesformatado = \"D\";\r\n }\r\n else{\r\n mesformatado = mes;\r\n }\r\n\r\n console.log(this.paramEmpresa);\r\n\r\n console.log('filter: ', filter);\r\n \r\n this.postSubscribeT>('/api/empresaassociado/GeraSpedFiscal',\r\n JSON.stringify(filter),\r\n (result) => {\r\n let result_str = result.pop();\r\n if (result_str === 'ok') {\r\n let ie = result.pop();\r\n let cnpj = result.pop();\r\n let contentFile = result.pop();\r\n\r\n console.log('ie: ', ie);\r\n console.log('cnpj: ', cnpj);\r\n console.log('contentFile: ', contentFile);\r\n\r\n let date = new Date();\r\n date.setMonth(mesformatado);\r\n\r\n let mesabreviado = date.toLocaleString('default', { month: 'short'}).slice(0,-1);\r\n let ano = date.getFullYear().toString();\r\n\r\n let fileName = 'SpedEFD-'+cnpj+'-'+ie+'Remessa de arquivo original-'+mesabreviado+ano+'.txt';\r\n //let fileName = 'SpedEFD-'+this.paramEmpresa.Convenio+mesformatado+diaformatado+'.crm';\r\n this.downloadContent(contentFile, fileName);\r\n\r\n\r\n }\r\n else {\r\n CMFormGlobaisComponent.toastErro(result_str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n error => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n this.showMessageErrorHTTP('geraArquivoCNAB', error);\r\n });\r\n }\r\n \r\n}\r\n","export * from \"./subgrupodeproduto-edit.component\";\r\nexport * from \"./subgrupodeproduto-browse.component\";\r\n","// tslint:disable\r\nimport { Injector, Component } from \"@angular/core\";\r\n\r\nimport {\r\n CMFormBrowse2Component,\r\n CMFormPesquisaComponent,\r\n} from \"./../../@cmcore/component\";\r\nimport { SubGrupoDeProdutoEditComponent } from \"./subgrupodeproduto-edit.component\";\r\n\r\n@Component({\r\n selector: \"subgrupodeproduto-browse\",\r\n templateUrl:\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.html\",\r\n styleUrls: [\r\n \"./../../@cmcore/component/cmform/cmform-browse/cmform-browse2.component.scss\",\r\n ],\r\n})\r\nexport class SubGrupoDeProdutoBrowseComponent extends CMFormBrowse2Component {\r\n static defaultColumns = [\r\n { field: \"codigo\", caption: \"Código\", width: \"100\" },\r\n { field: \"descricao\", caption: \"Descrição\", filter: true },\r\n ];\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"subgrupodeproduto\";\r\n this.fixedFooterFormEdit = false;\r\n this.formEditComponent = SubGrupoDeProdutoEditComponent;\r\n this.columns = SubGrupoDeProdutoBrowseComponent.defaultColumns;\r\n }\r\n\r\n getTitle() {\r\n return \"Sub-Grupo de Produto\";\r\n }\r\n\r\n static pesquisa(sender: any, target: any, targetProp: any = undefined) {\r\n if (target) {\r\n CMFormPesquisaComponent.defaultPesquisa(\r\n sender,\r\n \"subgrupodeproduto\",\r\n \"Pesquisa de Sub-Grupo de Produto\",\r\n SubGrupoDeProdutoBrowseComponent.defaultColumns,\r\n target,\r\n targetProp,\r\n \"codigo\",\r\n undefined,\r\n false\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\n\r\nimport { CMFormEditComponent, CMInputConfig } from \"./../../@cmcore/component\";\r\n\r\n@Component({\r\n selector: \"subgrupodeproduto-edit\",\r\n templateUrl: \"subgrupodeproduto-edit.component.html\",\r\n})\r\nexport class SubGrupoDeProdutoEditComponent extends CMFormEditComponent {\r\n getFirstComponentName() {\r\n return \"model_codigo\";\r\n }\r\n\r\n getTitle() {\r\n return \"Sub-Grupo de Produto\";\r\n }\r\n\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"subgrupodeproduto\";\r\n this.modelConfig = {\r\n codigo: new CMInputConfig({\r\n form: this,\r\n caption: \"Código\",\r\n maxlength: 5,\r\n required: true,\r\n upper: true,\r\n }),\r\n descricao: new CMInputConfig({\r\n form: this,\r\n caption: \"Descrição\",\r\n required: true,\r\n maxlength: 60,\r\n }),\r\n };\r\n }\r\n}\r\n","export * from \"./transportadora-browse.component\";\r\n","// tslint:disable\r\nimport { PessoaBrowseComponent } from \"..\";\r\n\r\nexport class TransportadoraBrowseComponent {\r\n static pesquisa(\r\n sender: any,\r\n target: any,\r\n targetProp?: string,\r\n onAfterSelect?: Function\r\n ) {\r\n if (targetProp == undefined) targetProp = \"transportadora\";\r\n PessoaBrowseComponent.pesquisa(\r\n sender,\r\n target,\r\n \"Transportadora\",\r\n targetProp\r\n );\r\n }\r\n}\r\n","export * from \"./vendedor-browse.component\";\r\n","// tslint:disable\r\nimport { PessoaBrowseComponent } from \"..\";\r\n\r\nexport class VendedorBrowseComponent {\r\n static pesquisa(sender: any, target: any, targetProp?: string) {\r\n if (targetProp == undefined) targetProp = \"vendedor\";\r\n PessoaBrowseComponent.pesquisa(sender, target, \"Vendedor\", targetProp);\r\n }\r\n}\r\n","export * from './wizard-config.component';","export default \".titulo {\\n text-align: center;\\n padding-top: 5px;\\n}\\n\\nul {\\n margin: 0;\\n padding: 0;\\n}\\n\\n/* Style the list items */\\n\\nul li {\\n cursor: pointer;\\n position: relative;\\n padding: 12px 8px 12px 40px;\\n list-style-type: none;\\n background: #eee;\\n font-size: 18px;\\n transition: 0.2s;\\n /* make the list items unselectable */\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n/* Set all odd list items to a different color (zebra-stripes) */\\n\\nul li:nth-child(odd) {\\n background: #f9f9f9;\\n}\\n\\n/* Darker background-color on hover */\\n\\nul li:hover {\\n background: #ddd;\\n}\\n\\n/* When clicked on, add a background color and strike out text */\\n\\nul li.checked {\\n background: #888;\\n color: #fff;\\n text-decoration: line-through;\\n}\\n\\n/* Add a \\\"checked\\\" mark when clicked on */\\n\\nul li.checked::before {\\n content: \\\"\\\";\\n position: absolute;\\n border-color: #fff;\\n border-style: solid;\\n border-width: 0 2px 2px 0;\\n top: 10px;\\n left: 16px;\\n transform: rotate(45deg);\\n height: 15px;\\n width: 7px;\\n}\\n\\n/* Style the close button */\\n\\n.close {\\n position: absolute;\\n right: 0;\\n top: 0;\\n padding: 12px 16px 12px 16px;\\n}\\n\\n.close:hover {\\n background-color: #f44336;\\n color: white;\\n}\\n\\n/* Style the header */\\n\\n.header {\\n background-color: #f44336;\\n padding: 30px 40px;\\n color: white;\\n text-align: center;\\n}\\n\\n/* Clear floats after the header */\\n\\n.header:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX19yZWN1cnNvcy93aXphcmQtY29uZmlnL0M6XFxTb3VyY2VDb2RlXFxCZXNzYW5pQ1JUXFxiZXNzYW5pXFxBY2lyY25ldFxcQW5ndWxhcjgvc3JjXFxhcHBcXF9fcmVjdXJzb3NcXHdpemFyZC1jb25maWdcXHdpemFyZC1jb25maWcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL19fcmVjdXJzb3Mvd2l6YXJkLWNvbmZpZy93aXphcmQtY29uZmlnLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQUE7RUFDQSxnQkFBQTtBQ0NKOztBREVBO0VBQ0ksU0FBQTtFQUNBLFVBQUE7QUNDSjs7QURFRSx5QkFBQTs7QUFDQTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUVBLHFDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QUNBSjs7QURHRSxnRUFBQTs7QUFDQTtFQUNFLG1CQUFBO0FDQUo7O0FER0UscUNBQUE7O0FBQ0E7RUFDRSxnQkFBQTtBQ0FKOztBREdFLGdFQUFBOztBQUNBO0VBQ0UsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsNkJBQUE7QUNBSjs7QURHRSx5Q0FBQTs7QUFDQTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtBQ0FKOztBREdFLDJCQUFBOztBQUNBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsTUFBQTtFQUNBLDRCQUFBO0FDQUo7O0FER0U7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUNBSjs7QURHRSxxQkFBQTs7QUFDQTtFQUNFLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUNBSjs7QURHRSxrQ0FBQTs7QUFDQTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvX19yZWN1cnNvcy93aXphcmQtY29uZmlnL3dpemFyZC1jb25maWcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0dWxvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbn1cclxuXHJcbnVsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0eWxlIHRoZSBsaXN0IGl0ZW1zICovXHJcbiAgdWwgbGkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTJweCA4cHggMTJweCA0MHB4O1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHRyYW5zaXRpb246IDAuMnM7XHJcbiAgICBcclxuICAgIC8qIG1ha2UgdGhlIGxpc3QgaXRlbXMgdW5zZWxlY3RhYmxlICovXHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKiBTZXQgYWxsIG9kZCBsaXN0IGl0ZW1zIHRvIGEgZGlmZmVyZW50IGNvbG9yICh6ZWJyYS1zdHJpcGVzKSAqL1xyXG4gIHVsIGxpOm50aC1jaGlsZChvZGQpIHtcclxuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIERhcmtlciBiYWNrZ3JvdW5kLWNvbG9yIG9uIGhvdmVyICovXHJcbiAgdWwgbGk6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2RkZDtcclxuICB9XHJcbiAgXHJcbiAgLyogV2hlbiBjbGlja2VkIG9uLCBhZGQgYSBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBzdHJpa2Ugb3V0IHRleHQgKi9cclxuICB1bCBsaS5jaGVja2VkIHtcclxuICAgIGJhY2tncm91bmQ6ICM4ODg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gIH1cclxuICBcclxuICAvKiBBZGQgYSBcImNoZWNrZWRcIiBtYXJrIHdoZW4gY2xpY2tlZCBvbiAqL1xyXG4gIHVsIGxpLmNoZWNrZWQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogMTZweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIHdpZHRoOiA3cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0eWxlIHRoZSBjbG9zZSBidXR0b24gKi9cclxuICAuY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggMTJweCAxNnB4O1xyXG4gIH1cclxuICBcclxuICAuY2xvc2U6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbiAgXHJcbiAgLyogU3R5bGUgdGhlIGhlYWRlciAqL1xyXG4gIC5oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcclxuICAgIHBhZGRpbmc6IDMwcHggNDBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLyogQ2xlYXIgZmxvYXRzIGFmdGVyIHRoZSBoZWFkZXIgKi9cclxuICAuaGVhZGVyOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH0iLCIudGl0dWxvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogU3R5bGUgdGhlIGxpc3QgaXRlbXMgKi9cbnVsIGxpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEycHggOHB4IDEycHggNDBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIC8qIG1ha2UgdGhlIGxpc3QgaXRlbXMgdW5zZWxlY3RhYmxlICovXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIFNldCBhbGwgb2RkIGxpc3QgaXRlbXMgdG8gYSBkaWZmZXJlbnQgY29sb3IgKHplYnJhLXN0cmlwZXMpICovXG51bCBsaTpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG59XG5cbi8qIERhcmtlciBiYWNrZ3JvdW5kLWNvbG9yIG9uIGhvdmVyICovXG51bCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG5cbi8qIFdoZW4gY2xpY2tlZCBvbiwgYWRkIGEgYmFja2dyb3VuZCBjb2xvciBhbmQgc3RyaWtlIG91dCB0ZXh0ICovXG51bCBsaS5jaGVja2VkIHtcbiAgYmFja2dyb3VuZDogIzg4ODtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4vKiBBZGQgYSBcImNoZWNrZWRcIiBtYXJrIHdoZW4gY2xpY2tlZCBvbiAqL1xudWwgbGkuY2hlY2tlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiA3cHg7XG59XG5cbi8qIFN0eWxlIHRoZSBjbG9zZSBidXR0b24gKi9cbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMTZweDtcbn1cblxuLmNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBTdHlsZSB0aGUgaGVhZGVyICovXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgcGFkZGluZzogMzBweCA0MHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ2xlYXIgZmxvYXRzIGFmdGVyIHRoZSBoZWFkZXIgKi9cbi5oZWFkZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59Il19 */\"","// tslint:disable\r\nimport { Component, Injector } from \"@angular/core\";\r\nimport { CMInputConfig, CMValidatorEmail } from \"src/app/@cmcore/component\";\r\nimport {\r\n CMFormEditComponent,\r\n CMFormGlobaisComponent,\r\n CMFormModalComponent,\r\n} from \"src/app/@cmcore/component/cmform\";\r\nimport { CFOPBrowseComponent } from \"../cfop\";\r\nimport { FuncsGlobais } from \"../funcs.globais\";\r\n\r\n@Component({\r\n selector: \"wizard-config\",\r\n templateUrl: \"wizard-config.component.html\",\r\n styleUrls: [\"wizard-config.component.scss\"],\r\n})\r\nexport class WizardConfigComponent extends CMFormEditComponent {\r\n constructor(_injector: Injector) {\r\n super(_injector);\r\n this.controllerName = \"empresaassociado\";\r\n this.setModelConfig();\r\n setTimeout(() => {\r\n this.getModelData(Number.parseInt(FuncsGlobais.paramEmpresa.idEmpresa), (model) => {\r\n this.dadosWizard(model)\r\n });\r\n }, 10);\r\n }\r\n\r\n checkList = {\r\n carregou: false,\r\n parametroemail: false,\r\n parametronfe: false,\r\n certificadodigital: false,\r\n pessoa: false,\r\n produto: false,\r\n prevenda: false,\r\n nfe: false\r\n }\r\n\r\n dadosWizard(model) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/empresaassociado/DadosWizard\",\r\n JSON.stringify({id: this.model.id}),\r\n (result) => {\r\n this.checkList.carregou = true;\r\n this.checkList.parametroemail = result['parametroemail'] == 'true';\r\n this.checkList.parametronfe = result['parametronfe'] == 'true';\r\n this.checkList.certificadodigital = result['certificadodigital'] == 'true';\r\n this.checkList.pessoa = result['pessoa'] == 'true';\r\n this.checkList.produto = result['produto'] == 'true';\r\n this.checkList.prevenda = result['prevenda'] == 'true';\r\n this.checkList.nfe = result['nfe'] == 'true';\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n setModelConfig() {\r\n this.modelConfig = {\r\n parametroemail: {\r\n email: new CMInputConfig({\r\n form: this,\r\n caption: \"e-Mail\",\r\n maxlength: 100,\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n customvalidators: [new CMValidatorEmail()],\r\n }),\r\n smtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Servidor (SMTP)\",\r\n maxlength: 50,\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n }),\r\n portsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Porta\",\r\n dataType: \"integer\",\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n }),\r\n protocol: new CMInputConfig({\r\n form: this,\r\n caption: \"Protocolo\",\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n values: [\r\n { value: \"Nenhum\" },\r\n { value: \"Padrao\", text: \"Padrão\" },\r\n { value: \"SSL\" },\r\n { value: \"TLS\" },\r\n { value: \"TLSv1\" },\r\n { value: \"TLSv1R\", text: \"TSLv1 requerido\" },\r\n { value: \"STARTTLS\" },\r\n ],\r\n }),\r\n usernamesmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Usuário\",\r\n maxlength: 100,\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n }),\r\n passwordsmtp: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n maxlength: 50,\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n criptografado: true,\r\n }),\r\n mensagememailpadrao: new CMInputConfig({\r\n form: this,\r\n caption: \"Mensagem padrão\",\r\n requiredFunc: () => this.isFormParametroEmail(),\r\n }),\r\n },\r\n parametronfe: {\r\n regimetrib: new CMInputConfig({\r\n form: this,\r\n caption: \"Regime tributário\",\r\n requiredFunc: () => this.isFormParametroNFe(),\r\n values: [\r\n { value: \"SimplesNacional\", text: \"Simples Nacional\" },\r\n { value: \"SimplesNacionalSubLimite\", text: \"Simples Nacional Sublimite\"},\r\n\t\t\t{ value: \"SimplesNacionalMEI\", text: \"Simples Nacional Microempreendedor Individual – MEI\"}\r\n ],\r\n }),\r\n tpamb: new CMInputConfig({\r\n form: this,\r\n caption: \"Tipo de Ambiente\",\r\n requiredFunc: () => this.isFormParametroNFe(),\r\n values: [\r\n { value: \"Producao\", text: \"Produção\" },\r\n { value: \"Homologacao\", text: \"Homologação\" },\r\n ],\r\n }),\r\n serie: new CMInputConfig({\r\n form: this,\r\n caption: \"Série\",\r\n dataType: \"integer\",\r\n requiredFunc: () => this.isFormParametroNFe(),\r\n }),\r\n cfoppadrao: new CMInputConfig({\r\n form: this,\r\n caption: \"CFOP Padrão\",\r\n mask: \"9.999\",\r\n requiredFunc: () => this.isFormParametroNFe(),\r\n pesqFunc: (sender) => {\r\n CFOPBrowseComponent.pesquisa(\r\n sender,\r\n this.model.parametronfe,\r\n \"cfoppadrao\"\r\n );\r\n },\r\n }),\r\n nrultimanf: new CMInputConfig({\r\n form: this,\r\n caption: \"Produção\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnota === \"true\";\r\n },\r\n }),\r\n nrultimanfhomologacao: new CMInputConfig({\r\n form: this,\r\n caption: \"Homologação\",\r\n dataType: \"integer\",\r\n disabledFunc: () => {\r\n return this.model.temnotahomologacao === \"true\";\r\n },\r\n }),\r\n pcredsn: new CMInputConfig({\r\n form: this,\r\n caption:\r\n \"Alíquota aplicável de cálculo do crédito (Simples Nacional)\",\r\n dataType: \"double(2)\",\r\n }),\r\n obssimples: new CMInputConfig({\r\n form: this,\r\n caption: \"Observação do Simples\",\r\n requiredFunc: () => this.isFormParametroNFe(),\r\n }),\r\n senhacertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Senha\",\r\n requiredFunc: () => this.isFormCertificadoDigital(),\r\n criptografado: true,\r\n }),\r\n diasvalcertdigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Qtde. de dias para aviso do vencimento\",\r\n requiredFunc: () => this.isFormCertificadoDigital(),\r\n dataType: \"integer\",\r\n }),\r\n datacertificadodigital: new CMInputConfig({\r\n form: this,\r\n caption: \"Validade\",\r\n requiredFunc: () => this.isFormCertificadoDigital(),\r\n }),\r\n infocertificadodigital: new CMInputConfig({ form: this }),\r\n },\r\n };\r\n }\r\n\r\n formModalNameAberto: string = \"\";\r\n openFormModal(name) {\r\n this.formModalNameAberto = name;\r\n CMFormModalComponent.open(name);\r\n }\r\n\r\n closeFormModal(name) {\r\n \r\n if (name === 'wizard-parametroemail'){\r\n if (\r\n (this.model.parametroemail.email !== undefined) &&\r\n (this.model.parametroemail.smtp !== undefined) &&\r\n (this.model.parametroemail.portsmtp !== undefined) &&\r\n (this.model.parametroemail.protocol !== undefined) &&\r\n (this.model.parametroemail.email !== undefined) &&\r\n (this.model.parametroemail.usernamesmtp !== undefined) &&\r\n (this.model.parametroemail.passwordsmtp !== undefined)\r\n ){\r\n this.checkList.parametroemail = true;\r\n }\r\n }\r\n\r\n if (name === 'wizard-parametronfe'){\r\n if (this.model.parametronfe.cfoppadrao !== undefined){\r\n this.checkList.parametronfe = true;\r\n }\r\n }\r\n \r\n if (name === 'wizard-certificadodigital'){\r\n if (\r\n (this.model.parametronfe.senhacertificadodigital !== undefined) &&\r\n (this.model.parametronfe.diasvalcertdigital !== undefined) &&\r\n (this.model.parametronfe.datacertificadodigital !== undefined) &&\r\n (this.model.parametronfe.infocertificadodigital !== undefined)\r\n ){\r\n this.checkList.certificadodigital = true;\r\n }\r\n }\r\n\r\n if (name === 'wizard-produto'){\r\n let componentProduto = document.querySelector('#wizard-produto');\r\n let totalProduto = componentProduto.getElementsByClassName('total')[0].firstChild.textContent;\r\n if (totalProduto !== '0 total'){\r\n this.checkList.produto = true;\r\n }\r\n }\r\n \r\n if (name === 'wizard-pessoa'){\r\n let componentPessoa = document.querySelector('#wizard-pessoa');\r\n let totalPessoa = componentPessoa.getElementsByClassName('total')[0].firstChild.textContent;\r\n if (totalPessoa !== '0 total'){\r\n this.checkList.pessoa = true;\r\n }\r\n }\r\n \r\n if (name === 'wizard-prevenda'){\r\n let componentPrevenda = document.querySelector('#wizard-prevenda');\r\n let totalPrevenda = componentPrevenda.getElementsByClassName('total')[0].firstChild.textContent;\r\n if (totalPrevenda !== '0 total'){\r\n this.checkList.prevenda = true;\r\n }\r\n }\r\n\r\n if (name === 'wizard-nfe'){\r\n let componentNFe = document.querySelector('#wizard-nfe');\r\n let totalNFe = componentNFe.getElementsByClassName('total')[0].firstChild.textContent;\r\n if (totalNFe !== '0 total'){\r\n this.checkList.nfe = true;\r\n }\r\n }\r\n\r\n console.log('this.model: ', this.model);\r\n\r\n this.formModalNameAberto = \"\";\r\n CMFormModalComponent.close(name);\r\n }\r\n\r\n saveFormModal() {\r\n console.log('curso de ingles');\r\n this.save(undefined);\r\n }\r\n\r\n isFormParametroEmail() {\r\n return this.formModalNameAberto == \"wizard-parametroemail\";\r\n }\r\n\r\n isFormParametroNFe() {\r\n return this.formModalNameAberto == \"wizard-parametronfe\";\r\n }\r\n\r\n isFormCertificadoDigital() {\r\n return this.formModalNameAberto == \"wizard-certificadodigital\";\r\n }\r\n\r\n afterSave() {\r\n this.closeFormModal(this.formModalNameAberto);\r\n }\r\n\r\n testeEnvioEmail() {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/empresaassociado/TesteEnvioEmail/FuncaoExtra\",\r\n JSON.stringify(this.model.parametroemail),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Aguarde alguns minutos e verifique seu email\"\r\n );\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Verifique a mensagem abaixo

    \";\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n carregarCertificadoDigital() {\r\n if (this.model.parametronfe.senhacertificadodigital === \"\")\r\n CMFormGlobaisComponent.toastErro(\r\n \"Informe a senha do certificado digital\"\r\n );\r\n else CMFormModalComponent.open(\"modalFormCertificado\");\r\n }\r\n\r\n modalFormCertificadoClose() {\r\n CMFormModalComponent.close(\"modalFormCertificado\");\r\n }\r\n\r\n onCompleteUpload(sender: any) {\r\n CMFormGlobaisComponent.showSpinner();\r\n sender.form.postSubscribe(\r\n \"/api/empresaassociado/UploadCertificadoDigital/FuncaoExtra\",\r\n JSON.stringify({\r\n keyserver: sender.keyserver,\r\n senha: sender.form.model.parametronfe.senhacertificadodigital,\r\n idempresa: sender.form.model.id,\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n sender.form.model.parametronfe.datacertificadodigital =\r\n result[\"validade\"];\r\n sender.form.model.parametronfe.infocertificadodigital =\r\n result[\"info\"];\r\n CMFormGlobaisComponent.toastSucesso(\"Arquivo enviado com sucesso\");\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n sender.form.modalFormCertificadoClose();\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n\r\n checkCertificadoDigitalConfigurado() {\r\n if (this.valid()) {\r\n CMFormGlobaisComponent.showSpinner();\r\n this.postSubscribe(\r\n \"/api/empresaassociado/CheckCertificadoDigitalConfigurado/FuncaoExtra\",\r\n JSON.stringify({\r\n idempresa: this.model.id,\r\n senha: this.model.parametronfe.senhacertificadodigital,\r\n }),\r\n (result) => {\r\n if (result[\"result\"] === \"ok\") {\r\n CMFormGlobaisComponent.toastSucesso(\r\n \"Certificado digital configurado corretamente\"\r\n );\r\n } else {\r\n let str: string = '

    ';\r\n str += \"

    Mensagem: \" + result[\"result\"] + \"

    \";\r\n str += '

    ';\r\n CMFormGlobaisComponent.showMessageAviso(str);\r\n }\r\n CMFormGlobaisComponent.hideSpinner();\r\n },\r\n (error) => {\r\n CMFormGlobaisComponent.hideSpinner();\r\n CMFormGlobaisComponent.showMessageError(error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","// tslint:disable\nimport { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { routerOptions } from \"./__recursos/recursos.routing\";\n\nconst routes: Routes = [\n // otherwise redirect to home\n { path: \"**\", redirectTo: \"\" },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, routerOptions)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","// tslint:disable\nimport { Component, Injector } from \"@angular/core\";\nimport { Title } from \"@angular/platform-browser\";\nimport { AuthService } from \"./@cmcore/guard\";\n\nimport { CMFormComponent } from \"./@cmcore/component/cmform/cmform.component\";\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.scss\"],\n})\nexport class AppComponent extends CMFormComponent {\n static title = \"Aguarde...\";\n static useTimeOutSessao: boolean = true;\n static basePathApiVar: string = \"\";\n static useMenuLateral: boolean = false;\n static useMenuLateral2: boolean = false;\n static heightMenuLateral2: string = \"unset\";\n static useMenuPrincipalInRouterOutlet: boolean = false;\n static heightRouterOutlet: string = \"100%\";\n static classRouterOutlet: string = \"\";\n static defaultClassRowMain: string = \"row\";\n\n constructor(\n injector: Injector,\n private titleService: Title,\n public authService: AuthService\n ) {\n super(injector);\n CMFormComponent.funcBasePathApi = () => {\n return AppComponent.basePathApiVar;\n };\n this.titleService.setTitle(AppComponent.title);\n CMFormComponent.loadCSS_Color();\n }\n\n defaultClassRowMain() {\n return AppComponent.defaultClassRowMain;\n }\n\n checkTimeOutSessao() {\n if (AppComponent.useTimeOutSessao) {\n if (\n this.router.url === \"/\" ||\n this.router.url === \"home\" ||\n this.router.url.startsWith(\"/home\")\n ) {\n let d = new Date();\n let n = d.getHours();\n let s = \"APP\" + n.toString();\n this.getDireitos(\"\", s);\n }\n }\n }\n\n onActivate() {\n this.checkTimeOutSessao();\n window.scrollTo(0, 0);\n\n $(\"*\").click(() => {\n $(\".popup .show\").removeClass(\"show\");\n });\n }\n\n get useMenuPrincipalInRouterOutlet() {\n return AppComponent.useMenuPrincipalInRouterOutlet;\n }\n\n get heightRouterOutlet() {\n return AppComponent.heightRouterOutlet;\n }\n\n get classRouterOutlet() {\n return AppComponent.classRouterOutlet;\n }\n\n get useMenuLateral() {\n return AppComponent.useMenuLateral;\n }\n\n get useMenuLateral2() {\n return AppComponent.useMenuLateral2;\n }\n\n get heightMenuLateral2() {\n return AppComponent.heightMenuLateral2;\n }\n\n get overflowMenuLateral2() {\n if (AppComponent.useMenuLateral2) return \"hidden\";\n else return \"unset\";\n }\n\n get columnsRoute() {\n if (this.useMenuLateral2) return \"0\";\n else if (this.useMenuLateral && this.isLogged) return \"10\";\n else return \"12\";\n }\n\n getMainRouterOutletDisplay() {\n if (this.useMenuLateral2) return \"flex\";\n else return \"block\";\n }\n}\n","// tslint:disable\n\nimport {BrowserModule, Title} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {HttpClientModule} from '@angular/common/http';\nimport {RouterModule} from '@angular/router';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {CMCoreModule} from './@cmcore/cmcore.module';\nimport {RecursosModule} from './__recursos/recursos.module';\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n FormsModule,\n HttpClientModule,\n RouterModule,\n CMCoreModule,\n RecursosModule,\n AppRoutingModule,\n ],\n providers: [Title],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}