| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355 |
- import { Component, Inject, OnInit } from "@angular/core";
- import { EnviarInfoService } from "../../../Administrador/services/enviar-info.service";
- import { AbstractControl, FormBuilder, FormControl, FormGroup, ReactiveFormsModule, ValidationErrors, Validators,FormArray } from "@angular/forms";
- import { MAT_DATE_LOCALE, MatOption, provideNativeDateAdapter } from "@angular/material/core";
- import { RegistroAcademicoService } from "../../services/registroAcademico.service";
- import Swal from "sweetalert2";
- import { ActivatedRoute, Router } from "@angular/router";
- import { MAT_DIALOG_DATA, MatDialog, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogModule, MatDialogRef, MatDialogTitle } from "@angular/material/dialog";
- import { MatFormFieldModule } from "@angular/material/form-field";
- import { MatInputModule } from "@angular/material/input";
- import { MatButtonModule } from "@angular/material/button";
- import { MatIcon } from "@angular/material/icon";
- import { CommonModule } from "@angular/common";
- import { MatSelectModule } from "@angular/material/select";
- import { GradosEducativosService } from "../../../Administrador/services/grados-educativos.service";
- import { BreakpointObserver } from "@angular/cdk/layout";
- import { map } from 'rxjs/operators';
- import { UsersService } from "../../../Administrador/services/users.service";
- @Component({
- selector: 'app-registro',
- templateUrl: './registro.component.html',
- styleUrls: ['./registro.component.css'],
- providers: [provideNativeDateAdapter(),
- { provide: MAT_DATE_LOCALE, useValue: 'en-GB' }
- ],
- })
- export class registroComponent implements OnInit {
- color: string = '';
- Padre = JSON.parse(localStorage.getItem('userDataS') ? localStorage.getItem('userDataS') || '' : localStorage.getItem('userData') || '');
- textColor: string = '';
- dia: number = 0;
- mes: number = 0;
- año: number = 0;
- form = this.fb.group({
- idAlumno: [''],
- primerNombre: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- segundoNombre: [null, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- apellidoPaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- apellidoMaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- curp: ['', [Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
- sexo: [''],
- edad: [''],
- ciudadNacimiento: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- estado: [''],
- fechaNacimiento: ['', [this.validateFechaNacimiento]],
- diaNacimiento: [this.dia],
- mesNacimiento: [this.mes],
- añoNacimiento: [this.año],
- domicilio: [''],
- telefonoCasa: ['', [Validators.pattern('^[0-9]{10}$')]],
- institucionProcedencia: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- motivoCambio: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- });
- validateFechaNacimiento(control: AbstractControl): ValidationErrors | null {
- const fechaNacimiento = new Date(control.value);
- const fechaMaxima = new Date();
- const fechaMinima = new Date();
- fechaMaxima.setFullYear(fechaMaxima.getFullYear() - 1);
- fechaMinima.setFullYear(fechaMinima.getFullYear() - 20);
- const yearNacimiento = fechaNacimiento.getFullYear();
- const yearMaxima = fechaMaxima.getFullYear();
- const yearMinima = fechaMinima.getFullYear();
- if (yearNacimiento > yearMaxima || yearNacimiento < yearMinima) {
- return { fechaInvalida: true };
- }
- return null;
- }
- validateFechaNacimiento1(control: AbstractControl): ValidationErrors | null {
- const fechaNacimiento = new Date(control.value);
- const fechaMaxima = new Date();
- fechaMaxima.setFullYear(fechaMaxima.getFullYear() - 1);
- const yearNacimiento = fechaNacimiento.getFullYear();
- const yearMaxima = fechaMaxima.getFullYear();
- if (yearNacimiento > yearMaxima) {
- return { fechaInvalida: true };
- }
- return null;
- }
- form2 = this.fb.group({
- padrePrimerNombre: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreSegundoNombre: [null, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreApellidoPaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreApellidoMaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreCurp: ['', [Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
- padreNacionalidad: [''],
- padreEstadoCivil: [''],
- padreFechaNacimiento: ['', [this.validateFechaNacimiento1]],
- padreDiaNacimiento: [this.dia],
- padreMesNacimiento: [this.mes],
- padreAñoNacimiento: [this.año],
- padreDomicilio: [''],
- padreCPDomicilio: ['', [Validators.pattern('^[0-9]{5}$')]],
- padreEscolaridad: [''],
- padreOcupacion: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreLugarTrabajo: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreTelefonoTrabajo: ['', [Validators.pattern('^[0-9]{10}$')]],
- padreExtension: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- padreCelular: ['', [Validators.pattern('^[0-9]{10}$')]],
- padreCorreo: ['', [Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
- });
- form3 = this.fb.group({
- madrePrimerNombre: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreSegundoNombre: [null, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreApellidoPaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreApellidoMaterno: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreCurp: ['', [Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
- madreNacionalidad: [''],
- madreEstadoCivil: [''],
- madreFechaNacimiento: ['', [this.validateFechaNacimiento1]],
- madreDiaNacimiento: [this.dia],
- madreMesNacimiento: [this.mes],
- madreAñoNacimiento: [this.año],
- madreDomicilio: [''],
- madreCPDomicilio: ['', [Validators.pattern('^[0-9]{5}$')]],
- madreEscolaridad: [''],
- madreOcupacion: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreLugarTrabajo: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreTelefonoTrabajo: ['', [Validators.pattern('^[0-9]{10}$')]],
- madreExtension: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- madreCelular: ['', [Validators.pattern('^[0-9]{10}$')]],
- madreCorreo: ['', [Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
- });
- form4 = this.fb.group({
- PadreFam: ['', Validators.required],
- MadreFam: ['', Validators.required],
- AutorizarAlum: ['', Validators.required],
- personasAutorizadas: this.fb.array([])
- });
- form5 = this.fb.group({
- tipoSangre: [''],
- aspirina: [''],
- penicilina: [''],
- otrosMedicamentos: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- paperas: [''],
- sarampion: [''],
- rubeola: [''],
- escarlatina: [''],
- tosferina: [''],
- tifoidea: [''],
- hepatitis: [''],
- varicela: [''],
- bronquitis: [''],
- apendicitis: [''],
- meninguitis: [''],
- desmayos: [''],
- covid: [''],
- garganta: [''],
- estomago: [''],
- catarro: [''],
- diarrea: [''],
- dolorCabeza: [''],
- fiebreAlta: [''],
- comezonFrecuente: [''],
- mareos: [''],
- diabetes: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- asmatico: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- epileptico: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- enfermedadPiel: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- });
- form6 = this.fb.group({
- problemasEmbarazo: [''],
- problemasParto: [''],
- peso: ['', [Validators.pattern('^[0-9]{1}(\\.[0-9]{1,3})?$')]],
- pesoActual: ['', [Validators.pattern('^[0-9]{1,3}(\\.[0-9]{1,3})?$')]],
- talla1: ['', [Validators.pattern('^[0-9]{1,2}$')]],
- tallaActual: ['', [Validators.pattern('^[0-9]{1,2}(\\.[0-9]{1,2})?$')]],
- edad1: [''],
- edad2: [''],
- gateo: [''],
- edadGateo: [''],
- edadHablo: [''],
- edadCamino: ['',],
- enfermedades: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- alergias: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- tratamientoMedico: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- lentes: [''],
- piePlano: [''],
- zapatoOrtopedico: [''],
- problemasAprendizaje: [''],
- relacionPareja: [''],
- problemasFamilia: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- afectacionProblemas: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- tratamientoPsicologico: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- desagradaFamilia: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- agradaFamilia: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- actividadDesagrada: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- actividadAgrada: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- defectos: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- virtudes: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- futuro: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- comentarios: ['', Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')],
- usuarioRegistro: [this.Padre[0]],
- });
- tiposDeSangre = [
- { id: 'A+', nombre: 'A Positivo' },
- { id: 'A-', nombre: 'A Negativo' },
- { id: 'B+', nombre: 'B Positivo' },
- { id: 'B-', nombre: 'B Negativo' },
- { id: 'AB+', nombre: 'AB Positivo' },
- { id: 'AB-', nombre: 'AB Negativo' },
- { id: 'O+', nombre: 'O Positivo' },
- { id: 'O-', nombre: 'O Negativo' }
- ];
- estados = [
- 'Aguascalientes',
- 'Baja California',
- 'Baja California Sur',
- 'Campeche',
- 'Chiapas',
- 'Chihuahua',
- 'Coahuila',
- 'Colima',
- 'Ciudad de México',
- 'Durango',
- 'Guanajuato',
- 'Guerrero',
- 'Hidalgo',
- 'Jalisco',
- 'Mexico',
- 'Michoacan',
- 'Morelos',
- 'Nayarit',
- 'Nuevo Leon',
- 'Oaxaca',
- 'Puebla',
- 'Queretaro',
- 'Quintana Roo',
- 'San Luis Potosi',
- 'Sinaloa',
- 'Sonora',
- 'Tabasco',
- 'Tamaulipas',
- 'Tlaxcala',
- 'Veracruz',
- 'Yucatan',
- 'Zacatecas',
- ];
- // Datos general Alumno
- AlumnoDatos: any[] = [
- { titulo: 'PrimerNombre:', form: 'primerNombre', tipo: 'text', errorType: 'required' },
- { titulo: 'SegundoNombre:', form: 'segundoNombre', tipo: 'text', errorType: 'required' },
- { titulo: 'ApellidoPaterno:', form: 'apellidoPaterno', tipo: 'text', errorType: 'required' },
- { titulo: 'ApellidoMaterno:', form: 'apellidoMaterno', tipo: 'text', errorType: 'required' },
- ];
- EdadAlumno: any[] = [
- { id: '1', num: '1 Año' },
- { id: '2', num: '2 Años' },
- { id: '3', num: '3 Años' },
- { id: '4', num: '4 Años' },
- { id: '5', num: '5 Años' },
- { id: '6', num: '6 Años' },
- { id: '7', num: '7 Años' },
- { id: '8', num: '8 Años' },
- { id: '9', num: '9 Años' },
- { id: '10', num: '10 Años' },
- { id: '11', num: '11 Años' },
- { id: '12', num: '12 Años' },
- { id: '13', num: '13 Años' },
- { id: '14', num: '14 Años' },
- { id: '15', num: '15 Años' },
- { id: '16', num: '16 Años' },
- { id: '17', num: '17 Años' },
- { id: '18', num: '18 Años' },
- { id: '19', num: '19 Años' },
- { id: '20', num: '20 Años' },
- ];
- AlumnoDatos2: any[] = [
- { titulo: 'Institución de la que procede: ', form: 'institucionProcedencia', tipo: 'text', errorType: 'required' },
- { titulo: 'Motivo del cambio: ', form: 'motivoCambio', tipo: 'text', errorType: 'required' },
- ];
- // Datos general Padre
- PadreDatos: any[] = [
- { titulo: 'PrimerNombre:', form: 'padrePrimerNombre', tipo: 'text', errorType: 'required' },
- { titulo: 'SegundoNombre:', form: 'padreSegundoNombre', tipo: 'text' },
- { titulo: 'ApellidoPaterno:', form: 'padreApellidoPaterno', tipo: 'text', errorType: 'required' },
- { titulo: 'ApellidoMaterno:', form: 'padreApellidoMaterno', tipo: 'text', errorType: 'required' },
- ];
- PadreDatos2: any[] = [
- { titulo: 'Ocupación:', form: 'padreOcupacion', tipo: 'text', errorType: 'required' },
- { titulo: 'Lugar de Trabajo:', form: 'padreLugarTrabajo', tipo: 'text', errorType: 'required' },
- { titulo: 'Tel. de Trabajo:', form: 'padreTelefonoTrabajo', tipo: 'number', errorType: 'required', errorType2: 'pattern' },
- { titulo: 'Extensión:', form: 'padreExtension', tipo: 'text', errorType: 'required' },
- ];
- Escolaridad: any[] = [
- { id: 'S', nombre: 'Sin estudios' },
- { id: 'B', nombre: 'Bachillerato' },
- { id: 'L', nombre: 'Licenciatura' },
- { id: 'M', nombre: 'Maestría' },
- { id: 'D', nombre: 'Doctorado' },
- ];
- //Datos general Madre
- madreDatos: any[] = [
- { titulo: 'PrimerNombre:', form: 'madrePrimerNombre', tipo: 'text', errorType: 'required' },
- { titulo: 'SegundoNombre:', form: 'madreSegundoNombre', tipo: 'text' },
- { titulo: 'ApellidoPaterno:', form: 'madreApellidoPaterno', tipo: 'text', errorType: 'required' },
- { titulo: 'ApellidoMaterno:', form: 'madreApellidoMaterno', tipo: 'text', errorType: 'required' },
- ];
- madreDatos1: any[] = [
- { titulo: 'Domicilio: ', form: 'madreDomicilio', tipo: 'text', errorType: 'required' },
- { titulo: 'C.P.Domicilio: ', form: 'madreCPDomicilio', tipo: 'number', errorType: 'required', errorType3: 'pattern' },
- ];
- madreDatos2: any[] = [
- { titulo: 'Ocupación:', form: 'madreOcupacion', tipo: 'text', errorType: 'required' },
- { titulo: 'Lugar de Trabajo:', form: 'madreLugarTrabajo', tipo: 'text', errorType: 'required' },
- { titulo: 'Tel. de Trabajo:', form: 'madreTelefonoTrabajo', tipo: 'number', errorType: 'required', errorType2: 'pattern' },
- { titulo: 'Extensión:', form: 'madreExtension', tipo: 'text', errorType: 'required' },
- ];
- //Formulario Padecimientos
- alergicoA: any[] = [
- { titulo: 'Aspirina: ', si: 'Si', no: 'No', form: 'aspirina' },
- { titulo: 'Penicilina: ', si: 'Si', no: 'No', form: 'penicilina' }
- ];
- HaPadecido: any[] = [
- { titulo: 'Paperas: ', si: 'Si', no: 'No', form: 'paperas' },
- { titulo: 'Sarampión: ', si: 'Si', no: 'No', form: 'sarampion' },
- { titulo: 'Rúbeola: ', si: 'Si', no: 'No', form: 'rubeola' },
- { titulo: 'Escarlatina: ', si: 'Si', no: 'No', form: 'escarlatina' },
- { titulo: 'Tosferina: ', si: 'Si', no: 'No', form: 'tosferina' },
- { titulo: 'Tifoidea: ', si: 'Si', no: 'No', form: 'tifoidea' },
- { titulo: 'Hepatitis: ', si: 'Si', no: 'No', form: 'hepatitis' },
- { titulo: 'Varicela: ', si: 'Si', no: 'No', form: 'varicela' },
- { titulo: 'Bronquitis: ', si: 'Si', no: 'No', form: 'bronquitis' },
- { titulo: 'Apendicitis: ', si: 'Si', no: 'No', form: 'apendicitis' },
- { titulo: 'Meningitis: ', si: 'Si', no: 'No', form: 'meninguitis' },
- { titulo: 'Desmayos: ', si: 'Si', no: 'No', form: 'desmayos' },
- { titulo: 'COVID-19: ', si: 'Si', no: 'No', form: 'covid' },
- ];
- PadeceFrecuencia: any[] = [
- { titulo: 'Garganta: ', si: 'Si', no: 'No', form: 'garganta' },
- { titulo: 'Estomago: ', si: 'Si', no: 'No', form: 'estomago' },
- { titulo: 'Catarro: ', si: 'Si', no: 'No', form: 'catarro' },
- { titulo: 'Diarrea: ', si: 'Si', no: 'No', form: 'diarrea' },
- { titulo: 'Dolores de cabeza: ', si: 'Si', no: 'No', form: 'dolorCabeza' },
- { titulo: 'Fiebres Altas: ', si: 'Si', no: 'No', form: 'fiebreAlta' },
- { titulo: 'Comezón Frecuente: ', si: 'Si', no: 'No', form: 'comezonFrecuente' },
- { titulo: 'Mareos: ', si: 'Si', no: 'No', form: 'mareos' },
- ];
- padeciminetos: any[] = [
- { titulo: ' Si es diabetico,¿Qué precausiones sigue?', form: 'diabetes', tipo: 'text', errorType: 'required' },
- { titulo: 'Si es asmático,¿Qué medicamento utiliza?', form: 'asmatico', tipo: 'text', errorType: 'required' },
- { titulo: 'Si es epiléptico,¿Qué medicamento utiliza?', form: 'epileptico', tipo: 'text', errorType: 'required' },
- { titulo: '¿Presenta alguna enfermedad de la piel?, ¿Cuál?', form: 'enfermedadPiel', tipo: 'text', errorType: 'required' },
- ];
- //Antecedentes Alumno
- AntecedentesAlumno: any[] = [
- { titulo: '¿Tuvo problemas en el embarazo? ', si: 'Si', no: 'No', form: 'problemasEmbarazo' },
- { titulo: '¿Tuvo problemas en el parto? ', si: 'Si', no: 'No', form: 'problemasParto' },
- ];
- AntecedentesAlumno1: any[] = [
- { titulo: '¿Cuánto pesó?', form: 'peso', tipo: 'number' },
- { titulo: '¿Cuánto pesa?', form: 'pesoActual', tipo: 'number' },
- ];
- AntecedentesAlumno2: any[] = [
- { titulo: '¿Cuánto Midió?', form: 'talla1', tipo: 'number' },
- { titulo: '¿Cuánto Mide?', form: 'tallaActual', tipo: 'number' },
- ];
- edadControl = [
- { id: '1', nombre: '1 Años' },
- { id: '2', nombre: '2 Años' },
- { id: '3', nombre: '3 Años' },
- { id: '4', nombre: '4 Años' },
- { id: '5', nombre: '5 Años' },
- { id: '6', nombre: '6 Años' },
- { id: '7', nombre: '7 años' }
- ]
- edad: any[] = [
- { titulo: '¿A que edad?', form: 'edadGateo', errorType: 'required' },
- { titulo: 'Edad en la que habló ', form: 'edadHablo', errorType: 'required' },
- { titulo: 'Edad en la que caminó', form: 'edadCamino', errorType: 'required' },
- ];
- AntecedentesAlumno3: any[] = [
- { titulo: 'Enfermedades que ha padecido:', form: 'enfermedades', tipo: 'text', errorType: 'required' },
- { titulo: 'Enfermedades o alergias que padece:', form: 'alergias', tipo: 'text', errorType: 'required' },
- { titulo: '¿Está en algún tratamiento médico?', form: 'tratamientoMedico', tipo: 'text', errorType: 'required' },
- ];
- AntecedentesAlumno4: any[] = [
- { titulo: '¿Usa lentes?', si: 'Si', no: 'No', form: 'lentes', errorType: 'required' },
- { titulo: '¿Tiene pie plano?', si: 'Si', no: 'No', form: 'piePlano', errorType: 'required' },
- { titulo: '¿Utiliza plantilla o zapato ortopédico? ', si: 'Si', no: 'No', form: 'zapatoOrtopedico', errorType: 'required' },
- ];
- AntecedentesAlumno5: any[] = [
- { titulo: '¿Qué es lo que creen le desagrada más al niño de su familia?', form: 'desagradaFamilia', tipo: 'text', errorType: 'required' },
- { titulo: '¿Qué es lo que creen le agrada más al niño de su familia?', form: 'agradaFamilia', tipo: 'text', errorType: 'required' },
- { titulo: '¿Qué actividades de su hogar no le gusta hacer a su hijo?', form: 'actividadDesagrada', tipo: 'text', errorType: 'required' },
- { titulo: '¿Qué actividades de su hogar le gusta hacer a su hijo?', form: 'actividadAgrada', tipo: 'text', errorType: 'required' },
- { titulo: '¿Cuáles son los mayores defectos de su hijo?', form: 'defectos', tipo: 'text', errorType: 'required' },
- { titulo: '¿Cuáles son las mayores virtudes de su hijo?', form: 'virtudes', tipo: 'text', errorType: 'required' },
- { titulo: '¿Qué es lo que espera en el futuro para su hijo?', form: 'futuro', tipo: 'text', errorType: 'required' },
- { titulo: 'Algún comentario que crea importante agregar:', form: 'comentarios', tipo: 'text', errorType: 'required' },
- ];
- //covid
- covid: any[] = [
- { titulo: '¿Cuántos miembros de su familia viven en la misma casa?', form: 'cantidadPersonas', tipo: 'number', errorType: 'required' },
- { titulo: '¿Cuántos miembros ya han sido vacunados?', form: 'cantidadVacunados', tipo: 'number', errorType: 'required' },
- { titulo: '¿Qué medidas de higiene maneja en su hogar?', form: 'medidadHigiene', tipo: 'text', errorType: 'required' },
- ];
- FormularioCompleto: any[] = [];
- valoresCombinados: any = {};
- selected = new FormControl();
- todayDate: Date = new Date();
- todayDate1: Date = new Date();
- datos: any;
- isLoading: boolean = true;
- stepperOrientation: any;
- isLinear = false;
- screenSize: number;
- private id: string = '';
- dataAlum: any;
- nombreAlumno: any;
- constructor(private _enviarInfo: EnviarInfoService, private fb: FormBuilder, private _registroAcademico: RegistroAcademicoService, private _router: Router,
- public dialog: MatDialog, private breakpointObserver: BreakpointObserver, private route: ActivatedRoute
- ) {
- this.todayDate.setFullYear(new Date().getFullYear(), 0, 1);
- this.todayDate1.setFullYear(new Date().getFullYear() - 20, 0, 1);
- this.stepperOrientation = breakpointObserver
- .observe('(min-width: 800px)')
- .pipe(map(({ matches }) => (matches ? 'horizontal' : 'vertical')));
- this.onResize();
- this.screenSize = window.innerWidth;
- // Inicializar con al menos una persona autorizada
- this.agregarPersonaAutorizada();
- }
- get personasAutorizadas(): FormArray {
- return this.form4.get('personasAutorizadas') as FormArray;
- }
- agregarPersonaAutorizada() {
- this.personasAutorizadas.push(this.crearPersonaAutorizada()); }
- // Función para crear un FormGroup de persona autorizada
- crearPersonaAutorizada(nombre: string = '', telefono: string = '', parentesco: string = ''): FormGroup {
- return this.fb.group({
- nombre: [nombre, [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- telefono: [telefono, [Validators.required, Validators.pattern('^[0-9+\\-\\s()]*$'), Validators.minLength(10)]],
- parentesco: [parentesco, [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]]
- });
- }
- // Función para eliminar una persona autorizada
- eliminarPersonaAutorizada(index: number): void {
- if (this.personasAutorizadas.length > 1) {
- this.personasAutorizadas.removeAt(index);
- }
- }
- // Función para validar campos de persona autorizada
- isPersonaAutorizadaInvalid(index: number, campo: string): boolean {
- const persona = this.personasAutorizadas.at(index);
- const field = persona.get(campo);
- return field ? field.invalid && (field.dirty || field.touched) : false;
- }
- onResize() {
- this.screenSize = window.innerWidth;
- }
- getdatos() {
- this._registroAcademico.getOneRegistroAcademico(this.id).subscribe((data: any) => {
- this.isLoading = false;
- this.datos = data.registro[0];
- if (this.datos !== undefined) {
- this.form.get('primerNombre')?.setValue(this.datos.FiDI_Nombre1);
- this.form.get('segundoNombre')?.setValue(this.datos.FiDI_Nombre2);
- this.form.get('apellidoPaterno')?.setValue(this.datos.FiDI_ApellidoPaterno);
- this.form.get('apellidoMaterno')?.setValue(this.datos.FiDI_ApellidoMaterno);
- this.form.get('curp')?.setValue(this.datos.FiDI_CURP);
- this.form.get('sexo')?.setValue(this.datos.FiDI_Sexo);
- this.form.get('edad')?.setValue(this.datos.FiDI_Edad);
- this.form.get('ciudadNacimiento')?.setValue(this.datos.FiDI_NacCiudad);
- this.form.get('estado')?.setValue(this.datos.FiDI_NacEstado);
- const fechaNacimiento = new Date(
- Number(this.datos.FiDI_NacFechaAnio),
- Number(this.datos.FiDI_NacFechaMes) - 1,
- Number(this.datos.FiDI_NacFechaDia)
- );
- if (this.datos.FiDI_NacFechaAnio != 0) {
- this.form.get('fechaNacimiento')?.setValue(fechaNacimiento.toISOString());
- } else {
- this.form.get('fechaNacimiento')?.setValue('');
- }
- this.form.get('domicilio')?.setValue(this.datos.FiDI_Domicilio);
- this.form.get('telefonoCasa')?.setValue(this.datos.FiDI_Telefono);
- this.form.get('institucionProcedencia')?.setValue(this.datos.FiDI_InstProce);
- this.form.get('motivoCambio')?.setValue(this.datos.FiDI_MotivoCambio);
- // Padre
- this.form2.get('padrePrimerNombre')?.setValue(this.datos.FiDI_PadNombre1);
- this.form2.get('padreSegundoNombre')?.setValue(this.datos.FiDI_PadNombre2);
- this.form2.get('padreApellidoPaterno')?.setValue(this.datos.FiDI_PadApellidoPaterno);
- this.form2.get('padreApellidoMaterno')?.setValue(this.datos.FiDI_PadApellidoMaterno);
- this.form2.get('padreCurp')?.setValue(this.datos.FiDI_PadCURP);
- this.form2.get('padreNacionalidad')?.setValue(this.datos.FiDI_PadNacionalidad);
- this.form2.get('padreEstadoCivil')?.setValue(this.datos.FiDI_PadEstadoCivil);
- const fechaNacimiento1 = new Date(
- Number(this.datos.FiDI_PadNacFechaAnio),
- Number(this.datos.FiDI_PadNacFechaMes) - 1,
- Number(this.datos.FiDI_PadNacFechaDia)
- );
- if (this.datos.FiDI_PadNacFechaAnio != 0) {
- this.form2.get('padreFechaNacimiento')?.setValue(fechaNacimiento1.toISOString());
- } else {
- this.form2.get('padreFechaNacimiento')?.setValue('');
- }
- this.form2.get('padreDomicilio')?.setValue(this.datos.FiDI_PadDomicilio);
- this.form2.get('padreCPDomicilio')?.setValue(this.datos.FiDI_PadCP);
- this.form2.get('padreEscolaridad')?.setValue(this.datos.FiDI_PadEscolaridad);
- this.form2.get('padreOcupacion')?.setValue(this.datos.FiDI_PadOcupacion);
- this.form2.get('padreLugarTrabajo')?.setValue(this.datos.FiDI_PadLugTrabajo);
- this.form2.get('padreTelefonoTrabajo')?.setValue(this.datos.FiDI_PadTelTrabajo);
- this.form2.get('padreExtension')?.setValue(this.datos.FiDI_PadTelTrabajoExt);
- this.form2.get('padreCelular')?.setValue(this.datos.FiDI_PadCelular);
- this.form2.get('padreCorreo')?.setValue(this.datos.FiDI_PadCorreo);
- //Madre
- this.form3.get('madrePrimerNombre')?.setValue(this.datos.FiDI_MadNombre1);
- this.form3.get('madreSegundoNombre')?.setValue(this.datos.FiDI_MadNombre2);
- this.form3.get('madreApellidoPaterno')?.setValue(this.datos.FiDI_MadApellidoPaterno);
- this.form3.get('madreApellidoMaterno')?.setValue(this.datos.FiDI_MadApellidoMaterno);
- this.form3.get('madreCurp')?.setValue(this.datos.FiDI_MadCURP);
- this.form3.get('madreNacionalidad')?.setValue(this.datos.FiDI_MadNacionalidad);
- this.form3.get('madreEstadoCivil')?.setValue(this.datos.FiDI_MadEstadoCivil);
- const fechaNacimiento2 = new Date(
- Number(this.datos.FiDI_MadNacFechaAnio),
- Number(this.datos.FiDI_MadNacFechaMes) - 1,
- Number(this.datos.FiDI_MadNacFechaDia)
- );
- if (this.datos.FiDI_MadNacFechaAnio != 0) {
- this.form3.get('madreFechaNacimiento')?.setValue(fechaNacimiento2.toISOString());
- } else {
- this.form3.get('madreFechaNacimiento')?.setValue('');
- }
- this.form3.get('madreDomicilio')?.setValue(this.datos.FiDI_MadDomicilio);
- this.form3.get('madreCPDomicilio')?.setValue(this.datos.FiDI_MadCP);
- this.form3.get('madreEscolaridad')?.setValue(this.datos.FiDI_MadEscolaridad);
- this.form3.get('madreOcupacion')?.setValue(this.datos.FiDI_MadOcupacion);
- this.form3.get('madreLugarTrabajo')?.setValue(this.datos.FiDI_MadLugTrabajo);
- this.form3.get('madreTelefonoTrabajo')?.setValue(this.datos.FiDI_MadTelTrabajo);
- this.form3.get('madreExtension')?.setValue(this.datos.FiDI_MadTelTrabajoExt);
- this.form3.get('madreCelular')?.setValue(this.datos.FiDI_MadCelular);
- this.form3.get('madreCorreo')?.setValue(this.datos.FiDI_MadCorreo);
- //Autorizacion
- this.form4.get('PadreFam')?.setValue(this.datos.FiDI_RecogerPadre);
- this.form4.get('MadreFam')?.setValue(this.datos.FiDI_RecogerMadre);
- if (Array.isArray(this.datos.personasAutorizadas) && this.datos.personasAutorizadas.length > 0) {
- this.datos.personasAutorizadas.forEach((persona: any) => {
- this.personasAutorizadas.push(
- this.crearPersonaAutorizada(persona.nombre, persona.telefono, persona.parentesco)
- );
- });
- } else {
- // Si no hay datos, agregar al menos uno vacío para que el form tenga un input disponible
- this.agregarPersonaAutorizada();
- }
- this.form4.get('AutorizarAlum')?.setValue(this.datos.FiDI_RetirarseSolo);
- //Padecimientos
- this.form5.get('tipoSangre')?.setValue(this.datos.CedA_TipoSangre);
- this.form5.get('aspirina')?.setValue(this.datos.CedA_AlergiaAspirina);
- this.form5.get('penicilina')?.setValue(this.datos.CedA_AlergiaPenicilina);
- this.form5.get('otrosMedicamentos')?.setValue(this.datos.CedA_AlergiaOtro);
- this.form5.get('paperas')?.setValue(this.datos.CedA_PadPaperas);
- this.form5.get('sarampion')?.setValue(this.datos.CedA_PadSarampio);
- this.form5.get('rubeola')?.setValue(this.datos.CedA_PadRubeola);
- this.form5.get('escarlatina')?.setValue(this.datos.CedA_PadEscarlatina);
- this.form5.get('tosferina')?.setValue(this.datos.CedA_PadTosferina);
- this.form5.get('tifoidea')?.setValue(this.datos.CedA_PadTifoidea);
- this.form5.get('hepatitis')?.setValue(this.datos.CedA_PadHepatitis);
- this.form5.get('varicela')?.setValue(this.datos.CedA_PadVaricela);
- this.form5.get('bronquitis')?.setValue(this.datos.CedA_PadBronquitis);
- this.form5.get('apendicitis')?.setValue(this.datos.CedA_PadApendicitis);
- this.form5.get('meninguitis')?.setValue(this.datos.CedA_PadMeningitis);
- this.form5.get('desmayos')?.setValue(this.datos.CedA_PadDesmayos);
- this.form5.get('covid')?.setValue(this.datos.CedA_PadCovid19);
- this.form5.get('garganta')?.setValue(this.datos.CedA_PadGarganta);
- this.form5.get('estomago')?.setValue(this.datos.CedA_PadEstomago);
- this.form5.get('catarro')?.setValue(this.datos.CedA_PadCatarro);
- this.form5.get('diarrea')?.setValue(this.datos.CedA_PadDiarrea);
- this.form5.get('dolorCabeza')?.setValue(this.datos.CedA_PadDolorCabeza);
- this.form5.get('fiebreAlta')?.setValue(this.datos.CedA_PadFiebreAlta);
- this.form5.get('comezonFrecuente')?.setValue(this.datos.CedA_PadComezon);
- this.form5.get('mareos')?.setValue(this.datos.CedA_PadMareos);
- this.form5.get('diabetes')?.setValue(this.datos.CedA_DiabeticoPrecauciones);
- this.form5.get('asmatico')?.setValue(this.datos.CedA_AsmaticoPrecauciones);
- this.form5.get('epileptico')?.setValue(this.datos.CedA_EpilepticoPrecauciones);
- this.form5.get('enfermedadPiel')?.setValue(this.datos.CedA_EnfermedadEnPiel);
- //Antecedentes
- this.form6.get('problemasEmbarazo')?.setValue(this.datos.CedA_ProbEmbarazo);
- this.form6.get('problemasParto')?.setValue(this.datos.CedA_ProbParto);
- this.form6.get('peso')?.setValue(this.datos.CedA_PesoNacimiento);
- this.form6.get('pesoActual')?.setValue(this.datos.CedA_PesoActual);
- this.form6.get('talla1')?.setValue(this.datos.CedA_AlturaNacimiento);
- this.form6.get('tallaActual')?.setValue(this.datos.CedA_AlturaActual);
- this.form6.get('edad1')?.setValue(this.datos.CedA_EsfinteresDiurno);
- this.form6.get('edad2')?.setValue(this.datos.CedA_EsfinteresNocturno);
- this.form6.get('gateo')?.setValue(this.datos.CedA_Gateo);
- this.form6.get('edadGateo')?.setValue(this.datos.CedA_GateoEdad);
- this.form6.get('edadHablo')?.setValue(this.datos.CedA_EdadHablo);
- this.form6.get('edadCamino')?.setValue(this.datos.CedA_EdadCamino);
- this.form6.get('enfermedades')?.setValue(this.datos.CedA_EnfermedadesPadecidas);
- this.form6.get('alergias')?.setValue(this.datos.CedA_EnfermedadesAlergiasActuales);
- this.form6.get('tratamientoMedico')?.setValue(this.datos.CedA_TratamientoMedicoActual);
- this.form6.get('lentes')?.setValue(this.datos.CedA_UsaLentes);
- this.form6.get('piePlano')?.setValue(this.datos.CedA_PiePlano);
- this.form6.get('zapatoOrtopedico')?.setValue(this.datos.CedA_Ortopedico);
- this.form6.get('problemasAprendizaje')?.setValue(this.datos.CedA_ProbAprendizaje);
- this.form6.get('relacionPareja')?.setValue(this.datos.CedA_RelPareja);
- this.form6.get('problemasFamilia')?.setValue(this.datos.CedA_ProblemasFamiliares);
- this.form6.get('afectacionProblemas')?.setValue(this.datos.CedA_HijoAfectado);
- this.form6.get('tratamientoPsicologico')?.setValue(this.datos.CedA_TratPsicologico);
- this.form6.get('desagradaFamilia')?.setValue(this.datos.CedA_LoQueDesagradaFamilia);
- this.form6.get('agradaFamilia')?.setValue(this.datos.CedA_LoQueAgradaFamilia);
- this.form6.get('actividadDesagrada')?.setValue(this.datos.CedA_HogarNoGustan);
- this.form6.get('actividadAgrada')?.setValue(this.datos.CedA_HogarGustan);
- this.form6.get('defectos')?.setValue(this.datos.CedA_Defectos);
- this.form6.get('virtudes')?.setValue(this.datos.CedA_Virtudes);
- this.form6.get('futuro')?.setValue(this.datos.CedA_Futuro);
- this.form6.get('comentarios')?.setValue(this.datos.CedA_Comentario);
- }
- });
- }
- isValidField(field: string, errorType: string) {
- const control = this.form.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField1(field: string, errorType: string) {
- const control = this.form2.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField2(field: string, errorType: string) {
- const control = this.form3.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField3(field: string, errorType: string) {
- const control = this.form4.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField4(field: string, errorType: string) {
- const control = this.form5.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField5(field: string, errorType: string) {
- const control = this.form6.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- ngOnInit(): void {
- this.route.paramMap.subscribe(params => {
- const id = params.get('id');
- this.id = atob(id || '');
- });
- this._registroAcademico.getOne(this.id).subscribe((data: any) => {
- this.dataAlum = data;
- this.nombreAlumno = data[0].nombreUsuario;
- });
- this.getdatos();
- this._enviarInfo.currentTextColor.subscribe(textColor => {
- this.textColor = textColor;
- });
- this._enviarInfo.currentColor.subscribe(color => {
- this.color = color;
- });
- this.form.get('idAlumno')?.setValue(this.id);
- this.form.get('edad')?.disable();
- }
- siguienteTap(index: number) {
- this.selected.setValue(index);
- }
- siguiente() {
- if (this.form.invalid) {
- this.form.markAllAsTouched();
- return;
- }
- }
- siguiente1() {
- if (this.form2.invalid) {
- this.form2.markAllAsTouched();
- return;
- }
- }
- siguiente2() {
- if (this.form3.invalid) {
- this.form3.markAllAsTouched();
- return;
- }
- }
- siguiente3() {
- if (this.form4.invalid) {
- this.form4.markAllAsTouched();
- return;
- }
- }
- siguiente4() {
- if (this.form5.invalid) {
- this.form5.markAllAsTouched();
- return;
- }
- }
- siguiente5() {
- if (this.form6.invalid) {
- this.form6.markAllAsTouched();
- return;
- }
- }
- fecha(fecha: any) {
- const fechaNacimiento = fecha.value;
- const hoy = new Date();
- const edad = hoy.getFullYear() - fechaNacimiento.getFullYear();
- this.form.get('edad')?.setValue(edad.toString());
- }
- Asistente() {
- const domicilio = this.dialog.open(Asistente, {
- data: this.form.getRawValue().domicilio
- });
- domicilio.afterClosed().subscribe(result => {
- if (result) {
- let domicilio = `${result.calle}, ${result.exterior}, ${result.interior}, ${result.colonia}, ${result.localidad}, ${result.municipio}, ${result.estado}, ${result.pais}, ${result.CP}, ${result.referencia}`;
- this.form.controls['domicilio'].setValue(domicilio.trim());
- }
- });
- }
- Asistente1() {
- const domicilio = this.dialog.open(Asistente, {
- data: this.form2.getRawValue().padreDomicilio
- });
- domicilio.afterClosed().subscribe(result => {
- if (result) {
- let domicilio = `${result.calle}, ${result.exterior}, ${result.interior}, ${result.colonia}, ${result.localidad}, ${result.municipio}, ${result.estado}, ${result.pais}, ${result.CP}, ${result.referencia}`;
- this.form2.controls['padreDomicilio'].setValue(domicilio.trim());
- this.form2.controls['padreCPDomicilio'].setValue(result.CP.trim());
- }
- });
- }
- Asistente2() {
- const domicilio = this.dialog.open(Asistente, {
- data: this.form3.getRawValue().madreDomicilio
- });
- domicilio.afterClosed().subscribe(result => {
- if (result) {
- let domicilio = `${result.calle}, ${result.exterior}, ${result.interior}, ${result.colonia}, ${result.localidad}, ${result.municipio}, ${result.estado}, ${result.pais}, ${result.CP}, ${result.referencia}`;
- this.form3.controls['madreDomicilio'].setValue(domicilio.trim());
- this.form3.controls['madreCPDomicilio'].setValue(result.CP.trim());
- }
- });
- }
- onSave() {
- if (this.form.valid) {
- if (this.form.value.fechaNacimiento) {
- const fechaNacimiento = new Date(this.form.value.fechaNacimiento);
- const dia = fechaNacimiento.getDate();
- const mes = fechaNacimiento.getMonth() + 1;
- const año = fechaNacimiento.getFullYear();
- this.form.controls['diaNacimiento'].setValue(dia);
- this.form.controls['mesNacimiento'].setValue(mes);
- this.form.controls['añoNacimiento'].setValue(año);
- }
- Object.assign(this.valoresCombinados, this.form.getRawValue());
- }
- if (this.form2.valid) {
- if (this.form2.value.padreFechaNacimiento) {
- const fechaNacimiento = new Date(this.form2.value.padreFechaNacimiento);
- const dia = fechaNacimiento.getDate();
- const mes = fechaNacimiento.getMonth() + 1;
- const año = fechaNacimiento.getFullYear();
- this.form2.controls['padreDiaNacimiento'].setValue(dia);
- this.form2.controls['padreMesNacimiento'].setValue(mes);
- this.form2.controls['padreAñoNacimiento'].setValue(año);
- }
- Object.assign(this.valoresCombinados, this.form2.getRawValue());
- }
- if (this.form3.valid) {
- if (this.form3.value.madreFechaNacimiento) {
- const fechaNacimiento = new Date(this.form3.value.madreFechaNacimiento);
- const dia = fechaNacimiento.getDate();
- const mes = fechaNacimiento.getMonth() + 1;
- const año = fechaNacimiento.getFullYear();
- this.form3.controls['madreDiaNacimiento'].setValue(dia);
- this.form3.controls['madreMesNacimiento'].setValue(mes);
- this.form3.controls['madreAñoNacimiento'].setValue(año);
- }
- Object.assign(this.valoresCombinados, this.form3.getRawValue());
- }
- if (this.form4.valid) {
- Object.assign(this.valoresCombinados, this.form4.getRawValue());
- }
- if (this.form5.valid) {
- Object.assign(this.valoresCombinados, this.form5.getRawValue());
- }
- if (this.form6.valid) {
- Object.assign(this.valoresCombinados, this.form6.getRawValue());
- }
- this._registroAcademico.getOneRegistroAcademico(this.id).subscribe((data: any) => {
- this.datos = data.registro[0];
- if (this.datos) {
- this._registroAcademico.ActualizarRegistroAcademico(this.valoresCombinados).subscribe((data: any) => {
- Swal.fire('Actualizació exitosa', data.mensaje, 'success');
- });
- this._router.navigate(['/homePadres/registroAlumno']);
- } else {
- this._registroAcademico.createRegistroAcademico(this.valoresCombinados).subscribe((data: any) => {
- Swal.fire('Registro exitoso', data.mensaje, 'success');
- });
- this._router.navigate(['/homePadres/registroAlumno']);
- }
- });
- }
- Salir() {
- Swal.fire({
- title: '¿Estás seguro de salir?',
- text: "Para guardar los datos ingresados, presiona el botón 'Guardar y salir'",
- icon: 'warning',
- showCancelButton: true,
- allowEscapeKey: false,
- allowOutsideClick: false,
- confirmButtonColor: '#3085d6',
- cancelButtonColor: '#d33',
- confirmButtonText: 'Guardar y salir',
- cancelButtonText: 'Salir sin guardar'
- }).then((result) => {
- if (result.isConfirmed) {
- this.onSave();
- this._router.navigate(['/homePadres/registroAlumno']);
- } else {
- this._router.navigate(['/homePadres/registroAlumno']);
- }
- });
- }
- }
- @Component({
- selector: 'app-registro',
- templateUrl: './registroAd.component.html',
- styleUrls: ['./registro.component.css'],
- providers: [provideNativeDateAdapter(),
- { provide: MAT_DATE_LOCALE, useValue: 'en-GB' }
- ],
- })
- export class RegistroAdComponent implements OnInit {
- Mes = [
- { id: '01', nombre: 'Enero' },
- { id: '02', nombre: 'Febrero' },
- { id: '03', nombre: 'Marzo' },
- { id: '04', nombre: 'Abril' },
- { id: '05', nombre: 'Mayo' },
- { id: '06', nombre: 'Junio' },
- { id: '07', nombre: 'Julio' },
- { id: '08', nombre: 'Agosto' },
- { id: '09', nombre: 'Septiembre' },
- { id: '10', nombre: 'Octubre' },
- { id: '11', nombre: 'Noviembre' },
- { id: '12', nombre: 'Diciembre' },
- ];
- selectedFile: File | null = null;
- GradoCursar: any[] = [];
- planPago: any[] = [];
- porcentaje: any[] = [];
- MetodoPago: any[] = [];
- color: string = '';
- textColor: string = '';
- form!: FormGroup;
- form2!: FormGroup;
- selected = new FormControl();
- radioButton: string = 'No';
- formularioCompleto: any = {}
- datos: any;
- private id: string = '';
- isLoading: boolean = true;
- dataAlum: any;
- nombreAlumno: any;
- gradoCur: any;
- Padre = JSON.parse(localStorage.getItem('userData') || '');
- constructor(private _enviarInfo: EnviarInfoService, private fb: FormBuilder, public dialog: MatDialog, private _registroAdministrativo: RegistroAcademicoService,
- private _router: Router, private _gradosEducativos: GradosEducativosService, private route: ActivatedRoute, private _registro: RegistroAcademicoService
- ) {
- this.formulario();
- }
- formulario() {
- this.form = this.fb.group({
- idAlumno: [''],
- gradoCursar: [''],
- mesInscripcion: [''],
- planPago: [''],
- becaCurso: [''],
- becaPorcentaje: [''],
- });
- this.form2 = this.fb.group({
- factura: [''],
- metedoPago: ['EF'],
- RFCFactura: ['XAXX010101000'],
- razonSocial: ['PUBLICO EN GENERAL'],
- domicilioFactura: [''],
- correoFactura: ['', [Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
- usuarioRegistro: [this.Padre[0]],
- cuentaPago: [''],
- constanciaFiscal: ['']
- });
- this.form2.get('domicilioFactura')?.disable();
- this.form2.get('correoFactura')?.disable();
- this.form2.get('razonSocial')?.disable();
- this.form2.get('RFCFactura')?.disable();
- this.form2.get('metedoPago')?.disable();
- }
- onFileSelected(event: any) {
- const file = event.target.files[0];
- if (file) {
- if (file.type !== 'application/pdf') {
- Swal.fire('Error', 'Solo se permiten archivos PDF', 'error');
- event.target.value = '';
- this.selectedFile = null;
- return;
- }
- if (file.size > 5 * 1024 * 1024) {
- Swal.fire('Error', 'El archivo no puede ser mayor a 5MB', 'error');
- event.target.value = '';
- this.selectedFile = null;
- return;
- }
- this.selectedFile = file;
- this.form2.get('constanciaFiscal')?.setValue(file.name);
- }
- }
- cargarFormulario() {
- this._registroAdministrativo.getOneRegistroAdmin(this.id).subscribe((data: any) => {
- this.isLoading = false;
- this.datos = data.registro[0];
- if (this.datos != undefined) {
- this.form.get('gradoCursar')?.setValue(this.datos.RegA_GradoCursar);
- this.form.get('mesInscripcion')?.setValue(this.datos.RegA_MesInscripcion);
- this.form.get('planPago')?.setValue(this.datos.RegA_PlanPagos);
- this.form.get('becaCurso')?.setValue(this.datos.RegA_BecaCurso);
- this.form.get('becaPorcentaje')?.setValue(this.datos.RegA_BecaPorcentaje);
- this.form2.get('factura')?.setValue(this.datos.RegA_RequiereFactura);
- // Actualiza controles según valor de factura
- this.factura({ value: this.datos.RegA_RequiereFactura });
- this.form2.get('metedoPago')?.setValue(this.datos.RegA_MetodoPago);
- this.form2.get('RFCFactura')?.setValue(this.datos.RegA_RfcFactura);
- this.form2.get('razonSocial')?.setValue(this.datos.RegA_NombreFactura);
- this.form2.get('domicilioFactura')?.setValue(this.datos.RegA_DireccionFactura);
- this.form2.get('correoFactura')?.setValue(this.datos.RegA_CorreoFactura);
- this.form2.get('cuentaPago')?.setValue(this.datos.RegA_CuentaPago);
- if (this.datos.RegA_RequiereFactura === 'No') {
- // Borra archivo porque ya no requiere factura
- this.selectedFile = null;
- this.form2.get('constanciaFiscal')?.setValue(null);
- } else {
- // Mostrar archivo si existe
- if (this.datos.RegA_ConstanciaFiscal) {
- this.form2.get('constanciaFiscal')?.setValue(this.datos.RegA_ConstanciaFiscal);
- }
- }
- }
- });
- }
- factura(event: any) {
- if (event.value === 'No') {
- this.form2.get('metedoPago')?.setValue('EF');
- this.form2.get('RFCFactura')?.setValue('XAXX010101000');
- this.form2.get('razonSocial')?.setValue('PUBLICO EN GENERAL');
- this.form2.get('correoFactura')?.setValue('NA');
- this.form2.get('domicilioFactura')?.setValue('NA');
- this.form2.get('cuentaPago')?.setValue('00');
- this.form2.get('domicilioFactura')?.clearValidators();
- this.form2.get('correoFactura')?.clearValidators();
- this.form2.get('razonSocial')?.clearValidators();
- this.form2.get('RFCFactura')?.clearValidators();
- this.form2.get('metedoPago')?.clearValidators();
- this.form2.get('domicilioFactura')?.disable();
- this.form2.get('correoFactura')?.disable();
- this.form2.get('razonSocial')?.disable();
- this.form2.get('RFCFactura')?.disable();
- this.form2.get('metedoPago')?.disable();
- this.form2.get('constanciaFiscal')?.disable();
- this.selectedFile = null;
- this.form2.get('constanciaFiscal')?.setValue(null);
- } else {
- this.form2.get('metedoPago')?.setValue('');
- this.form2.get('RFCFactura')?.setValue('');
- this.form2.get('razonSocial')?.setValue('');
- this.form2.get('domicilioFactura')?.setValue('');
- this.form2.get('correoFactura')?.setValue('');
- this.form2.get('cuentaPago')?.setValue('01');
- this.form2.get('domicilioFactura')?.setValidators([Validators.required]);
- this.form2.get('correoFactura')?.setValidators([Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$')]);
- this.form2.get('razonSocial')?.setValidators([Validators.required]);
- this.form2.get('RFCFactura')?.setValidators([Validators.required]);
- this.form2.get('metedoPago')?.setValidators([Validators.required]);
- this.form2.get('domicilioFactura')?.enable();
- this.form2.get('correoFactura')?.enable();
- this.form2.get('razonSocial')?.enable();
- this.form2.get('RFCFactura')?.enable();
- this.form2.get('metedoPago')?.enable();
- this.form2.get('constanciaFiscal')?.enable();
- }
- this.form2.get('domicilioFactura')?.updateValueAndValidity();
- this.form2.get('correoFactura')?.updateValueAndValidity();
- this.form2.get('razonSocial')?.updateValueAndValidity();
- this.form2.get('RFCFactura')?.updateValueAndValidity();
- this.form2.get('metedoPago')?.updateValueAndValidity();
- this.form2.get('constanciaFiscal')?.updateValueAndValidity();
- }
- siguienteTap(index: number) {
- if (this.form.invalid) {
- this.form.markAllAsTouched();
- return
- }
- this.selected.setValue(index);
- }
- Salir() {
- Swal.fire({
- title: '¿Estás seguro de salir?',
- text: "Para guardar los datos ingresados, presiona el botón 'Guardar y salir'",
- icon: 'warning',
- showCancelButton: true,
- allowEscapeKey: false,
- allowOutsideClick: false,
- confirmButtonColor: '#3085d6',
- cancelButtonColor: '#d33',
- confirmButtonText: 'Guardar y salir',
- cancelButtonText: 'Salir sin guardar'
- }).then((result) => {
- if (result.isConfirmed) {
- this.guardarFormulario();
- this._router.navigate(['/homePadres/registroAlumno']);
- } else {
- this._router.navigate(['/homePadres/registroAlumno']);
- }
- });
- }
- isValidField(field: string, errorType: string) {
- const control = this.form.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- isValidField1(field: string, errorType: string) {
- const control = this.form2.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- ngOnInit(): void {
- let idNivel: any;
- this._enviarInfo.currentTextColor.subscribe(textColor => {
- this.textColor = textColor;
- });
- this._enviarInfo.currentColor.subscribe(color => {
- this.color = color;
- });
- this.route.paramMap.subscribe(params => {
- const id = params.get('id');
- this.id = atob(id || '');
- });
- this.form.get('idAlumno')?.setValue(this.id);
- this._registro.getOne(this.id).subscribe((data: any) => {
- this.dataAlum = data;
- this.nombreAlumno = data[0].nombreUsuario;
- });
- this._gradosEducativos.getAll().subscribe((data: any) => {
- if (data) {
- for (let i = 0; i < data.length; i++) {
- if (data[i].nombreGrado == this.dataAlum[0].grado) {
- idNivel = data[i].idNivel;
- }
- }
- }
- this.GradoCursar = data.filter((data: any) => data.idNivel == idNivel);
- });
- this._registroAdministrativo.getPlanPago().subscribe((data: any) => {
- this.planPago = data.planPago.filter((data: any) => data.idNivelPlanPago == idNivel);
- });
- this._registroAdministrativo.getPorcentajeBeca().subscribe((data: any) => {
- this.porcentaje = data.porcentajeBeca;
- });
- this._registroAdministrativo.getMetodoPago().subscribe((data: any) => {
- this.MetodoPago = data.metodoPago;
- });
- this.cargarFormulario();
- }
- async guardarFormulario() {
- if (this.form2.invalid) {
- this.form2.markAllAsTouched();
- return;
- }
- try {
- // Habilita temporalmente los campos deshabilitados
- this.form2.get('domicilioFactura')?.enable();
- this.form2.get('correoFactura')?.enable();
- this.form2.get('razonSocial')?.enable();
- this.form2.get('RFCFactura')?.enable();
- this.form2.get('metedoPago')?.enable();
- // Combina los valores de ambos formularios
- const formularioCompleto = {
- ...this.form.getRawValue(),
- ...this.form2.getRawValue(),
- idEscuela: 'COLEGIOABC',
- };
- // Construir FormData
- const formData = new FormData();
- for (const key in formularioCompleto) {
- if (formularioCompleto[key] !== null && formularioCompleto[key] !== undefined) {
- formData.append(key, formularioCompleto[key]);
- }
- }
- // Si hay archivo seleccionado, lo agregamos al FormData
- if (this.selectedFile) {
- formData.append('constanciaFiscal', this.selectedFile, this.selectedFile.name);
- }
- // Vuelve a deshabilitar los campos
- this.form2.get('domicilioFactura')?.disable();
- this.form2.get('correoFactura')?.disable();
- this.form2.get('razonSocial')?.disable();
- this.form2.get('RFCFactura')?.disable();
- this.form2.get('metedoPago')?.disable();
- // Decide si crear o actualizar
- this._registroAdministrativo.getOneRegistroAdmin(this.id).subscribe((data: any) => {
- const idAlumno = this.form.get('idAlumno')?.value;
- if (data.registro && data.registro.length > 0) {
- this._registroAdministrativo.actualizarRegistroAdministrativo(formData, idAlumno).subscribe(
- (res: any) => {
- Swal.fire('Actualización exitosa', res.mensaje, 'success');
- this._router.navigate(['/homePadres/registroAlumno']);
- },
- (error) => {
- Swal.fire('Error', 'No se pudo actualizar el registro', 'error');
- console.error('Error al actualizar:', error);
- }
- );
- } else {
- this._registroAdministrativo.crearRegistroAdministrativo(formData).subscribe(
- (res: any) => {
- Swal.fire('Registro exitoso', res.mensaje, 'success');
- this._router.navigate(['/homePadres/registroAlumno']);
- },
- (error) => {
- Swal.fire('Error', 'No se pudo crear el registro', 'error');
- console.error('Error al crear:', error);
- }
- );
- }
- });
- } catch (error) {
- console.error('Error en guardarFormulario:', error);
- Swal.fire('Error', 'Ocurrió un error al procesar el formulario', 'error');
- }
- }
- Asistente() {
- const asistente = this.dialog.open(Asistente, {
- data: this.form2.getRawValue().domicilioFactura
- });
- asistente.afterClosed().subscribe((result) => {
- if (result) {
- let domicilio = `${result.calle}, ${result.exterior}, ${result.interior}, ${result.colonia}, ${result.localidad}, ${result.municipio}, ${result.estado}, ${result.pais}, ${result.CP}, ${result.referencia}`;
- this.form2.get('domicilioFactura')?.setValue(domicilio.trim());
- }
- });
- }
- }
- @Component({
- selector: 'App-Asistente',
- templateUrl: './Asistente.html',
- styleUrls: ['./registro.component.css'],
- standalone: true,
- imports: [MatDialogActions, MatDialogClose, MatButtonModule, MatFormFieldModule, MatInputModule, MatIcon, CommonModule, ReactiveFormsModule, MatOption, MatSelectModule]
- })
- export class Asistente {
- estados = [
- 'Aguascalientes',
- 'Baja California',
- 'Baja California Sur',
- 'Campeche',
- 'Chiapas',
- 'Chihuahua',
- 'Coahuila',
- 'Colima',
- 'Ciudad de México',
- 'Durango',
- 'Guanajuato',
- 'Guerrero',
- 'Hidalgo',
- 'Jalisco',
- 'Mexico',
- 'Michoacan',
- 'Morelos',
- 'Nayarit',
- 'Nuevo Leon',
- 'Oaxaca',
- 'Puebla',
- 'Queretaro',
- 'Quintana Roo',
- 'San Luis Potosi',
- 'Sinaloa',
- 'Sonora',
- 'Tabasco',
- 'Tamaulipas',
- 'Tlaxcala',
- 'Veracruz',
- 'Yucatan',
- 'Zacatecas',
- ];
- form!: FormGroup;
- maxCaracteres: number = 0;
- constructor(public dialogRef: MatDialogRef<Asistente>, private fb: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any) {
- this.Formulario();
- }
- Formulario() {
- this.form = this.fb.group({
- calle: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- exterior: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- interior: [''],
- colonia: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- localidad: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- municipio: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- estado: ['', [Validators.required]],
- CP: ['', [Validators.required, Validators.pattern('^[0-9]{5}$')]],
- pais: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- referencia: ['', [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- });
- }
- isValidField(field: string, errorType: string) {
- const control = this.form.get(field);
- return control?.hasError(errorType) && control?.touched;
- }
- ngOnInit(): void {
- if (this.data) {
- const dataArr = this.data.split(',').map((item: any) => item.trim());
- this.form = this.fb.group({
- calle: [dataArr[0], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- exterior: [dataArr[1], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- interior: [dataArr[2]],
- colonia: [dataArr[3], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- localidad: [dataArr[4], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- municipio: [dataArr[5], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- estado: [dataArr[6], [Validators.required]],
- CP: [dataArr[8], [Validators.required, Validators.pattern('^[0-9]{5}$')]],
- pais: [dataArr[7], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- referencia: [dataArr[9], [Validators.required, Validators.pattern('^[a-zA-Z0-9áéíóúÁÉÍÓÚñÑ,.][a-zA-Z0-9\\sáéíóúÁÉÍÓÚñÑ,.]*$')]],
- });
- }
- }
- guardar() {
- if (this.form.invalid) {
- this.form.markAllAsTouched();
- return;
- }
- if (this.form.value.interior === '') {
- this.form.get('interior')?.setValue('N/A');
- }
- this.dialogRef.close(this.form.value);
- }
- max() {
- this.maxCaracteres = this.form.get('referencia')?.value.length
- }
- }
|