Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <movimentacao-pessoal-resumo [movimentacao]="getFormRawValue(forms)"></movimentacao-pessoal-resumo>
- getFormRawValue(forms): any {
- if (!forms[0] || !forms[1]) {
- return;
- }
- return Object.assign(forms[0], forms[1]);
- }
- getFormRawValue(forms): any {
- if (!forms[0] || !forms[1]) {
- return;
- }
- return Object.assign(forms.at(0).getRawValue(), forms.at(1).getRawValue());
- }
- <elo-wizard-control (onFinalized)="salvarMovimentacao()" (onClosed)="onClosed()">
- <elo-wizard-step title="Movimentação" icon="fa fa-file-text-o " [valid]="forms.at(0).valid" [invalidMessage]="'Campos Obrigatórios'">
- <movimentacao-dados [form]="forms.at(0)"></movimentacao-dados>
- </elo-wizard-step>
- <elo-wizard-step [title]="tituloSegundoPasso" [valid]="forms.at(1)?.valid" [invalidMessage]="'Campos Obrigatórios'"
- icon="fa fa-info-circle">
- <rh-info-servidor [servidor]="forms.at(0)?.controls['funcionario']?.value" [columns]="6"></rh-info-servidor>
- <movimentacao-nomeacao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([1,2])">
- </movimentacao-nomeacao>
- <movimentacao-reversao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([3])"></movimentacao-reversao>
- <movimentacao-licenca-maternidade #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([18])"></movimentacao-licenca-maternidade>
- <movimentacao-tratamento-saude #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([19])"></movimentacao-tratamento-saude>
- <movimentacao-cedencia-unidade-publica #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([23])"></movimentacao-cedencia-unidade-publica>
- <movimentacao-cedido-outra-entidade #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([90])"></movimentacao-cedido-outra-entidade>
- <movimentacao-licenca-outras #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([31])"></movimentacao-licenca-outras>
- <movimentacao-concessao-vantagem #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([43])"></movimentacao-concessao-vantagem>
- <movimentacao-agente-politico #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([72])"></movimentacao-agente-politico>
- <movimentacao-contrato-temporario #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([73])"></movimentacao-contrato-temporario>
- <movimentacao-cargo-comissao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([70])"></movimentacao-cargo-comissao>
- <movimentacao-faltas #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([50])"></movimentacao-faltas>
- </elo-wizard-step>
- <elo-wizard-step title="Resumo" icon="fa fa-check-circle">
- <movimentacao-pessoal-resumo [movimentacao]="getFormRawValue(forms)"></movimentacao-pessoal-resumo>
- </elo-wizard-step>
- </elo-wizard-control>
- <elo-dialog [show]="mostrarDialogResetaMovimentacao" [tittleCancel]="'Não'" [tittleOk]="'Sim'" [showCancel]="true"
- (onCancelEvent)="cancelLimparInformacoes()" (onOkEvent)="resetAllFormAndWizard()">
- Os dados não salvos serão perdidos, continuar?
- </elo-dialog>
- export class MovimentacaoPessoalComponent implements OnInit {
- @ViewChildren(WizardControlComponent) wizard: QueryList<WizardControlComponent>;
- @ViewChild('componenteDetalhes') movimentacaoDetalhes: MovimentacaoPessoalConfig;
- forms: FormArray;
- tituloSegundoPasso = 'Detalhes';
- mostrarDialogResetaMovimentacao: boolean = false;
- movimentacao: any;
- constructor(private _router: Router,
- private _activatedRoute: ActivatedRoute,
- private _formBuilder: FormBuilder,
- private _cdr: ChangeDetectorRef,
- private _eloNotificationService: EloNotificationService,
- private _movimentacaoPessoalService: MovimentacaoPessoalService) {
- }
- ngOnInit() {
- this.forms = this.createForm();
- this.realizarInscricoes();
- if (this._activatedRoute.snapshot.params && this._activatedRoute.snapshot.params.id) {
- this._movimentacaoPessoalService.load(this._activatedRoute.snapshot.params.id).subscribe(movimentacao => {
- this.movimentacao = movimentacao;
- this.preencherForm(movimentacao);
- }, error => {
- this._router.navigate([`movimentacao-de-pessoal`]);
- this._eloNotificationService.error('Erro!', error.message);
- });
- }
- }
- createForm() {
- const novoForm = this._formBuilder.array([
- FormMovimentacao.createForm(this._formBuilder)
- ]);
- return novoForm;
- }
- montarTituloSegundoPasso() {
- this.forms.at(0).get('tipoMovimentacao').valueChanges.subscribe(newValue => {
- if (newValue && newValue.id && newValue.descricao) {
- this.tituloSegundoPasso = `${newValue.id} - ${newValue.descricao}`;
- } else {
- this.tituloSegundoPasso = 'Detalhes';
- }
- });
- }
- isTipoMovimentacao(idsMovimentacao: number[]) {
- return this.forms.at(0).get('tipoMovimentacao') &&
- this.forms.at(0).get('tipoMovimentacao').value &&
- idsMovimentacao.includes(this.forms.at(0).get('tipoMovimentacao').value.id);
- }
- salvarMovimentacao() {
- this.movimentacaoDetalhes.salvar(this.forms.getRawValue()).subscribe(() => {
- this._eloNotificationService.success('Operação realizada.', 'Movimentação cadastrada com sucesso.');
- this._router.navigate(['./movimentacao-de-pessoal']);
- });
- }
- resetAllFormAndWizard() {
- this._router.navigate(['./movimentacao-de-pessoal']);
- }
- cancelLimparInformacoes() {
- this.mostrarDialogResetaMovimentacao = false;
- }
- onClosed() {
- this.mostrarDialogResetaMovimentacao = true;
- }
- getFormRawValue(forms): any {
- if (!forms[0] || !forms[1]) {
- return;
- }
- return Object.assign(forms[0], forms[1]);
- }
- private criarFormParaSegundoPasso() {
- this.forms.at(0).get('tipoMovimentacao').valueChanges.subscribe(newMovimentacao => {
- if (!newMovimentacao) {
- this.forms.removeAt(1);
- }
- this._cdr.detectChanges();
- });
- }
- private realizarInscricoes() {
- this.montarTituloSegundoPasso();
- this.criarFormParaSegundoPasso();
- }
- private preencherForm(movimentacao: any) {
- if (movimentacao) {
- this.forms.at(0).patchValue(movimentacao);
- this.movimentacaoDetalhes.atribuirObjeto(movimentacao);
- if (this.forms.at(0).get('idMovimentacaoPessoal').value) {
- this.forms.at(0).get('tipoMovimentacao').disable();
- this.forms.at(0).get('funcionario').disable();
- }
- }
- }
Add Comment
Please, Sign In to add comment