Guest User

Untitled

a guest
Dec 15th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.30 KB | None | 0 0
  1. <movimentacao-pessoal-resumo [movimentacao]="getFormRawValue(forms)"></movimentacao-pessoal-resumo>
  2.  
  3. getFormRawValue(forms): any {
  4.  
  5.  
  6. if (!forms[0] || !forms[1]) {
  7. return;
  8. }
  9. return Object.assign(forms[0], forms[1]);
  10. }
  11.  
  12. getFormRawValue(forms): any {
  13.  
  14.  
  15. if (!forms[0] || !forms[1]) {
  16. return;
  17. }
  18. return Object.assign(forms.at(0).getRawValue(), forms.at(1).getRawValue());
  19. }
  20.  
  21. <elo-wizard-control (onFinalized)="salvarMovimentacao()" (onClosed)="onClosed()">
  22. <elo-wizard-step title="Movimentação" icon="fa fa-file-text-o " [valid]="forms.at(0).valid" [invalidMessage]="'Campos Obrigatórios'">
  23. <movimentacao-dados [form]="forms.at(0)"></movimentacao-dados>
  24. </elo-wizard-step>
  25.  
  26. <elo-wizard-step [title]="tituloSegundoPasso" [valid]="forms.at(1)?.valid" [invalidMessage]="'Campos Obrigatórios'"
  27. icon="fa fa-info-circle">
  28.  
  29. <rh-info-servidor [servidor]="forms.at(0)?.controls['funcionario']?.value" [columns]="6"></rh-info-servidor>
  30.  
  31. <movimentacao-nomeacao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([1,2])">
  32.  
  33. </movimentacao-nomeacao>
  34. <movimentacao-reversao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([3])"></movimentacao-reversao>
  35. <movimentacao-licenca-maternidade #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([18])"></movimentacao-licenca-maternidade>
  36. <movimentacao-tratamento-saude #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([19])"></movimentacao-tratamento-saude>
  37. <movimentacao-cedencia-unidade-publica #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([23])"></movimentacao-cedencia-unidade-publica>
  38. <movimentacao-cedido-outra-entidade #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([90])"></movimentacao-cedido-outra-entidade>
  39. <movimentacao-licenca-outras #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([31])"></movimentacao-licenca-outras>
  40. <movimentacao-concessao-vantagem #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([43])"></movimentacao-concessao-vantagem>
  41. <movimentacao-agente-politico #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([72])"></movimentacao-agente-politico>
  42. <movimentacao-contrato-temporario #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([73])"></movimentacao-contrato-temporario>
  43. <movimentacao-cargo-comissao #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([70])"></movimentacao-cargo-comissao>
  44. <movimentacao-faltas #componenteDetalhes [forms]="forms" *ngIf="isTipoMovimentacao([50])"></movimentacao-faltas>
  45.  
  46. </elo-wizard-step>
  47.  
  48. <elo-wizard-step title="Resumo" icon="fa fa-check-circle">
  49. <movimentacao-pessoal-resumo [movimentacao]="getFormRawValue(forms)"></movimentacao-pessoal-resumo>
  50. </elo-wizard-step>
  51.  
  52. </elo-wizard-control>
  53.  
  54. <elo-dialog [show]="mostrarDialogResetaMovimentacao" [tittleCancel]="'Não'" [tittleOk]="'Sim'" [showCancel]="true"
  55. (onCancelEvent)="cancelLimparInformacoes()" (onOkEvent)="resetAllFormAndWizard()">
  56. Os dados não salvos serão perdidos, continuar?
  57. </elo-dialog>
  58.  
  59. export class MovimentacaoPessoalComponent implements OnInit {
  60.  
  61. @ViewChildren(WizardControlComponent) wizard: QueryList<WizardControlComponent>;
  62. @ViewChild('componenteDetalhes') movimentacaoDetalhes: MovimentacaoPessoalConfig;
  63. forms: FormArray;
  64. tituloSegundoPasso = 'Detalhes';
  65. mostrarDialogResetaMovimentacao: boolean = false;
  66.  
  67. movimentacao: any;
  68.  
  69. constructor(private _router: Router,
  70. private _activatedRoute: ActivatedRoute,
  71. private _formBuilder: FormBuilder,
  72. private _cdr: ChangeDetectorRef,
  73. private _eloNotificationService: EloNotificationService,
  74. private _movimentacaoPessoalService: MovimentacaoPessoalService) {
  75. }
  76.  
  77. ngOnInit() {
  78.  
  79. this.forms = this.createForm();
  80. this.realizarInscricoes();
  81.  
  82. if (this._activatedRoute.snapshot.params && this._activatedRoute.snapshot.params.id) {
  83.  
  84. this._movimentacaoPessoalService.load(this._activatedRoute.snapshot.params.id).subscribe(movimentacao => {
  85.  
  86. this.movimentacao = movimentacao;
  87. this.preencherForm(movimentacao);
  88. }, error => {
  89. this._router.navigate([`movimentacao-de-pessoal`]);
  90. this._eloNotificationService.error('Erro!', error.message);
  91. });
  92. }
  93. }
  94.  
  95. createForm() {
  96. const novoForm = this._formBuilder.array([
  97. FormMovimentacao.createForm(this._formBuilder)
  98. ]);
  99. return novoForm;
  100. }
  101.  
  102. montarTituloSegundoPasso() {
  103. this.forms.at(0).get('tipoMovimentacao').valueChanges.subscribe(newValue => {
  104. if (newValue && newValue.id && newValue.descricao) {
  105. this.tituloSegundoPasso = `${newValue.id} - ${newValue.descricao}`;
  106. } else {
  107. this.tituloSegundoPasso = 'Detalhes';
  108. }
  109. });
  110. }
  111.  
  112. isTipoMovimentacao(idsMovimentacao: number[]) {
  113. return this.forms.at(0).get('tipoMovimentacao') &&
  114. this.forms.at(0).get('tipoMovimentacao').value &&
  115. idsMovimentacao.includes(this.forms.at(0).get('tipoMovimentacao').value.id);
  116. }
  117.  
  118. salvarMovimentacao() {
  119. this.movimentacaoDetalhes.salvar(this.forms.getRawValue()).subscribe(() => {
  120. this._eloNotificationService.success('Operação realizada.', 'Movimentação cadastrada com sucesso.');
  121. this._router.navigate(['./movimentacao-de-pessoal']);
  122. });
  123. }
  124.  
  125. resetAllFormAndWizard() {
  126. this._router.navigate(['./movimentacao-de-pessoal']);
  127. }
  128.  
  129. cancelLimparInformacoes() {
  130. this.mostrarDialogResetaMovimentacao = false;
  131. }
  132.  
  133. onClosed() {
  134. this.mostrarDialogResetaMovimentacao = true;
  135. }
  136.  
  137. getFormRawValue(forms): any {
  138.  
  139.  
  140. if (!forms[0] || !forms[1]) {
  141. return;
  142. }
  143. return Object.assign(forms[0], forms[1]);
  144. }
  145.  
  146. private criarFormParaSegundoPasso() {
  147. this.forms.at(0).get('tipoMovimentacao').valueChanges.subscribe(newMovimentacao => {
  148. if (!newMovimentacao) {
  149. this.forms.removeAt(1);
  150. }
  151. this._cdr.detectChanges();
  152. });
  153. }
  154.  
  155. private realizarInscricoes() {
  156. this.montarTituloSegundoPasso();
  157. this.criarFormParaSegundoPasso();
  158. }
  159.  
  160. private preencherForm(movimentacao: any) {
  161. if (movimentacao) {
  162. this.forms.at(0).patchValue(movimentacao);
  163. this.movimentacaoDetalhes.atribuirObjeto(movimentacao);
  164.  
  165. if (this.forms.at(0).get('idMovimentacaoPessoal').value) {
  166. this.forms.at(0).get('tipoMovimentacao').disable();
  167. this.forms.at(0).get('funcionario').disable();
  168. }
  169. }
  170. }
Add Comment
Please, Sign In to add comment